1 ////////////////////////////////////////////////////////////////////////////////
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 //
7 ////////////////////////////////////////////////////////////////////////////////
8 #ifndef ALIFEMTOEVENTREADERSTANDARD_H
9 #define ALIFEMTOEVENTREADERSTANDARD_H
11 #include "AliFemtoEventReader.h"
12 #include "AliFemtoEnumeration.h"
17 #include <AliESDEvent.h>
18 #include <AliAODEvent.h>
19 #include <AliESDfriend.h>
22 #include <AliGenEventHeader.h>
23 #include <AliPhysicsSelection.h>
24 #include <AliESDtrackCuts.h>
25 #include <AliAODMCParticle.h>
30 class AliFemtoEventReaderStandard : public AliFemtoEventReader
33 enum InputType {kUnknown = -1, kESD=0, kAOD=1, kESDKine=2, kAODKine=3};
34 typedef enum InputType AliFemtoInputType;
36 AliFemtoEventReaderStandard();
37 AliFemtoEventReaderStandard(const AliFemtoEventReaderStandard& aReader);
38 ~AliFemtoEventReaderStandard();
40 AliFemtoEventReaderStandard& operator=(const AliFemtoEventReaderStandard& aReader);
42 AliFemtoEvent* ReturnHbtEvent();
43 AliFemtoString Report();
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);
52 void SetESDTrackCuts(AliESDtrackCuts *esdcuts);
53 void SetUseTPCOnly(const bool usetpconly);
57 void CopyAODtoFemtoTrack(const AliAODTrack *tAodTrack, AliFemtoTrack *tFemtoTrack);
58 AliAODMCParticle* GetParticleWithLabel(TClonesArray *mcP, Int_t aLabel);
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
71 bool fUsePhysicsSel; // if true the physics selection class will be used
72 AliPhysicsSelection *fSelect; // Class to select only physics events
74 AliESDtrackCuts *fTrackCuts; // Link to external ESD track cut
75 bool fUseTPCOnly; // if true the TPC only parameters will be used
78 ClassDef(AliFemtoEventReaderStandard, 1)