]> git.uio.no Git - u/mrichter/AliRoot.git/blame - STEER/STEERBase/AliEventTag.cxx
Update timestamp for new data points simulation
[u/mrichter/AliRoot.git] / STEER / STEERBase / AliEventTag.cxx
CommitLineData
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
28ClassImp(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 122AliEventTag::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 212AliEventTag & 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//___________________________________________________________________________
302AliEventTag::~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
312TString 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}