]> git.uio.no Git - u/mrichter/AliRoot.git/blame - STEER/AliEventTagCuts.h
Efficient C++ initialization of data members
[u/mrichter/AliRoot.git] / STEER / AliEventTagCuts.h
CommitLineData
c7e89ea3 1#ifndef ALIEVENTTAGCUTS_H
2#define ALIEVENTTAGCUTS_H
3/* See cxx source for full Copyright notice */
4
5
6/* $Id$ */
7
8//-------------------------------------------------------------------------
9// Class AliEventTagCuts
10// This is the class for the cuts in event tags
11//
12// Origin: Panos Christakoglou, UOA-CERN, Panos.Christakoglou@cern.ch
13//-------------------------------------------------------------------------
14
15#include <TObject.h>
16
17class AliEventTag;
18
19class AliEventTagCuts : public TObject
20{
21 public:
22 AliEventTagCuts();
23
24 ~AliEventTagCuts();
25
26 void Reset();
27
28 void SetParticipantsRange(Int_t i1, Int_t i2);
29 void SetImpactParamRange(Float_t r1, Float_t r2);
30
31 void SetPrimaryVertexXRange(Float_t r1, Float_t r2);
32 void SetPrimaryVertexYRange(Float_t r1, Float_t r2);
33 void SetPrimaryVertexZRange(Float_t r1, Float_t r2);
34
35 void SetPrimaryVertexFlag(Int_t i);
36
32a5cab4 37 void SetZDCNeutr1Range(Float_t r1, Float_t r2);
38 void SetZDCProt1Range(Float_t r1, Float_t r2);
c7e89ea3 39 void SetZDCEMRange(Float_t r1, Float_t r2);
32a5cab4 40 void SetZDCNeutr2Range(Float_t r1, Float_t r2);
41 void SetZDCProt2Range(Float_t r1, Float_t r2);
c7e89ea3 42 void SetT0VertexZRange(Float_t r1, Float_t r2);
43
44 void SetMultiplicityRange(Int_t n1, Int_t n2);
45 void SetPosMultiplicityRange(Int_t n1, Int_t n2);
46 void SetNegMultiplicityRange(Int_t n1, Int_t n2);
47 void SetNeutrMultiplicityRange(Int_t n1, Int_t n2);
48 void SetV0sRange(Int_t n1, Int_t n2);
49 void SetCascadesRange(Int_t n1, Int_t n2);
50 void SetKinksRange(Int_t n1, Int_t n2);
51
52 void SetMaxJetEnergy(Float_t r1);
53 void SetMaxNeutralEnergy(Float_t r1);
54 void SetHardPhotonsRange(Int_t i1, Int_t i2);
55
56 void SetNChargedAbove1GeVRange(Int_t i1, Int_t i2);
57 void SetNChargedAbove3GeVRange(Int_t i1, Int_t i2);
58 void SetNChargedAbove10GeVRange(Int_t i1, Int_t i2);
59 void SetNMuonsAbove1GeVRange(Int_t i1, Int_t i2);
60 void SetNMuonsAbove3GeVRange(Int_t i1, Int_t i2);
61 void SetNMuonsAbove10GeVRange(Int_t i1, Int_t i2);
62 void SetNElectronsAbove1GeVRange(Int_t i1, Int_t i2);
63 void SetNElectronsAbove3GeVRange(Int_t i1, Int_t i2);
64 void SetNElectronsAbove10GeVRange(Int_t i1, Int_t i2);
65
66 void SetNElectronRange(Int_t n1, Int_t n2);
67 void SetNMuonRange(Int_t n1, Int_t n2);
68 void SetNPionRange(Int_t n1, Int_t n2);
69 void SetNKaonRange(Int_t n1, Int_t n2);
70 void SetNProtonRange(Int_t n1, Int_t n2);
71 void SetNLambdaRange(Int_t n1, Int_t n2);
72 void SetNPhotonRange(Int_t n1, Int_t n2);
73 void SetNPi0Range(Int_t n1, Int_t n2);
74 void SetNNeutronRange(Int_t n1, Int_t n2);
75 void SetNKaon0Range(Int_t n1, Int_t n2);
76
77 void SetTotalPRange(Float_t r1, Float_t r2);
78 void SetMeanPtRange(Float_t r1, Float_t r2);
79 void SetMaxPt(Float_t r1);
80 void SetTotalNeutralPRange(Float_t r1, Float_t r2);
81 void SetMeanNeutralPtPRange(Float_t r1, Float_t r2);
82 void SetMaxNeutralPt(Float_t r1);
83 void SetEvPlaneAngleRange(Float_t r1, Float_t r2);
84 void SetHBTRadiiRange(Float_t r1, Float_t r2);
85
86 Bool_t IsAccepted(AliEventTag *EvTag) const;
87
88 private:
89 Float_t fVxMin, fVxMax; //Definition of the range of the Vx
90 Bool_t fVxFlag; //Shows whether this cut is used or not
91 Float_t fVyMin, fVyMax; //Definition of the range of the Vy
92 Bool_t fVyFlag; //Shows whether this cut is used or not
93 Float_t fVzMin, fVzMax; //Definition of the range of the Vz
94 Bool_t fVzFlag; //Shows whether this cut is used or not
95 Int_t fParticipantsMin, fParticipantMax; //# participants range
96 Bool_t fParticipantsFlag;//Shows whether this cut is used or not
97 Float_t fImpactParamMin, fImpactParamMax; //Impact parameter range
98 Bool_t fImpactParamFlag; //Shows whether this cut is used or not
99 Int_t fPrimaryVertexFlag; //Primary vertex flag: 0->not found, 1->found
100 Bool_t fPVFlag; //Shows whether this cut is used or not
101
32a5cab4 102 Float_t fZDCNeutron1EnergyMin, fZDCNeutron1EnergyMax; //ZDC min,max - neutron
103 Bool_t fZDCNeutron1EnergyFlag;//Shows whether this cut is used or not
104 Float_t fZDCProton1EnergyMin, fZDCProton1EnergyMax; //ZDC min,max - proton
105 Bool_t fZDCProton1EnergyFlag;//Shows whether this cut is used or not
106 Float_t fZDCNeutron2EnergyMin, fZDCNeutron2EnergyMax; //ZDC min,max - neutron
107 Bool_t fZDCNeutron2EnergyFlag;//Shows whether this cut is used or not
108 Float_t fZDCProton2EnergyMin, fZDCProton2EnergyMax; //ZDC min,max - proton
109 Bool_t fZDCProton2EnergyFlag;//Shows whether this cut is used or not
c7e89ea3 110 Float_t fZDCEMEnergyMin, fZDCEMEnergyMax; //ZDC min,max - em
111 Bool_t fZDCEMEnergyFlag;//Shows whether this cut is used or not
112 Float_t fT0VertexZMin, fT0VertexZMax; //T0 min, max
113 Bool_t fT0VertexZFlag;//Shows whether this cut is used or not
114
115 Int_t fMultMin, fMultMax; //Definition of the range of the multiplicity
116 Bool_t fMultFlag;//Shows whether this cut is used or not
117 Int_t fMultPosMin, fMultPosMax; //Positive tracks multiplicity range
118 Bool_t fMultPosFlag;//Shows whether this cut is used or not
119 Int_t fMultNegMin, fMultNegMax; //Negative tracks multiplicity range
120 Bool_t fMultNegFlag;//Shows whether this cut is used or not
121 Int_t fMultNeutrMin, fMultNeutrMax; //Neutral tracks multiplicity range
122 Bool_t fMultNeutrFlag;//Shows whether this cut is used or not
123 Int_t fV0sMin, fV0sMax; //Range of V0s
124 Bool_t fV0sFlag;//Shows whether this cut is used or not
125 Int_t fCascadesMin, fCascadesMax; //Range of cascades
126 Bool_t fCascadesFlag;//Shows whether this cut is used or not
127 Int_t fkinksMin, fkinksMax; //Range of kinks
128 Bool_t fkinksFlag;//Shows whether this cut is used or not
129
130 Float_t fMaxJetEnergy; //max jet energy info
131 Bool_t fMaxJetEnergyFlag;//Shows whether this cut is used or not
132
133 Int_t fNHardPhotonsCandidatesMin, fNHardPhotonsCandidatesMax; //Hard photons candidates
134 Bool_t fNHardPhotonsCandidatesFlag;//Shows whether this cut is used or not
135 Float_t fMaxNeutralEnergy; //max neutral energy info
136 Bool_t fMaxNeutralFlag;//Shows whether this cut is used or not
137
138 Int_t fChargedAbove1GeVMin, fChargedAbove1GeVMax;//Definition of the range of the number of charged above 1GeV
139 Bool_t fChargedAbove1GeVFlag;//Shows whether this cut is used or not
140 Int_t fChargedAbove3GeVMin, fChargedAbove3GeVMax;//Definition of the range of the number of charged above 3GeV
141 Bool_t fChargedAbove3GeVFlag;//Shows whether this cut is used or not
142 Int_t fChargedAbove10GeVMin, fChargedAbove10GeVMax;//Definition of the range of the number of charged above 10GeV
143 Bool_t fChargedAbove10GeVFlag;//Shows whether this cut is used or not
144 Int_t fMuonsAbove1GeVMin, fMuonsAbove1GeVMax;//Definition of the range of the number of muons above 1GeV
145 Bool_t fMuonsAbove1GeVFlag;//Shows whether this cut is used or not
146 Int_t fMuonsAbove3GeVMin, fMuonsAbove3GeVMax;//Definition of the range of the number of muons above 3GeV
147 Bool_t fMuonsAbove3GeVFlag;//Shows whether this cut is used or not
148 Int_t fMuonsAbove10GeVMin, fMuonsAbove10GeVMax; //Definition of the range of the number of muons above 10GeV
149 Bool_t fMuonsAbove10GeVFlag;//Shows whether this cut is used or not
150 Int_t fElectronsAbove1GeVMin, fElectronsAbove1GeVMax;//Definition of the range of the number of electorns above 1GeV
151 Bool_t fElectronsAbove1GeVFlag;//Shows whether this cut is used or not
152 Int_t fElectronsAbove3GeVMin, fElectronsAbove3GeVMax;//Definition of the range of the number of electorns above 3GeV
153 Bool_t fElectronsAbove3GeVFlag;//Shows whether this cut is used or not
154 Int_t fElectronsAbove10GeVMin,fElectronsAbove10GeVMax;//Definition of the range of the number of electorns above 10GeV
155 Bool_t fElectronsAbove10GeVFlag;//Shows whether this cut is used or not
156
157 Int_t fElectronsMin, fElectronsMax; //Number of electrons range
158 Bool_t fElectronsFlag;//Shows whether this cut is used or not
159 Int_t fMuonsMin, fMuonsMax; //Number of muons range
160 Bool_t fMuonsFlag;//Shows whether this cut is used or not
161 Int_t fPionsMin, fPionsMax; //Number of pions range
162 Bool_t fPionsFlag;//Shows whether this cut is used or not
163 Int_t fKaonsMin, fKaonsMax; //Number of kaons range
164 Bool_t fKaonsFlag;//Shows whether this cut is used or not
165 Int_t fProtonsMin, fProtonsMax; //Number of protons range
166 Bool_t fProtonsFlag;//Shows whether this cut is used or not
167 Int_t fLambdasMin, fLambdasMax; //Number of lambdas range
168 Bool_t fLambdasFlag;//Shows whether this cut is used or not
169 Int_t fPhotonsMin, fPhotonsMax; //Number of photons range
170 Bool_t fPhotonFlag;//Shows whether this cut is used or not
171 Int_t fPi0sMin, fPi0sMax; //Number of Pi0s range
172 Bool_t fPi0sFlag;//Shows whether this cut is used or not
173 Int_t fNeutronsMin, fNeutronsMax; //Number of neutrons range
174 Bool_t fNeutronsFlag;//Shows whether this cut is used or not
175 Int_t fKaon0sMin, fKaon0sMax; //Number of K0s range
176 Bool_t fKaon0sFlag;//Shows whether this cut is used or not
177
178 Float_t fTotalPMin, fTotalPMax; //Range of the sum of the momentum per event
179 Bool_t fTotalPFlag;//Shows whether this cut is used or not
180 Float_t fMeanPtMin, fMeanPtMax; //Range of mean Pt per event
181 Bool_t fMeanPtFlag;//Shows whether this cut is used or not
182 Float_t fMaxPt; //Max Pt for each event
183 Bool_t fMaxPtFlag;//Shows whether this cut is used or not
184 Float_t fTotalNeutralPMin, fTotalNeutralPMax; //Sum of the momentum per event for neutral
185 Bool_t fTotalNeutralPFlag;//Shows whether this cut is used or not
186 Float_t fMeanNeutralPtMin, fMeanNeutralPtMax; //Mean Pt per event for neutral
187 Bool_t fMeanNeutralPtFlag;//Shows whether this cut is used or not
188 Float_t fMaxNeutralPt; //Max Pt for each event for neutral
189 Bool_t fMaxNeutralPtFlag;//Shows whether this cut is used or not
190 Float_t fEventPlaneAngleMin, fEventPlaneAngleMax; //event plane info
191 Bool_t fEventPlaneAngleFlag;//Shows whether this cut is used or not
192 Float_t fHBTRadiiMin, fHBTRadiiMax; //HBT info
193 Bool_t fHBTRadiiFlag;//Shows whether this cut is used or not
194
195 ClassDef(AliEventTagCuts, 1)
196} ;
197
198#endif