Ignore:
Timestamp:
08/12/04 16:41:37 (20 years ago)
Author:
tbretz
Message:
*** empty log message ***
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/MagicSoft/Mars/mjobs/MJPedestal.cc

    r4562 r4601  
    4444#include "MLogManip.h"
    4545
     46#include "MTaskEnv.h"
     47#include "MSequence.h"
    4648#include "MRunIter.h"
    4749#include "MParList.h"
     
    8688//
    8789MJPedestal::MJPedestal(const char *name, const char *title)
    88     : fEnv(0), fRuns(0), fExtractor(NULL), fDisplayType(kNormalDisplay),
     90    : fEnv(0), fRuns(0), fSequence(0), fExtractor(NULL), fDisplayType(kNormalDisplay),
    8991      fDataCheck(kFALSE)
    9092{
     
    101103const char* MJPedestal::GetOutputFile() const
    102104{
     105    if (fSequence)
     106        return Form("%s/calped%05d", (const char*)fOutputPath, fSequence->GetSequence());
     107
    103108    if (!fRuns)
    104109        return "";
     
    143148}
    144149
    145 
    146150void MJPedestal::DisplayResult(MParList &plist)
    147151{
     
    154158    TString title = fDisplay->GetTitle();
    155159    title += "--  Pedestal ";
    156     if (fRuns)  // FIXME: What to do if an environmentfile was used?
    157         title += fRuns->GetRunsAsString();
     160    if (fSequence)
     161        title += fSequence->GetName();
     162    else
     163        if (fRuns)  // FIXME: What to do if an environmentfile was used?
     164            title += fRuns->GetRunsAsString();
    158165    title += "  --";
    159166    fDisplay->SetTitle(title);
     
    242249    c3.cd(6);
    243250    gPad->SetBorderMode(0);
    244     gPad->SetTicks();
    245 
    246     TArrayI inner(1);
    247     inner[0] = 0;
    248 
    249     TArrayI outer(1);
    250     outer[0] = 1;
    251251
    252252    if (geomcam.InheritsFrom("MGeomCamMagic"))
    253253    {
     254        TArrayI inner(1);
     255        inner[0] = 0;
     256
     257        TArrayI outer(1);
     258        outer[0] = 1;
     259
    254260        TArrayI s0(6);
    255261        s0[0] = 6;
     
    270276        s2[2] = 5;
    271277
    272         gPad->Clear();
    273278        TVirtualPad *pad = gPad;
    274279        pad->Divide(2,1);
     
    278283        inout[1] = disp1.ProjectionS(s0, outer, "Outer");
    279284
    280         inout[0]->SetDirectory(NULL);
    281         inout[1]->SetDirectory(NULL);
    282 
    283285        for (int i=0; i<2; i++)
    284286        {
    285             TLegend *leg2 = new TLegend(0.6,0.2,0.9,0.55);
    286             leg2->SetHeader(inout[i]->GetName());
    287287            pad->cd(i+1);
     288            gPad->SetBorderMode(0);
     289            gPad->SetTicks();
     290
     291            inout[i]->SetDirectory(NULL);
    288292            inout[i]->SetLineColor(kRed+i);
    289293            inout[i]->SetBit(kCanDelete);
    290294            inout[i]->Draw();
    291             inout[i]->Fit("gaus","Q");
    292             leg2->AddEntry(inout[i],inout[i]->GetName(),"l");
     295            inout[i]->Fit("gaus", "Q");
     296
     297            TLegend *leg2 = new TLegend(0.6,0.2,0.9,0.55);
     298            leg2->SetHeader(inout[i]->GetName());
     299            leg2->AddEntry(inout[i], inout[i]->GetName(), "l");
    293300
    294301            //
     
    310317                half[j]->SetBit(kCanDelete);
    311318                half[j]->Draw("same");
    312                 leg2->AddEntry(half[j],half[j]->GetName(),"l");
     319                leg2->AddEntry(half[j], half[j]->GetName(), "l");
    313320            }
    314321            leg2->Draw();
     
    419426Bool_t MJPedestal::ProcessFile()
    420427{
    421     if (!fRuns && !fEnv)
    422     {
    423         *fLog << err << "Neither AddRuns was called nor SetEnv was used... abort." << endl;
    424         return kFALSE;
    425     }
    426     if (fRuns && fRuns->GetNumRuns() != fRuns->GetNumEntries())
     428    if (!fRuns && !fEnv && !fSequence)
     429    {
     430        *fLog << err << "Neither AddRuns nor SetSequence nor SetEnv was called... abort." << endl;
     431        return kFALSE;
     432    }
     433    if (!fSequence && fRuns && fRuns->GetNumRuns() != fRuns->GetNumEntries())
    427434    {
    428435        *fLog << err << "Number of files found doesn't match number of runs... abort." << endl;
     
    433440    fLog->Separator(GetDescriptor());
    434441    *fLog << "Calculate MPedestalCam from Runs ";
    435     if (fRuns)
    436         *fLog << fRuns->GetRunsAsString() << endl;
     442    if (fSequence)
     443        *fLog << fSequence->GetName() << endl;
    437444    else
    438         *fLog << "in " << fEnv->GetName() << endl;
     445        if (fRuns)
     446            *fLog << fRuns->GetRunsAsString() << endl;
     447        else
     448            *fLog << "in " << fEnv->GetName() << endl;
    439449    *fLog << endl;
    440450
     
    446456    MRawFileRead rawread(NULL);
    447457
     458    MDirIter iter;
     459    if (fSequence)
     460        fSequence->SetupPedRuns(iter);
     461
    448462    if (fDataCheck)
    449463    {
    450         if (fRuns)
    451             rawread.AddFiles(*fRuns);
    452         tlist.AddToList(&rawread);
     464        if (fRuns || fSequence)
     465            rawread.AddFiles(fSequence ? iter : *fRuns);
     466        tlist.AddToList(&rawread);
    453467    }
    454468    else
    455469    {
    456470        read.DisableAutoScheme();
    457         if (fRuns)
    458             static_cast<MRead&>(read).AddFiles(*fRuns);
     471        if (fRuns || fSequence)
     472            static_cast<MRead&>(read).AddFiles(fSequence ? iter : *fRuns);
    459473        tlist.AddToList(&read);
    460474    }
     
    468482    MGeomApply      geomapl;
    469483    MBadPixelsMerge merge(&fBadPixels);
     484
    470485    MPedCalcPedRun  pedcalc;
     486
     487    MTaskEnv taskenv("ExtractPedestal");
     488    taskenv.SetDefault(&pedcalc);
    471489
    472490    if (fExtractor)
     
    483501    tlist.AddToList(&geomapl);
    484502    tlist.AddToList(&merge);
    485     tlist.AddToList(&pedcalc);
     503    tlist.AddToList(&taskenv);
    486504
    487505    //
Note: See TracChangeset for help on using the changeset viewer.