Lines getting the matched track moved to a method in AliCalorimeterUtils. Lines copie...
[u/mrichter/AliRoot.git] / PWG2 / FEMTOSCOPY / AliFemto / AliFemtoEventReaderESDChainKine.h
CommitLineData
0b3bd1ac 1////////////////////////////////////////////////////////////////////////////////
2// //
3// AliFemtoEventReaderESDChainKine - the reader class for the Alice ESD and //
4// the model Kinematics information tailored for the Task framework and the //
5// Reads in AliESDfriend to create shared hit/quality information //
6// Authors: Adam Kisiel kisiel@mps.ohio-state.edu //
7// //
8////////////////////////////////////////////////////////////////////////////////
9#ifndef ALIFEMTOEVENTREADERESDCHAINKINE_H
10#define ALIFEMTOEVENTREADERESDCHAINKINE_H
11
12#include "AliFemtoEventReader.h"
13#include "AliFemtoEnumeration.h"
14
15#include <string>
16#include <vector>
17#include <TTree.h>
18#include <AliESDEvent.h>
19#include <AliESDfriend.h>
20#include <AliStack.h>
21#include <list>
aad44575 22#include <AliGenEventHeader.h>
0b3bd1ac 23
859f1d8d 24#include "AliESDpid.h"
25
0b3bd1ac 26class AliFemtoEvent;
27
28class AliFemtoEventReaderESDChainKine : public AliFemtoEventReader
29{
30 public:
859f1d8d 31 enum TrackType {kGlobal=0, kTPCOnly=1, kITSOnly=2, kSPDTracklet=3};
32 typedef enum TrackType ReadTrackType;
33
34 enum EventMult {kTracklet=0, kITSTPC=1, kITSPure=2, kGlobalCount=3, kSPDLayer1=4, kV0Centrality=5 };
35 typedef enum EventMult EstEventMult;
36
0b3bd1ac 37 AliFemtoEventReaderESDChainKine();
38 AliFemtoEventReaderESDChainKine(const AliFemtoEventReaderESDChainKine& aReader);
39 ~AliFemtoEventReaderESDChainKine();
40
41 AliFemtoEventReaderESDChainKine& operator=(const AliFemtoEventReaderESDChainKine& aReader);
42
43 AliFemtoEvent* ReturnHbtEvent();
44 AliFemtoString Report();
45 void SetConstrained(const bool constrained);
46 bool GetConstrained() const;
613e9805 47 void SetUseTPCOnly(const bool usetpconly);
48 bool GetUseTPCOnly() const;
859f1d8d 49 void SetReadTPCInner(const bool readinner);
50 bool GetReadTPCInner() const;
51
52 void SetUseMultiplicity(EstEventMult aType);
53
54 void SetReadTrackType(ReadTrackType aType);
0b3bd1ac 55
56 void SetESDSource(AliESDEvent *aESD);
57 void SetStackSource(AliStack *aStack);
aad44575 58 void SetGenEventHeader(AliGenEventHeader *aGenHeader);
f3523544 59 void SetRotateToEventPlane(short dorotate);
0b3bd1ac 60
859f1d8d 61 void SetESDPid(AliESDpid *esdPid) { fESDpid = esdPid; }
62
0b3bd1ac 63 protected:
64
65 private:
66 string fFileName; // name of current ESD file
67 bool fConstrained; // flag to set which momentum from ESD file will be use
859f1d8d 68 bool fReadInner; // flag to set if one wants to read TPC-only momentum
613e9805 69 bool fUseTPCOnly; // flog to set to read TPC only momentum instead of the full
0b3bd1ac 70 int fNumberofEvent; // number of Events in ESD file
71 int fCurEvent; // number of current event
72 unsigned int fCurFile; // number of current file
73 AliESDEvent* fEvent; // ESD event
74 AliStack *fStack; // Kinematics stack pointer
aad44575 75 AliGenEventHeader *fGenHeader; // Link to the generator event header
859f1d8d 76 ReadTrackType fTrackType; // Type of track read
77 EstEventMult fEstEventMult; // Type of the event multiplicity estimator
0b3bd1ac 78
f3523544 79 short fRotateToEventPlane; // Rotate the event so that event plane is at x=0
80
613e9805 81 Float_t GetSigmaToVertex(double *impact, double *covar);
82
859f1d8d 83 AliESDpid *fESDpid;
84 Bool_t fIsPidOwner;
85
0b3bd1ac 86#ifdef __ROOT__
87 ClassDef(AliFemtoEventReaderESDChainKine, 1)
88#endif
89
90 };
91
92#endif
93
94