K0s analysis update (Matt Steinpreis)
[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 61 //for event plane
95a1cff1 62 double fPhi;
41dfc4d3
DRG
63 double fPhiPsi;
64
0da241a9 65 ClassDef(AliFemtoK0Particle, 1);
66};
67
68class AliFemtoK0Event // like particle_event
69{
70 public:
71
72 AliFemtoK0Event();
73 virtual ~AliFemtoK0Event();
74 AliFemtoK0Event(const AliFemtoK0Event &obj);
75 AliFemtoK0Event &operator=(const AliFemtoK0Event &obj);
76
77 int fFillStatus; //tells AliFemtoK0EventCollection to add event
78 int fNumV0s; //number of collected v0s in event
79 AliFemtoK0Particle *fK0Particle; //class for K0 parameters needed for CF
80
81 ClassDef(AliFemtoK0Event, 1);
82};
83
84class AliFemtoK0EventCollection
85{
86 public:
87 AliFemtoK0EventCollection();
88 AliFemtoK0EventCollection(short,int);
89 virtual ~AliFemtoK0EventCollection();
90 AliFemtoK0EventCollection(const AliFemtoK0EventCollection &obj);
91 AliFemtoK0EventCollection &operator=(const AliFemtoK0EventCollection &obj);
92
93 short fBufferSize; //Size of the Event Storage buffer
94 int fLimit; //Max number of tracks
95 AliFemtoK0Event *fEvt; //event class
96
97 void FIFOShift(); //remove/add event (first in, first out)
98 void SetBufferSize(short a){fBufferSize = a;} //set size of event buffer
99
100 ClassDef(AliFemtoK0EventCollection, 1);
101};
102#endif