Ignore:
Timestamp:
08/24/04 18:15:29 (20 years ago)
Author:
tbretz
Message:
*** empty log message ***
Location:
trunk/MagicSoft/Mars/mjobs
Files:
2 added
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/MagicSoft/Mars/mjobs/JobsLinkDef.h

    r4718 r4723  
    99#pragma link C++ class MJPedestal+;
    1010#pragma link C++ class MJCalibration+;
    11 //#pragma link C++ class MJCalibrateSignal+;
     11#pragma link C++ class MJCalibrateSignal+;
    1212#pragma link C++ class MJExtractSignal+;
    1313#pragma link C++ class MJExtractCalibTest+;
  • trunk/MagicSoft/Mars/mjobs/MJCalibration.cc

    r4722 r4723  
    12661266        return;
    12671267
    1268     TString e1 = fEnv->GetValue("MJCalibration.OutputPath", "");
     1268    TString e1 = fEnv->GetValue(Form("%s.OutputPath", fName.Data()), "");
    12691269    if (!e1.IsNull())
    12701270    {
     
    12731273    }
    12741274
    1275     TString col = fEnv->GetValue("MJCalibration.Color", "");
     1275    TString col = fEnv->GetValue(Form("%s.Color", fName.Data()), "");
    12761276    if (!col.IsNull())
    12771277    {
    12781278    }
    12791279
    1280     TString dis = fEnv->GetValue("MJCalibration.Display", "");
     1280    TString dis = fEnv->GetValue(Form("%s.Display", fName.Data()), "");
    12811281    if (dis.BeginsWith("Full", TString::kIgnoreCase))
    12821282        SetFullDisplay();
     
    12861286        SetNormalDisplay();
    12871287
    1288     SetRelTimeCalibration(fEnv->GetValue("MJCalibration.RelTimeCalibration", fRelTimes));
    1289     SetDataCheck(fEnv->GetValue("MJCalibration.Datacheck", fDataCheck));
    1290     SetDebug(fEnv->GetValue("MJCalibration.Debug", fDebug));
    1291     SetUseBlindPixel(fEnv->GetValue("MJCalibration.UseBlindPixel", IsUseBlindPixel()));
    1292     SetUsePINDiode(fEnv->GetValue("MJCalibration.UsePINDiode", IsUsePINDiode()));
    1293 
    1294     SetOverwrite(fEnv->GetValue("MJPedestal.AllowOverwrite", fOverwrite));
    1295     SetInputPath(fEnv->GetValue("MJPedestal.InputPath", fInputPath));
     1288    SetRelTimeCalibration(fEnv->GetValue(Form("%s.RelTimeCalibration", fName.Data()), fRelTimes));
     1289    SetDataCheck(fEnv->GetValue(Form("%s.Datacheck", fName.Data()), fDataCheck));
     1290    SetDebug(fEnv->GetValue(Form("%s.Debug", fName.Data()), fDebug));
     1291    SetUseBlindPixel(fEnv->GetValue(Form("%s.UseBlindPixel", fName.Data()), IsUseBlindPixel()));
     1292    SetUsePINDiode(fEnv->GetValue(Form("%s.UsePINDiode", fName.Data()), IsUsePINDiode()));
     1293
     1294    SetOverwrite(fEnv->GetValue(Form("%s.AllowOverwrite", fName.Data()), fOverwrite));
     1295    SetInputPath(fEnv->GetValue(Form("%s.InputPath", fName.Data()), fInputPath));
    12961296}
    12971297
     
    14261426    MTaskList tlist;
    14271427    plist.AddToList(&tlist);
     1428    plist.AddToList(this); // take care of fDisplay!
    14281429
    14291430    MReadMarsFile read("Events");
     
    14951496    calcalc.SetPulserColor(fColor);
    14961497
    1497     MFillH fillpin("MHCalibrationChargePINDiode", "MExtractedSignalPINDiode");
    1498     MFillH fillbnd("MHCalibrationChargeBlindCam", "MExtractedSignalBlindPixel");
    1499     MFillH fillcam("MHCalibrationChargeCam",      "MExtractedSignalCam");
    1500     MFillH filltme("MHCalibrationRelTimeCam",     "MArrivalTimeCam");
     1498    MFillH fillpin("MHCalibrationChargePINDiode", "MExtractedSignalPINDiode",   "FillPINDiode");
     1499    MFillH fillbnd("MHCalibrationChargeBlindCam", "MExtractedSignalBlindPixel", "FillBlindCam");
     1500    MFillH fillcam("MHCalibrationChargeCam",      "MExtractedSignalCam",        "FillChargeCam");
     1501    MFillH filltme("MHCalibrationRelTimeCam",     "MArrivalTimeCam",            "FillRelTime");
    15011502    fillpin.SetNameTab("PINDiode");
    15021503    fillbnd.SetNameTab("BlindPix");
     
    15661567        evtloop.ReadEnv(*fEnv);
    15671568
     1569    //if (!WriteEventloop(evtloop))
     1570    //    return kFALSE;
     1571
     1572    if (!WriteTasks(taskenv.GetTask(), taskenv2.GetTask()))
     1573        return kFALSE;
     1574
    15681575    // Execute first analysis
    15691576    if (!evtloop.Eventloop())
     
    15801587    // the display. No idea where this comes from...
    15811588    //
     1589    // FIND THE REASON! THE NEXT CHANGE SOMEBODY DOES MIGHT RESULT
     1590    // IN __YOUR__ WORKAROUN NOT WORKING IF IT IS NOT CLEANLY DONE!
     1591    /*
    15821592    if (fDisplay)
    15831593    {
     
    16071617        }
    16081618    }
    1609    
     1619*/
    16101620    DisplayResult(plist);
    16111621
     
    16131623        return kFALSE;
    16141624
    1615     *fLog << inf << GetDescriptor() << ": Done." << endl;
     1625    *fLog << all << GetDescriptor() << ": Done." << endl;
    16161626
    16171627    return kTRUE;
     
    17161726}
    17171727
     1728Bool_t MJCalibration::WriteEventloop(MEvtLoop &evtloop) const
     1729{
     1730    if (fOutputPath.IsNull())
     1731        return kTRUE;
     1732
     1733    const TString oname(GetOutputFile());
     1734
     1735    *fLog << inf << "Writing to file: " << oname << endl;
     1736
     1737    TFile file(oname, fOverwrite?"RECREATE":"NEW", "File created by MJCalibration", 9);
     1738    if (!file.IsOpen())
     1739    {
     1740        *fLog << err << "ERROR - Couldn't open file " << oname << " for writing..." << endl;
     1741        return kFALSE;
     1742    }
     1743
     1744    if (evtloop.Write(fName)<=0)
     1745    {
     1746        *fLog << err << "Unable to write MEvtloop to " << oname << endl;
     1747        return kFALSE;
     1748    }
     1749
     1750    return kTRUE;
     1751}
     1752
     1753Bool_t MJCalibration::WriteTasks(MTask *t1, MTask *t2) const
     1754{
     1755    if (fOutputPath.IsNull())
     1756        return kTRUE;
     1757
     1758    const TString oname(GetOutputFile());
     1759
     1760    *fLog << inf << "Writing to file: " << oname << endl;
     1761
     1762    TFile file(oname, fOverwrite?"RECREATE":"NEW", "File created by MJCalibration", 9);
     1763    if (!file.IsOpen())
     1764    {
     1765        *fLog << err << "ERROR - Couldn't open file " << oname << " for writing..." << endl;
     1766        return kFALSE;
     1767    }
     1768
     1769    if (t1->Write()<=0)
     1770    {
     1771        *fLog << err << "Unable to write " << t1->GetName() << " to " << oname << endl;
     1772        return kFALSE;
     1773    }
     1774    if (t2->Write()<=0)
     1775    {
     1776        *fLog << err << "Unable to write " << t2->GetName() << " to " << oname << endl;
     1777        return kFALSE;
     1778    }
     1779
     1780    return kTRUE;
     1781}
     1782
    17181783// --------------------------------------------------------------------------
    17191784//
     
    17361801    *fLog << inf << "Writing to file: " << oname << endl;
    17371802
    1738     TFile file(oname, fOverwrite?"RECREATE":"NEW", "File created by MJCalibration", 9);
     1803    TFile file(oname, "UPDATE", "File created by MJCalibration", 9);
    17391804    if (!file.IsOpen())
    17401805    {
  • trunk/MagicSoft/Mars/mjobs/MJCalibration.h

    r4645 r4723  
    2222
    2323class TEnv;
     24class MTask;
    2425class MRunIter;
    2526class MSequence;
     
    2829class MExtractor;
    2930class MExtractTime;
     31class MEvtLoop;
    3032
    3133class MExtractBlindPixel;
     
    5658
    5759  TString fOutputPath;                                 // Path to the output files
     60  TString fInputPath;                                  // Path to get the data files from
    5861 
    5962  TEnv           *fEnv;                                // Input setup-file
     
    8992 
    9093  Byte_t fDevices;                                     // Bit-field for used devices for calibration
    91  
     94
     95  // Combine these options into a single bit-files (TestBit/SetBit, etc)
    9296  Bool_t fRelTimes;                                    // Flag if relative times have to be calibrated
    9397  Bool_t fDataCheck;                                   // Flag if the data check is run on raw data
    9498  Bool_t fDebug;                                       // Flag if debug option is passed onto cal. classes
     99  Bool_t fOverwrite;                                   // Allow to overwite existing files
    95100 
    96101  void   DisplayResult        ( MParList &plist );
     
    102107 
    103108  Bool_t WriteResult();
     109  Bool_t WriteEventloop(MEvtLoop &evtloop) const;
     110  Bool_t WriteTasks(MTask *t1, MTask *t2) const;
    104111  void   CheckEnv();
    105112 
     
    134141  void SetSequence(MSequence *seq) { fSequence=seq; }
    135142  void SetOutputPath(const char *path=".");
     143  void SetInputPath(const char *path=".");
     144  void SetOverwrite(Bool_t b=kTRUE) { fOverwrite=b; }
    136145 
    137146  // Displays
     
    156165  Bool_t ProcessFile(MPedestalCam &pedcam);
    157166  Bool_t Process(MPedestalCam &pedcam);
     167
     168  MStatusDisplay *GetDisplay() { return fDisplay; }
    158169 
    159170  ClassDef(MJCalibration, 0) // Tool to run a calibration per pulser colour and intensity
  • trunk/MagicSoft/Mars/mjobs/MJPedestal.cc

    r4722 r4723  
    440440
    441441}
    442 
    443 
    444 Bool_t MJPedestal::WriteResult()
     442/*
     443Bool_t MJPedestal::WriteEventloop(MEvtLoop &evtloop) const
    445444{
    446445    if (fOutputPath.IsNull())
     
    452451
    453452    TFile file(oname, fOverwrite?"RECREATE":"NEW", "File created by MJPedestal", 9);
     453    if (!file.IsOpen())
     454    {
     455        *fLog << err << "ERROR - Couldn't open file " << oname << " for writing..." << endl;
     456        return kFALSE;
     457    }
     458
     459    if (evtloop.Write(fName)<=0)
     460    {
     461        *fLog << err << "Unable to write MEvtloop to " << oname << endl;
     462        return kFALSE;
     463    }
     464
     465    return kTRUE;
     466}
     467*/
     468Bool_t MJPedestal::WriteResult()
     469{
     470    if (fOutputPath.IsNull())
     471        return kTRUE;
     472
     473    const TString oname(GetOutputFile());
     474
     475    *fLog << inf << "Writing to file: " << oname << endl;
     476
     477    TFile file(oname, "UPDATE", "File created by MJPedestal", 9);
    454478    if (!file.IsOpen())
    455479    {
     
    527551        return;
    528552
    529     TString e1 = fEnv->GetValue("MJPedestal.OutputPath", "");
     553    TString e1 = fEnv->GetValue(Form("%s.OutputPath", fName.Data()), "");
    530554    if (!e1.IsNull())
    531555    {
     
    534558    }
    535559
    536     SetMaxEvents(fEnv->GetValue("MJPedestal.MaxEvents", fMaxEvents));
    537     SetOverwrite(fEnv->GetValue("MJPedestal.AllowOverwrite", fOverwrite));
    538 
    539     fUseData = fEnv->GetValue("MJPedestal.UseData", fUseData);
     560    SetMaxEvents(fEnv->GetValue(Form("%s.MaxEvents", fName.Data()), fMaxEvents));
     561    SetOverwrite(fEnv->GetValue(Form("%s.AllowOverwrite", fName.Data()), fOverwrite));
     562
     563    fUseData = fEnv->GetValue(Form("%s.UseData", fName.Data()), fUseData);
    540564}
    541565
     
    570594    MTaskList tlist;
    571595    plist.AddToList(&tlist);
     596    plist.AddToList(this); // take care of fDisplay!
    572597
    573598    MReadMarsFile read("Events");
     
    640665        evtloop.ReadEnv(*fEnv);
    641666
     667    //    if (!WriteEventloop(evtloop))
     668    //        return kFALSE;
     669
    642670    // Execute first analysis
    643671    if (!evtloop.Eventloop(fMaxEvents))
     
    654682        return kFALSE;
    655683
    656     *fLog << inf << GetDescriptor() << ": Done." << endl;
     684    *fLog << all << GetDescriptor() << ": Done." << endl;
    657685
    658686    return kTRUE;
  • trunk/MagicSoft/Mars/mjobs/MJPedestal.h

    r4695 r4723  
    1717class TH1D;
    1818class MExtractor;
     19class MEvtLoop;
    1920
    2021class MJPedestal : public MParContainer
     
    3940   
    4041    TString fOutputPath;        // Directory where the F0-files get stored
     42    TString fInputPath;         // Directory from which to read the data files
    4143
    4244    TEnv       *fEnv;           // Input setup-file
     
    5557    Bool_t fDataCheck;          // Flag if the data check is run on raw data
    5658    Bool_t fUseData;            // Use data-runs from sequence instead of pedestal runs
     59    Bool_t fOverwrite;          // Allow to overwite existing files
    5760
    5861    Int_t fMaxEvents;           // Maximum number of events
     
    6063    Bool_t ReadPedestalCam();
    6164    Bool_t WriteResult();
     65    //Bool_t WriteEventloop(MEvtLoop &evtloop) const;
    6266
    6367    void   DisplayResult(MParList &plist);
     
    8690    void SetSequence(const MSequence *seq, Bool_t usedata=kFALSE) { fSequence = seq; }
    8791    void SetOutputPath(const char *path=".");
     92    void SetInputPath(const char *path=".");
    8893    void SetEnv(const char *env);
     94    void SetOverwrite(Bool_t b=kTRUE) { fOverwrite=b; }
    8995    void SetMaxEvents(Int_t max) { fMaxEvents = max; }
    9096
     
    94100    void SetNormalDisplay()    { fDisplayType = kNormalDisplay;    }
    95101
     102    MStatusDisplay *GetDisplay() { return fDisplay; }
     103
    96104    ClassDef(MJPedestal, 0) // Tool to create a pedestal file (MPedestalCam)
    97105};
  • trunk/MagicSoft/Mars/mjobs/Makefile

    r4718 r4723  
    2828           MJPedestal.cc \
    2929           MJCalibration.cc \
     30           MJCalibrateSignal.cc \
    3031           MJExtractSignal.cc \
    3132           MJExtractCalibTest.cc
Note: See TracChangeset for help on using the changeset viewer.