X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=TRD%2FAliTRDcalibDB.h;h=d47f4a0825cacdbfeb0dae70c0f7157922bc4a5d;hb=d41c0c328c5594a38d685e3d6e10f47f703e4932;hp=25e256cc78fc2f3025bbbc80e385af56bed23634;hpb=b43a3e179472b2e50be8fb654722a2dcab543b32;p=u%2Fmrichter%2FAliRoot.git diff --git a/TRD/AliTRDcalibDB.h b/TRD/AliTRDcalibDB.h index 25e256cc78f..d47f4a0825c 100644 --- a/TRD/AliTRDcalibDB.h +++ b/TRD/AliTRDcalibDB.h @@ -11,79 +11,139 @@ /* $Id$ */ +#ifndef ROOT_TObject #include "TObject.h" +#endif + +#ifndef ALITRDPIDUTIL_H +#include "AliTRDpidUtil.h" +#endif + +#ifndef ALITRDPIDRESPONSE_H +#include "AliTRDPIDResponse.h" +#endif + +class TString; class AliCDBEntry; -class AliTRDCalPIDLQ; +class AliTRDrecoParam; +class AliTRDCalTrkAttach; +class AliTRDCalPID; class AliTRDCalMonitoring; +class AliTRDCalROC; +class AliTRDCalDet; +class AliTRDCalSingleChamberStatus; +class AliTRDCalOnlineGainTableROC; class AliTRDcalibDB : public TObject { public: - enum { kNplan = 6 - , kNcham = 5 - , kNsect = 18 - , kNdet = 540 }; + enum { kNlayer = 6 + , kNstack = 5 + , kNsector = 18 + , kNdet = 540 }; - static AliTRDcalibDB *Instance(); - static void Terminate(); + static AliTRDcalibDB *Instance(); + static void Terminate(); + + void SetRun(Long64_t run); + Long64_t GetRun() const { return fRun; } + + Float_t GetNoise(Int_t det, Int_t col, Int_t row); + AliTRDCalROC *GetNoiseROC(Int_t det); + const AliTRDCalDet *GetNoiseDet(); + + Float_t GetVdrift(Int_t det, Int_t col, Int_t row); + Float_t GetVdriftAverage(Int_t det); + AliTRDCalROC *GetVdriftROC(Int_t det); + const AliTRDCalDet *GetVdriftDet(); + + Float_t GetT0(Int_t det, Int_t col, Int_t row); + Float_t GetT0Average(Int_t det); + AliTRDCalROC *GetT0ROC(Int_t det); + const AliTRDCalDet *GetT0Det(); - void SetRun(Long64_t run); - Long64_t GetRun() { return fRun; } + Float_t GetGainFactor(Int_t det, Int_t col, Int_t row); + Float_t GetGainFactorAverage(Int_t det); + AliTRDCalROC *GetGainFactorROC(Int_t det); + const AliTRDCalDet *GetGainFactorDet(); - Float_t GetVdrift(Int_t det, Int_t col, Int_t row); - Float_t GetVdriftAverage(Int_t det); + Float_t GetOnlineGainFactor(Int_t det, Int_t col, Int_t row); + AliTRDCalOnlineGainTableROC *GetOnlineGainTableROC(Int_t det); - Float_t GetT0(Int_t det, Int_t col, Int_t row); - Float_t GetT0Average(Int_t det); + AliTRDCalROC *GetPRFROC(Int_t det); + Float_t GetPRFWidth(Int_t det, Int_t col, Int_t row); - Float_t GetGainFactor(Int_t det, Int_t col, Int_t row); - Float_t GetGainFactorAverage(Int_t det); + Float_t* GetSampledPRF() const { return fPRFsmp; }; + Int_t GetPRFbin() const { return fPRFbin; }; + Float_t GetPRFlo() const { return fPRFlo; }; + Float_t GetPRFhi() const { return fPRFhi; }; - Float_t GetPRFWidth(Int_t det, Int_t col, Int_t row); + Int_t GetNumberOfTimeBinsDCS(); + void GetFilterType(TString &filterType); + void GetGlobalConfiguration(TString &config); - Int_t GetNumberOfTimeBins(); + Int_t GetOnlineGainTableID(); - Char_t GetPadStatus(Int_t det, Int_t col, Int_t row); - Char_t GetChamberStatus(Int_t det); + Bool_t HasOnlineFilterPedestal(); + Bool_t HasOnlineFilterGain(); + Bool_t HasOnlineTailCancellation(); - Bool_t IsPadMasked(Int_t det, Int_t col, Int_t row); - Bool_t IsPadBridgedLeft(Int_t det, Int_t col, Int_t row); - Bool_t IsPadBridgedRight(Int_t det, Int_t col, Int_t row); + Char_t GetPadStatus(Int_t det, Int_t col, Int_t row); + AliTRDCalSingleChamberStatus *GetPadStatusROC(Int_t det); + AliTRDrecoParam* GetRecoParam(Int_t *eventtype); + AliTRDPIDResponse *GetPIDResponse(AliTRDPIDResponse::ETRDPIDMethod m); + + Char_t GetChamberStatus(Int_t det); + + Bool_t IsPadMasked(Int_t det, Int_t col, Int_t row); + Bool_t IsPadBridgedLeft(Int_t det, Int_t col, Int_t row); + Bool_t IsPadBridgedRight(Int_t det, Int_t col, Int_t row); + Bool_t IsPadNotConnected(Int_t det, Int_t col, Int_t row); - Bool_t IsChamberInstalled(Int_t det); - Bool_t IsChamberMasked(Int_t det); + Bool_t IsChamberInstalled(Int_t det); + Bool_t IsChamberMasked(Int_t det); + Bool_t IsHalfChamberMasked(Int_t det, Int_t side); - const AliTRDCalMonitoring *GetMonitoringObject(); - const AliTRDCalPIDLQ *GetPIDLQObject(); + const AliTRDCalMonitoring *GetMonitoringObject(); + const AliTRDCalPID *GetPIDObject(AliTRDpidUtil::ETRDPIDMethod m); + const AliTRDCalTrkAttach *GetAttachObject(); // Related functions, these depend on calibration data - static Float_t GetOmegaTau(Float_t vdrift, Float_t bz); - Int_t PadResponse(Double_t signal, Double_t dist, Int_t plane, Double_t *pad) const; - + Int_t PadResponse(Double_t signal, Double_t dist + , Int_t layer, Double_t *pad) const; + protected: // For caching see also implentation of GetCachedCDBObject in the .cxx file - enum { kCDBCacheSize = 15 }; // Number of cached objects enum { kIDVdriftPad = 0 , kIDVdriftChamber , kIDT0Pad , kIDT0Chamber , kIDGainFactorPad , kIDGainFactorChamber + , kIDOnlineGainFactor + , kIDNoiseChamber + , kIDNoisePad , kIDPRFWidth - , kIDGlobals + , kIDFEE , kIDChamberPos , kIDStackPos , kIDSuperModulePos + , kIDPIDNN , kIDPIDLQ + , kIDPIDLQ1D + , kIDRecoParam , kIDMonitoringData , kIDChamberStatus - , kIDPadStatus }; // IDs of cached objects + , kIDPadStatus + , kIDDCS + , kIDAttach + , kCDBCacheSize }; // IDs of cached objects - const TObject* GetCachedCDBObject(Int_t id); + const TObject *GetCachedCDBObject(Int_t id); void Invalidate(); void SamplePRF(); @@ -98,13 +158,17 @@ class AliTRDcalibDB : public TObject { TObject *fCDBCache[kCDBCacheSize]; // Cache for calibration objects. Long64_t fRun; // Run Number - + Float_t *fPRFsmp; //! Sampled pad response Int_t fPRFbin; // Number of bins for the PRF Float_t fPRFlo; // Lower boundary of the PRF Float_t fPRFhi; // Higher boundary of the PRF Float_t fPRFwid; // Bin width of the sampled PRF Int_t fPRFpad; // Distance to next pad in PRF + + AliTRDPIDResponse *fPIDResponse; // TRD PID Response function + + Int_t fOnlineGainTableID; // ID for online gain table private: @@ -113,8 +177,9 @@ class AliTRDcalibDB : public TObject { AliTRDcalibDB &operator=(const AliTRDcalibDB &c); virtual ~AliTRDcalibDB(); - ClassDef(AliTRDcalibDB,3) // Provides central access to the CDB + ClassDef(AliTRDcalibDB, 7) // Provides central access to the CDB }; #endif +