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