]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/AliEventTag.cxx
Protection against special particle types.
[u/mrichter/AliRoot.git] / STEER / AliEventTag.cxx
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"
25
26 ClassImp(AliEventTag)
27
28 //______________________________________________________________________________
29   AliEventTag::AliEventTag() : 
30     TObject(),
31     fAliceEventId(0),
32     fGUID(0),
33     fPath(0),
34     fsize(0),
35     fmd5(0),
36     fturl(0),
37     fNumberOfParticipants(-10),
38     fImpactParameter(-10.0),
39     fPrimaryVertexFlag(-1),
40     fPrimaryVertexX(-100.0),
41     fPrimaryVertexY(-100.0),
42     fPrimaryVertexZ(-100.0),
43     fPrimaryVertexZError(-100.0),
44     fTriggerMask(0),
45     fTriggerCluster(0),
46     fZDCNeutron1Energy(-10.0),
47     fZDCProton1Energy(-10.0),
48     fZDCNeutron2Energy(-10.0),
49     fZDCProton2Energy(-10.0),
50     fZDCEMEnergy(-10.0),
51     fT0VertexZ(-10.0),
52     fNumberOfTracks(-10),
53     fNumberOfPositiveTracks(-10),
54     fNumberOfNegativeTracks(-10),
55     fNumberOfNeutralTracks(-10),  
56     fNumberOfV0s(-10),
57     fNumberOfCascades(-10),
58     fNumberOfKinks(-10),
59     fNumberOfPMDTracks(-10),
60     fNumberOfFMDTracks(-10),
61     fNumberOfPHOSClusters(-10),
62     fNumberOfEMCALClusters(-10),
63     fNumberOfJetCandidates(-10),
64     fMaxJetEnergy(-100.0),
65     fNumberOfHardPhotonsCandidates(-10),
66     fMaxNeutralEnergy(-100.0),
67     fNumberOfChargedAbove1GeV(-10),
68     fNumberOfChargedAbove3GeV(-10),
69     fNumberOfChargedAbove10GeV(-10),
70     fNumberOfMuonsAbove1GeV(-10),
71     fNumberOfMuonsAbove3GeV(-10),
72     fNumberOfMuonsAbove10GeV(-10),
73     fNumberOfElectronsAbove1GeV(-10),
74     fNumberOfElectronsAbove3GeV(-10),
75     fNumberOfElectronsAbove10GeV(-10),
76     fNumberOfElectrons(-10),
77     fNumberOfMuons(-10),
78     fNumberOfPions(-10),
79     fNumberOfKaons(-10),
80     fNumberOfProtons(-10),
81     fNumberOfLambdas(-10),
82     fNumberOfPhotons(-10),
83     fNumberOfPi0s(-10),
84     fNumberOfNeutrons(-10),
85     fNumberOfKaon0s(-10),
86     fTotalP(-10.0),
87     fMeanPt(-10.0),
88     fMaxPt(-10.0),
89     fTotalNeutralP(-10.0),
90     fMeanNeutralPt(-10.0),
91     fMaxNeutralPt(-10.0),
92     fEventPlaneAngle(-10.0),
93     fHBTRadii(-10.0)
94 {
95   // AliEventTag default constructor
96 }
97
98
99 //___________________________________________________________________________
100 AliEventTag::AliEventTag(const AliEventTag & evTag) :
101   TObject(evTag),
102   fAliceEventId(evTag.fAliceEventId),
103   fGUID(evTag.fGUID),
104   fPath(evTag.fPath),
105   fsize(evTag.fsize),
106   fmd5(evTag.fmd5),
107   fturl(evTag.fturl),
108   fNumberOfParticipants(evTag.fNumberOfParticipants),
109   fImpactParameter(evTag.fImpactParameter),
110   fPrimaryVertexFlag(evTag.fPrimaryVertexFlag),
111   fPrimaryVertexX(evTag.fPrimaryVertexX),
112   fPrimaryVertexY(evTag.fPrimaryVertexY),
113   fPrimaryVertexZ(evTag.fPrimaryVertexZ),
114   fPrimaryVertexZError(evTag.fPrimaryVertexZError),
115   fTriggerMask(evTag.fTriggerMask),
116   fTriggerCluster(evTag.fTriggerCluster),
117   fZDCNeutron1Energy(evTag.fZDCNeutron1Energy),
118   fZDCProton1Energy(evTag.fZDCProton1Energy),
119   fZDCNeutron2Energy(evTag.fZDCNeutron2Energy),
120   fZDCProton2Energy(evTag.fZDCProton2Energy),
121   fZDCEMEnergy(evTag.fZDCEMEnergy),
122   fT0VertexZ(evTag.fT0VertexZ),
123   fNumberOfTracks(evTag.fNumberOfTracks),
124   fNumberOfPositiveTracks(evTag.fNumberOfPositiveTracks),
125   fNumberOfNegativeTracks(evTag.fNumberOfNegativeTracks),
126   fNumberOfNeutralTracks(evTag.fNumberOfNeutralTracks),  
127   fNumberOfV0s(evTag.fNumberOfV0s),
128   fNumberOfCascades(evTag.fNumberOfCascades),
129   fNumberOfKinks(evTag.fNumberOfKinks),
130   fNumberOfPMDTracks(evTag.fNumberOfPMDTracks),
131   fNumberOfFMDTracks(evTag.fNumberOfFMDTracks),
132   fNumberOfPHOSClusters(evTag.fNumberOfPHOSClusters),
133   fNumberOfEMCALClusters(evTag.fNumberOfEMCALClusters),
134   fNumberOfJetCandidates(evTag.fNumberOfJetCandidates),
135   fMaxJetEnergy(evTag.fMaxJetEnergy),
136   fNumberOfHardPhotonsCandidates(evTag.fNumberOfHardPhotonsCandidates),
137   fMaxNeutralEnergy(evTag.fMaxNeutralEnergy),
138   fNumberOfChargedAbove1GeV(evTag.fNumberOfChargedAbove1GeV),
139   fNumberOfChargedAbove3GeV(evTag.fNumberOfChargedAbove3GeV),
140   fNumberOfChargedAbove10GeV(evTag.fNumberOfChargedAbove10GeV),
141   fNumberOfMuonsAbove1GeV(evTag.fNumberOfMuonsAbove1GeV),
142   fNumberOfMuonsAbove3GeV(evTag.fNumberOfMuonsAbove3GeV),
143   fNumberOfMuonsAbove10GeV(evTag.fNumberOfMuonsAbove10GeV),
144   fNumberOfElectronsAbove1GeV(evTag.fNumberOfElectronsAbove1GeV),
145   fNumberOfElectronsAbove3GeV(evTag.fNumberOfElectronsAbove3GeV),
146   fNumberOfElectronsAbove10GeV(evTag.fNumberOfElectronsAbove10GeV),
147   fNumberOfElectrons(evTag.fNumberOfElectrons),
148   fNumberOfMuons(evTag.fNumberOfMuons),
149   fNumberOfPions(evTag.fNumberOfPions),
150   fNumberOfKaons(evTag.fNumberOfKaons),
151   fNumberOfProtons(evTag.fNumberOfProtons),
152   fNumberOfLambdas(evTag.fNumberOfLambdas),
153   fNumberOfPhotons(evTag.fNumberOfPhotons),
154   fNumberOfPi0s(evTag.fNumberOfPi0s),
155   fNumberOfNeutrons(evTag.fNumberOfNeutrons),
156   fNumberOfKaon0s(evTag.fNumberOfKaon0s),
157   fTotalP(evTag.fTotalP),
158   fMeanPt(evTag.fMeanPt),
159   fMaxPt(evTag.fMaxPt),
160   fTotalNeutralP(evTag.fTotalNeutralP),
161   fMeanNeutralPt(evTag.fMeanNeutralPt),
162   fMaxNeutralPt(evTag.fMaxNeutralPt),
163   fEventPlaneAngle(evTag.fEventPlaneAngle),
164   fHBTRadii(evTag.fHBTRadii)
165  {
166   // EventTag copy constructor
167 }
168
169 //___________________________________________________________________________
170 AliEventTag & AliEventTag::operator=(const AliEventTag &evTag) {
171   // EventTag assignment operator
172   if (this != &evTag) {
173     TObject::operator=(evTag);
174     
175     SetEventId(evTag.GetEventId());
176     SetGUID(evTag.GetGUID());
177     SetPath(evTag.GetPath());
178     SetMD5(evTag.GetMD5());
179     SetTURL(evTag.GetTURL());
180     SetSize(evTag.GetSize());
181     SetNumOfParticipants(evTag.GetNumOfParticipants());
182     SetImpactParameter(evTag.GetImpactParameter());
183     SetVertexX(evTag.GetVertexX());
184     SetVertexY(evTag.GetVertexY());
185     SetVertexZ(evTag.GetVertexZ());
186     SetVertexFlag(evTag.GetVertexFlag());
187     SetVertexZError(evTag.GetVertexZError());
188     SetTriggerMask(evTag.GetTriggerMask());
189     SetTriggerCluster(evTag.GetTriggerCluster());
190     SetZDCNeutron1Energy(evTag.GetZDCNeutron1Energy());
191     SetZDCProton1Energy(evTag.GetZDCProton1Energy());
192     SetZDCNeutron2Energy(evTag.GetZDCNeutron2Energy());
193     SetZDCProton2Energy(evTag.GetZDCProton2Energy());
194     SetZDCEMEnergy(evTag.GetZDCEMEnergy());
195     SetT0VertexZ(evTag.GetT0VertexZ());
196     SetNumOfTracks(evTag.GetNumOfTracks());
197     SetNumOfPosTracks(evTag.GetNumOfPosTracks());
198     SetNumOfNegTracks(evTag.GetNumOfNegTracks());
199     SetNumOfNeutrTracks(evTag.GetNumOfNeutrTracks());
200     SetNumOfV0s(evTag.GetNumOfV0s());
201     SetNumOfCascades(evTag.GetNumOfCascades());
202     SetNumOfKinks(evTag.GetNumOfKinks());
203     SetNumOfPMDTracks(evTag.GetNumOfPMDTracks());
204     SetNumOfFMDTracks(evTag.GetNumOfFMDTracks());
205     SetNumOfPHOSClusters(evTag.GetNumOfPHOSClusters());
206     SetNumOfEMCALClusters(evTag.GetNumOfEMCALClusters());
207     SetNumOfJetCandidates(evTag.GetNumOfJetCandidates());
208     SetNumOfHardPhotonsCandidates(evTag.GetNumOfHardPhotonsCandidates());
209     SetMaxJetEnergy(evTag.GetMaxJetEnergy());
210     SetMaxNeutralEnergy(evTag.GetMaxNeutralEnergy());
211     SetNumOfChargedAbove1GeV(evTag.GetNumOfChargedAbove1GeV());
212     SetNumOfChargedAbove3GeV(evTag.GetNumOfChargedAbove3GeV());
213     SetNumOfChargedAbove10GeV(evTag.GetNumOfChargedAbove10GeV());
214     SetNumOfMuonsAbove1GeV(evTag.GetNumOfMuonsAbove1GeV());
215     SetNumOfMuonsAbove3GeV(evTag.GetNumOfMuonsAbove3GeV());
216     SetNumOfMuonsAbove10GeV(evTag.GetNumOfMuonsAbove10GeV());
217     SetNumOfElectronsAbove1GeV(evTag.GetNumOfElectronsAbove1GeV());
218     SetNumOfElectronsAbove3GeV(evTag.GetNumOfElectronsAbove3GeV());
219     SetNumOfElectronsAbove10GeV(evTag.GetNumOfElectronsAbove10GeV());
220     SetNumOfElectrons(evTag.GetNumOfElectrons());
221     SetNumOfMuons(evTag.GetNumOfMuons());
222     SetNumOfPions(evTag.GetNumOfPions());
223     SetNumOfKaons(evTag.GetNumOfKaons());
224     SetNumOfProtons(evTag.GetNumOfProtons());
225     SetNumOfLambdas(evTag.GetNumOfLambdas());
226     SetNumOfPhotons(evTag.GetNumOfPhotons());
227     SetNumOfPi0s(evTag.GetNumOfPi0s());
228     SetNumOfNeutrons(evTag.GetNumOfNeutrons());
229     SetNumOfKaon0s(evTag.GetNumOfKaon0s());
230     SetTotalMomentum(evTag.GetTotalMomentum());
231     SetMeanPt(evTag.GetMeanPt());
232     SetMaxPt(evTag.GetMaxPt());
233     SetNeutralTotalMomentum(evTag.GetNeutralTotalMomentum());
234     SetNeutralMeanPt(evTag.GetNeutralMeanPt());
235     SetNeutralMaxPt(evTag.GetNeutralMaxPt());
236     SetEventPlaneAngle(evTag.GetEventPlaneAngle());
237     SetHBTRadii(evTag.GetHBTRadii());
238   }
239   return *this;
240 }
241
242 //___________________________________________________________________________
243 AliEventTag::~AliEventTag() {
244   // AliEventTag destructor
245 }