class TArrayF;
class TF1;
class TH1F;
+class TH1C;
class TObjArray;
class TTree;
class TChain;
class AliTOFRecoParam;
class AliTOFChannelOnlineStatusArray;
class AliTOFChannelOnlineArray;
+class AliTOFDeltaBCOffset;
+class AliTOFCTPLatency;
+class AliTOFT0Fill;
+class AliTOFRunParams;
+class AliTOFResponseParams;
+class AliESDEvent;
class AliTOFcalib:public TTask{
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
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);
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);
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
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