]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ANALYSIS/TenderSupplies/AliTRDTenderSupply.h
Update of the TRD PID Response:
[u/mrichter/AliRoot.git] / ANALYSIS / TenderSupplies / AliTRDTenderSupply.h
CommitLineData
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 17class AliTRDpidRecalculator;
00685073 18class AliTRDCalDet;
8d458e7c 19class AliESDEvent;
00685073 20
e75408ba 21class AliTRDTenderSupply: public AliTenderSupply {
22
23public:
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
46private:
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