Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[u/mrichter/AliRoot.git] / PWGCF / FEMTOSCOPY / K0Analysis / AliFemtoK0EventCollection.h
CommitLineData
0da241a9 1#ifndef ALIFEMTOK0EVENTCOLLECTION_H
2#define ALIFEMTOK0EVENTCOLLECTION_H
3//
4//Class AliFemtoK0Particle, AliFemtoK0Event, AliFemtoK0EventCollection
5//
6//AliFemtoK0Particle, AliFemtoK0Event, AliFemtoK0EventCollection
7//authors:
8// Dhevan Gangadharan (dhevan.raja.gangadharan@cern.ch)
9// Matthew Steinpreis (matthew.steinpreis@cern.ch)
10//
11
12
13#include <iostream>
14#include <string>
15#include "TH1.h"
16#include "TH2.h"
17#include "TH3.h"
18#include "TBits.h"
19#include "TObject.h"
20#include "TVector2.h"
21#include "AliESDtrack.h"
22
23using namespace std;
24
25class AliFemtoK0Particle // Reconstructed K0s parameters needed for correlations
26{
27 public:
28
29 AliFemtoK0Particle();
30 virtual ~AliFemtoK0Particle();
31 AliFemtoK0Particle(const AliFemtoK0Particle &obj);
32 AliFemtoK0Particle &operator=(const AliFemtoK0Particle &obj);
33
34 double fMomentum[3]; //v0 momentum
35 double fPt; //v0 transverse momentum
36 double fMass; //v0 reconstructed mass
37 short fDaughterID1; //Daughter (pion) AODtrack ID
38 short fDaughterID2; //Daughter (pion) AODtrack ID
39 bool fK0; //if v0 has "good" K0 mass
cc64ee13 40 bool fSideLeft;
41 bool fSideRight;
42 bool fSkipShared;
43 double fV0Dca; //used in v0 selection process
44
45 //for single particle histograms
46 double fDDDca; //daughter-daughter DCA
47 double fDecayLength; //v0 decay length
48 double fPosDca; //positive daughter Dca to prim vert
49 double fNegDca; //negative ""
50 double fPosPt; //positive daughter pt
51 double fNegPt; //negative daughter pt
52 double fPosPhi; //positive daughter phi
53 double fNegPhi; //negative daughter phi
0da241a9 54
55 //for separation
0da241a9 56 double fPPos[3]; //Positive daughter momentum
57 double fPNeg[3]; //negative daughter momentum
fae797ad 58 float fPosXYZ[9][3]; //corrected daughter TPC positions
59 float fNegXYZ[9][3]; //corrected daughter TPC positions
0da241a9 60
41dfc4d3
DRG
61 //for event plane
62 double fPhiPsi;
63
0da241a9 64 ClassDef(AliFemtoK0Particle, 1);
65};
66
67class AliFemtoK0Event // like particle_event
68{
69 public:
70
71 AliFemtoK0Event();
72 virtual ~AliFemtoK0Event();
73 AliFemtoK0Event(const AliFemtoK0Event &obj);
74 AliFemtoK0Event &operator=(const AliFemtoK0Event &obj);
75
76 int fFillStatus; //tells AliFemtoK0EventCollection to add event
77 int fNumV0s; //number of collected v0s in event
78 AliFemtoK0Particle *fK0Particle; //class for K0 parameters needed for CF
79
80 ClassDef(AliFemtoK0Event, 1);
81};
82
83class AliFemtoK0EventCollection
84{
85 public:
86 AliFemtoK0EventCollection();
87 AliFemtoK0EventCollection(short,int);
88 virtual ~AliFemtoK0EventCollection();
89 AliFemtoK0EventCollection(const AliFemtoK0EventCollection &obj);
90 AliFemtoK0EventCollection &operator=(const AliFemtoK0EventCollection &obj);
91
92 short fBufferSize; //Size of the Event Storage buffer
93 int fLimit; //Max number of tracks
94 AliFemtoK0Event *fEvt; //event class
95
96 void FIFOShift(); //remove/add event (first in, first out)
97 void SetBufferSize(short a){fBufferSize = a;} //set size of event buffer
98
99 ClassDef(AliFemtoK0EventCollection, 1);
100};
101#endif