Ignore:
Timestamp:
02/17/05 17:09:00 (20 years ago)
Author:
tbretz
Message:
*** empty log message ***
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/MagicSoft/Mars/mmain/MEventDisplay.cc

    r6339 r6569  
    7070#include "MMcPedestalNSBAdd.h"    // MMcPedestalNSBAdd
    7171
    72 #include "MCerPhotAnal2.h"        // MCerPhotAnal2
     72#include "MCerPhotAnal2.h"        // MPedestalCalc
     73#include "MTaskEnv.h"             // MTaskEnv
     74#include "MExtractTimeAndChargeDigitalFilter.h"
    7375#include "MImgCleanStd.h"         // MImgCleanStd
    7476#include "MHillasCalc.h"          // MHillasCalc
    75 //#include "MHillasSrcCalc.h"       // MHillasSrcCalc
    76 //#include "MBlindPixelCalc.h"      // MBlindPixelCalc
    77 #include "MArrivalTimeCalc.h"     // MArrivalTimeCalc
     77#include "MCalibrationRelTimeCalc.h" // MHillasSrcCalc
     78#include "MPrint.h"               //
     79#include "MBadPixelsCalc.h"       // MBadPixelsCalc
     80#include "MBadPixelsTreat.h"      // MBadPixelsTreat
    7881#include "MFillH.h"               // MFillH
    7982#include "MExtractSignal.h"       // MExtractsignal
     
    107110//  Constructor.
    108111//
    109 MEventDisplay::MEventDisplay(const char *fname, const char *pname, const char *cname) : MStatusDisplay(), fEvtLoop(0)
     112MEventDisplay::MEventDisplay(const char *fname) : MStatusDisplay(), fEvtLoop(0)
    110113{
    111114    //
    112115    // Setup Task list for hillas calculation
    113116    //
    114     SetupTaskList("Events", fname, pname, cname);
     117    SetupTaskList("Events", fname);
    115118
    116119    //
     
    170173//  preprocess tasks and read in first event (process)
    171174//
    172 void MEventDisplay::SetupTaskList(const char *tname, const char *fname,
    173                                   const char *pname, const char *cname)
    174 {
    175     MCalibrationChargeCam *ccam=0;
    176     MPedPhotCam           *pcam=0;
     175void MEventDisplay::SetupTaskList(const char *tname, const char *fname)
     176{
     177//    MCalibrationChargeCam *ccam=0;
     178//    MPedPhotCam           *pcam=0;
    177179
    178180    MBadPixelsCam *badpix = new MBadPixelsCam;
     
    187189    }
    188190
    189     if (type==2)
    190     {
    191         TFile file(pname, "READ");
    192         if (!file.IsZombie())
    193             pcam = new MPedPhotCam;
    194         if (pcam)
    195         {
    196             if (pcam->Read()<=0)
    197             {
    198                 delete pcam;
    199                 pcam = NULL;
    200             }
    201 
    202             if (file.FindKey("MBadPixelsCam"))
    203             {
    204                 MBadPixelsCam bad;
    205                 if (bad.Read()>0)
    206                     badpix->Merge(bad);
    207             }
    208         }
    209         file.Close();
    210         file.Open(cname, "READ");
    211         if (!file.IsZombie())
    212             ccam = new MCalibrationChargeCam;
    213         if (ccam)
    214         {
    215             if (ccam->Read()<=0)
    216             {
    217                 delete ccam;
    218                 ccam = NULL;
    219             }
    220 
    221             if (file.FindKey("MBadPixelsCam"))
    222             {
    223                 MBadPixelsCam bad;
    224                 if (bad.Read()>0)
    225                     badpix->Merge(bad);
    226             }
    227         }
    228         file.Close();
    229     }
    230 
    231191    //
    232192    // Setup an empty job, with a reader task only.
     
    248208    plist->AddToList(tlist);
    249209    plist->AddToList(badpix);
    250     if (pcam)
    251         plist->AddToList(pcam);
    252     if (ccam)
    253         plist->AddToList(ccam);
    254210
    255211    //MArrivalTime *atime = new MArrivalTime;
     
    290246    plist->AddToList(evt10);
    291247
     248    MExtractTimeAndChargeDigitalFilter *digf = new MExtractTimeAndChargeDigitalFilter;
     249    digf->ReadWeightsFile("msignal/MC_weights.dat");
     250
     251    MTaskEnv *taskenv1=new MTaskEnv("ExtractSignal");
     252    taskenv1->SetDefault(digf);
     253    taskenv1->SetOwner();
     254
    292255    MCerPhotAnal2      *nanal  = new MCerPhotAnal2;
    293256    MFillH             *fill01 = new MFillH(evt01, "MCerPhotEvt", "MFillH01");
    294257    MImgCleanStd       *clean  = new MImgCleanStd;
    295258    MFillH             *fill02 = new MFillH(evt02, "MCerPhotEvt", "MFillH02");
    296     MFillH             *fill03 = new MFillH(evt03, type==1?"MPedPhotFundamental":"MPedPhotCam", "MFillH03");
    297     MFillH             *fill04 = new MFillH(evt04, type==1?"MPedPhotFromExtractorRndm":"MPedPhotCam", "MFillH04");
     259    MFillH             *fill03 = new MFillH(evt03, type==1?"MPedPhotFundamental":"MPedestalCam",      "MFillH03");
     260    MFillH             *fill04 = new MFillH(evt04, type==1?"MPedPhotFromExtractorRndm":"MPedestalCam", "MFillH04");
    298261    MFillH             *fill06a= new MFillH(evt06a, "MCameraData", "MFillH06a");
    299262    MFillH             *fill06b= new MFillH(evt06b, "MCameraData", "MFillH06b");
    300     //MBlindPixelCalc   *blind = new MBlindPixelCalc;
    301263    MHillasCalc        *hcalc  = new MHillasCalc;
    302264    MMcTriggerLvl2Calc *trcal  = new MMcTriggerLvl2Calc;
     
    304266    MFillH             *fill10 = new MFillH(evt10, "MCerPhotEvt",    "MFillH10");
    305267
     268    MBadPixelsCalc     *bcalc  = new MBadPixelsCalc;
     269    MBadPixelsTreat    *btreat = new MBadPixelsTreat;
     270    btreat->SetProcessTimes(kFALSE);
    306271    if (type==1)
     272    {
     273        bcalc->SetNamePedPhotCam("MPedPhotFromExtractor");
     274        btreat->AddNamePedPhotCam("MPedPhotFromExtractorRndm");
    307275        clean->SetNamePedPhotCam("MPedPhotFromExtractorRndm");
     276    }
    308277
    309278    // If no pedestal or no calibration file is availble
    310279    if (type==2)
    311280    {
    312         if (!pcam || !ccam)
    313         {
    314             MFilter *f1=new MFDataMember("MRawRunHeader.fRunType", '>', 255.5);
    315             MFilter *f2=new MFDataMember("MRawRunHeader.fRunType", '<', 255.5);
    316             f1->SetName("MFMonteCarlo");
    317             f2->SetName("MFRealData");
    318 
    319             MMcPedestalCopy   *pcopy = new MMcPedestalCopy;
    320             MMcPedestalNSBAdd *pdnsb = new MMcPedestalNSBAdd;
    321 
    322             MExtractSignal* extra = new MExtractSignal();
    323             extra->SetRange(0, 14, 0, 14);
    324             extra->SetSaturationLimit(240);
    325 
    326             MMcCalibrationUpdate* mcupd = new MMcCalibrationUpdate;
    327             mcupd->SetOuterPixelsGainScaling(kFALSE);
    328 
    329             MCalibrateData* mccal = new MCalibrateData;
    330             mccal->SetCalibrationMode(MCalibrateData::kFfactor);
    331 
    332             // MC
    333             extra->SetFilter(f1);
    334             mcupd->SetFilter(f1);
    335             mccal->SetFilter(f1);
    336             trcal->SetFilter(f1);
    337             //fill09->SetFilter(f1);
    338 
    339             // Data
    340             nanal->SetFilter(f2);
    341 
    342             // TaskList
    343             tlist->AddToList(f1);
    344             tlist->AddToList(f2);
    345             tlist->AddToList(pcopy);
    346             tlist->AddToList(pdnsb);
    347 
    348             tlist->AddToList(extra);
    349             tlist->AddToList(mcupd);
    350             tlist->AddToList(mccal);
    351 
    352 
    353             tlist->AddToList(nanal);
    354         }
    355         else
    356         {
    357             MCalibrateData* calib = new MCalibrateData;
    358             tlist->AddToList(calib);
    359         }
     281        MFilter *f1=new MFDataMember("MRawRunHeader.fRunType", '>', 255.5);
     282        f1->SetName("MFMonteCarlo");
     283
     284        MMcPedestalCopy   *pcopy = new MMcPedestalCopy;
     285        MMcPedestalNSBAdd *pdnsb = new MMcPedestalNSBAdd;
     286
     287        MMcCalibrationUpdate* mcupd = new MMcCalibrationUpdate;
     288        mcupd->SetOuterPixelsGainScaling(kFALSE);
     289
     290        MCalibrateData* calib = new MCalibrateData;
     291        calib->SetCalibrationMode(MCalibrateData::kFlatCharge);
     292        calib->SetPedestalFlag(MCalibrateData::kEvent);
     293
     294        //MCalibrationRelTimeCalc *tcalc = new MCalibrationRelTimeCalc;
     295
     296        // MC
     297        mcupd->SetFilter(f1);
     298        trcal->SetFilter(f1);
     299
     300        // TaskList
     301        tlist->AddToList(f1);
     302        tlist->AddToList(pcopy);
     303        tlist->AddToList(pdnsb);
     304
     305        tlist->AddToList(nanal);    // Calculated MPedPhotCam
     306        tlist->AddToList(taskenv1); // Calculates MExtractedSignalCam, MArrivalTimeCam
     307        tlist->AddToList(mcupd);
     308        tlist->AddToList(calib);    // MExtractedSignalCam --> MCerPhotEvt
     309
     310        tlist->AddToList(bcalc);    // Produce MBadPixelsCam
     311        tlist->AddToList(btreat);   // Treat MBadPixelsCam
    360312    }
    361313
     
    367319    tlist->AddToList(fill06a);
    368320    tlist->AddToList(fill06b);
    369     //tlist->AddToList(blind);
    370321    tlist->AddToList(fill10);
    371     tlist->AddToList(hcalc);
    372     if ((!pcam || !ccam) && type==2)
    373     {
    374         MArrivalTimeCalc  *tcalc = new MArrivalTimeCalc;
    375         MFillH            *fill07 = new MFillH(evt07, "MRawEvtData",     "MFillH7");
    376         MFillH            *fill08 = new MFillH(evt08, "MArrivalTimeCam", "MFillH8");
    377         tlist->AddToList(tcalc);
     322    if (type==2)
     323    {
     324        MFillH *fill07 = new MFillH(evt07, "MRawEvtData",     "MFillH7");
     325        MFillH *fill08 = new MFillH(evt08, "MArrivalTimeCam", "MFillH8");
    378326        tlist->AddToList(fill07);
    379327        tlist->AddToList(fill08);
     
    387335        tlist->AddToList(fill08);
    388336    }
     337    tlist->AddToList(hcalc);
    389338
    390339    //
     
    570519        }
    571520
    572         if (!tlist->Process())
     521        const Int_t rc = tlist->Process();
     522        if (rc==kFALSE || rc==kERROR)
    573523            return;
    574524
     
    609559void MEventDisplay::ReadFirstEvent()
    610560{
    611     if (!fEvtLoop->PreProcess())
     561    const Int_t rc = fEvtLoop->PreProcess();
     562    if (rc==kFALSE || rc==kERROR)
    612563        return;
    613564
Note: See TracChangeset for help on using the changeset viewer.