1 #ifndef ALITPCPIDETATREE_H
2 #define ALITPCPIDETATREE_H
5 This task determines the eta dependence of the TPC signal.
6 For this purpose, only tracks fulfilling some standard quality cuts are taken into account.
7 The obtained data can be used to derive the functional behaviour of the eta dependence.
8 Such a function can be plugged into this task to correct for the eta dependence and to see
9 if there is then really no eta dependence left.
11 Class written by Benjamin Hess.
12 Contact: bhess@cern.ch
20 #include "AliTPCPIDBase.h"
22 class AliTPCPIDEtaTree : public AliTPCPIDBase {
24 enum PIDtype { kMCid = 0, kTPCid = 1, kV0idNoTOF = 2, kTPCandTOFid = 3, kV0idPlusTOFaccepted = 4, kV0idPlusTOFrejected = 5 };
27 AliTPCPIDEtaTree(const char *name);
28 virtual ~AliTPCPIDEtaTree();
30 virtual void UserCreateOutputObjects();
31 virtual void UserExec(Option_t *option);
32 virtual void Terminate(const Option_t*);
34 Bool_t GetCorrectdEdxEtaDependence() const { return fCorrectdEdxEtaDependence; };
35 void SetCorrectdEdxEtaDependence(Bool_t flag) { fCorrectdEdxEtaDependence = flag; };
37 Bool_t GetCorrectdEdxMultiplicityDependence() const { return fCorrectdEdxMultiplicityDependence; };
38 void SetCorrectdEdxMultiplicityDependence(Bool_t flag) { fCorrectdEdxMultiplicityDependence = flag; };
40 Bool_t GetDoAdditionalQA() const { return fDoAdditionalQA; };
41 void SetDoAdditionalQA(Bool_t doAdditionalQA = kTRUE) { fDoAdditionalQA = doAdditionalQA; };
43 Bool_t GetStoreMultiplicity() const { return fStoreMultiplicity; };
44 void SetStoreMultiplicity(Bool_t storeMultiplicity = kTRUE) { fStoreMultiplicity = storeMultiplicity; };
46 Bool_t GetStoreNumOfSubthresholdclusters() const { return fStoreNumOfSubthresholdclusters; };
47 void SetStoreNumOfSubthresholdclusters(Bool_t storeNumOfSubthresholdclusters = kTRUE)
48 { fStoreNumOfSubthresholdclusters = storeNumOfSubthresholdclusters; };
50 Bool_t GetStoreNumClustersInActiveVolume() const { return fStoreNumClustersInActiveVolume; };
51 void SetStoreNumClustersInActiveVolume(Bool_t storeNumClustersInActiveVolume = kTRUE)
52 { fStoreNumClustersInActiveVolume = storeNumClustersInActiveVolume; };
54 Double_t GetPtpcPionCut() const { return fPtpcPionCut; };
55 void SetPtpcPionCut(Double_t pTPCpionCut) { fPtpcPionCut = pTPCpionCut; };
58 Short_t fNumEtaCorrReqErrorsIssued; // Number of times the error about eta correction issues have been displayed
59 Short_t fNumMultCorrReqErrorsIssued; // Number of times the error about multiplicity correction issues have been displayed
61 Bool_t fStoreMultiplicity; // Store multiplicity in tree?
62 Bool_t fStoreNumOfSubthresholdclusters; // Store number of subthreshold clusters in tree?
63 Bool_t fStoreNumClustersInActiveVolume; // Store number of clusters in active volume in tree?
64 Bool_t fDoAdditionalQA; // Save output for additional QA, like TOF QA?
65 Double_t fPtpcPionCut; // Cut on pions with lower tpc momentum
67 Double_t fPtpc; // TPC momentum
68 Double_t fPt; // Transverse momentum
69 Double_t fDeDx; // Measured dE/dx
70 Double_t fDeDxExpected; // Expected dE/dx according to parametrisation
71 Double_t fTanTheta; // Tangens of (local) theta at TPC inner wall
72 //Double_t fSinAlpha; // Sine of (local) phi at TPC inner wall
73 //Double_t fY; // Local Y at TPC inner wall
74 Double_t fPhiPrime; // Phi prime
75 UShort_t fTPCsignalN; // Number of TPC clusters for PID
76 UShort_t fTPCsignalNsubthreshold; // Number of TPC subthreshold clusters for PID
77 Double_t fNumTPCClustersInActiveVolume; // Number of TPC clusters in active volume
78 UChar_t fPIDtype; // Type of identification (TPC dEdx, V0, ...)
81 Int_t fMultiplicity; // Multiplicity in case of PbPb
83 Bool_t fCorrectdEdxEtaDependence; // Correct eta dependence for dEdxExpected
84 Bool_t fCorrectdEdxMultiplicityDependence; // Correct multiplicity dependence for dEdxExpected
86 TTree* fTree; //! data tree
87 TTree* fTreePions; //! data tree pions
89 TObjArray* fOutputContainer; //! Output data container for TOF qa
90 THnSparseI* fhTOFqa; //! THnSparse with TOF qa data
91 TH2I* fhMultiplicityQA; //! QA histo for multiplicity
93 AliTPCPIDEtaTree(const AliTPCPIDEtaTree&); // not implemented
94 AliTPCPIDEtaTree& operator=(const AliTPCPIDEtaTree&); // not implemented
96 ClassDef(AliTPCPIDEtaTree, 3);