]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGCF/FEMTOSCOPY/AliFemto/AliFemtoEvent.h
Adding V0 femtoscopy analysis
[u/mrichter/AliRoot.git] / PWGCF / FEMTOSCOPY / AliFemto / AliFemtoEvent.h
CommitLineData
76ce4b5b 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
20class AliFemtoTrackCut;
21class AliFemtoV0Cut;
22class AliFemtoXiCut;
23class AliFemtoKinkCut;
24class AliEventplane;
25
26#ifdef __ROOT__
27// the following encapsulation by malisa 21apr2006
28#ifndef __NO_STAR_DEPENDENCE_ALLOWED__
29class StMuDst;
30#endif
31#endif
32
33class AliFemtoEvent{
34public:
35 AliFemtoEvent();
36#ifdef __ROOT__
37#ifndef __NO_STAR_DEPENDENCE_ALLOWED__
38//
39#endif
40#endif
41
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
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 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;
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 AliEventplane* EP() const;
72
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);
89
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);
97
98 void SetTriggerMask(const unsigned long int& i);
99 void SetTriggerCluster(const unsigned char& c);
100
101 void SetReactionPlaneAngle(const float& a);
102 void SetEP(AliEventplane* ep);
103
104 int UncorrectedNumberOfNegativePrimaries() const;
105 int UncorrectedNumberOfPrimaries() const;
106 int SPDMultiplicity() const;
973a91f8 107 int NumberOfV0s() const;
76ce4b5b 108
109 unsigned short MultiplicityEstimateITSTPC() const;
110 unsigned short MultiplicityEstimateTracklets() const;
111 unsigned short MultiplicityEstimateITSPure() const;
112
113 float CentralityV0() const;
114 float CentralityFMD() const;
115 float CentralitySPD1() const;
116 float CentralityTrk() const;
117
118private:
119 unsigned short fEventNumber; // Event number in file
120 unsigned short fRunNumber; // run number the event belong to
121 unsigned short fNumberOfTracks; // total number of TPC tracks
122 int fNormalizedMult; // normalized multiplicity
123 int fSPDMult; // Multiplicity of SPD tracklets
124 unsigned short fEstimateITSTPC; // Official multiplicity estimate ITS+TPC
125 unsigned short fEstimateTracklets; // Official multiplicity estimate Tracklets
126 unsigned short fEstimateITSPure; // Official multiplicity estimate ITS SA
127 float fCentralityV0; // Official centrality from V0
128 float fCentralityFMD; // Official centrality from FMD
129 float fCentralitySPD1; // Official centrality from SPD layer 1
130 float fCentralityTrk; // Official centrality from tracks
131 double fMagneticField; // magnetic field in Z direction
132 bool fIsCollisionCandidate; // is collision candidate
133
134 AliFemtoThreeVector fPrimVertPos; // primary vertex position
135 double fPrimVertCov[6]; // primary vertex covariances
136 AliFemtoTrackCollection* fTrackCollection; // collection of tracks
137 AliFemtoV0Collection* fV0Collection; // collection of V0s
138 AliFemtoXiCollection* fXiCollection; // collection of Xis
139 AliFemtoKinkCollection* fKinkCollection; // collection of kinks
140
141 //for alice changed by Marek Chojnacki
142 float fZDCN1Energy; // reconstructed energy in the neutron ZDC
143 float fZDCP1Energy; // reconstructed energy in the proton ZDC
144 float fZDCN2Energy; // reconstructed energy in the neutron ZDC
145 float fZDCP2Energy; // reconstructed energy in the proton ZDC
146 float fZDCEMEnergy; // reconstructed energy in the electromagnetic ZDC
147 unsigned int fZDCParticipants; // number of participants estimated by the ZDC
148
149 unsigned long int fTriggerMask; // Trigger Type (mask)
150 unsigned char fTriggerCluster; // Trigger cluster (mask)
151
152 float fReactionPlaneAngle; // reconstructed reaction plane angle
153 AliEventplane* fEP; // pointer to full event plane information
154};
155
156
157
158#endif