]>
Commit | Line | Data |
---|---|---|
76ce4b5b | 1 | //////////////////////////////////////////////////////////////////////////////// |
2 | // // | |
3 | // AliFemtoEventReaderESDChain - the reader class for the Alice ESD // | |
4 | // tailored for the Task framework // | |
5 | // Reads in AliESDfriend to create shared hit/quality information // | |
6 | // Authors: Adam Kisiel kisiel@mps.ohio-state.edu // | |
7 | // // | |
8 | //////////////////////////////////////////////////////////////////////////////// | |
9 | #ifndef ALIFEMTOEVENTREADERESDCHAIN_H | |
10 | #define ALIFEMTOEVENTREADERESDCHAIN_H | |
11 | ||
12 | #include "AliFemtoEventReader.h" | |
13 | #include "AliFemtoEnumeration.h" | |
973a91f8 | 14 | #include "AliFemtoV0.h" |
15 | #include "AliESDv0.h" | |
76ce4b5b | 16 | |
17 | #include <string> | |
18 | #include <vector> | |
19 | #include "TTree.h" | |
20 | #include "TGraph.h" | |
21 | #include "AliESDEvent.h" | |
22 | #include "AliESDfriend.h" | |
23 | #include "AliPhysicsSelection.h" | |
ce7b3d98 | 24 | #include "AliESDtrackCuts.h" |
76ce4b5b | 25 | #include <list> |
26 | ||
27 | #include "AliESDpid.h" | |
28 | ||
29 | class AliFemtoEvent; | |
30 | ||
31 | class AliFemtoEventReaderESDChain : public AliFemtoEventReader | |
32 | { | |
33 | public: | |
34 | enum TrackType {kGlobal=0, kTPCOnly=1, kITSOnly=2, kSPDTracklet=3}; | |
35 | typedef enum TrackType ReadTrackType; | |
36 | ||
18757d69 | 37 | enum EventMult {kCentrality=0, kGlobalCount=1, kReferenceITSTPC=2, kReferenceITSSA=3, kReferenceTracklets=4, kSPDLayer1=5, kVZERO=6, kCentralityTRK=7, kCentralityZNA=8, kCentralityCL1=9, kCentralityCND=10, kCentralityV0A=11, kCentralityV0C=12, kCentralityZNC=13, kCentralityCL0=14, kCentralityFMD=15, kCentralityTKL=16, kCentralityNPA=17}; |
76ce4b5b | 38 | typedef enum EventMult EstEventMult; |
39 | ||
40 | AliFemtoEventReaderESDChain(); | |
41 | AliFemtoEventReaderESDChain(const AliFemtoEventReaderESDChain& aReader); | |
42 | ~AliFemtoEventReaderESDChain(); | |
43 | ||
44 | AliFemtoEventReaderESDChain& operator=(const AliFemtoEventReaderESDChain& aReader); | |
45 | ||
46 | AliFemtoEvent* ReturnHbtEvent(); | |
47 | AliFemtoString Report(); | |
48 | void SetConstrained(const bool constrained); | |
49 | void SetReadTPCInner(const bool readinner); | |
50 | void SetUseTPCOnly(const bool usetpconly); | |
51 | ||
973a91f8 | 52 | virtual void CopyESDtoFemtoV0(AliESDv0 *tESDv0, AliFemtoV0 *tFemtoV0, AliESDEvent *fESDevent); |
ce7b3d98 | 53 | void SetReadV0(bool a); |
54 | void GetGlobalPositionAtGlobalRadiiThroughTPC(AliESDtrack *track, Float_t bfield, Float_t globalPositionsAtRadii[9][3]); | |
55 | void SetMagneticFieldSign(int s); | |
973a91f8 | 56 | |
76ce4b5b | 57 | void SetUseMultiplicity(EstEventMult aType); |
58 | void SetEventTrigger(UInt_t eventtrig); //trigger | |
59 | ||
60 | bool GetConstrained() const; | |
61 | bool GetReadTPCInner() const; | |
62 | bool GetUseTPCOnly() const; | |
63 | ||
64 | void SetReadTrackType(ReadTrackType aType); | |
65 | ||
66 | void SetESDSource(AliESDEvent *aESD); | |
67 | // void SetESDfriendSource(AliESDfriend *aFriend); | |
68 | void SetESDPid(AliESDpid *esdPid) { fESDpid = esdPid; } | |
734c121a | 69 | |
70 | void CopyESDtoFemtoEvent(AliFemtoEvent *hbtEvent); | |
71 | void SetpA2013(Bool_t pa2013); | |
7dec7414 | 72 | void SetUseMVPlpSelection(Bool_t mvplp); |
73 | void SetIsPileUpEvent(Bool_t ispileup); | |
7d3e2025 | 74 | void SetMinVtxContr(Int_t contr=1) {fMinVtxContr=contr;} |
75 | void SetMinPlpContribMV(Int_t minPlpContribMV) { fMinPlpContribMV = minPlpContribMV;} | |
76 | void SetMinPlpContribSPD(Int_t minPlpContribSPD) { fMinPlpContribSPD = minPlpContribSPD;} | |
7dec7414 | 77 | |
76ce4b5b | 78 | protected: |
79 | ||
80 | private: | |
81 | string fFileName; //name of current ESD file | |
82 | bool fConstrained; //flag to set which momentum from ESD file will be use | |
83 | bool fReadInner; // flag to set if one wants to read TPC-only momentum | |
84 | // and store it in the hidden info | |
85 | bool fUseTPCOnly; // flag to set if one wants to replace the global parameters | |
86 | // by the TPC only ones | |
87 | int fNumberofEvent; //number of Events in ESD file | |
88 | int fCurEvent; //number of current event | |
89 | unsigned int fCurFile; //number of current file | |
90 | AliESDEvent* fEvent; //ESD event | |
91 | // AliESDfriend* fEventFriend; | |
76ce4b5b | 92 | ReadTrackType fTrackType; // Type of track read |
93 | EstEventMult fEstEventMult; // Type of the event multiplicity estimator | |
94 | UInt_t fEventTrig; //event trigger | |
95 | ||
973a91f8 | 96 | |
76ce4b5b | 97 | /* list<Int_t> **fSharedList; //! Table (one list per padrow) of clusters which are shared */ |
98 | /* list<Int_t> **fClusterPerPadrow; //! Table (one list per padrow) of clusters in each padrow */ | |
99 | ||
100 | Float_t GetSigmaToVertex(double *impact, double *covar); | |
101 | ||
102 | ||
103 | AliESDpid *fESDpid; | |
104 | Bool_t fIsPidOwner; | |
973a91f8 | 105 | bool fReadV0; // Read V0 information from the AOD and put it into V0Collection |
ce7b3d98 | 106 | int fMagFieldSign; |
76ce4b5b | 107 | |
734c121a | 108 | Bool_t fpA2013; |
7dec7414 | 109 | Bool_t fisPileUp; |
110 | Bool_t fMVPlp; | |
7d3e2025 | 111 | Int_t fMinVtxContr; //no of contributors for pA 2013 data |
112 | Int_t fMinPlpContribMV; //no of contributors for multivertex pile-up rejection | |
113 | Int_t fMinPlpContribSPD; //no of contributors for SPD pile-up rejection | |
734c121a | 114 | |
76ce4b5b | 115 | #ifdef __ROOT__ |
116 | ClassDef(AliFemtoEventReaderESDChain, 1) | |
117 | #endif | |
118 | ||
119 | }; | |
120 | ||
121 | #endif | |
122 | ||
123 |