]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG2/FEMTOSCOPY/AliFemto/AliFemtoEvent.h
f4f48792f75358b68f71fb68703f01060c8bb18d
[u/mrichter/AliRoot.git] / PWG2 / FEMTOSCOPY / AliFemto / AliFemtoEvent.h
1 ///////////////////////////////////////////////////////////////////////////
2 //                                                                       //
3 //  AliFemtoEvent: hold the information specific to the event and a      //
4 //  track list                                                           //
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.                            //
8 //                                                                       //
9 ///////////////////////////////////////////////////////////////////////////
10
11 #ifndef ALIFEMTOEVENT_H
12 #define ALIFEMTOEVENT_H
13
14 #include "AliFemtoTypes.h"
15 #include "AliFemtoTrackCollection.h"
16 #include "AliFemtoV0Collection.h"
17 #include "AliFemtoXiCollection.h"
18 #include "AliFemtoKinkCollection.h"
19
20 class AliFemtoTrackCut;
21 class AliFemtoV0Cut;
22 class AliFemtoXiCut;
23 class AliFemtoKinkCut;
24
25
26 #ifdef __ROOT__
27
28 // the following encapsulation by malisa 21apr2006
29 #ifndef __NO_STAR_DEPENDENCE_ALLOWED__
30 class StMuDst;
31 #endif
32
33 #endif
34
35 class AliFemtoEvent{
36 public:
37   AliFemtoEvent();
38 #ifdef __ROOT__
39 #ifndef __NO_STAR_DEPENDENCE_ALLOWED__
40 //
41 #endif
42 #endif
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
45   ~AliFemtoEvent();
46   AliFemtoEvent& operator=(const AliFemtoEvent& aEvent);
47
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;
58
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; 
66   
67   unsigned long int     TriggerMask() const;     
68   unsigned char      TriggerCluster() const;  
69
70   float ReactionPlaneAngle() const;
71   
72   void SetEventNumber(const unsigned short& s);
73   void SetRunNumber(const int& i);
74   void SetNumberOfTracks(const unsigned short& s);
75   void SetPrimVertPos(const AliFemtoThreeVector& v);
76   void SetPrimVertCov(const double* v);
77   void SetMagneticField(const double& x);
78   
79    //functions for alice variables
80   void SetZDCN1Energy(const float& x);      
81   void SetZDCP1Energy(const float& x);      
82   void SetZDCN2Energy(const float& x);      
83   void SetZDCP2Energy(const float& x);      
84   void SetZDCEMEnergy(const float& x);    
85   void SetZDCParticipants(const unsigned int& i);
86   
87   void SetTriggerMask(const unsigned long int& i);     
88   void SetTriggerCluster(const unsigned char& c); 
89
90   void SetReactionPlaneAngle(const float& a);
91   
92   double UncorrectedNumberOfNegativePrimaries() const;
93   double UncorrectedNumberOfPrimaries() const;
94
95 private:
96   unsigned short fEventNumber;           // Event number in file
97   unsigned short fRunNumber;             // run number the event belong to
98   unsigned short fNumberOfTracks;        // total number of TPC tracks
99   double fMagneticField;                 // magnetic field in Z direction
100
101   AliFemtoThreeVector fPrimVertPos;      // primary vertex position
102   double fPrimVertCov[6];                // primary vertex covariances
103   AliFemtoTrackCollection* fTrackCollection; // collection of tracks
104   AliFemtoV0Collection* fV0Collection;   // collection of V0s
105   AliFemtoXiCollection* fXiCollection;   // collection of Xis
106   AliFemtoKinkCollection* fKinkCollection; // collection of kinks
107
108   //for alice changed by Marek Chojnacki
109   float      fZDCN1Energy;      // reconstructed energy in the neutron ZDC
110   float      fZDCP1Energy;      // reconstructed energy in the proton ZDC
111   float      fZDCN2Energy;      // reconstructed energy in the neutron ZDC
112   float      fZDCP2Energy;      // reconstructed energy in the proton ZDC
113   float      fZDCEMEnergy;     // reconstructed energy in the electromagnetic ZDC
114   unsigned int        fZDCParticipants; // number of participants estimated by the ZDC
115   
116   unsigned long int     fTriggerMask;     // Trigger Type (mask)
117   unsigned char      fTriggerCluster;  // Trigger cluster (mask)
118
119   float      fReactionPlaneAngle; // reconstructed reaction plane angle
120 };
121
122
123
124 #endif