Ignore:
Timestamp:
12/08/04 18:02:12 (20 years ago)
Author:
tbretz
Message:
*** empty log message ***
Location:
trunk/MagicSoft/Mars/mjobs
Files:
4 edited

Legend:

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

    r5562 r5570  
    180180}
    181181
    182 Bool_t MJCalibrateSignal::ProcessFile(MPedestalCam &pedcam)
     182Bool_t MJCalibrateSignal::ProcessFile(MPedestalCam &pedcamab, MPedestalCam &pedcam)
    183183{
    184184    if (!fSequence.IsValid())
     
    269269        *fLog << inf << "No Camera geometry found using default <MGeomCamMagic>" << endl;
    270270
    271     //
    272     // Switch off noise calculation
    273     //
    274     if (extractor1)
    275         extractor1->SetNoiseCalculation(kFALSE);
    276     if (extractor2)
    277         extractor2->SetNoiseCalculation(kFALSE);
    278 
    279271    // This is necessary for the case in which it is not in the files
    280272    MBadPixelsCam badcam;
     
    328320    MBadPixelsMerge        merge(&badpix);
    329321
    330     MPedCalcFromLoGain     pedlo;
    331     pedlo.SetPedestalUpdate(kTRUE);
     322    MPedCalcFromLoGain     pedlo1("MPedCalcFromLoGainAB");
     323    pedlo1.SetPedestalUpdate(kTRUE);
     324    pedlo1.SetPedestalsOut(&pedcamab);
     325
     326    MPedCalcFromLoGain     pedlo2;
     327    pedlo2.SetPedestalUpdate(kTRUE);
     328    pedlo2.SetPedestalsIn(&pedcamab);
    332329
    333330    if (extractor1)
     
    335332        // FIXME: How to get the fixed value 15 automatically?
    336333        const Float_t win = extractor1->GetNumHiGainSamples();
    337         pedlo.SetExtractWindow(15, (UShort_t)TMath::Nint(win));
     334        pedlo1.SetExtractWindow(15, (UShort_t)TMath::Nint(win));
     335        pedlo2.SetExtractWindow(15, (UShort_t)TMath::Nint(win));
     336
     337        if (extractor1->InheritsFrom("MExtractTimeAndCharge"))
     338            pedlo2.SetExtractor((MExtractTimeAndCharge*)extractor1);
    338339    }
    339340
     
    345346    MCalibrateData         calib;
    346347    if (filetype==3)
     348    {
    347349        calib.SetCalibrationMode(MCalibrateData::kFfactor);
     350        calib.SetPedestalFlag(MCalibrateData::kRun);
     351    }
     352    else
     353    {
     354        calib.SetPedestalCamMean(&pedcamab);
     355        calib.SetPedestalFlag(MCalibrateData::kEvent);
     356    }
     357
    348358    MCalibrateRelTimes     caltm;
    349359    MBadPixelsCalc         bpcal;
    350360    MBadPixelsTreat        treat;
    351361
    352     MHCamEvent evt0(0, "PedestalFLG", "Pedestal from Lo Gain;;P [fadc/sl]");
    353     MHCamEvent evt1(0, "Extra'd",     "Extracted Signal;;S [fadc/sl]");
    354     MHCamEvent evt2(0, "PedPhot",     "Calibrated Pedestal;;P [\\gamma]");
    355     MHCamEvent evt3(1, "PedRMS",      "Calibrated Pedestal RMS;;\\sigma_{p} [\\gamma]");
    356     MHCamEvent evt4(0, "Interp'd",    "Interpolated Signal;;S [\\gamma]");
    357     MHCamEvent evt5(2, "Unsuitable",  "Unsuitable event ratio;;%");
    358     MHCamEvent evt6(0, "Times",       "Arrival Time;;T [slice]");
     362    MHCamEvent evt0(0, "PedFLG",      "Pedestal from Lo Gain;;P [fadc/sl]");
     363    MHCamEvent evt1(2, "PedRmsFLG",   "Pedestal RMS from Lo Gain;;\\sigma_{p} [fadc/sl]");
     364    MHCamEvent evt2(0, "Extra'd",     "Extracted Signal;;S [fadc/sl]");
     365    MHCamEvent evt3(0, "PedPhot",     "Calibrated Pedestal;;P [\\gamma]");
     366    MHCamEvent evt4(1, "PedRMS",      "Calibrated Pedestal RMS;;\\sigma_{p} [\\gamma]");
     367    MHCamEvent evt5(0, "Interp'd",    "Interpolated Signal;;S [\\gamma]");
     368    MHCamEvent evt6(2, "Unsuitable",  "Unsuitable event ratio;;%");
     369    MHCamEvent evt7(0, "Times",       "Arrival Time;;T [slice]");
    359370    evt0.EnableVariance();
    360371    evt1.EnableVariance();
     
    362373    evt3.EnableVariance();
    363374    evt4.EnableVariance();
    364     evt6.EnableVariance();
    365 
    366     MFillH fill0(&evt0, "MPedestalCam",        "FillPedestalFLG");
    367     MFillH fill1(&evt1, "MExtractedSignalCam", "FillExtracted");
    368     MFillH fill2(&evt2, "MPedPhotCam",         "FillPedPhot");
    369     MFillH fill3(&evt3, "MPedPhotCam",         "FillPedRMS");
    370     MFillH fill4(&evt4, "MCerPhotEvt",         "FillInterpolated");
    371     MFillH fill5(&evt5, "MBadPixelsCam",       "FillUnsuitable");
    372     MFillH fill6(&evt6, "MArrivalTime",        "FillTimes");
     375    evt5.EnableVariance();
     376    evt7.EnableVariance();
     377
     378    MFillH fill0(&evt0, &pedcamab,             "FillPedFLG");
     379    MFillH fill1(&evt1, "MPedestalCam",        "FillPedRmsFLG");
     380    MFillH fill2(&evt2, "MExtractedSignalCam", "FillExtracted");
     381    MFillH fill3(&evt3, "MPedPhotCam",         "FillPedPhot");
     382    MFillH fill4(&evt4, "MPedPhotCam",         "FillPedRMS");
     383    MFillH fill5(&evt5, "MCerPhotEvt",         "FillInterpolated");
     384    MFillH fill6(&evt6, "MBadPixelsCam",       "FillUnsuitable");
     385    MFillH fill7(&evt7, "MArrivalTime",        "FillTimes");
    373386
    374387    MWriteRootFile write(2, Form("%s{s/_D_/_Y_}", fPathOut.Data()), fOverwrite);
     
    418431    tlist2.AddToList(&apply);
    419432    tlist2.AddToList(&merge);
    420     tlist2.AddToList(filetype==3 ? (MTask*)&pcopy : (MTask*)&pedlo);
     433    if (filetype==3)
     434        tlist2.AddToList(&pcopy);
     435    else
     436    {
     437        tlist2.AddToList(&pedlo1);
     438        tlist2.AddToList(&pedlo2);
     439    }
    421440    tlist2.AddToList(&fill0);
     441    tlist2.AddToList(&fill1);
    422442    if (extractor1)
    423443        tlist2.AddToList(&taskenv1);
    424444    if (extractor2)
    425445        tlist2.AddToList(&taskenv2);
    426     tlist2.AddToList(&fill1);
     446    tlist2.AddToList(&fill2);
    427447    tlist2.AddToList(&calib);
    428448    tlist2.AddToList(&caltm);
    429     tlist2.AddToList(&fill2);
     449    tlist2.AddToList(&fill3);
    430450    tlist2.AddToList(&bpcal);
    431451    tlist2.AddToList(&treat);
    432     tlist2.AddToList(&fill3);
    433452    tlist2.AddToList(&fill4);
    434453    tlist2.AddToList(&fill5);
    435454    tlist2.AddToList(&fill6);
     455    tlist2.AddToList(&fill7);
    436456
    437457    // Setup List for Drive-tree
  • trunk/MagicSoft/Mars/mjobs/MJCalibrateSignal.h

    r5562 r5570  
    3434    MJCalibrateSignal(const char *name=NULL, const char *title=NULL);
    3535
    36     Bool_t ProcessFile(MPedestalCam &cam);
     36    Bool_t ProcessFile(MPedestalCam &camab, MPedestalCam &cam);
    3737
    3838    ClassDef(MJCalibrateSignal, 0) // Tool to create a pedestal file (MPedestalCam)
  • trunk/MagicSoft/Mars/mjobs/MJCalibration.cc

    r5562 r5570  
    213213  SetUsePINDiode();
    214214 
    215   SetRelTimeCalibration( kFALSE );
    216   SetDataCheck         ( kFALSE );
    217   SetDebug             ( kFALSE );
    218   SetIntensity         ( kFALSE );
    219 
    220   SetNoStorage         ( kFALSE );
    221   SetHistsStorage      ( kFALSE );
     215  SetRelTimeCalibration();
     216  SetDataCheck(kFALSE);
     217  SetDebug(kFALSE);
     218  SetIntensity(kFALSE);
     219
     220  SetNoStorage(kFALSE);
     221  SetHistsStorage(kFALSE);
    222222}
    223223
     
    16851685
    16861686    //
    1687     // Switch off noise calculation
    1688     //
    1689     fExtractor->SetNoiseCalculation(kFALSE);
    1690     fTimeExtractor->SetNoiseCalculation(kFALSE);
    1691 
    1692     //
    16931687    // Setup more tasks and tasklist
    16941688    //
     
    17181712   
    17191713        if (IsRelTimes())
    1720           tlist.AddToList(&taskenv2);
     1714            tlist.AddToList(&taskenv2);
    17211715    }
    17221716   
     
    17661760
    17671761    if (!WriteTasks(taskenv.GetTask(), taskenv2.GetTask()))
    1768       return kFALSE;
     1762        return kFALSE;
    17691763
    17701764    // Execute first analysis
     
    19081902Bool_t MJCalibration::WriteTasks(MTask *t1, MTask *t2) const
    19091903{
    1910 
    1911   if (IsNoStorage())
     1904    if (IsNoStorage())
     1905        return kTRUE;
     1906
     1907    if (fPathOut.IsNull())
     1908        return kTRUE;
     1909
     1910    const TString oname(GetOutputFile());
     1911
     1912    *fLog << inf << "Writing to file: " << oname << endl;
     1913
     1914    TFile file(oname, fOverwrite?"RECREATE":"NEW", "File created by MJCalibration", 9);
     1915    if (!file.IsOpen())
     1916    {
     1917        *fLog << err << "ERROR - Couldn't open file " << oname << " for writing..." << endl;
     1918        return kFALSE;
     1919    }
     1920
     1921    if (t1)
     1922    {
     1923        *fLog << inf << " - Writing Task " << t1->GetName() << " [" << t1->ClassName() << "]..." << flush;
     1924        if (t1->Write()<=0)
     1925        {
     1926            *fLog << err << "Unable to write " << t1->GetName() << " to " << oname << endl;
     1927            return kFALSE;
     1928        }
     1929        *fLog << "ok." << endl;
     1930    }
     1931
     1932    if (t2)
     1933    {
     1934        *fLog << inf << " - Writing Task " << t2->GetName() << " [" << t2->ClassName() << "]..." << flush;
     1935        if (t2->Write()<=0)
     1936        {
     1937            *fLog << err << "Unable to write " << t2->GetName() << " to " << oname << endl;
     1938            return kFALSE;
     1939        }
     1940        *fLog << "ok." << endl;
     1941    }
     1942
    19121943    return kTRUE;
    1913 
    1914   if (fPathOut.IsNull())
    1915     return kTRUE;
    1916  
    1917   const TString oname(GetOutputFile());
    1918 
    1919   *fLog << inf << "Writing to file: " << oname << endl;
    1920  
    1921   TFile file(oname, fOverwrite?"RECREATE":"NEW", "File created by MJCalibration", 9);
    1922   if (!file.IsOpen())
    1923     {
    1924       *fLog << err << "ERROR - Couldn't open file " << oname << " for writing..." << endl;
    1925       return kFALSE;
    1926     }
    1927  
    1928   if (t1 && t1->Write()<=0)
    1929     {
    1930       *fLog << err << "Unable to write " << t1->GetName() << " to " << oname << endl;
    1931       return kFALSE;
    1932     }
    1933  
    1934   if (t2 && t2->Write()<=0)
    1935     {
    1936       *fLog << err << "Unable to write " << t2->GetName() << " to " << oname << endl;
    1937       return kFALSE;
    1938     }
    1939  
    1940   return kTRUE;
    19411944}
    19421945
  • trunk/MagicSoft/Mars/mjobs/MJPedestal.cc

    r5557 r5570  
    151151Bool_t MJPedestal::ReadPedestalCam()
    152152{
    153     if (IsNoStorage())
    154         return kFALSE;
    155 
    156153    const TString fname = GetOutputFile();
    157154
    158     if (gSystem->AccessPathName(fname, kFileExists))
    159     {
    160         *fLog << warn << "Input file " << fname << " doesn't exist, will create it." << endl;
    161         return kFALSE;
    162     }
    163 
    164     *fLog << inf << "Reading from file: " << fname << endl;
     155    *fLog << inf << "Reading pedestals from file: " << fname << endl;
    165156
    166157    TFile file(fname, "READ");
     
    198189    const TString fname = Form("%s/calib%06d.root",fPathIn.Data(), fSequence.GetSequence());
    199190
    200     *fLog << inf << "Reading from file: " << fname << endl;
     191    *fLog << inf << "Reading extractor from file: " << fname << endl;
    201192
    202193    TFile file(fname, "READ");
     
    213204        return NULL;
    214205    }
    215     return o ? (MExtractor*)o->Clone() : NULL;
     206
     207    return o ? (MExtractor*)o->Clone("ExtractSignal") : NULL;
    216208}
    217209
     
    684676    if (fExtractor)
    685677        delete fExtractor;
    686     fExtractor = ext ? (MExtractor*)ext->Clone() : NULL;
     678    fExtractor = ext ? (MExtractor*)ext->Clone(ext->GetName()) : NULL;
    687679}
    688680
     
    721713    SetNoStorage(GetEnv("DisableOutput", IsNoStorage()));
    722714
    723     MTaskEnv tenv;
     715    MTaskEnv tenv("ExtractSignal");
    724716    tenv.SetDefault(fExtractor);
    725717
     
    737729
    738730    SetExtractor((MExtractor*)tenv.GetTask());
     731
    739732    return kTRUE;
    740733}
     
    816809    }
    817810
    818     //if (!CheckEnv())
    819     //    return kFALSE;
    820 
    821     CheckEnv();
     811    if (!CheckEnv())
     812        return kFALSE;
    822813
    823814    // --------------------------------------------------------------------------------
     
    944935    }
    945936
     937    /*
    946938    if (!fPathIn.IsNull())
    947939    {
     
    949941        fExtractor = 0;
    950942    }
    951 
    952     //
    953     // Check that the extractor has the bit Noise Calculation() set which
    954     // means that the each "sliding" of the sliding window is not applied
    955     //
    956     if (fExtractor)
    957         fExtractor->SetNoiseCalculation(fExtractorResolution);
    958 
     943    */
    959944    //
    960945    // Execute the eventloop
Note: See TracChangeset for help on using the changeset viewer.