]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TOF/AliTOFcalib.h
fix AliHLTGlobalEsdConverterComponent
[u/mrichter/AliRoot.git] / TOF / AliTOFcalib.h
index 5df86d9b6d12ae25a7896cbf83874c256513d338..d838c5aca7ad9a0b5f07e0c708cea3d031cf0227 100644 (file)
@@ -29,6 +29,7 @@
 class TArrayF;
 class TF1;
 class TH1F;
+class TH1C;
 class TObjArray;
 class TTree;
 class TChain;
@@ -43,6 +44,10 @@ class AliTOFChannelOnlineArray;
 class AliTOFDeltaBCOffset;
 class AliTOFCTPLatency;
 class AliTOFT0Fill;
+class AliTOFRunParams;
+class AliTOFResponseParams;
+class AliESDEvent;
+class AliLHCClockPhase;
 
 class AliTOFcalib:public TTask{
 public:
@@ -70,9 +75,12 @@ public:
   void CreateDeltaBCOffset();
   void CreateCTPLatency();
   void CreateT0Fill();
+  void CreateRunParams();
   AliTOFDeltaBCOffset *GetDeltaBCOffset() const {return fDeltaBCOffset;};
   AliTOFCTPLatency *GetCTPLatency() const {return fCTPLatency;};
   AliTOFT0Fill *GetT0Fill() const {return fT0Fill;};
+  AliTOFRunParams *GetRunParams() const {return fRunParams;};
+  AliTOFResponseParams *GetResponseParams() const {return fResponseParams;};
 
   // Methods to retrieve/write parameters from/on CDB
   // writing
@@ -100,6 +108,9 @@ public:
   void WriteDeltaBCOffsetOnCDB(const Char_t *sel, Int_t minrun, Int_t maxrun);
   void WriteCTPLatencyOnCDB(const Char_t *sel, Int_t minrun, Int_t maxrun);
   void WriteT0FillOnCDB(const Char_t *sel, Int_t minrun, Int_t maxrun);
+  void WriteRunParamsOnCDB(const Char_t *sel, Int_t minrun, Int_t maxrun);
+  void WriteReadoutEfficiencyOnCDB(const Char_t *sel, Int_t minrun, Int_t maxrun);
+  void WriteProblematicOnCDB(const Char_t *sel, Int_t minrun, Int_t maxrun);
 
   // reading
   Bool_t ReadSimHistoFromCDB(const Char_t *sel, Int_t nrun);
@@ -114,7 +125,8 @@ public:
   Bool_t ReadParOnlineHWFromCDB(const Char_t *sel, Int_t nrun);      // old, before unification of status info
   Bool_t ReadParOfflineFromCDB(const Char_t *sel, Int_t nrun);
   void WriteRecParOnCDB(const Char_t *sel, Int_t minrun, Int_t maxrun, AliTOFRecoParam *param);
-  AliTOFRecoParam * ReadRecParFromCDB(const Char_t *sel, Int_t nrun);
+  void WriteRecParOnCDB(const Char_t *sel, Int_t minrun, Int_t maxrun, TObjArray *arr);
+  AliTOFRecoParam * ReadRecParFromCDB(const Char_t *sel, Int_t nrun, Int_t eventType=0);
   void CreateTreeFromCDB(Int_t minrun, Int_t maxrun);
   void CreateTreeFromFile(Int_t minrun, Int_t maxrun);
   void CreateTreeFromGrid(Int_t minrun, Int_t maxrun);
@@ -136,6 +148,26 @@ public:
   Bool_t ReadDeltaBCOffsetFromCDB(const Char_t *sel, Int_t nrun);
   Bool_t ReadCTPLatencyFromCDB(const Char_t *sel, Int_t nrun);
   Bool_t ReadT0FillFromCDB(const Char_t *sel, Int_t nrun);
+  Bool_t ReadRunParamsFromCDB(const Char_t *sel, Int_t nrun);
+  Bool_t ReadLHCClockPhaseFromCDB(const Char_t *sel, Int_t nrun);
+  Bool_t ReadReadoutEfficiencyFromCDB(const Char_t *sel, Int_t nrun);
+  Bool_t ReadProblematicFromCDB(const Char_t *sel, Int_t nrun);
+
+  Bool_t Init(Int_t run = -1); // init
+  Double_t GetTimeCorrection(Int_t index, Double_t tot, Int_t deltaBC, Int_t l0l1, UInt_t timestamp); // get time correction
+  void CalibrateESD(AliESDEvent *event); // calibrate ESD
+  void CalibrateTExp(AliESDEvent *event) const; // calibrate TExp
+  void SetRemoveMeanT0(Bool_t value) {fRemoveMeanT0 = value;}; // setter
+  void SetUseLHCClockPhase(Bool_t value) {fUseLHCClockPhase = value;}; // setter
+  Bool_t GetUseLHCClockPhase() const {return fUseLHCClockPhase;}; // getter
+  void SetCalibrateTOFsignal(Bool_t value) {fCalibrateTOFsignal = value;}; // setter
+  void SetCorrectTExp(Bool_t value) {fCorrectTExp = value;}; // setter
+  Bool_t IsChannelEnabled(Int_t index, Bool_t checkEfficiency = kTRUE, Bool_t checkProblematic = kTRUE); // is channel enabled
+  Bool_t IsChannelEfficient(Int_t index); // is channel efficient
+  Bool_t IsChannelProblematic(Int_t index); // is channel problematic
+  Double_t TuneForMC(AliESDEvent *event, Double_t resolution); // tune for MC
+
+  void SetRunParamsSpecificVersion(Int_t value) {fRunParamsSpecificVersion = value;}; // setter
 
 private:
   Int_t fNChannels; // number of TOF channels
@@ -163,8 +195,20 @@ private:
   AliTOFDeltaBCOffset *fDeltaBCOffset; // deltaBC offset
   AliTOFCTPLatency *fCTPLatency; // CTP latency
   AliTOFT0Fill *fT0Fill; // T0 fill
-
-  ClassDef(AliTOFcalib,8);
+  AliTOFRunParams *fRunParams; // run params
+  AliLHCClockPhase *fLHCClockPhase; // LHC clock-phase
+  AliTOFResponseParams *fResponseParams; // run params
+  TH1F *fReadoutEfficiency; // readout efficiency
+  TH1C *fProblematic; // problematic
+  
+  Bool_t fInitFlag; // init flag
+  Bool_t fRemoveMeanT0; // remove mean T0
+  Bool_t fUseLHCClockPhase; // use LHC clock-phase
+  Bool_t fCalibrateTOFsignal; // calibrate TOF signal
+  Bool_t fCorrectTExp; // correct expected time
+
+  Int_t fRunParamsSpecificVersion; // RunParams specific version
+  ClassDef(AliTOFcalib,11);
 };
 
 #endif // AliTOFcalib_H