- adding cut on probability of PID for histograms concerning identified particles
[u/mrichter/AliRoot.git] / PWG4 / totEt / AliAnalysisEtCuts.h
1 #ifndef ALIANALYSISETCUTS_H
2 #define ALIANALYSISETCUTS_H
3 //_________________________________________________________________________
4 //  Utility Class for transverse energy studies
5 //  Base class for ESD & MC analysis
6 //  - cuts for reconstruction and MonteCarlo 
7 //  
8 //*-- Authors: Oystein Djuvsland (Bergen), David Silvermyr (ORNL)
9 //_________________________________________________________________________
10
11 #include "TNamed.h"
12
13 class AliAnalysisEtCuts : public TNamed
14 {
15  public:
16    
17   AliAnalysisEtCuts();
18   virtual ~AliAnalysisEtCuts();
19
20   // Getters
21   // Common
22   Double_t GetCommonEtaCut() const { return fCommonEtaCut; }
23   Double_t GetCommonClusterEnergyCut() const { return fCommonClusterEnergyCut; }
24   Double_t GetCommonTrackPtCut() const { return fCommonTrackPtCut; }
25   Int_t GetCommonSingleCell() const { return fCommonSingleCell; }
26
27   // GeometryPhos
28   Double_t GetGeometryPhosEtaAccCut() const { return fGeometryPhosEtaAccCut; }
29   Double_t GetGeometryPhosPhiAccMinCut() const { return fGeometryPhosPhiAccMinCut; }
30   Double_t GetGeometryPhosPhiAccMaxCut() const { return fGeometryPhosPhiAccMaxCut; }
31   Double_t GetGeometryPhosDetectorRadius() const { return fGeometryPhosDetectorRadius; }
32   // GeometryEmcal
33   Double_t GetGeometryEmcalEtaAccCut() const { return fGeometryEmcalEtaAccCut; }
34   Double_t GetGeometryEmcalPhiAccMinCut() const { return fGeometryEmcalPhiAccMinCut; }
35   Double_t GetGeometryEmcalPhiAccMaxCut() const { return fGeometryEmcalPhiAccMaxCut; }
36   Double_t GetGeometryEmcalDetectorRadius() const { return fGeometryEmcalDetectorRadius; }
37   // Reconstructed
38   Double_t GetReconstructedVertexXCut() const { return fReconstructedVertexXCut; }
39   Double_t GetReconstructedVertexYCut() const { return fReconstructedVertexYCut; }
40   Double_t GetReconstructedVertexZCut() const { return fReconstructedVertexZCut; }
41   Double_t GetReconstructedIPxyCut() const { return fReconstructedIPxyCut; }
42   Double_t GetReconstructedIPzCut() const { return fReconstructedIPzCut; }
43   Int_t GetReconstructedNTpcClustersCut() const { return fReconstructedNTpcClustersCut; }
44   Int_t GetReconstructedNItsClustersCut() const { return fReconstructedNItsClustersCut; }
45   Double_t GetReconstructedPidCut() const { return fReconstructedPidCut; }
46   // ReconstructedPhos
47   Char_t GetReconstructedPhosClusterType() const { return fReconstructedPhosClusterType; }
48   Double_t GetReconstructedPhosClusterEnergyCut() const { return fReconstructedPhosClusterEnergyCut; }
49   Double_t GetReconstructedPhosSingleCellEnergyCut() const { return fReconstructedPhosSingleCellEnergyCut; }
50   Double_t GetReconstructedPhosTrackDistanceCut() const { return fReconstructedPhosTrackDistanceCut; }
51   // ReconstructedEmcal
52   Char_t GetReconstructedEmcalClusterType() const { return fReconstructedEmcalClusterType; }
53   Double_t GetReconstructedEmcalClusterEnergyCut() const { return fReconstructedEmcalClusterEnergyCut; }
54   Double_t GetReconstructedEmcalSingleCellEnergyCut() const { return fReconstructedEmcalSingleCellEnergyCut; }
55   Double_t GetReconstructedEmcalTrackDistanceCut() const { return fReconstructedEmcalTrackDistanceCut; }
56   // MonteCarlo
57   Double_t GetMonteCarloSingleChargedParticle() const { return fMonteCarloSingleChargedParticle; }
58   Double_t GetMonteCarloNeutralParticle() const { return fMonteCarloNeutralParticle; }
59
60   // Setters
61   // Common
62   void SetCommonEtaCut(const Double_t val) { fCommonEtaCut = val; }
63   void SetCommonClusterEnergyCut(const Double_t val) { fCommonClusterEnergyCut = val; }
64   void SetCommonTrackPtCut(const Double_t val) { fCommonTrackPtCut = val; }
65   void SetCommonSingleCell(const Int_t val) { fCommonSingleCell = val;}
66   // GeometryPhos
67   void SetGeometryPhosEtaAccCut(const Double_t val) { fGeometryPhosEtaAccCut = val; }
68   void SetGeometryPhosPhiAccMinCut(const Double_t val) { fGeometryPhosPhiAccMinCut = val; }
69   void SetGeometryPhosPhiAccMaxCut(const Double_t val) { fGeometryPhosPhiAccMaxCut = val; }
70   void SetGeometryPhosDetectorRadius(const Double_t val) { fGeometryPhosDetectorRadius = val; }
71   // GeometryEmcal
72   void SetGeometryEmcalEtaAccCut(const Double_t val) { fGeometryEmcalEtaAccCut = val; }
73   void SetGeometryEmcalPhiAccMinCut(const Double_t val) { fGeometryEmcalPhiAccMinCut = val; }
74   void SetGeometryEmcalPhiAccMaxCut(const Double_t val) { fGeometryEmcalPhiAccMaxCut = val; }
75   void SetGeometryEmcalDetectorRadius(const Double_t val) { fGeometryEmcalDetectorRadius = val; }
76   // Reconstructed
77   void SetReconstructedVertexXCut(const Double_t val) { fReconstructedVertexXCut = val; }
78   void SetReconstructedVertexYCut(const Double_t val) { fReconstructedVertexYCut = val; }
79   void SetReconstructedVertexZCut(const Double_t val) { fReconstructedVertexZCut = val; }
80   void SetReconstructedIPxyCut(const Double_t val) { fReconstructedIPxyCut = val; }
81   void SetReconstructedIPzCut(const Double_t val) { fReconstructedIPzCut = val; }
82   void SetReconstructedNTpcClustersCut(const Int_t val) { fReconstructedNTpcClustersCut = val; }
83   void SetReconstructedNItsClustersCut(const Int_t val) { fReconstructedNItsClustersCut = val; }
84   void SetReconstrucedPidCut(const Double_t val) { fReconstructedPidCut = val; }
85   // ReconstructedPhos
86   void SetReconstructedPhosClusterType(const Char_t val) { fReconstructedPhosClusterType = val; }
87   void SetReconstructedPhosClusterEnergyCut(const Double_t val) { fReconstructedPhosClusterEnergyCut = val; }
88   void SetReconstructedPhosSingleCellEnergyCut(const Double_t val) { fReconstructedPhosSingleCellEnergyCut = val; }
89   void SetReconstructedPhosTrackDistanceCut(const Double_t val) { fReconstructedPhosTrackDistanceCut = val; }
90   // ReconstructedEmcal
91   void SetReconstructedEmcalClusterType(const Char_t val) { fReconstructedEmcalClusterType = val; }
92   void SetReconstructedEmcalClusterEnergyCut(const Double_t val) { fReconstructedEmcalClusterEnergyCut = val; }
93   void SetReconstructedEmcalSingleCellEnergyCut(const Double_t val) { fReconstructedEmcalSingleCellEnergyCut = val; }
94   void SetReconstructedEmcalTrackDistanceCut(const Double_t val) { fReconstructedEmcalTrackDistanceCut = val; }
95   // MonteCarlo
96   void SetMonteCarloSingleChargedParticle(const Double_t val) { fMonteCarloSingleChargedParticle = val; }
97   void SetMonteCarloNeutralParticle(const Double_t val) { fMonteCarloNeutralParticle = val; }
98
99  protected:
100
101   // Common   
102   Double_t fCommonEtaCut; // Eta cut
103   Double_t fCommonClusterEnergyCut; // Cluster Energy cut
104   Double_t fCommonTrackPtCut; // Track Pt
105   Int_t fCommonSingleCell; // Single Cell (1)
106   
107   // GeometryPhos
108   Double_t fGeometryPhosEtaAccCut; // PHOS Eta Acc cut
109   Double_t fGeometryPhosPhiAccMinCut; // PHOS Phi Acc Min cut
110   Double_t fGeometryPhosPhiAccMaxCut; // PHOS Phi Acc Max cut
111   Double_t fGeometryPhosDetectorRadius; // PHOS Detector Radius 
112
113   // GeometryEmcal
114   Double_t fGeometryEmcalEtaAccCut; // EMCal Eta Acc cut
115   Double_t fGeometryEmcalPhiAccMinCut; // EMCal Phi Acc Min cut
116   Double_t fGeometryEmcalPhiAccMaxCut; // EMCal Phi Acc Max cut
117   Double_t fGeometryEmcalDetectorRadius; // EMCal Detector Radius
118
119   // Reconstructed
120   Double_t fReconstructedVertexXCut; // vertex X cut
121   Double_t fReconstructedVertexYCut; // vertex Y cut
122   Double_t fReconstructedVertexZCut; // vertex Z cut
123   Double_t fReconstructedIPxyCut; // IP xy cut
124   Double_t fReconstructedIPzCut; // IP z cut
125   Int_t fReconstructedNTpcClustersCut; // # of TPC clusters cut
126   Int_t fReconstructedNItsClustersCut; // # of ITS clusters cut
127   Double_t fReconstructedPidCut; // cut on pid prob
128
129   // ReconstructedPhos
130   Char_t fReconstructedPhosClusterType; // PHOS cluster type
131   Double_t fReconstructedPhosClusterEnergyCut; // PHOS cluster energy
132   Double_t fReconstructedPhosSingleCellEnergyCut; // PHOS single cell energy
133   Double_t fReconstructedPhosTrackDistanceCut; // PHOS track distance
134
135   // ReconstructedEmcal
136   Char_t fReconstructedEmcalClusterType; // EMCal cluster type
137   Double_t fReconstructedEmcalClusterEnergyCut; // EMCal cluster energy
138   Double_t fReconstructedEmcalSingleCellEnergyCut; // EMCal single cell energy
139   Double_t fReconstructedEmcalTrackDistanceCut; // EMCal track distance
140
141   // MonteCarlo
142   Double_t fMonteCarloSingleChargedParticle; // MC charged
143   Double_t fMonteCarloNeutralParticle; // MC neutral
144
145 private:
146   //Declare private to avoid compilation warning
147   AliAnalysisEtCuts & operator = (const AliAnalysisEtCuts & g) ;//copy assignment
148   AliAnalysisEtCuts(const AliAnalysisEtCuts & g) ; // copy ctor
149
150   ClassDef(AliAnalysisEtCuts, 0);
151 };
152
153 #endif // ALIANALYSISETCUTS_H