Following naming conventions/improving readibility of the methods (Markus).
[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
7e73fbbd 19//___________________________________________________________________________
20class AliEventTagCuts : public TObject {
c7e89ea3 21 public:
22 AliEventTagCuts();
c7e89ea3 23 ~AliEventTagCuts();
c7e89ea3 24 void Reset();
25
7e73fbbd 26 //____________________________________________________//
915d9c13 27 void SetNParticipantsRange(Int_t low, Int_t high);
28 void SetImpactParamRange(Float_t low, Float_t high);
c7e89ea3 29
915d9c13 30 void SetPrimaryVertexXRange(Float_t low, Float_t high);
31 void SetPrimaryVertexYRange(Float_t low, Float_t high);
32 void SetPrimaryVertexZRange(Float_t low, Float_t high);
33 void SetPrimaryVertexFlag(Int_t flag);
34 void SetPrimaryVertexZErrorRange(Float_t low, Float_t high);
7e73fbbd 35
915d9c13 36 void SetTriggerMask(ULong64_t trmask);
37 void SetTriggerCluster(UChar_t trcluster);
38
39 void SetZDCNeutron1Range(Float_t low, Float_t high);
40 void SetZDCProton1Range(Float_t low, Float_t high);
41 void SetZDCEMRange(Float_t low, Float_t high);
42 void SetZDCNeutron2Range(Float_t low, Float_t high);
43 void SetZDCProton2Range(Float_t low, Float_t high);
44 void SetT0VertexZRange(Float_t low, Float_t high);
45
46 void SetMultiplicityRange(Int_t low, Int_t high);
47 void SetPosMultiplicityRange(Int_t low, Int_t high);
48 void SetNegMultiplicityRange(Int_t low, Int_t high);
49 void SetNeutrMultiplicityRange(Int_t low, Int_t high);
50 void SetNV0sRange(Int_t low, Int_t high);
51 void SetNCascadesRange(Int_t low, Int_t high);
52 void SetNKinksRange(Int_t low, Int_t high);
c7e89ea3 53
915d9c13 54 void SetNPMDTracksRange(Int_t low, Int_t high);
55 void SetNFMDTracksRange(Int_t low, Int_t high);
56 void SetNPHOSClustersRange(Int_t low, Int_t high);
57 void SetNEMCALClustersRange(Int_t low, Int_t high);
58 void SetNJetCandidatesRange(Int_t low, Int_t high);
7e73fbbd 59
915d9c13 60 void SetTopJetEnergyMin(Float_t low);
61 void SetTopNeutralEnergyMin(Float_t low);
62 void SetNHardPhotonsRange(Int_t low, Int_t high);
63 void SetNChargedAbove1GeVRange(Int_t low, Int_t high);
64 void SetNChargedAbove3GeVRange(Int_t low, Int_t high);
65 void SetNChargedAbove10GeVRange(Int_t low, Int_t high);
66 void SetNMuonsAbove1GeVRange(Int_t low, Int_t high);
67 void SetNMuonsAbove3GeVRange(Int_t low, Int_t high);
68 void SetNMuonsAbove10GeVRange(Int_t low, Int_t high);
69 void SetNElectronsAbove1GeVRange(Int_t low, Int_t high);
70 void SetNElectronsAbove3GeVRange(Int_t low, Int_t high);
71 void SetNElectronsAbove10GeVRange(Int_t low, Int_t high);
72 void SetNElectronRange(Int_t low, Int_t high);
73 void SetNMuonRange(Int_t low, Int_t high);
74 void SetNPionRange(Int_t low, Int_t high);
75 void SetNKaonRange(Int_t low, Int_t high);
76 void SetNProtonRange(Int_t low, Int_t high);
77 void SetNLambdaRange(Int_t low, Int_t high);
78 void SetNPhotonRange(Int_t low, Int_t high);
79 void SetNPi0Range(Int_t low, Int_t high);
80 void SetNNeutronRange(Int_t low, Int_t high);
81 void SetNKaon0Range(Int_t low, Int_t high);
82 void SetTotalPRange(Float_t low, Float_t high);
83 void SetMeanPtRange(Float_t low, Float_t high);
84 void SetTopPtMin(Float_t low);
85 void SetTotalNeutralPRange(Float_t low, Float_t high);
86 void SetMeanNeutralPtPRange(Float_t low, Float_t high);
87 void SetTopNeutralPtMin(Float_t low);
88 void SetEvPlaneAngleRange(Float_t low, Float_t high);
89 void SetHBTRadiiRange(Float_t low, Float_t high);
c7e89ea3 90
91 Bool_t IsAccepted(AliEventTag *EvTag) const;
92
7e73fbbd 93 //____________________________________________________//
c7e89ea3 94 private:
95 Float_t fVxMin, fVxMax; //Definition of the range of the Vx
96 Bool_t fVxFlag; //Shows whether this cut is used or not
97 Float_t fVyMin, fVyMax; //Definition of the range of the Vy
98 Bool_t fVyFlag; //Shows whether this cut is used or not
99 Float_t fVzMin, fVzMax; //Definition of the range of the Vz
100 Bool_t fVzFlag; //Shows whether this cut is used or not
101 Int_t fParticipantsMin, fParticipantMax; //# participants range
102 Bool_t fParticipantsFlag;//Shows whether this cut is used or not
103 Float_t fImpactParamMin, fImpactParamMax; //Impact parameter range
104 Bool_t fImpactParamFlag; //Shows whether this cut is used or not
105 Int_t fPrimaryVertexFlag; //Primary vertex flag: 0->not found, 1->found
106 Bool_t fPVFlag; //Shows whether this cut is used or not
7e73fbbd 107
108 Float_t fPrimaryVertexZErrorMin, fPrimaryVertexZErrorMax; //Range of the primary vertex z error
109 Bool_t fPVzErrorFlag; //Shows whether this cut is used or not
110 ULong64_t fTriggerMask; //trigger mask definition
111 Bool_t fTriggerMaskFlag; //Shows whether this cut is used or not
112 UChar_t fTriggerCluster; //trigger cluster definition
113 Bool_t fTriggerClusterFlag; //Shows whether this cut is used or not
c7e89ea3 114
32a5cab4 115 Float_t fZDCNeutron1EnergyMin, fZDCNeutron1EnergyMax; //ZDC min,max - neutron
116 Bool_t fZDCNeutron1EnergyFlag;//Shows whether this cut is used or not
117 Float_t fZDCProton1EnergyMin, fZDCProton1EnergyMax; //ZDC min,max - proton
118 Bool_t fZDCProton1EnergyFlag;//Shows whether this cut is used or not
119 Float_t fZDCNeutron2EnergyMin, fZDCNeutron2EnergyMax; //ZDC min,max - neutron
120 Bool_t fZDCNeutron2EnergyFlag;//Shows whether this cut is used or not
121 Float_t fZDCProton2EnergyMin, fZDCProton2EnergyMax; //ZDC min,max - proton
122 Bool_t fZDCProton2EnergyFlag;//Shows whether this cut is used or not
c7e89ea3 123 Float_t fZDCEMEnergyMin, fZDCEMEnergyMax; //ZDC min,max - em
124 Bool_t fZDCEMEnergyFlag;//Shows whether this cut is used or not
125 Float_t fT0VertexZMin, fT0VertexZMax; //T0 min, max
7e73fbbd 126 Bool_t fT0VertexZFlag;//Shows whether this cut is used or not
c7e89ea3 127 Int_t fMultMin, fMultMax; //Definition of the range of the multiplicity
128 Bool_t fMultFlag;//Shows whether this cut is used or not
129 Int_t fMultPosMin, fMultPosMax; //Positive tracks multiplicity range
130 Bool_t fMultPosFlag;//Shows whether this cut is used or not
131 Int_t fMultNegMin, fMultNegMax; //Negative tracks multiplicity range
132 Bool_t fMultNegFlag;//Shows whether this cut is used or not
133 Int_t fMultNeutrMin, fMultNeutrMax; //Neutral tracks multiplicity range
134 Bool_t fMultNeutrFlag;//Shows whether this cut is used or not
135 Int_t fV0sMin, fV0sMax; //Range of V0s
136 Bool_t fV0sFlag;//Shows whether this cut is used or not
137 Int_t fCascadesMin, fCascadesMax; //Range of cascades
138 Bool_t fCascadesFlag;//Shows whether this cut is used or not
139 Int_t fkinksMin, fkinksMax; //Range of kinks
140 Bool_t fkinksFlag;//Shows whether this cut is used or not
141
7e73fbbd 142 Int_t fPMDTracksMin, fPMDTracksMax; //Range of PMD tracks
143 Bool_t fPMDTracksFlag;//Shows whether this cut is used or not
144 Int_t fFMDTracksMin, fFMDTracksMax; //Range of FMD tracks
145 Bool_t fFMDTracksFlag;//Shows whether this cut is used or not
146 Int_t fPHOSClustersMin, fPHOSClustersMax; //Range of PHOS clusters
147 Bool_t fPHOSClustersFlag;//Shows whether this cut is used or not
148 Int_t fEMCALClustersMin, fEMCALClustersMax; //Range of EMCAL clusters
149 Bool_t fEMCALClustersFlag;//Shows whether this cut is used or not
150 Int_t fJetCandidatesMin, fJetCandidatesMax; //Range of jet candidates
151 Bool_t fJetCandidatesFlag;//Shows whether this cut is used or not
152
c7e89ea3 153 Float_t fMaxJetEnergy; //max jet energy info
154 Bool_t fMaxJetEnergyFlag;//Shows whether this cut is used or not
155
156 Int_t fNHardPhotonsCandidatesMin, fNHardPhotonsCandidatesMax; //Hard photons candidates
157 Bool_t fNHardPhotonsCandidatesFlag;//Shows whether this cut is used or not
158 Float_t fMaxNeutralEnergy; //max neutral energy info
7e73fbbd 159 Bool_t fMaxNeutralFlag;//Shows whether this cut is used or not
c7e89ea3 160 Int_t fChargedAbove1GeVMin, fChargedAbove1GeVMax;//Definition of the range of the number of charged above 1GeV
161 Bool_t fChargedAbove1GeVFlag;//Shows whether this cut is used or not
162 Int_t fChargedAbove3GeVMin, fChargedAbove3GeVMax;//Definition of the range of the number of charged above 3GeV
163 Bool_t fChargedAbove3GeVFlag;//Shows whether this cut is used or not
164 Int_t fChargedAbove10GeVMin, fChargedAbove10GeVMax;//Definition of the range of the number of charged above 10GeV
165 Bool_t fChargedAbove10GeVFlag;//Shows whether this cut is used or not
166 Int_t fMuonsAbove1GeVMin, fMuonsAbove1GeVMax;//Definition of the range of the number of muons above 1GeV
167 Bool_t fMuonsAbove1GeVFlag;//Shows whether this cut is used or not
168 Int_t fMuonsAbove3GeVMin, fMuonsAbove3GeVMax;//Definition of the range of the number of muons above 3GeV
169 Bool_t fMuonsAbove3GeVFlag;//Shows whether this cut is used or not
170 Int_t fMuonsAbove10GeVMin, fMuonsAbove10GeVMax; //Definition of the range of the number of muons above 10GeV
171 Bool_t fMuonsAbove10GeVFlag;//Shows whether this cut is used or not
172 Int_t fElectronsAbove1GeVMin, fElectronsAbove1GeVMax;//Definition of the range of the number of electorns above 1GeV
173 Bool_t fElectronsAbove1GeVFlag;//Shows whether this cut is used or not
174 Int_t fElectronsAbove3GeVMin, fElectronsAbove3GeVMax;//Definition of the range of the number of electorns above 3GeV
175 Bool_t fElectronsAbove3GeVFlag;//Shows whether this cut is used or not
176 Int_t fElectronsAbove10GeVMin,fElectronsAbove10GeVMax;//Definition of the range of the number of electorns above 10GeV
7e73fbbd 177 Bool_t fElectronsAbove10GeVFlag;//Shows whether this cut is used or not
c7e89ea3 178 Int_t fElectronsMin, fElectronsMax; //Number of electrons range
179 Bool_t fElectronsFlag;//Shows whether this cut is used or not
180 Int_t fMuonsMin, fMuonsMax; //Number of muons range
181 Bool_t fMuonsFlag;//Shows whether this cut is used or not
182 Int_t fPionsMin, fPionsMax; //Number of pions range
183 Bool_t fPionsFlag;//Shows whether this cut is used or not
184 Int_t fKaonsMin, fKaonsMax; //Number of kaons range
185 Bool_t fKaonsFlag;//Shows whether this cut is used or not
186 Int_t fProtonsMin, fProtonsMax; //Number of protons range
187 Bool_t fProtonsFlag;//Shows whether this cut is used or not
188 Int_t fLambdasMin, fLambdasMax; //Number of lambdas range
189 Bool_t fLambdasFlag;//Shows whether this cut is used or not
190 Int_t fPhotonsMin, fPhotonsMax; //Number of photons range
191 Bool_t fPhotonFlag;//Shows whether this cut is used or not
192 Int_t fPi0sMin, fPi0sMax; //Number of Pi0s range
193 Bool_t fPi0sFlag;//Shows whether this cut is used or not
194 Int_t fNeutronsMin, fNeutronsMax; //Number of neutrons range
195 Bool_t fNeutronsFlag;//Shows whether this cut is used or not
196 Int_t fKaon0sMin, fKaon0sMax; //Number of K0s range
7e73fbbd 197 Bool_t fKaon0sFlag;//Shows whether this cut is used or not
c7e89ea3 198 Float_t fTotalPMin, fTotalPMax; //Range of the sum of the momentum per event
199 Bool_t fTotalPFlag;//Shows whether this cut is used or not
200 Float_t fMeanPtMin, fMeanPtMax; //Range of mean Pt per event
201 Bool_t fMeanPtFlag;//Shows whether this cut is used or not
202 Float_t fMaxPt; //Max Pt for each event
203 Bool_t fMaxPtFlag;//Shows whether this cut is used or not
204 Float_t fTotalNeutralPMin, fTotalNeutralPMax; //Sum of the momentum per event for neutral
205 Bool_t fTotalNeutralPFlag;//Shows whether this cut is used or not
206 Float_t fMeanNeutralPtMin, fMeanNeutralPtMax; //Mean Pt per event for neutral
207 Bool_t fMeanNeutralPtFlag;//Shows whether this cut is used or not
208 Float_t fMaxNeutralPt; //Max Pt for each event for neutral
209 Bool_t fMaxNeutralPtFlag;//Shows whether this cut is used or not
210 Float_t fEventPlaneAngleMin, fEventPlaneAngleMax; //event plane info
211 Bool_t fEventPlaneAngleFlag;//Shows whether this cut is used or not
212 Float_t fHBTRadiiMin, fHBTRadiiMax; //HBT info
213 Bool_t fHBTRadiiFlag;//Shows whether this cut is used or not
214
7e73fbbd 215 ClassDef(AliEventTagCuts, 2)
216};
c7e89ea3 217
218#endif