Ignore:
Timestamp:
09/09/04 18:03:23 (20 years ago)
Author:
gaug
Message:
*** empty log message ***
File:
1 edited

Legend:

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

    r4870 r4909  
    44#ifndef MARS_MJob
    55#include "MJob.h"
     6#endif
     7#ifndef MARS_MCalibrationIntensityChargeCam
     8#include "MCalibrationIntensityChargeCam.h"
    69#endif
    710#ifndef MARS_MCalibrationChargeCam
     
    1417#include "MCalibrationChargePINDiode.h"
    1518#endif
     19#ifndef MARS_MCalibrationIntensityRelTimeCam
     20#include "MCalibrationIntensityRelTimeCam.h"
     21#endif
    1622#ifndef MARS_MCalibrationRelTimeCam
    1723#include "MCalibrationRelTimeCam.h"
     24#endif
     25#ifndef MARS_MCalibrationIntensityQECam
     26#include "MCalibrationIntensityQECam.h"
    1827#endif
    1928#ifndef MARS_MCalibrationQECam
     
    4150private:
    4251
    43   static const Int_t gkIFAEBoxInaugurationRun;         //! Run number of first IFAE box calibration
    44   static const Int_t gkSecondBlindPixelInstallation;   //! Run number upon which second blind pixel was installed
    45   static const Int_t gkThirdBlindPixelInstallation;    //! Run number upon which third blind pixel was installed
     52  static const Int_t gkIFAEBoxInaugurationRun;          //! Run number of first IFAE box calibration
     53  static const Int_t gkSecondBlindPixelInstallation;    //! Run number upon which second blind pixel was installed
     54  static const Int_t gkThirdBlindPixelInstallation;     //! Run number upon which third blind pixel was installed
    4655
    47   static const Double_t fgConvFADC2PheMin;             //! Histogram minimum for conversion factor to phes
    48   static const Double_t fgConvFADC2PheMax;             //! Histogram maximum for conversion factor to phes
    49   static const Double_t fgConvFADC2PhotMin;            //! Histogram minimum for conversion factor to phs
    50   static const Double_t fgConvFADC2PhotMax;            //! Histogram maixmum for conversion factor to phs
    51   static const Double_t fgQEMin;                       //! Histogram minimum for quantum efficiency
    52   static const Double_t fgQEMax;                       //! Histogram maximum for quantum efficiency
    53   static const Double_t fgArrivalTimeMin;              //! Histogram minimum for arrival times
    54   static const Double_t fgArrivalTimeMax;              //! Histogram maximum for arrival times
     56  static const Double_t fgConvFADC2PheMin;              //! Histogram minimum for conversion factor to phes
     57  static const Double_t fgConvFADC2PheMax;              //! Histogram maximum for conversion factor to phes
     58  static const Double_t fgConvFADC2PhotMin;             //! Histogram minimum for conversion factor to phs
     59  static const Double_t fgConvFADC2PhotMax;             //! Histogram maixmum for conversion factor to phs
     60  static const Double_t fgQEMin;                        //! Histogram minimum for quantum efficiency
     61  static const Double_t fgQEMax;                        //! Histogram maximum for quantum efficiency
     62  static const Double_t fgArrivalTimeMin;               //! Histogram minimum for arrival times
     63  static const Double_t fgArrivalTimeMax;               //! Histogram maximum for arrival times
    5564 
    56   static const Float_t  fgRefConvFADC2PheInner;        //! Reference value for the conversion factor to phes - inner
    57   static const Float_t  fgRefConvFADC2PheOuter;        //! Reference value for the conversion factor to phes - outer
    58   static const Float_t  fgRefConvFADC2PhotInner;       //! Reference value for the conversion factor to phs - inner
    59   static const Float_t  fgRefConvFADC2PhotOuter;       //! Reference value for the conversion factor to phs - outer
    60   static const Float_t  fgRefQEInner;                  //! Reference value for the quantum eff. cascades - inner
    61   static const Float_t  fgRefQEOuter;                  //! Reference value for the quantum eff. cascades - outer
    62   static const Float_t  fgRefArrivalTimeInner;         //! Reference value for the arrival time - inner
    63   static const Float_t  fgRefArrivalTimeOuter;         //! Reference value for the arrival time - outer
    64   static const Float_t  fgRefArrivalTimeRmsInner;      //! Reference value for the arrival time - inner
    65   static const Float_t  fgRefArrivalTimeRmsOuter;      //! Reference value for the arrival time - outer
     65  static const Float_t  fgRefConvFADC2PheInner;         //! Reference value for the conversion factor to phes - inner
     66  static const Float_t  fgRefConvFADC2PheOuter;         //! Reference value for the conversion factor to phes - outer
     67  static const Float_t  fgRefConvFADC2PhotInner;        //! Reference value for the conversion factor to phs - inner
     68  static const Float_t  fgRefConvFADC2PhotOuter;        //! Reference value for the conversion factor to phs - outer
     69  static const Float_t  fgRefQEInner;                   //! Reference value for the quantum eff. cascades - inner
     70  static const Float_t  fgRefQEOuter;                   //! Reference value for the quantum eff. cascades - outer
     71  static const Float_t  fgRefArrivalTimeInner;          //! Reference value for the arrival time - inner
     72  static const Float_t  fgRefArrivalTimeOuter;          //! Reference value for the arrival time - outer
     73  static const Float_t  fgRefArrivalTimeRmsInner;       //! Reference value for the arrival time - inner
     74  static const Float_t  fgRefArrivalTimeRmsOuter;       //! Reference value for the arrival time - outer
    6675
    67   MRunIter       *fRuns;                               // Calibration files
     76  MRunIter       *fRuns;                                // Calibration files
    6877 
    69   MExtractor     *fExtractor;                          // Signal extractor
    70   MExtractTime   *fTimeExtractor;                      // Arrival Time extractor
     78  MExtractor     *fExtractor;                           // Signal extractor
     79  MExtractTime   *fTimeExtractor;                       // Arrival Time extractor
    7180 
    72   MBadPixelsCam              fBadPixels;               // Bad Pixels cam, can be set from previous runs
    73   MCalibrationChargeCam      fCalibrationCam;          // Calibration conversion factors FADC2Phe
    74   MCalibrationChargeBlindCam fCalibrationBlindCam;     // Calibration from Blind Pixel(s)
    75   MCalibrationChargePINDiode fCalibrationPINDiode;     // Calibration from PIN Diode
    76   MCalibrationQECam          fQECam;                   // Quantum efficiency, can be set from previous runs
    77   MCalibrationRelTimeCam     fRelTimeCam;              // Calibration constants rel. times
     81  MBadPixelsCam                   fBadPixels;           // Bad Pixels cam, can be set from previous runs
     82  MCalibrationIntensityChargeCam  fIntensCalibCam;      // Calibration conversion factors FADC2Phe for diff. intens.
     83  MCalibrationChargeCam           fCalibrationCam;      // Calibration conversion factors FADC2Phe 
     84  MCalibrationChargeBlindCam      fCalibrationBlindCam; // Calibration from Blind Pixel(s)
     85  MCalibrationChargePINDiode      fCalibrationPINDiode; // Calibration from PIN Diode
     86  MCalibrationIntensityQECam      fIntensQECam;         // Quantum efficiency for diff. intensities,
     87  MCalibrationQECam               fQECam;               // Quantum efficiency, can be set from previous runs
     88  MCalibrationIntensityRelTimeCam fIntensRelTimeCam;    // Calibration constants rel. times for diff. intensities
     89  MCalibrationRelTimeCam          fRelTimeCam;          // Calibration constants rel. times
    7890 
    79   MCalibrationCam::PulserColor_t fColor;               // Colour of the pulsed LEDs
     91  MCalibrationCam::PulserColor_t fColor;                // Colour of the pulsed LEDs
    8092 
    81   enum  Display_t                                      // Possible Display types
     93  enum  Display_t                                       // Possible Display types
    8294    {
    8395      kFullDisplay,
     
    96108  Byte_t fDevices;                                     // Bit-field for used devices for calibration
    97109
    98   // Combine these options into a single bit-files (TestBit/SetBit, etc)
    99   Bool_t fRelTimes;                                    // Flag if relative times have to be calibrated
    100   Bool_t fDataCheck;                                   // Flag if the data check is run on raw data
    101   Bool_t fDebug;                                       // Flag if debug option is passed onto cal. classes
     110  enum { kRelTimes, kDataCheck, kDebug, kIntensity };  // Possible flags
    102111
    103   TString fGeometry;
     112  Byte_t fFlags;                                       // Bit-field for the flags
     113 
     114  TString fGeometry;                                   // Class name geometry
    104115 
    105116  void   DisplayResult        ( MParList &plist );
     
    110121  void   FixDataCheckHist     ( TH1D     *hist  ) const;
    111122 
    112   Bool_t WriteResult(TObject *geom);
    113   Bool_t WriteEventloop(MEvtLoop &evtloop) const;
    114   Bool_t WriteTasks(MTask *t1, MTask *t2) const;
    115   Bool_t CheckEnvLocal();
     123  Bool_t WriteResult   ( TObject *geom );
     124  Bool_t WriteEventloop( MEvtLoop &evtloop   ) const;
     125  Bool_t WriteTasks    ( MTask *t1, MTask *t2) const;
     126  Bool_t CheckEnvLocal ();
    116127 
    117128  // WORKAROUNDS!!!
     
    125136  const char* GetOutputFile() const;
    126137 
    127   MCalibrationChargeCam  &GetCalibrationCam() { return fCalibrationCam; }
    128   MCalibrationRelTimeCam &GetRelTimeCam()     { return fRelTimeCam;     }
    129   MCalibrationQECam      &GetQECam()          { return fQECam;          }
    130   MBadPixelsCam          &GetBadPixels()      { return fBadPixels;      }
     138  MCalibrationIntensityChargeCam  &GetIntensCalibrationCam() { return fIntensCalibCam;   }
     139  MCalibrationIntensityRelTimeCam &GetIntensRelTimeCam()     { return fIntensRelTimeCam; }
     140  MCalibrationIntensityQECam      &GetIntensQECam()          { return fIntensQECam;      }
     141
     142  MCalibrationChargeCam           &GetCalibrationCam()       { return fCalibrationCam;   }
     143  MCalibrationRelTimeCam          &GetRelTimeCam()           { return fRelTimeCam;       }
     144  MCalibrationQECam               &GetQECam()                { return fQECam;            }
     145  MBadPixelsCam                   &GetBadPixels()            { return fBadPixels;        }
    131146 
    132147  Bool_t IsUseBlindPixel() const;
    133   Bool_t IsUsePINDiode()   const;
     148  Bool_t IsUsePINDiode  () const;
     149
     150  Bool_t IsRelTimes     () const { return TESTBIT(fFlags,kRelTimes);  }
     151  Bool_t IsDataCheck    () const { return TESTBIT(fFlags,kDataCheck); }
     152  Bool_t IsDebug        () const { return TESTBIT(fFlags,kDebug);     }
     153  Bool_t IsIntensity    () const { return TESTBIT(fFlags,kIntensity); }
    134154 
    135   void SetBadPixels(const MBadPixelsCam &bad)    { bad.Copy(fBadPixels);  }
    136   void SetExtractor(MExtractor* ext)             { fExtractor = ext; }
    137   void SetTimeExtractor(MExtractTime* ext)       { fTimeExtractor = ext; }
    138   void SetQECam(const MCalibrationQECam &qe)     { qe.Copy(fQECam);        }
    139   void SetColor(const MCalibrationCam::PulserColor_t color) { fColor = color; }
    140   void SetInput(MRunIter *iter) { fRuns = iter; }
     155  void SetBadPixels(const MBadPixelsCam &bad)               { bad.Copy(fBadPixels); }
     156  void SetExtractor(MExtractor* ext)                        { fExtractor = ext;    }
     157  void SetTimeExtractor(MExtractTime* ext)                  { fTimeExtractor = ext; }
     158  void SetQECam(const MCalibrationQECam &qe)                { qe.Copy(fQECam);      }
     159  void SetColor(const MCalibrationCam::PulserColor_t color) { fColor = color;       }
     160  void SetInput(MRunIter *iter)                             { fRuns = iter;        }
    141161   
    142162  // Displays
     
    148168  void SetGeometry(const char *geom) { fGeometry = geom; }
    149169 
    150   // Rel. Time
    151   void SetRelTimeCalibration(const Bool_t b=kTRUE) { fRelTimes = b; }
    152  
    153   // Data Check
    154   void SetDataCheck(const Bool_t b=kTRUE) { fDataCheck = b; SetDataCheckDisplay(); }
    155  
    156   // Debug
    157   void SetDebug(const Bool_t b=kTRUE) { fDebug = b; }
     170  // Flags
     171  void SetRelTimeCalibration( const Bool_t b=kTRUE ) { b ? SETBIT(fFlags,kRelTimes)  : CLRBIT(fFlags,kRelTimes); }
     172  void SetDataCheck         ( const Bool_t b=kTRUE ) { b ? SetDataCheckDisplay(), SETBIT(fFlags,kDataCheck)
     173                                                                                     : CLRBIT(fFlags,kDataCheck); }
     174  void SetDebug             ( const Bool_t b=kTRUE ) { b ? SETBIT(fFlags,kDebug)     : CLRBIT(fFlags,kDebug); }
     175  void SetIntensity         ( const Bool_t b=kTRUE ) { b ? SETBIT(fFlags,kIntensity) : CLRBIT(fFlags,kIntensity); }
    158176 
    159177  // Devices
Note: See TracChangeset for help on using the changeset viewer.