]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG2/FEMTOSCOPY/AliFemto/AliFemtoEvent.h
Add possibility to swich off creating hidden info
[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&, AliFemtoTrackCut* =0, AliFemtoV0Cut* =0,  AliFemtoXiCut* =0, AliFemtoKinkCut* =0); // copy constructor with track and v0 cuts
44   ~AliFemtoEvent();
45   AliFemtoEvent& operator=(const AliFemtoEvent& aEvent);
46
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;
56
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; 
64   
65   unsigned long int     TriggerMask() const;     
66   unsigned char      TriggerCluster() const;  
67   
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);
73   
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);
81   
82   void SetTriggerMask(const unsigned long int& i);     
83   void SetTriggerCluster(const unsigned char& c); 
84   
85   double UncorrectedNumberOfNegativePrimaries() const;
86   double UncorrectedNumberOfPrimaries() const;
87
88 private:
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
93
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
99
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
107   
108   unsigned long int     fTriggerMask;     // Trigger Type (mask)
109   unsigned char      fTriggerCluster;  // Trigger cluster (mask)
110 };
111
112
113
114 #endif