]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TOF/AliTOFcalib.h
Use static method from OADBContainer instead of AnalysisManager
[u/mrichter/AliRoot.git] / TOF / AliTOFcalib.h
index 3263622be6a47fe6c9964876e5305e6af884a2c7..1c4142154fc47703c128ac6e4317739c6e0618a6 100644 (file)
@@ -29,6 +29,7 @@
 class TArrayF;
 class TF1;
 class TH1F;
+class TH1C;
 class TObjArray;
 class TTree;
 class TChain;
@@ -40,6 +41,12 @@ class AliTOFCal;
 class AliTOFRecoParam;
 class AliTOFChannelOnlineStatusArray;
 class AliTOFChannelOnlineArray;
+class AliTOFDeltaBCOffset;
+class AliTOFCTPLatency;
+class AliTOFT0Fill;
+class AliTOFRunParams;
+class AliTOFResponseParams;
+class AliESDEvent;
 
 class AliTOFcalib:public TTask{
 public:
@@ -64,6 +71,16 @@ public:
   void SetOfflineValidity(const char* validity) {fkValidity = validity;}
   Int_t NChannels()const{return fNChannels;}
 
+  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
 
@@ -87,6 +104,13 @@ public:
   void WriteParOnlineHWOnCDB(const Char_t *sel);      // old, before unification of status info
   void WriteParOfflineOnCDB(const Char_t *sel, const Char_t *validity);
 
+  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);
   Bool_t ReadConfigMapFromCDB(const Char_t *sel, Int_t nrun);
@@ -100,7 +124,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);
@@ -119,6 +144,25 @@ public:
   void SetLastRun(Int_t lastRun) {fLastRun=lastRun;}
   Int_t GetLastRun() const {return fLastRun;}
 
+  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 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 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
+
 private:
   Int_t fNChannels; // number of TOF channels
 
@@ -142,7 +186,20 @@ private:
   Int_t fLastRun;            // last run for calib obj validity
   TMap* fConfigMap;          // map holding configuration obj
 
-  ClassDef(AliTOFcalib,7);
+  AliTOFDeltaBCOffset *fDeltaBCOffset; // deltaBC offset
+  AliTOFCTPLatency *fCTPLatency; // CTP latency
+  AliTOFT0Fill *fT0Fill; // T0 fill
+  AliTOFRunParams *fRunParams; // run params
+  AliTOFResponseParams *fResponseParams; // run params
+  TH1F *fReadoutEfficiency; // readout efficiency
+  TH1C *fProblematic; // problematic
+  
+  Bool_t fInitFlag; // init flag
+  Bool_t fRemoveMeanT0; // remove mean T0
+  Bool_t fCalibrateTOFsignal; // calibrate TOF signal
+  Bool_t fCorrectTExp; // correct expected time
+
+  ClassDef(AliTOFcalib,11);
 };
 
 #endif // AliTOFcalib_H