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&, AliFemtoTrackCut* =0, AliFemtoV0Cut* =0, AliFemtoXiCut* =0, AliFemtoKinkCut* =0); // copy constructor with track and v0 cuts
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 AliFemtoV0Collection* V0Collection() const;
52 AliFemtoXiCollection* XiCollection() const;
53 AliFemtoKinkCollection* KinkCollection() const;
54 AliFemtoTrackCollection* TrackCollection() const;
55 double MagneticField() const;
57 //functions for alice variables
58 float ZDCN1Energy() const;
59 float ZDCP1Energy() const;
60 float ZDCN2Energy() const;
61 float ZDCP2Energy() const;
62 float ZDCEMEnergy() const;
63 unsigned int ZDCParticipants() const;
65 unsigned long int TriggerMask() const;
66 unsigned char TriggerCluster() const;
68 void SetEventNumber(const unsigned short& s);
69 void SetRunNumber(const int& i);
70 void SetNumberOfTracks(const unsigned short& s);
71 void SetPrimVertPos(const AliFemtoThreeVector& v);
72 void SetMagneticField(const double& x);
74 //functions for alice variables
75 void SetZDCN1Energy(const float& x);
76 void SetZDCP1Energy(const float& x);
77 void SetZDCN2Energy(const float& x);
78 void SetZDCP2Energy(const float& x);
79 void SetZDCEMEnergy(const float& x);
80 void SetZDCParticipants(const unsigned int& i);
82 void SetTriggerMask(const unsigned long int& i);
83 void SetTriggerCluster(const unsigned char& c);
85 double UncorrectedNumberOfNegativePrimaries() const;
86 double UncorrectedNumberOfPrimaries() const;
89 unsigned short fEventNumber; // Event number in file
90 unsigned short fRunNumber; // run number the event belong to
91 unsigned short fNumberOfTracks; // total number of TPC tracks
92 double fMagneticField; // magnetic field in Z direction
94 AliFemtoThreeVector fPrimVertPos; // primary vertex position
95 AliFemtoTrackCollection* fTrackCollection; // collection of tracks
96 AliFemtoV0Collection* fV0Collection; // collection of V0s
97 AliFemtoXiCollection* fXiCollection; // collection of Xis
98 AliFemtoKinkCollection* fKinkCollection; // collection of kinks
100 //for alice changed by Marek Chojnacki
101 float fZDCN1Energy; // reconstructed energy in the neutron ZDC
102 float fZDCP1Energy; // reconstructed energy in the proton ZDC
103 float fZDCN2Energy; // reconstructed energy in the neutron ZDC
104 float fZDCP2Energy; // reconstructed energy in the proton ZDC
105 float fZDCEMEnergy; // reconstructed energy in the electromagnetic ZDC
106 unsigned int fZDCParticipants; // number of participants estimated by the ZDC
108 unsigned long int fTriggerMask; // Trigger Type (mask)
109 unsigned char fTriggerCluster; // Trigger cluster (mask)