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;
28 // the following encapsulation by malisa 21apr2006
29 #ifndef __NO_STAR_DEPENDENCE_ALLOWED__
39 #ifndef __NO_STAR_DEPENDENCE_ALLOWED__
43 AliFemtoEvent(const AliFemtoEvent& ev, AliFemtoTrackCut* tCut=0, AliFemtoV0Cut* vCut=0, AliFemtoXiCut* xCut=0, AliFemtoKinkCut* kCut=0); // copy constructor with track and v0 cuts
44 AliFemtoEvent(const AliFemtoEvent& ev); // copy constructor
46 AliFemtoEvent& operator=(const AliFemtoEvent& aEvent);
48 unsigned short EventNumber() const;
49 int RunNumber() const;
50 unsigned short NumberOfTracks() const;
51 AliFemtoThreeVector PrimVertPos() const;
52 const double* PrimVertCov() const;
53 AliFemtoV0Collection* V0Collection() const;
54 AliFemtoXiCollection* XiCollection() const;
55 AliFemtoKinkCollection* KinkCollection() const;
56 AliFemtoTrackCollection* TrackCollection() const;
57 double MagneticField() 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 void SetEventNumber(const unsigned short& s);
71 void SetRunNumber(const int& i);
72 void SetNumberOfTracks(const unsigned short& s);
73 void SetPrimVertPos(const AliFemtoThreeVector& v);
74 void SetPrimVertCov(const double* v);
75 void SetMagneticField(const double& x);
77 //functions for alice variables
78 void SetZDCN1Energy(const float& x);
79 void SetZDCP1Energy(const float& x);
80 void SetZDCN2Energy(const float& x);
81 void SetZDCP2Energy(const float& x);
82 void SetZDCEMEnergy(const float& x);
83 void SetZDCParticipants(const unsigned int& i);
85 void SetTriggerMask(const unsigned long int& i);
86 void SetTriggerCluster(const unsigned char& c);
88 double UncorrectedNumberOfNegativePrimaries() const;
89 double UncorrectedNumberOfPrimaries() const;
92 unsigned short fEventNumber; // Event number in file
93 unsigned short fRunNumber; // run number the event belong to
94 unsigned short fNumberOfTracks; // total number of TPC tracks
95 double fMagneticField; // magnetic field in Z direction
97 AliFemtoThreeVector fPrimVertPos; // primary vertex position
98 double fPrimVertCov[6]; // primary vertex covariances
99 AliFemtoTrackCollection* fTrackCollection; // collection of tracks
100 AliFemtoV0Collection* fV0Collection; // collection of V0s
101 AliFemtoXiCollection* fXiCollection; // collection of Xis
102 AliFemtoKinkCollection* fKinkCollection; // collection of kinks
104 //for alice changed by Marek Chojnacki
105 float fZDCN1Energy; // reconstructed energy in the neutron ZDC
106 float fZDCP1Energy; // reconstructed energy in the proton ZDC
107 float fZDCN2Energy; // reconstructed energy in the neutron ZDC
108 float fZDCP2Energy; // reconstructed energy in the proton ZDC
109 float fZDCEMEnergy; // reconstructed energy in the electromagnetic ZDC
110 unsigned int fZDCParticipants; // number of participants estimated by the ZDC
112 unsigned long int fTriggerMask; // Trigger Type (mask)
113 unsigned char fTriggerCluster; // Trigger cluster (mask)