X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=TOF%2FAliTOFcalib.h;h=1c4142154fc47703c128ac6e4317739c6e0618a6;hb=6f841c9081e6f9af1510b1342f2df5fd06e01a72;hp=fdab46b9735ebcbd2240c74c9011da80af656cb5;hpb=7fffa85b3d69d7993e3bfb8aff0730087a62e984;p=u%2Fmrichter%2FAliRoot.git diff --git a/TOF/AliTOFcalib.h b/TOF/AliTOFcalib.h index fdab46b9735..1c4142154fc 100644 --- a/TOF/AliTOFcalib.h +++ b/TOF/AliTOFcalib.h @@ -29,14 +29,24 @@ class TArrayF; class TF1; class TH1F; +class TH1C; class TObjArray; class TTree; class TChain; +class TMap; -class AliESD; +//class AliESD; 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: @@ -45,37 +55,77 @@ public: AliTOFcalib& operator=(const AliTOFcalib & calib); // assignment operator virtual ~AliTOFcalib() ; // dtor void CreateCalArrays(); + void CreateCalObjects(); TObjArray * GetTOFCalArrayOnline() const {return fTOFCalOnline;} + AliTOFChannelOnlineArray * GetTOFOnlineDelay() const {return fCal;} + AliTOFChannelOnlineStatusArray * GetTOFOnlineStatus() const {return fStatus;} TObjArray * GetTOFCalArrayOnlinePulser() const {return fTOFCalOnlinePulser;} TObjArray * GetTOFCalArrayOnlineNoise() const {return fTOFCalOnlineNoise;} TObjArray * GetTOFCalArrayOnlineHW() const {return fTOFCalOnlineHW;} TObjArray * GetTOFCalArrayOffline() const {return fTOFCalOffline;} + TMap * GetConfigMap() const {return fConfigMap;} TH1F * GetTOFSimToT() const {return fTOFSimToT;} TTree * GetTOFCalibTree() const {return fTree;} TChain * GetTOFCalibChain() const {return fChain;} const char * GetOfflineValidity() const {return fkValidity;} 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 - void WriteSimHistoOnCDB(Char_t *sel, Int_t minrun, Int_t maxrun, TH1F *histo); - void WriteParOnlineOnCDB(Char_t *sel, Int_t minrun, Int_t maxrun); - void WriteParOnlinePulserOnCDB(Char_t *sel, Int_t minrun, Int_t maxrun); - void WriteParOnlineNoiseOnCDB(Char_t *sel, Int_t minrun, Int_t maxrun); - void WriteParOnlineHWOnCDB(Char_t *sel, Int_t minrun, Int_t maxrun); - void WriteParOfflineOnCDB(Char_t *sel, const Char_t *validity, Int_t minrun, Int_t maxrun); - void WriteParOnlineOnCDB(Char_t *sel); - void WriteParOnlinePulserOnCDB(Char_t *sel); - void WriteParOnlineNoiseOnCDB(Char_t *sel); - void WriteParOnlineHWOnCDB(Char_t *sel); - void WriteParOfflineOnCDB(Char_t *sel, const Char_t *validity); - Bool_t ReadSimHistoFromCDB(Char_t *sel, Int_t nrun); - Bool_t ReadParOnlineFromCDB(Char_t *sel, Int_t nrun); - Bool_t ReadParOnlinePulserFromCDB(Char_t *sel, Int_t nrun); - Bool_t ReadParOnlineNoiseFromCDB(Char_t *sel, Int_t nrun); - Bool_t ReadParOnlineHWFromCDB(Char_t *sel, Int_t nrun); - Bool_t ReadParOfflineFromCDB(Char_t *sel, Int_t nrun); - void WriteRecParOnCDB(Char_t *sel, Int_t minrun, Int_t maxrun, AliTOFRecoParam *param); - AliTOFRecoParam * ReadRecParFromCDB(Char_t *sel, Int_t nrun); + // writing + + void WriteSimHistoOnCDB(const Char_t *sel, Int_t minrun, Int_t maxrun, TH1F *histo); + void WriteConfigMapOnCDB(const Char_t *sel, Int_t minrun, Int_t maxrun); + void WriteConfigMapOnCDB(const Char_t *sel); + // new calib objs + void WriteParOnlineDelayOnCDB(const Char_t *sel, Int_t minrun, Int_t maxrun); + void WriteParOnlineStatusOnCDB(const Char_t *sel, Int_t minrun, Int_t maxrun); + void WriteParOnlineDelayOnCDB(const Char_t *sel); + void WriteParOnlineStatusOnCDB(const Char_t *sel); + // old calib objs + void WriteParOnlineOnCDB(const Char_t *sel, Int_t minrun, Int_t maxrun); + void WriteParOnlinePulserOnCDB(const Char_t *sel, Int_t minrun, Int_t maxrun); + void WriteParOnlineNoiseOnCDB(const Char_t *sel, Int_t minrun, Int_t maxrun); + void WriteParOnlineHWOnCDB(const Char_t *sel, Int_t minrun, Int_t maxrun); + void WriteParOfflineOnCDB(const Char_t *sel, const Char_t *validity, Int_t minrun, Int_t maxrun); + void WriteParOnlineOnCDB(const Char_t *sel); + void WriteParOnlinePulserOnCDB(const Char_t *sel); // old, before unification of status info + void WriteParOnlineNoiseOnCDB(const Char_t *sel); // old, before unification of status info + 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); + // new objs + Bool_t ReadParOnlineDelayFromCDB(const Char_t *sel, Int_t nrun); + Bool_t ReadParOnlineStatusFromCDB(const Char_t *sel, Int_t nrun); + // old objs + Bool_t ReadParOnlineFromCDB(const Char_t *sel, Int_t nrun); + Bool_t ReadParOnlinePulserFromCDB(const Char_t *sel, Int_t nrun); // old, before unification of status info + Bool_t ReadParOnlineNoiseFromCDB(const Char_t *sel, Int_t nrun); // old, before unification of status info + 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); + 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); @@ -94,13 +144,39 @@ 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 + + // old calibration objects TObjArray *fTOFCalOnline; // array of AliTOFChannels storing calib parameters - TObjArray *fTOFCalOnlinePulser; // array of AliTOFChannels storing calib status from pulser - TObjArray *fTOFCalOnlineNoise; // array of AliTOFChannels storing calib status from noise - TObjArray *fTOFCalOnlineHW; // array of AliTOFChannels storing calib status from hardware + TObjArray *fTOFCalOnlinePulser; // array of AliTOFChannels storing calib status from pulser // old, before unification of status info + TObjArray *fTOFCalOnlineNoise; // array of AliTOFChannels storing calib status from noise // old, before unification of status info + TObjArray *fTOFCalOnlineHW; // array of AliTOFChannels storing calib status from hardware // old, before unification of status info TObjArray *fTOFCalOffline; // array of AliTOFChannels storing calib parameters + + // new calibration objects + AliTOFChannelOnlineArray *fCal; // object with delay array for TOF channels + AliTOFChannelOnlineStatusArray *fStatus; // object with status array for TOF channels + TH1F *fTOFSimToT; // histo with realistic ToT signal from TB Data const char *fkValidity; // validity for offline calibration object TTree *fTree; // tree for TOF calibration @@ -108,8 +184,22 @@ private: Int_t fNruns; // number of runs to be processed Int_t fFirstRun; // first run for calibration obj validity Int_t fLastRun; // last run for calib obj validity + TMap* fConfigMap; // map holding configuration obj + + 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,6); + ClassDef(AliTOFcalib,11); }; #endif // AliTOFcalib_H