]>
Commit | Line | Data |
---|---|---|
76ce4b5b | 1 | //////////////////////////////////////////////////////////////////////////////// |
2 | // // | |
3 | // AliFemtoEventReaderStandard - the reader class for the Alice ESD, AOD // | |
4 | // the model Kinematics information tailored for the Task framework // | |
5 | // Authors: Adam Kisiel Adam.Kisiel@cern.ch // | |
6 | // // | |
7 | //////////////////////////////////////////////////////////////////////////////// | |
8 | #ifndef ALIFEMTOEVENTREADERSTANDARD_H | |
9 | #define ALIFEMTOEVENTREADERSTANDARD_H | |
10 | ||
11 | #include "AliFemtoEventReader.h" | |
12 | #include "AliFemtoEnumeration.h" | |
13 | ||
14 | #include <string> | |
15 | #include <vector> | |
16 | #include <TTree.h> | |
17 | #include <AliESDEvent.h> | |
18 | #include <AliAODEvent.h> | |
19 | #include <AliESDfriend.h> | |
20 | #include <AliStack.h> | |
21 | #include <list> | |
22 | #include <AliGenEventHeader.h> | |
23 | #include <AliPhysicsSelection.h> | |
24 | #include <AliESDtrackCuts.h> | |
25 | #include <AliAODMCParticle.h> | |
26 | ||
27 | class AliFemtoEvent; | |
28 | class AliFemtoTrack; | |
29 | ||
30 | class AliFemtoEventReaderStandard : public AliFemtoEventReader | |
31 | { | |
32 | public: | |
33 | enum InputType {kUnknown = -1, kESD=0, kAOD=1, kESDKine=2, kAODKine=3}; | |
34 | typedef enum InputType AliFemtoInputType; | |
35 | ||
36 | AliFemtoEventReaderStandard(); | |
37 | AliFemtoEventReaderStandard(const AliFemtoEventReaderStandard& aReader); | |
38 | ~AliFemtoEventReaderStandard(); | |
39 | ||
40 | AliFemtoEventReaderStandard& operator=(const AliFemtoEventReaderStandard& aReader); | |
41 | ||
42 | AliFemtoEvent* ReturnHbtEvent(); | |
43 | AliFemtoString Report(); | |
44 | ||
45 | void SetESDSource(AliESDEvent *aESD); | |
46 | void SetAODSource(AliAODEvent *aAOD); | |
47 | void SetStackSource(AliStack *aStack); | |
48 | void SetInputType(AliFemtoInputType aInput); | |
49 | void SetGenEventHeader(AliGenEventHeader *aGenHeader); | |
50 | void SetUsePhysicsSelection(const bool usephysics); | |
51 | ||
52 | void SetESDTrackCuts(AliESDtrackCuts *esdcuts); | |
53 | void SetUseTPCOnly(const bool usetpconly); | |
54 | ||
55 | protected: | |
56 | ||
57 | void CopyAODtoFemtoTrack(const AliAODTrack *tAodTrack, AliFemtoTrack *tFemtoTrack); | |
58 | AliAODMCParticle* GetParticleWithLabel(TClonesArray *mcP, Int_t aLabel); | |
59 | ||
60 | private: | |
61 | string fFileName; // name of current ESD file | |
62 | int fNumberofEvent; // number of Events in ESD file | |
63 | int fCurEvent; // number of current event | |
64 | unsigned int fCurFile; // number of current file | |
65 | AliESDEvent *fESDEvent; //! ESD event | |
66 | AliAODEvent *fAODEvent; //! AOD event | |
67 | AliStack *fStack; //! Kinematics stack pointer | |
68 | AliGenEventHeader *fGenHeader; //! Link to the generator event header | |
69 | AliFemtoInputType fInputType; // Select data input type | |
70 | ||
71 | bool fUsePhysicsSel; // if true the physics selection class will be used | |
72 | AliPhysicsSelection *fSelect; // Class to select only physics events | |
73 | ||
74 | AliESDtrackCuts *fTrackCuts; // Link to external ESD track cut | |
75 | bool fUseTPCOnly; // if true the TPC only parameters will be used | |
76 | ||
77 | #ifdef __ROOT__ | |
78 | ClassDef(AliFemtoEventReaderStandard, 1) | |
79 | #endif | |
80 | ||
81 | }; | |
82 | ||
83 | #endif | |
84 | ||
85 |