X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;ds=sidebyside;f=T0%2FAliT0Parameters.h;h=fbdc396efef6c409d01ac9a84341ba979aa582bd;hb=020d7c04630bdfd6debd4b494803455b6cb6c1a4;hp=45ff52a5eb012ff43d81e03af5f9521a25e049eb;hpb=256d494349257e44a0c32ac49bd8329679586ec1;p=u%2Fmrichter%2FAliRoot.git diff --git a/T0/AliT0Parameters.h b/T0/AliT0Parameters.h index 45ff52a5eb0..fbdc396efef 100644 --- a/T0/AliT0Parameters.h +++ b/T0/AliT0Parameters.h @@ -3,7 +3,7 @@ /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights * reserved. * - * Latest changes by Christian Holm Christensen + * Alla Maevskaya INR RAS alla@inr.ru * * See cxx source for full Copyright notice */ @@ -21,19 +21,25 @@ #include class AliT0CalibData; class AliCDBEntry; +class AliT0CalibWalk; +class AliT0CalibTimeEq; +class AliT0CalibLatency; class AliT0Parameters : public TNamed { public: static AliT0Parameters* Instance(); - + + AliT0Parameters(); + virtual ~AliT0Parameters() {}; + void Init(); void InitIfOnline(); // Set various `Fixed' parameters void SetPh2Mip(Int_t r=300) { fPh2Mip = r; } void SetmV2Mip(Int_t r=50) { fmV2Mip = r; } - void SetChannelWidth(Int_t s=25) { fChannelWidth = s;} + void SetChannelWidth(Float_t s=24.4) { fChannelWidth = s;} void SetmV2channel(Int_t size=320) { fmV2Channel = size; } void SetQTmin(Int_t qt=13) {fQTmin = qt;} void SetQTmax(Int_t qt=125) {fQTmax = qt;} @@ -42,13 +48,13 @@ public: void SetPMTeff(Int_t ipmt); void SetTimeDelayTVD(Float_t r=150) { fTimeDelayTVD = r; }; - Float_t GetTimeDelayTVD() { return fTimeDelayTVD; } + Float_t GetTimeDelayTVD() const { return fTimeDelayTVD; } // Get `Fixed' various parameters Int_t GetPh2Mip() const { return fPh2Mip; } Int_t GetmV2Mip() const { return fmV2Mip; } - Int_t GetChannelWidth() const { return fChannelWidth; } + Float_t GetChannelWidth() const { return fChannelWidth; } Int_t GetmV2channel() const { return fmV2Channel; } Int_t GetQTmin() const {return fQTmin;} Int_t GetQTmax() const {return fQTmax;} @@ -57,67 +63,92 @@ public: Double_t GetZPositionShift(const char* symname); + TGraph * GetPMTeff(Int_t ipmt) const {return (TGraph*)fPMTeff.At(ipmt);} Float_t GetpmtEFF(Int_t ipmt, Float_t lambda) const {return((TGraph*)fPMTeff.At(ipmt))->Eval(lambda);} - TGraph * GetAmpLEDRec(Int_t ipmt) const; - + TGraph *GetAmpLEDRec(Int_t ipmt) const; TGraph *GetWalk(Int_t ipmt ) const; - Float_t GetWalkVal(Int_t ipmt, Float_t mv ) const ; + TGraph *GetQTC(Int_t ipmt) const; + TGraph *GetAmpLED(Int_t ipmt) const; Float_t GetTimeDelayCFD(Int_t ipmt); - Float_t GetTimeDelayDA(Int_t ipmt); +// Float_t GetTimeV0(Int_t ipmt = 512) {return fTimeV0;} - // void SetMeanT0(Int_t mean=500) { fMeanT0 = mean; }; - Int_t GetMeanT0 (); //{return fMeanT0;}; + void SetMeanT0(Float_t mean=512) { fMeanT0 = mean; }; + Float_t GetMeanT0 () {return fMeanT0;}; + void SetMeanVertex(Float_t mean=0) { fMeanVertex = mean; }; + Float_t GetMeanVertex (); - TMap * GetMapLookup(); + TMap * GetMapLookup(); Int_t GetChannel(Int_t trm, Int_t tdc, Int_t chain, Int_t channel); Int_t GetNumberOfTRMs(); void SetNumberOfTRMs(Int_t ntrms=2) {fNumberOfTRMs = ntrms;} + + Float_t GetLatencyHPTDC(); + Float_t GetLatencyL1();/* {return fLatencyL1;} */ + Float_t GetLatencyL1A(); /* {return fLatencyL1A;}*/ + Float_t GetLatencyL1C(); /* {return fLatencyL1C;} */ + + void SetLatencyHPTDC(Float_t lat) {fLatencyHPTDC=lat;} + void SetLatencyL1(Float_t lat) {fLatencyL1=lat;} + void SetLatencyL1A(Float_t lat) { fLatencyL1A=lat;} + void SetLatencyL1C(Float_t lat) { fLatencyL1C=lat;} protected: - AliT0Parameters(); - virtual ~AliT0Parameters() {} static AliT0Parameters* fgInstance; // Static singleton instance Bool_t fIsInit; // Whether we've been initialised Float_t fT0zPosition[2] ; // z-position of the two T0s Int_t fPh2Mip; // # photoelectrons per MIP in radiator Int_t fmV2Mip; // # mV per MIP in radiator - Int_t fChannelWidth; // channel width in ns + Float_t fChannelWidth; // channel width in ns Int_t fmV2Channel; // ADC mv 2 channel # (200000ps/(25*25). Int_t fQTmin; //min time for QTC Int_t fQTmax; //max time fro QTC TObjArray fAmpLEDRec; // array of amlitude vs LED-CFD (simulation & reconstruction) TObjArray fPMTeff; //array PMT registration efficiency TObjArray fWalk; //array time-amplitude walk + TObjArray fQTC; //array of TGraphs for QTC vs number of MIPs + TObjArray fAmpLED; //array of TGraphs for LED-CFD vs number of MIPs + - Float_t fTimeDelayDA; // sum time delay for LED channel Float_t fTimeDelayCFD; // sum time delay for CFD channel + // Float_t fTimeV0; // sum time delay for CFD channel Float_t fTimeDelayTVD; //time delay for TVD (vertex trigger channel) - Int_t fMeanT0; //mean of T0distribution with vertex=0; - + Float_t fMeanT0; //mean of T0distribution with vertex=0; + Float_t fMeanVertex; // mean of vertex distribution; + + Float_t fLatencyHPTDC; // all latencies; + Float_t fLatencyL1; // all latencies; + Float_t fLatencyL1A; // all latencies; + Float_t fLatencyL1C; // all latencies; + TMap fLookUp; //lookup table Int_t fNumberOfTRMs; // number of TRMs in setup + //latency - static AliT0CalibData * fgCalibData; // singleton for Calibration data + + static AliT0CalibTimeEq * fgCalibData; // singleton for Calibration data static AliT0CalibData * fgLookUp; // singleton for Calibration data - static AliT0CalibData * fgSlewCorr; // singleton for Calibration data + static AliT0CalibWalk * fgSlewCorr; // singleton for Calibration data + static AliT0CalibLatency * fgLatency; // singleton for Calibration data AliCDBEntry* fCalibentry ; // pointer to T0 calibration object AliCDBEntry* fLookUpentry ; // pointer to T0 lokkup table AliCDBEntry* fSlewCorr ; // pointer to slewing correction - - ClassDef(AliT0Parameters,4) - private: + AliCDBEntry* fLatency ; // pointer to latency + + private: AliT0Parameters(const AliT0Parameters&); AliT0Parameters& operator=(const AliT0Parameters&); - + + ClassDef(AliT0Parameters,6) + }; #endif