totEt cuts into their own proper class
[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   // GeometryPhos
27   Double_t GetGeometryPhosEtaAccCut() const { return fGeometryPhosEtaAccCut; }
28   Double_t GetGeometryPhosPhiAccMinCut() const { return fGeometryPhosPhiAccMinCut; }
29   Double_t GetGeometryPhosPhiAccMaxCut() const { return fGeometryPhosPhiAccMaxCut; }
30   Double_t GetGeometryPhosDetectorRadius() const { return fGeometryPhosDetectorRadius; }
31   // GeometryEmcal
32   Double_t GetGeometryEmcalEtaAccCut() const { return fGeometryEmcalEtaAccCut; }
33   Double_t GetGeometryEmcalPhiAccMinCut() const { return fGeometryEmcalPhiAccMinCut; }
34   Double_t GetGeometryEmcalPhiAccMaxCut() const { return fGeometryEmcalPhiAccMaxCut; }
35   Double_t GetGeometryEmcalDetectorRadius() const { return fGeometryEmcalDetectorRadius; }
36   // Reconstructed
37   Double_t GetReconstructedVertexXCut() const { return fReconstructedVertexXCut; }
38   Double_t GetReconstructedVertexYCut() const { return fReconstructedVertexYCut; }
39   Double_t GetReconstructedVertexZCut() const { return fReconstructedVertexZCut; }
40   Double_t GetReconstructedIPxyCut() const { return fReconstructedIPxyCut; }
41   Double_t GetReconstructedIPzCut() const { return fReconstructedIPzCut; }
42   Int_t GetReconstructedNTpcClustersCut() const { return fReconstructedNTpcClustersCut; }
43   Int_t GetReconstructedNItsClustersCut() const { return fReconstructedNItsClustersCut; }
44   // ReconstructedPhos
45   Char_t GetReconstructedPhosClusterType() const { return fReconstructedPhosClusterType; }
46   Double_t GetReconstructedPhosClusterEnergyCut() const { return fReconstructedPhosClusterEnergyCut; }
47   Double_t GetReconstructedPhosSingleCellEnergyCut() const { return fReconstructedPhosSingleCellEnergyCut; }
48   Double_t GetReconstructedPhosTrackDistanceCut() const { return fReconstructedPhosTrackDistanceCut; }
49   // ReconstructedEmcal
50   Char_t GetReconstructedEmcalClusterType() const { return fReconstructedEmcalClusterType; }
51   Double_t GetReconstructedEmcalClusterEnergyCut() const { return fReconstructedEmcalClusterEnergyCut; }
52   Double_t GetReconstructedEmcalSingleCellEnergyCut() const { return fReconstructedEmcalSingleCellEnergyCut; }
53   Double_t GetReconstructedEmcalTrackDistanceCut() const { return fReconstructedEmcalTrackDistanceCut; }
54   // MonteCarlo
55   Double_t GetMonteCarloSingleChargedParticle() const { return fMonteCarloSingleChargedParticle; }
56   Double_t GetMonteCarloNeutralParticle() const { return fMonteCarloNeutralParticle; }
57
58   // Setters
59   // Common
60   void SetCommonEtaCut(const Double_t val) { fCommonEtaCut = val; }
61   void SetCommonClusterEnergyCut(const Double_t val) { fCommonClusterEnergyCut = val; }
62   void SetCommonTrackPtCut(const Double_t val) { fCommonTrackPtCut = val; }
63   void SetCommonSingleCell(const Int_t val) { fCommonSingleCell = val;}
64   // GeometryPhos
65   void SetGeometryPhosEtaAccCut(const Double_t val) { fGeometryPhosEtaAccCut = val; }
66   void SetGeometryPhosPhiAccMinCut(const Double_t val) { fGeometryPhosPhiAccMinCut = val; }
67   void SetGeometryPhosPhiAccMaxCut(const Double_t val) { fGeometryPhosPhiAccMaxCut = val; }
68   void SetGeometryPhosDetectorRadius(const Double_t val) { fGeometryPhosDetectorRadius = val; }
69   // GeometryEmcal
70   void SetGeometryEmcalEtaAccCut(const Double_t val) { fGeometryEmcalEtaAccCut = val; }
71   void SetGeometryEmcalPhiAccMinCut(const Double_t val) { fGeometryEmcalPhiAccMinCut = val; }
72   void SetGeometryEmcalPhiAccMaxCut(const Double_t val) { fGeometryEmcalPhiAccMaxCut = val; }
73   void SetGeometryEmcalDetectorRadius(const Double_t val) { fGeometryEmcalDetectorRadius = val; }
74   // Reconstructed
75   void SetReconstructedVertexXCut(const Double_t val) { fReconstructedVertexXCut = val; }
76   void SetReconstructedVertexYCut(const Double_t val) { fReconstructedVertexYCut = val; }
77   void SetReconstructedVertexZCut(const Double_t val) { fReconstructedVertexZCut = val; }
78   void SetReconstructedIPxyCut(const Double_t val) { fReconstructedIPxyCut = val; }
79   void SetReconstructedIPzCut(const Double_t val) { fReconstructedIPzCut = val; }
80   void SetReconstructedNTpcClustersCut(const Int_t val) { fReconstructedNTpcClustersCut = val; }
81   void SetReconstructedNItsClustersCut(const Int_t val) { fReconstructedNItsClustersCut = val; }
82   // ReconstructedPhos
83   void SetReconstructedPhosClusterType(const Char_t val) { fReconstructedPhosClusterType = val; }
84   void SetReconstructedPhosClusterEnergyCut(const Double_t val) { fReconstructedPhosClusterEnergyCut = val; }
85   void SetReconstructedPhosSingleCellEnergyCut(const Double_t val) { fReconstructedPhosSingleCellEnergyCut = val; }
86   void SetReconstructedPhosTrackDistanceCut(const Double_t val) { fReconstructedPhosTrackDistanceCut = val; }
87   // ReconstructedEmcal
88   void SetReconstructedEmcalClusterType(const Char_t val) { fReconstructedEmcalClusterType = val; }
89   void SetReconstructedEmcalClusterEnergyCut(const Double_t val) { fReconstructedEmcalClusterEnergyCut = val; }
90   void SetReconstructedEmcalSingleCellEnergyCut(const Double_t val) { fReconstructedEmcalSingleCellEnergyCut = val; }
91   void SetReconstructedEmcalTrackDistanceCut(const Double_t val) { fReconstructedEmcalTrackDistanceCut = val; }
92   // MonteCarlo
93   void SetMonteCarloSingleChargedParticle(const Double_t val) { fMonteCarloSingleChargedParticle = val; }
94   void SetMonteCarloNeutralParticle(const Double_t val) { fMonteCarloNeutralParticle = val; }
95
96  protected:
97
98   // Common   
99   Double_t fCommonEtaCut; // Eta cut
100   Double_t fCommonClusterEnergyCut; // Cluster Energy cut
101   Double_t fCommonTrackPtCut; // Track Pt
102   Int_t fCommonSingleCell; // Single Cell (1)
103
104   // GeometryPhos
105   Double_t fGeometryPhosEtaAccCut; // PHOS Eta Acc cut
106   Double_t fGeometryPhosPhiAccMinCut; // PHOS Phi Acc Min cut
107   Double_t fGeometryPhosPhiAccMaxCut; // PHOS Phi Acc Max cut
108   Double_t fGeometryPhosDetectorRadius; // PHOS Detector Radius 
109
110   // GeometryEmcal
111   Double_t fGeometryEmcalEtaAccCut; // EMCal Eta Acc cut
112   Double_t fGeometryEmcalPhiAccMinCut; // EMCal Phi Acc Min cut
113   Double_t fGeometryEmcalPhiAccMaxCut; // EMCal Phi Acc Max cut
114   Double_t fGeometryEmcalDetectorRadius; // EMCal Detector Radius
115
116   // Reconstructed
117   Double_t fReconstructedVertexXCut; // vertex X cut
118   Double_t fReconstructedVertexYCut; // vertex Y cut
119   Double_t fReconstructedVertexZCut; // vertex Z cut
120   Double_t fReconstructedIPxyCut; // IP xy cut
121   Double_t fReconstructedIPzCut; // IP z cut
122   Int_t fReconstructedNTpcClustersCut; // # of TPC clusters cut
123   Int_t fReconstructedNItsClustersCut; // # of ITS clusters cut
124
125   // ReconstructedPhos
126   Char_t fReconstructedPhosClusterType; // PHOS cluster type
127   Double_t fReconstructedPhosClusterEnergyCut; // PHOS cluster energy
128   Double_t fReconstructedPhosSingleCellEnergyCut; // PHOS single cell energy
129   Double_t fReconstructedPhosTrackDistanceCut; // PHOS track distance
130
131   // ReconstructedEmcal
132   Char_t fReconstructedEmcalClusterType; // EMCal cluster type
133   Double_t fReconstructedEmcalClusterEnergyCut; // EMCal cluster energy
134   Double_t fReconstructedEmcalSingleCellEnergyCut; // EMCal single cell energy
135   Double_t fReconstructedEmcalTrackDistanceCut; // EMCal track distance
136
137   // MonteCarlo
138   Double_t fMonteCarloSingleChargedParticle; // MC charged
139   Double_t fMonteCarloNeutralParticle; // MC neutral
140
141 private:
142   //Declare private to avoid compilation warning
143   AliAnalysisEtCuts & operator = (const AliAnalysisEtCuts & g) ;//copy assignment
144   AliAnalysisEtCuts(const AliAnalysisEtCuts & g) ; // copy ctor
145
146   ClassDef(AliAnalysisEtCuts, 0);
147 };
148
149 #endif // ALIANALYSISETCUTS_H