]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EMCAL/AliEMCALCalibTimeDep.h
Changes for #64259 Request for including the new class AliTRDresponse in STEER and...
[u/mrichter/AliRoot.git] / EMCAL / AliEMCALCalibTimeDep.h
index ed7b0d86776c19218c99ea6869160dd41c6b46b0..d40d7849c080845f2b068942fe781ebda7ed6a3a 100644 (file)
@@ -16,7 +16,7 @@ class AliEMCALSensorTempArray;
 class AliCaloCalibSignal;
 class AliEMCALBiasAPD;
 class AliEMCALCalibMapAPD;
-class AliEMCALCalibAbs; // absolute = time-independent
+class AliEMCALCalibReference; 
 class AliEMCALCalibTimeDepCorrection; 
 
 class AliEMCALCalibTimeDep : public TObject {
@@ -31,24 +31,26 @@ class AliEMCALCalibTimeDep : public TObject {
   void Initialize(Int_t run, UInt_t startTime, UInt_t endTime);//!
 
   // simple getters
-  Int_t GetRunNumber() const { return fRun; } //
-  Int_t GetStartTime() const { return fStartTime; } // 
-  Int_t GetEndTime() const { return fEndTime; } // 
+  Int_t GetRunNumber() const { return fRun; } // 
+  UInt_t GetStartTime() const { return fStartTime; } // 
+  UInt_t GetEndTime() const { return fEndTime; } //  
   Double_t GetLengthOfRunInHours() const; // 
   Double_t GetLengthOfRunInBins() const; // 
 
   // Temperature Section
   // access pointer to the basic temperature object: AliEMCALSensorTempArray 
-  AliEMCALSensorTempArray  * GetTempArray() const { return fTempArray; } //
+  AliEMCALSensorTempArray  * GetTempArray() const { return fTempArray; } // temperature array
 
   // range of temperature readings/values during the run 
   Int_t ScanTemperatureInfo(); // go through the temperature info
-  Double_t GetMinTemp() const { return fMinTemp; } // 
+  Double_t GetMinTemp() const { return fMinTemp; } //  
   Double_t GetMaxTemp() const { return fMaxTemp; } // 
+  Double_t GetMinTempVariation() const { return fMinTempVariation; } //  
+  Double_t GetMaxTempVariation() const { return fMaxTempVariation; } // 
   UInt_t GetMinTime() const { return fMinTime; } // 
   UInt_t GetMaxTime() const { return fMaxTime; } // 
-  Double_t GetRangeOfTempMeasureInHours() const; // 
-  Double_t GetRangeOfTempMeasureInDegrees() const; // 
+  Double_t GetRangeOfTempMeasureInHours() const; //! 
+  Double_t GetRangeOfTempMeasureInDegrees() const; //! 
 
   // basic calibration info
   Double_t GetTemperature(UInt_t timeStamp) const; // for all sensors, all SuperModules
@@ -62,20 +64,36 @@ class AliEMCALCalibTimeDep : public TObject {
   Double_t GetTemperatureResolution() const { return fTemperatureResolution; } // value for checking at which level we care about temperature differences
   Int_t GetTimeBinsPerHour() const { return fTimeBinsPerHour; } // size of the time-bins we use foc corrections
 
+  void SetHighLowGainFactor(Double_t value) {fHighLowGainFactor = value;}
+  Double_t GetHighLowGainFactor() const {return fHighLowGainFactor;}
+
   // access to other pointers
   AliCaloCalibSignal  * GetCalibSignal() const { return fCalibSignal; } //
   AliEMCALBiasAPD  * GetBiasAPD() const { return fBiasAPD; } //
   AliEMCALCalibMapAPD  * GetCalibMapAPD() const { return fCalibMapAPD; } //
-  AliEMCALCalibAbs  * GetCalibAbs() const { return fCalibAbs; } //
-  AliEMCALCalibTimeDepCorrection  * GetCalibTimeDepCorrection() const { return fCalibTimeDepCorrection; } //
+  AliEMCALCalibReference  * GetCalibReference() const { return fCalibReference; } //
 
   // storage and access of the correction info
   Int_t CalcCorrection(); //
-  AliEMCALCalibTimeDepCorrection  * GetTimeDepCorrection() 
+  AliEMCALCalibTimeDepCorrection  * GetCalibTimeDepCorrection() 
     const { return fCalibTimeDepCorrection; } //
 
   Double_t GetTempCoeff(Double_t IDark, Double_t M) const; //
 
+  // for local debugging: setters of the main input pointers that are normally from OCDB
+  void SetTempArray(AliEMCALSensorTempArray  *arr) { fTempArray = arr; } // 
+  void SetCalibSignal(AliCaloCalibSignal  *obj) { fCalibSignal = obj; } // 
+  void SetBiasAPD(AliEMCALBiasAPD  *obj) { fBiasAPD = obj; } // 
+  void SetCalibMapAPD(AliEMCALCalibMapAPD  *obj) { fCalibMapAPD = obj; } //
+  void SetCalibReference(AliEMCALCalibReference  *obj) { fCalibReference = obj; } //
+  // basic setters, also for local debugging
+  void SetRunNumber(Int_t i) { fRun= i; } // 
+  void SetStartTime(UInt_t ui) { fStartTime = ui; } // 
+  void SetEndTime(UInt_t ui) { fEndTime = ui; } //  
+
+  Int_t GetVerbosity() const { return fVerbosity; } // debug flag 
+  void SetVerbosity(Int_t i) { fVerbosity= i; } // debug flag 
+
  private:
 
   void Reset(); //
@@ -84,35 +102,41 @@ class AliEMCALCalibTimeDep : public TObject {
   void GetCalibSignalInfo(); // pick up Preprocessor output
   void GetBiasAPDInfo(); // pick up OCDB info
   void GetCalibMapAPDInfo(); // pick up OCDB info
-  void GetCalibAbsInfo(); // pick up OCDB info
+  void GetCalibReferenceInfo(); // pick up OCDB info
 
   Int_t CalcLEDCorrection(Int_t nSM, Int_t nBins); // based on LED signals, and reference photodiodes
   Int_t CalcLEDCorrectionStripBasis(Int_t nSM, Int_t nBins); // based on LED signals, and reference photodiodes
-  Int_t CalcTemperatureCorrection(Int_t nSM, Int_t nBins); // based on temperetare info
+  Int_t CalcTemperatureCorrection(Int_t nSM, Int_t nBins, Int_t binSize); // based on temperature info
 
   //
-  Int_t fRun;
-  UInt_t fStartTime;
-  UInt_t fEndTime;
+  Int_t fRun; // run number
+  UInt_t fStartTime; // start timestamp
+  UInt_t fEndTime; // end timestamp
   // temperature stuff
-  Double_t fMinTemp;
-  Double_t fMaxTemp;
-  UInt_t fMinTime;
-  UInt_t fMaxTime;
+  Double_t fMinTemp; // min temp
+  Double_t fMaxTemp; // max temp
+  Double_t fMinTempVariation; // min temp variation, within a sensor
+  Double_t fMaxTempVariation; // max temp variation, within a sensor
+  UInt_t fMinTime; // min time
+  UInt_t fMaxTime; // max time
   //
   Double_t fTemperatureResolution; // value for checking at which level we care about temperature differences
   Int_t fTimeBinsPerHour; // size of the time-bins we use for corrections
 
+  Double_t fHighLowGainFactor;     //gain factor to convert between high and low gain
+  
   // pointers to the different used classes
   AliEMCALSensorTempArray  *fTempArray;     // CDB class for temperature sensors
-  AliCaloCalibSignal *fCalibSignal; //
-  AliEMCALBiasAPD *fBiasAPD; //
-  AliEMCALCalibMapAPD *fCalibMapAPD; //
-  AliEMCALCalibAbs *fCalibAbs; // absolute = time-independent
-  AliEMCALCalibTimeDepCorrection *fCalibTimeDepCorrection; // 
+  AliCaloCalibSignal *fCalibSignal; // LED signal info
+  AliEMCALBiasAPD *fBiasAPD; // bias APD info
+  AliEMCALCalibMapAPD *fCalibMapAPD; // calib & map APD info
+  AliEMCALCalibReference *fCalibReference; // reference info
+  AliEMCALCalibTimeDepCorrection *fCalibTimeDepCorrection; // correction values
+
+  Int_t fVerbosity; // debug flag
 
   //
-  ClassDef(AliEMCALCalibTimeDep,2)    // EMCAL Calibration data
+  ClassDef(AliEMCALCalibTimeDep,3)    // EMCAL time-dep Calibration data
 };
 
 #endif