]>
Commit | Line | Data |
---|---|---|
e75408ba | 1 | #ifndef ALITRDTENDERSUPPLY_H |
2 | #define ALITRDTENDERSUPPLY_H | |
3 | ||
4 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
5 | * See cxx source for full Copyright notice */ | |
6 | ||
7 | //////////////////////////////////////////////////////////////////////// | |
8 | // // | |
9 | // TRD tender, reapply pid on the fly // | |
10 | // // | |
11 | //////////////////////////////////////////////////////////////////////// | |
12 | ||
13 | ||
14 | ||
15 | #include <AliTenderSupply.h> | |
16 | ||
51a0ce25 | 17 | class AliTRDpidRecalculator; |
00685073 | 18 | class AliTRDCalDet; |
8d458e7c | 19 | class AliESDEvent; |
00685073 | 20 | |
e75408ba | 21 | class AliTRDTenderSupply: public AliTenderSupply { |
22 | ||
23 | public: | |
00685073 | 24 | enum{ |
25 | kNNpid = 0, | |
26 | k1DLQpid = 1, | |
27 | k2DLQpid = 2 | |
28 | }; | |
e75408ba | 29 | AliTRDTenderSupply(); |
30 | AliTRDTenderSupply(const char *name, const AliTender *tender=NULL); | |
31 | virtual ~AliTRDTenderSupply(); | |
32 | ||
51a0ce25 | 33 | void SetLoadReferencesFromCDB() { fLoadReferencesFromCDB = kTRUE; } |
34 | void SetRefFile(const char* file) {fRefFilename=file;} | |
e75408ba | 35 | void SetPIDmethod(Int_t pidMethod) { fPIDmethod = pidMethod; } |
51a0ce25 | 36 | void SetNormalizationFactor(Double_t norm) { fNormalizationFactor = norm; } |
00685073 | 37 | void SetCalibLowpThreshold(Double_t pmin) { fPthreshold = pmin; }; |
e75408ba | 38 | |
39 | virtual void Init(); | |
40 | virtual void ProcessEvent(); | |
41 | ||
00685073 | 42 | void SwitchOnGainCorrection() { fGainCorrection = kTRUE; } |
43 | void SwitchOffGainCorrection() { fGainCorrection = kFALSE; } | |
44 | void AddBadChamber(Int_t chamberID){fBadChamberID[fNBadChambers++] = chamberID;}; | |
e75408ba | 45 | |
46 | private: | |
47 | enum{ | |
00685073 | 48 | kNPlanes = 6, |
49 | kNStacks = 5, | |
50 | kNChambers = 540 | |
e75408ba | 51 | }; |
00685073 | 52 | |
53 | Bool_t GetTRDchamberID(AliESDtrack * const track, Int_t *detectors); | |
54 | void SetChamberGain(); | |
55 | void ApplyGainCorrection(AliESDtrack *track); | |
51a0ce25 | 56 | void LoadReferences(); |
00685073 | 57 | |
58 | AliESDEvent *fESD; //! the ESD Event | |
59 | AliESDpid *fESDpid; //! ESD PID object | |
60 | ||
61 | AliTRDCalDet *fChamberGainOld; // TRD Chamber Gain Factor used for producing the ESD | |
62 | AliTRDCalDet *fChamberGainNew; // New TRD Chamber Gain Factor | |
63 | AliTRDCalDet *fChamberVdriftOld; // Old drift velocity calibration | |
64 | AliTRDCalDet *fChamberVdriftNew; // New drift velocity calibration | |
e75408ba | 65 | |
51a0ce25 | 66 | TString fRefFilename; // path and name to the NNref file |
e75408ba | 67 | Int_t fPIDmethod; // PID method |
51a0ce25 | 68 | Double_t fNormalizationFactor; // dE/dx Normalization Factor |
00685073 | 69 | Double_t fPthreshold; // Low Momentum threshold for calibration |
70 | Int_t fBadChamberID[kNChambers]; // List of Bad Chambers | |
71 | UInt_t fNBadChambers; // Number of bad chambers | |
72 | Bool_t fGainCorrection; // Apply gain correction | |
51a0ce25 | 73 | Bool_t fLoadReferencesFromCDB; // Load References from CDB |
74 | Bool_t fHasReferences; // has references loaded | |
e75408ba | 75 | |
76 | AliTRDTenderSupply(const AliTRDTenderSupply&c); | |
77 | AliTRDTenderSupply& operator= (const AliTRDTenderSupply&c); | |
78 | ||
79 | ClassDef(AliTRDTenderSupply, 1); // TRD tender task | |
80 | }; | |
e75408ba | 81 | #endif |
82 |