]>
Commit | Line | Data |
---|---|---|
f3a97c86 | 1 | /************************************************************************** |
2 | * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
3 | * * | |
4 | * Author: The ALICE Off-line Project. * | |
5 | * Contributors are mentioned in the code where appropriate. * | |
6 | * * | |
7 | * Permission to use, copy, modify and distribute this software and its * | |
8 | * documentation strictly for non-commercial purposes is hereby granted * | |
9 | * without fee, provided that the above copyright notice appears in all * | |
10 | * copies and that both the copyright notice and this permission notice * | |
11 | * appear in the supporting documentation. The authors make no claims * | |
12 | * about the suitability of this software for any purpose. It is * | |
13 | * provided "as is" without express or implied warranty. * | |
14 | **************************************************************************/ | |
15 | ||
16 | /* $Id$ */ | |
17 | ||
18 | //----------------------------------------------------------------- | |
19 | // Implementation of the EventTag class | |
20 | // This is the class to deal with the tags in the event level | |
21 | // Origin: Panos Christakoglou, UOA-CERN, Panos.Christakoglou@cern.ch | |
22 | //----------------------------------------------------------------- | |
23 | ||
24 | #include "AliEventTag.h" | |
04cb11d4 | 25 | #include <TObjArray.h> |
26 | #include <TObjString.h> | |
f3a97c86 | 27 | |
28 | ClassImp(AliEventTag) | |
29 | ||
30 | //______________________________________________________________________________ | |
cb1645b7 | 31 | AliEventTag::AliEventTag() : |
32 | TObject(), | |
7e3c2e04 | 33 | fPeriodNumber(0), |
34 | fOrbitNumber(0), | |
35 | fBunchCrossNumber(0), | |
04cb11d4 | 36 | //*T* fFiredTriggerClasses(), |
7e3c2e04 | 37 | fEventType(0), |
850d5792 | 38 | fPhysicsFlag(0), |
39 | fBackgroundFlag(0), | |
04cb11d4 | 40 | // fGUID(0), |
41 | // fPath(0), | |
42 | // fsize(0), | |
43 | // fmd5(0), | |
44 | // fturl(0), | |
45 | // fFileRef(0), | |
cb1645b7 | 46 | fNumberOfParticipants(-10), |
491f873f | 47 | fNumberOfParticipants2(-10), |
cb1645b7 | 48 | fImpactParameter(-10.0), |
49 | fPrimaryVertexFlag(-1), | |
50 | fPrimaryVertexX(-100.0), | |
51 | fPrimaryVertexY(-100.0), | |
52 | fPrimaryVertexZ(-100.0), | |
53 | fPrimaryVertexZError(-100.0), | |
8bd8ac26 | 54 | fTriggerMask(0), |
35a702f0 | 55 | fTriggerMaskNext50(0), |
8bd8ac26 | 56 | fTriggerCluster(0), |
32a5cab4 | 57 | fZDCNeutron1Energy(-10.0), |
58 | fZDCProton1Energy(-10.0), | |
32a5cab4 | 59 | fZDCNeutron2Energy(-10.0), |
60 | fZDCProton2Energy(-10.0), | |
cb1645b7 | 61 | fT0VertexZ(-10.0), |
62 | fNumberOfTracks(-10), | |
63 | fNumberOfPositiveTracks(-10), | |
64 | fNumberOfNegativeTracks(-10), | |
65 | fNumberOfNeutralTracks(-10), | |
66 | fNumberOfV0s(-10), | |
67 | fNumberOfCascades(-10), | |
68 | fNumberOfKinks(-10), | |
69 | fNumberOfPMDTracks(-10), | |
cb1645b7 | 70 | fNumberOfFMDTracks(-10), |
85c60a8e | 71 | fNumberOfPHOSClusters(-10), |
72 | fNumberOfEMCALClusters(-10), | |
cb1645b7 | 73 | fNumberOfJetCandidates(-10), |
74 | fMaxJetEnergy(-100.0), | |
75 | fNumberOfHardPhotonsCandidates(-10), | |
76 | fMaxNeutralEnergy(-100.0), | |
77 | fNumberOfChargedAbove1GeV(-10), | |
78 | fNumberOfChargedAbove3GeV(-10), | |
79 | fNumberOfChargedAbove10GeV(-10), | |
80 | fNumberOfMuonsAbove1GeV(-10), | |
81 | fNumberOfMuonsAbove3GeV(-10), | |
82 | fNumberOfMuonsAbove10GeV(-10), | |
83 | fNumberOfElectronsAbove1GeV(-10), | |
84 | fNumberOfElectronsAbove3GeV(-10), | |
85 | fNumberOfElectronsAbove10GeV(-10), | |
86 | fNumberOfElectrons(-10), | |
d3893274 | 87 | fNumberOfFWMuons(-10), |
e21df713 | 88 | fNumberOfFWMatchedMuons(-10), |
cb1645b7 | 89 | fNumberOfMuons(-10), |
90 | fNumberOfPions(-10), | |
91 | fNumberOfKaons(-10), | |
92 | fNumberOfProtons(-10), | |
93 | fNumberOfLambdas(-10), | |
94 | fNumberOfPhotons(-10), | |
95 | fNumberOfPi0s(-10), | |
96 | fNumberOfNeutrons(-10), | |
97 | fNumberOfKaon0s(-10), | |
98 | fTotalP(-10.0), | |
99 | fMeanPt(-10.0), | |
100 | fMaxPt(-10.0), | |
73e1181d | 101 | fEtaMaxPt(-13.0), |
102 | fPhiMaxPt(+13.0), | |
cb1645b7 | 103 | fTotalNeutralP(-10.0), |
104 | fMeanNeutralPt(-10.0), | |
105 | fMaxNeutralPt(-10.0), | |
106 | fEventPlaneAngle(-10.0), | |
7e3c2e04 | 107 | fHBTRadii(-10.0), |
108 | fNumberOfFiredChipsLayer1(0), | |
109 | fNumberOfFiredChipsLayer2(0), | |
4c454ade | 110 | fNumberOfSPDTracklets(0), |
111 | fMTotV0A(0), | |
112 | fMTotV0C(0), | |
113 | fNbPMV0A(0), | |
114 | fNbPMV0C(0) | |
f3a97c86 | 115 | { |
cb1645b7 | 116 | // AliEventTag default constructor |
a85132e7 | 117 | for(Int_t i=0; i<2; i++) fZDCEMEnergy[i] = -10.0; |
f3a97c86 | 118 | } |
119 | ||
120 | ||
bec9a2e7 | 121 | //___________________________________________________________________________ |
fe12e09c | 122 | AliEventTag::AliEventTag(const AliEventTag & evTag) : |
123 | TObject(evTag), | |
7e3c2e04 | 124 | fPeriodNumber(evTag.fPeriodNumber), |
125 | fOrbitNumber(evTag.fOrbitNumber), | |
126 | fBunchCrossNumber(evTag.fBunchCrossNumber), | |
04cb11d4 | 127 | //*T* fFiredTriggerClasses(evTag.fFiredTriggerClasses), |
7e3c2e04 | 128 | fEventType(evTag.fEventType), |
850d5792 | 129 | fPhysicsFlag(evTag.fPhysicsFlag), |
130 | fBackgroundFlag(evTag.fBackgroundFlag), | |
04cb11d4 | 131 | // fGUID(evTag.fGUID), |
132 | // fPath(evTag.fPath), | |
133 | // fsize(evTag.fsize), | |
134 | // fmd5(evTag.fmd5), | |
135 | // fturl(evTag.fturl), | |
136 | // fFileRef(0), | |
fe12e09c | 137 | fNumberOfParticipants(evTag.fNumberOfParticipants), |
491f873f | 138 | fNumberOfParticipants2(evTag.fNumberOfParticipants2), |
fe12e09c | 139 | fImpactParameter(evTag.fImpactParameter), |
140 | fPrimaryVertexFlag(evTag.fPrimaryVertexFlag), | |
141 | fPrimaryVertexX(evTag.fPrimaryVertexX), | |
142 | fPrimaryVertexY(evTag.fPrimaryVertexY), | |
143 | fPrimaryVertexZ(evTag.fPrimaryVertexZ), | |
144 | fPrimaryVertexZError(evTag.fPrimaryVertexZError), | |
145 | fTriggerMask(evTag.fTriggerMask), | |
35a702f0 | 146 | fTriggerMaskNext50(evTag.fTriggerMaskNext50), |
fe12e09c | 147 | fTriggerCluster(evTag.fTriggerCluster), |
148 | fZDCNeutron1Energy(evTag.fZDCNeutron1Energy), | |
149 | fZDCProton1Energy(evTag.fZDCProton1Energy), | |
150 | fZDCNeutron2Energy(evTag.fZDCNeutron2Energy), | |
151 | fZDCProton2Energy(evTag.fZDCProton2Energy), | |
fe12e09c | 152 | fT0VertexZ(evTag.fT0VertexZ), |
153 | fNumberOfTracks(evTag.fNumberOfTracks), | |
154 | fNumberOfPositiveTracks(evTag.fNumberOfPositiveTracks), | |
155 | fNumberOfNegativeTracks(evTag.fNumberOfNegativeTracks), | |
156 | fNumberOfNeutralTracks(evTag.fNumberOfNeutralTracks), | |
157 | fNumberOfV0s(evTag.fNumberOfV0s), | |
158 | fNumberOfCascades(evTag.fNumberOfCascades), | |
159 | fNumberOfKinks(evTag.fNumberOfKinks), | |
160 | fNumberOfPMDTracks(evTag.fNumberOfPMDTracks), | |
161 | fNumberOfFMDTracks(evTag.fNumberOfFMDTracks), | |
162 | fNumberOfPHOSClusters(evTag.fNumberOfPHOSClusters), | |
163 | fNumberOfEMCALClusters(evTag.fNumberOfEMCALClusters), | |
164 | fNumberOfJetCandidates(evTag.fNumberOfJetCandidates), | |
165 | fMaxJetEnergy(evTag.fMaxJetEnergy), | |
166 | fNumberOfHardPhotonsCandidates(evTag.fNumberOfHardPhotonsCandidates), | |
167 | fMaxNeutralEnergy(evTag.fMaxNeutralEnergy), | |
168 | fNumberOfChargedAbove1GeV(evTag.fNumberOfChargedAbove1GeV), | |
169 | fNumberOfChargedAbove3GeV(evTag.fNumberOfChargedAbove3GeV), | |
170 | fNumberOfChargedAbove10GeV(evTag.fNumberOfChargedAbove10GeV), | |
171 | fNumberOfMuonsAbove1GeV(evTag.fNumberOfMuonsAbove1GeV), | |
172 | fNumberOfMuonsAbove3GeV(evTag.fNumberOfMuonsAbove3GeV), | |
173 | fNumberOfMuonsAbove10GeV(evTag.fNumberOfMuonsAbove10GeV), | |
174 | fNumberOfElectronsAbove1GeV(evTag.fNumberOfElectronsAbove1GeV), | |
175 | fNumberOfElectronsAbove3GeV(evTag.fNumberOfElectronsAbove3GeV), | |
176 | fNumberOfElectronsAbove10GeV(evTag.fNumberOfElectronsAbove10GeV), | |
177 | fNumberOfElectrons(evTag.fNumberOfElectrons), | |
d3893274 | 178 | fNumberOfFWMuons(evTag.fNumberOfFWMuons), |
e21df713 | 179 | fNumberOfFWMatchedMuons(evTag.fNumberOfFWMatchedMuons), |
fe12e09c | 180 | fNumberOfMuons(evTag.fNumberOfMuons), |
181 | fNumberOfPions(evTag.fNumberOfPions), | |
182 | fNumberOfKaons(evTag.fNumberOfKaons), | |
183 | fNumberOfProtons(evTag.fNumberOfProtons), | |
184 | fNumberOfLambdas(evTag.fNumberOfLambdas), | |
185 | fNumberOfPhotons(evTag.fNumberOfPhotons), | |
186 | fNumberOfPi0s(evTag.fNumberOfPi0s), | |
187 | fNumberOfNeutrons(evTag.fNumberOfNeutrons), | |
188 | fNumberOfKaon0s(evTag.fNumberOfKaon0s), | |
189 | fTotalP(evTag.fTotalP), | |
190 | fMeanPt(evTag.fMeanPt), | |
191 | fMaxPt(evTag.fMaxPt), | |
73e1181d | 192 | fEtaMaxPt(evTag.fEtaMaxPt), |
193 | fPhiMaxPt(evTag.fPhiMaxPt), | |
fe12e09c | 194 | fTotalNeutralP(evTag.fTotalNeutralP), |
195 | fMeanNeutralPt(evTag.fMeanNeutralPt), | |
196 | fMaxNeutralPt(evTag.fMaxNeutralPt), | |
197 | fEventPlaneAngle(evTag.fEventPlaneAngle), | |
7e3c2e04 | 198 | fHBTRadii(evTag.fHBTRadii), |
199 | fNumberOfFiredChipsLayer1(evTag.fNumberOfFiredChipsLayer1), | |
200 | fNumberOfFiredChipsLayer2(evTag.fNumberOfFiredChipsLayer2), | |
4c454ade | 201 | fNumberOfSPDTracklets(evTag.fNumberOfSPDTracklets), |
202 | fMTotV0A(evTag.fMTotV0A), | |
203 | fMTotV0C(evTag.fMTotV0C), | |
204 | fNbPMV0A(evTag.fNbPMV0A), | |
205 | fNbPMV0C(evTag.fNbPMV0C) | |
fe12e09c | 206 | { |
f3a97c86 | 207 | // EventTag copy constructor |
a85132e7 | 208 | for(Int_t i=0; i<2; i++) fZDCEMEnergy[i] = evTag.fZDCEMEnergy[i]; |
cb1645b7 | 209 | } |
210 | ||
bec9a2e7 | 211 | //___________________________________________________________________________ |
fe12e09c | 212 | AliEventTag & AliEventTag::operator=(const AliEventTag &evTag) { |
cb1645b7 | 213 | // EventTag assignment operator |
fe12e09c | 214 | if (this != &evTag) { |
215 | TObject::operator=(evTag); | |
bec9a2e7 | 216 | |
7e3c2e04 | 217 | SetPeriodNumber(evTag.GetPeriodNumber()); |
218 | SetOrbitNumber(evTag.GetOrbitNumber()); | |
219 | SetBunchCrossNumber(evTag.GetBunchCrossNumber()); | |
04cb11d4 | 220 | //*T* SetFiredTriggerClasses(evTag.GetFiredTriggerClasses()); |
7e3c2e04 | 221 | SetEventType(evTag.GetEventType()); |
850d5792 | 222 | SetPhysicsFlag(evTag.GetPhysicsFlag()); |
223 | SetBackgroungFlag(evTag.GetBackgroundFlag()); | |
04cb11d4 | 224 | // SetGUID(evTag.GetGUID()); |
225 | // SetPath(evTag.GetPath()); | |
226 | // SetMD5(evTag.GetMD5()); | |
227 | // SetTURL(evTag.GetTURL()); | |
228 | // SetSize(evTag.GetSize()); | |
fe12e09c | 229 | SetNumOfParticipants(evTag.GetNumOfParticipants()); |
230 | SetImpactParameter(evTag.GetImpactParameter()); | |
231 | SetVertexX(evTag.GetVertexX()); | |
232 | SetVertexY(evTag.GetVertexY()); | |
233 | SetVertexZ(evTag.GetVertexZ()); | |
234 | SetVertexFlag(evTag.GetVertexFlag()); | |
235 | SetVertexZError(evTag.GetVertexZError()); | |
236 | SetTriggerMask(evTag.GetTriggerMask()); | |
237 | SetTriggerCluster(evTag.GetTriggerCluster()); | |
238 | SetZDCNeutron1Energy(evTag.GetZDCNeutron1Energy()); | |
239 | SetZDCProton1Energy(evTag.GetZDCProton1Energy()); | |
240 | SetZDCNeutron2Energy(evTag.GetZDCNeutron2Energy()); | |
241 | SetZDCProton2Energy(evTag.GetZDCProton2Energy()); | |
a85132e7 | 242 | SetZDCEMEnergy(evTag.GetZDCEMEnergy(0),evTag.GetZDCEMEnergy(1)); |
fe12e09c | 243 | SetT0VertexZ(evTag.GetT0VertexZ()); |
244 | SetNumOfTracks(evTag.GetNumOfTracks()); | |
245 | SetNumOfPosTracks(evTag.GetNumOfPosTracks()); | |
246 | SetNumOfNegTracks(evTag.GetNumOfNegTracks()); | |
247 | SetNumOfNeutrTracks(evTag.GetNumOfNeutrTracks()); | |
248 | SetNumOfV0s(evTag.GetNumOfV0s()); | |
249 | SetNumOfCascades(evTag.GetNumOfCascades()); | |
250 | SetNumOfKinks(evTag.GetNumOfKinks()); | |
251 | SetNumOfPMDTracks(evTag.GetNumOfPMDTracks()); | |
252 | SetNumOfFMDTracks(evTag.GetNumOfFMDTracks()); | |
253 | SetNumOfPHOSClusters(evTag.GetNumOfPHOSClusters()); | |
254 | SetNumOfEMCALClusters(evTag.GetNumOfEMCALClusters()); | |
255 | SetNumOfJetCandidates(evTag.GetNumOfJetCandidates()); | |
256 | SetNumOfHardPhotonsCandidates(evTag.GetNumOfHardPhotonsCandidates()); | |
257 | SetMaxJetEnergy(evTag.GetMaxJetEnergy()); | |
258 | SetMaxNeutralEnergy(evTag.GetMaxNeutralEnergy()); | |
259 | SetNumOfChargedAbove1GeV(evTag.GetNumOfChargedAbove1GeV()); | |
260 | SetNumOfChargedAbove3GeV(evTag.GetNumOfChargedAbove3GeV()); | |
261 | SetNumOfChargedAbove10GeV(evTag.GetNumOfChargedAbove10GeV()); | |
262 | SetNumOfMuonsAbove1GeV(evTag.GetNumOfMuonsAbove1GeV()); | |
263 | SetNumOfMuonsAbove3GeV(evTag.GetNumOfMuonsAbove3GeV()); | |
264 | SetNumOfMuonsAbove10GeV(evTag.GetNumOfMuonsAbove10GeV()); | |
265 | SetNumOfElectronsAbove1GeV(evTag.GetNumOfElectronsAbove1GeV()); | |
266 | SetNumOfElectronsAbove3GeV(evTag.GetNumOfElectronsAbove3GeV()); | |
267 | SetNumOfElectronsAbove10GeV(evTag.GetNumOfElectronsAbove10GeV()); | |
268 | SetNumOfElectrons(evTag.GetNumOfElectrons()); | |
d3893274 | 269 | SetNumOfFWMuons(evTag.GetNumOfFWMuons()); |
e21df713 | 270 | SetNumOfFWMatchedMuons(evTag.GetNumOfFWMatchedMuons()); |
fe12e09c | 271 | SetNumOfMuons(evTag.GetNumOfMuons()); |
272 | SetNumOfPions(evTag.GetNumOfPions()); | |
273 | SetNumOfKaons(evTag.GetNumOfKaons()); | |
274 | SetNumOfProtons(evTag.GetNumOfProtons()); | |
275 | SetNumOfLambdas(evTag.GetNumOfLambdas()); | |
276 | SetNumOfPhotons(evTag.GetNumOfPhotons()); | |
277 | SetNumOfPi0s(evTag.GetNumOfPi0s()); | |
278 | SetNumOfNeutrons(evTag.GetNumOfNeutrons()); | |
279 | SetNumOfKaon0s(evTag.GetNumOfKaon0s()); | |
280 | SetTotalMomentum(evTag.GetTotalMomentum()); | |
281 | SetMeanPt(evTag.GetMeanPt()); | |
282 | SetMaxPt(evTag.GetMaxPt()); | |
73e1181d | 283 | SetEtaMaxPt(evTag.GetEtaMaxPt()); |
284 | SetPhiMaxPt(evTag.GetPhiMaxPt()); | |
fe12e09c | 285 | SetNeutralTotalMomentum(evTag.GetNeutralTotalMomentum()); |
286 | SetNeutralMeanPt(evTag.GetNeutralMeanPt()); | |
287 | SetNeutralMaxPt(evTag.GetNeutralMaxPt()); | |
288 | SetEventPlaneAngle(evTag.GetEventPlaneAngle()); | |
289 | SetHBTRadii(evTag.GetHBTRadii()); | |
7e3c2e04 | 290 | SetNumberOfFiredChipsLayer1(evTag.GetNumberOfFiredChipsLayer1()); |
291 | SetNumberOfFiredChipsLayer2(evTag.GetNumberOfFiredChipsLayer2()); | |
292 | SetNumberOfSPDTracklets(evTag.GetNumberOfSPDTracklets()); | |
4c454ade | 293 | SetMTotV0A(evTag.GetMTotV0A()); |
294 | SetMTotV0C(evTag.GetMTotV0C()); | |
295 | SetNbPMV0A(evTag.GetNbPMV0A()); | |
296 | SetNbPMV0C(evTag.GetNbPMV0C()); | |
cb1645b7 | 297 | } |
298 | return *this; | |
f3a97c86 | 299 | } |
cb1645b7 | 300 | |
bec9a2e7 | 301 | //___________________________________________________________________________ |
302 | AliEventTag::~AliEventTag() { | |
cb1645b7 | 303 | // AliEventTag destructor |
f3a97c86 | 304 | } |
04cb11d4 | 305 | |
306 | // void AliEventTag::SetGUID(TString Pid) { ((AliFileTag * ) fFileRef.GetObject())->SetGUID(Pid);} | |
307 | // void AliEventTag::SetPath(TString Pid) {((AliFileTag * ) fFileRef.GetObject())->SetPath(Pid);} | |
308 | // void AliEventTag::SetMD5(TString Pid) {((AliFileTag * ) fFileRef.GetObject())->SetMD5(Pid);} | |
309 | // void AliEventTag::SetTURL(TString Pid) {((AliFileTag * ) fFileRef.GetObject())->SetTURL(Pid);} | |
310 | // void AliEventTag::SetSize(Long64_t i) {((AliFileTag * ) fFileRef.GetObject())->SetSize(i);} | |
311 | ||
312 | TString AliEventTag::GetFiredTriggerClasses(TString actclass) const | |
313 | { | |
314 | // Uses the actclass string to decode the trigger mask | |
315 | // into the fired trigger classes | |
35a702f0 | 316 | // Modifed by rl for 100 classes - to be checked. |
04cb11d4 | 317 | TObjArray *actrig = actclass.Tokenize(" "); |
318 | TString tFired(""); | |
319 | ||
320 | for(Int_t i = 0; i < actrig->GetEntries(); i++) { | |
35a702f0 | 321 | Bool_t fired=(fTriggerMask & (1ull << i)); |
322 | if(i>=50)fired=(fTriggerMaskNext50 & (1ull << (i-50))); | |
323 | if (fired) { | |
04cb11d4 | 324 | TString str = ((TObjString *) actrig->At(i))->GetString(); |
325 | if (tFired.Length() > 0) | |
326 | tFired += " "; | |
327 | tFired += str; | |
328 | } | |
329 | } | |
330 | ||
62e57953 | 331 | delete actrig; |
332 | ||
04cb11d4 | 333 | return tFired; |
334 | } |