1 ///////////////////////////////////////////////////////////////////////////
3 // AliFemtoEvent: hold the information specific to the event and a //
5 // AliFemtoEvent is the "transient microDST" Objects of this class are //
6 // generated from the input data by a Reader, and then presented to //
7 // the Cuts of the various active Analyses. //
9 ///////////////////////////////////////////////////////////////////////////
11 #ifndef ALIFEMTOEVENT_H
12 #define ALIFEMTOEVENT_H
14 #include "AliFemtoTypes.h"
15 #include "AliFemtoTrackCollection.h"
16 #include "AliFemtoV0Collection.h"
17 #include "AliFemtoXiCollection.h"
18 #include "AliFemtoKinkCollection.h"
20 class AliFemtoTrackCut;
23 class AliFemtoKinkCut;
27 // the following encapsulation by malisa 21apr2006
28 #ifndef __NO_STAR_DEPENDENCE_ALLOWED__
37 #ifndef __NO_STAR_DEPENDENCE_ALLOWED__
42 AliFemtoEvent(const AliFemtoEvent& ev, AliFemtoTrackCut* tCut=0, AliFemtoV0Cut* vCut=0, AliFemtoXiCut* xCut=0, AliFemtoKinkCut* kCut=0); // copy constructor with track and v0 cuts
43 AliFemtoEvent(const AliFemtoEvent& ev); // copy constructor
45 AliFemtoEvent& operator=(const AliFemtoEvent& aEvent);
47 unsigned short EventNumber() const;
48 int RunNumber() const;
49 unsigned short NumberOfTracks() const;
50 AliFemtoThreeVector PrimVertPos() const;
51 const double* PrimVertCov() const;
52 AliFemtoV0Collection* V0Collection() const;
53 AliFemtoXiCollection* XiCollection() const;
54 AliFemtoKinkCollection* KinkCollection() const;
55 AliFemtoTrackCollection* TrackCollection() const;
56 double MagneticField() const;
57 bool IsCollisionCandidate() const;
59 //functions for alice variables
60 float ZDCN1Energy() const;
61 float ZDCP1Energy() const;
62 float ZDCN2Energy() const;
63 float ZDCP2Energy() const;
64 float ZDCEMEnergy() const;
65 unsigned int ZDCParticipants() const;
67 unsigned long int TriggerMask() const;
68 unsigned char TriggerCluster() const;
70 float ReactionPlaneAngle() const;
71 AliEventplane* EP() const;
73 void SetEventNumber(const unsigned short& s);
74 void SetRunNumber(const int& i);
75 void SetNumberOfTracks(const unsigned short& s);
76 void SetNormalizedMult(const int& i);
77 void SetMultiplicityEstimateITSTPC(const unsigned short &s);
78 void SetMultiplicityEstimateTracklets(const unsigned short &s);
79 void SetMultiplicityEstimateITSPure(const unsigned short &s);
80 void SetCentralityV0(const float &c);
81 void SetCentralityFMD(const float &c);
82 void SetCentralitySPD1(const float &c);
83 void SetCentralityTrk(const float &c);
84 void SetSPDMult(const int& i);
85 void SetPrimVertPos(const AliFemtoThreeVector& v);
86 void SetPrimVertCov(const double* v);
87 void SetMagneticField(const double& x);
88 void SetIsCollisionCandidate(const bool& is);
90 //functions for alice variables
91 void SetZDCN1Energy(const float& x);
92 void SetZDCP1Energy(const float& x);
93 void SetZDCN2Energy(const float& x);
94 void SetZDCP2Energy(const float& x);
95 void SetZDCEMEnergy(const float& x);
96 void SetZDCParticipants(const unsigned int& i);
98 void SetTriggerMask(const unsigned long int& i);
99 void SetTriggerCluster(const unsigned char& c);
101 void SetReactionPlaneAngle(const float& a);
102 void SetEP(AliEventplane* ep);
104 int UncorrectedNumberOfNegativePrimaries() const;
105 int UncorrectedNumberOfPrimaries() const;
106 int SPDMultiplicity() const;
108 unsigned short MultiplicityEstimateITSTPC() const;
109 unsigned short MultiplicityEstimateTracklets() const;
110 unsigned short MultiplicityEstimateITSPure() const;
112 float CentralityV0() const;
113 float CentralityFMD() const;
114 float CentralitySPD1() const;
115 float CentralityTrk() const;
118 unsigned short fEventNumber; // Event number in file
119 unsigned short fRunNumber; // run number the event belong to
120 unsigned short fNumberOfTracks; // total number of TPC tracks
121 int fNormalizedMult; // normalized multiplicity
122 int fSPDMult; // Multiplicity of SPD tracklets
123 unsigned short fEstimateITSTPC; // Official multiplicity estimate ITS+TPC
124 unsigned short fEstimateTracklets; // Official multiplicity estimate Tracklets
125 unsigned short fEstimateITSPure; // Official multiplicity estimate ITS SA
126 float fCentralityV0; // Official centrality from V0
127 float fCentralityFMD; // Official centrality from FMD
128 float fCentralitySPD1; // Official centrality from SPD layer 1
129 float fCentralityTrk; // Official centrality from tracks
130 double fMagneticField; // magnetic field in Z direction
131 bool fIsCollisionCandidate; // is collision candidate
133 AliFemtoThreeVector fPrimVertPos; // primary vertex position
134 double fPrimVertCov[6]; // primary vertex covariances
135 AliFemtoTrackCollection* fTrackCollection; // collection of tracks
136 AliFemtoV0Collection* fV0Collection; // collection of V0s
137 AliFemtoXiCollection* fXiCollection; // collection of Xis
138 AliFemtoKinkCollection* fKinkCollection; // collection of kinks
140 //for alice changed by Marek Chojnacki
141 float fZDCN1Energy; // reconstructed energy in the neutron ZDC
142 float fZDCP1Energy; // reconstructed energy in the proton ZDC
143 float fZDCN2Energy; // reconstructed energy in the neutron ZDC
144 float fZDCP2Energy; // reconstructed energy in the proton ZDC
145 float fZDCEMEnergy; // reconstructed energy in the electromagnetic ZDC
146 unsigned int fZDCParticipants; // number of participants estimated by the ZDC
148 unsigned long int fTriggerMask; // Trigger Type (mask)
149 unsigned char fTriggerCluster; // Trigger cluster (mask)
151 float fReactionPlaneAngle; // reconstructed reaction plane angle
152 AliEventplane* fEP; // pointer to full event plane information