1 ////////////////////////////////////////////////////////////////////////////////
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 //
8 ////////////////////////////////////////////////////////////////////////////////
9 #ifndef ALIFEMTOEVENTREADERESDCHAINKINE_H
10 #define ALIFEMTOEVENTREADERESDCHAINKINE_H
12 #include "AliFemtoEventReader.h"
13 #include "AliFemtoEnumeration.h"
18 #include <AliESDEvent.h>
19 #include <AliESDfriend.h>
22 #include <AliGenEventHeader.h>
24 #include "AliESDpid.h"
28 class AliFemtoEventReaderESDChainKine : public AliFemtoEventReader
31 enum TrackType {kGlobal=0, kTPCOnly=1, kITSOnly=2, kSPDTracklet=3};
32 typedef enum TrackType ReadTrackType;
34 enum EventMult {kTracklet=0, kITSTPC=1, kITSPure=2, kGlobalCount=3, kSPDLayer1=4, kV0Centrality=5 };
35 typedef enum EventMult EstEventMult;
37 AliFemtoEventReaderESDChainKine();
38 AliFemtoEventReaderESDChainKine(const AliFemtoEventReaderESDChainKine& aReader);
39 ~AliFemtoEventReaderESDChainKine();
41 AliFemtoEventReaderESDChainKine& operator=(const AliFemtoEventReaderESDChainKine& aReader);
43 AliFemtoEvent* ReturnHbtEvent();
44 AliFemtoString Report();
45 void SetConstrained(const bool constrained);
46 bool GetConstrained() const;
47 void SetUseTPCOnly(const bool usetpconly);
48 bool GetUseTPCOnly() const;
49 void SetReadTPCInner(const bool readinner);
50 bool GetReadTPCInner() const;
52 void SetUseMultiplicity(EstEventMult aType);
54 void SetReadTrackType(ReadTrackType aType);
56 void SetESDSource(AliESDEvent *aESD);
57 void SetStackSource(AliStack *aStack);
58 void SetGenEventHeader(AliGenEventHeader *aGenHeader);
59 void SetRotateToEventPlane(short dorotate);
61 void SetESDPid(AliESDpid *esdPid) { fESDpid = esdPid; }
66 string fFileName; // name of current ESD file
67 bool fConstrained; // flag to set which momentum from ESD file will be use
68 bool fReadInner; // flag to set if one wants to read TPC-only momentum
69 bool fUseTPCOnly; // flog to set to read TPC only momentum instead of the full
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
75 AliGenEventHeader *fGenHeader; // Link to the generator event header
76 ReadTrackType fTrackType; // Type of track read
77 EstEventMult fEstEventMult; // Type of the event multiplicity estimator
79 short fRotateToEventPlane; // Rotate the event so that event plane is at x=0
81 Float_t GetSigmaToVertex(double *impact, double *covar);
87 ClassDef(AliFemtoEventReaderESDChainKine, 1)