#ifndef ALIFEMTOEVENTREADERESDCHAINKINE_H
#define ALIFEMTOEVENTREADERESDCHAINKINE_H
#include "AliFemtoEventReader.h"
#include "AliFemtoEnumeration.h"
#include <string>
#include <vector>
#include <TTree.h>
#include <AliESDEvent.h>
#include <AliESDfriend.h>
#include <AliStack.h>
#include <list>
#include <AliGenEventHeader.h>
#include "AliESDv0.h"
#include "AliFemtoV0.h"
#include "AliESDtrackCuts.h"
#include "AliESDpid.h"
class AliFemtoEvent;
class AliFemtoEventReaderESDChainKine : public AliFemtoEventReader
{
public:
enum TrackType {kGlobal=0, kTPCOnly=1, kITSOnly=2, kSPDTracklet=3};
typedef enum TrackType ReadTrackType;
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};
typedef enum EventMult EstEventMult;
AliFemtoEventReaderESDChainKine();
AliFemtoEventReaderESDChainKine(const AliFemtoEventReaderESDChainKine& aReader);
~AliFemtoEventReaderESDChainKine();
AliFemtoEventReaderESDChainKine& operator=(const AliFemtoEventReaderESDChainKine& aReader);
AliFemtoEvent* ReturnHbtEvent();
AliFemtoString Report();
void SetConstrained(const bool constrained);
bool GetConstrained() const;
void SetUseTPCOnly(const bool usetpconly);
bool GetUseTPCOnly() const;
void SetReadTPCInner(const bool readinner);
bool GetReadTPCInner() const;
void SetUseMultiplicity(EstEventMult aType);
void SetReadTrackType(ReadTrackType aType);
void SetESDSource(AliESDEvent *aESD);
void SetStackSource(AliStack *aStack);
void SetGenEventHeader(AliGenEventHeader *aGenHeader);
void SetRotateToEventPlane(short dorotate);
void SetESDPid(AliESDpid *esdPid) { fESDpid = esdPid; }
void SetReadV0(bool a);
void CopyESDtoFemtoV0(AliESDv0 *tESDv0, AliFemtoV0 *tFemtoV0, AliESDEvent *tESDevent);
void GetGlobalPositionAtGlobalRadiiThroughTPC(AliESDtrack *track, Float_t bfield, Float_t globalPositionsAtRadii[9][3]);
void SetMagneticFieldSign(int s);
void SetKaonAnalysis(Bool_t);
void SetProtonAnalysis(Bool_t);
void SetPionAnalysis(Bool_t);
void SetOnlyPrimaries(Bool_t);
protected:
private:
string fFileName;
bool fConstrained;
bool fReadInner;
bool fUseTPCOnly;
int fNumberofEvent;
int fCurEvent;
unsigned int fCurFile;
AliESDEvent* fEvent;
AliStack *fStack;
AliGenEventHeader *fGenHeader;
ReadTrackType fTrackType;
EstEventMult fEstEventMult;
short fRotateToEventPlane;
Float_t GetSigmaToVertex(double *impact, double *covar);
AliESDpid *fESDpid;
Bool_t fIsPidOwner;
int fMagFieldSign;
bool fReadV0;
Bool_t isKaonAnalysis;
Bool_t isProtonAnalysis;
Bool_t isPionAnalysis;
Bool_t fOnlyPrimaries;
#ifdef __ROOT__
ClassDef(AliFemtoEventReaderESDChainKine, 1)
#endif
};
#endif
AliFemtoEventReaderESDChainKine.h:1 AliFemtoEventReaderESDChainKine.h:2 AliFemtoEventReaderESDChainKine.h:3 AliFemtoEventReaderESDChainKine.h:4 AliFemtoEventReaderESDChainKine.h:5 AliFemtoEventReaderESDChainKine.h:6 AliFemtoEventReaderESDChainKine.h:7 AliFemtoEventReaderESDChainKine.h:8 AliFemtoEventReaderESDChainKine.h:9 AliFemtoEventReaderESDChainKine.h:10 AliFemtoEventReaderESDChainKine.h:11 AliFemtoEventReaderESDChainKine.h:12 AliFemtoEventReaderESDChainKine.h:13 AliFemtoEventReaderESDChainKine.h:14 AliFemtoEventReaderESDChainKine.h:15 AliFemtoEventReaderESDChainKine.h:16 AliFemtoEventReaderESDChainKine.h:17 AliFemtoEventReaderESDChainKine.h:18 AliFemtoEventReaderESDChainKine.h:19 AliFemtoEventReaderESDChainKine.h:20 AliFemtoEventReaderESDChainKine.h:21 AliFemtoEventReaderESDChainKine.h:22 AliFemtoEventReaderESDChainKine.h:23 AliFemtoEventReaderESDChainKine.h:24 AliFemtoEventReaderESDChainKine.h:25 AliFemtoEventReaderESDChainKine.h:26 AliFemtoEventReaderESDChainKine.h:27 AliFemtoEventReaderESDChainKine.h:28 AliFemtoEventReaderESDChainKine.h:29 AliFemtoEventReaderESDChainKine.h:30 AliFemtoEventReaderESDChainKine.h:31 AliFemtoEventReaderESDChainKine.h:32 AliFemtoEventReaderESDChainKine.h:33 AliFemtoEventReaderESDChainKine.h:34 AliFemtoEventReaderESDChainKine.h:35 AliFemtoEventReaderESDChainKine.h:36 AliFemtoEventReaderESDChainKine.h:37 AliFemtoEventReaderESDChainKine.h:38 AliFemtoEventReaderESDChainKine.h:39 AliFemtoEventReaderESDChainKine.h:40 AliFemtoEventReaderESDChainKine.h:41 AliFemtoEventReaderESDChainKine.h:42 AliFemtoEventReaderESDChainKine.h:43 AliFemtoEventReaderESDChainKine.h:44 AliFemtoEventReaderESDChainKine.h:45 AliFemtoEventReaderESDChainKine.h:46 AliFemtoEventReaderESDChainKine.h:47 AliFemtoEventReaderESDChainKine.h:48 AliFemtoEventReaderESDChainKine.h:49 AliFemtoEventReaderESDChainKine.h:50 AliFemtoEventReaderESDChainKine.h:51 AliFemtoEventReaderESDChainKine.h:52 AliFemtoEventReaderESDChainKine.h:53 AliFemtoEventReaderESDChainKine.h:54 AliFemtoEventReaderESDChainKine.h:55 AliFemtoEventReaderESDChainKine.h:56 AliFemtoEventReaderESDChainKine.h:57 AliFemtoEventReaderESDChainKine.h:58 AliFemtoEventReaderESDChainKine.h:59 AliFemtoEventReaderESDChainKine.h:60 AliFemtoEventReaderESDChainKine.h:61 AliFemtoEventReaderESDChainKine.h:62 AliFemtoEventReaderESDChainKine.h:63 AliFemtoEventReaderESDChainKine.h:64 AliFemtoEventReaderESDChainKine.h:65 AliFemtoEventReaderESDChainKine.h:66 AliFemtoEventReaderESDChainKine.h:67 AliFemtoEventReaderESDChainKine.h:68 AliFemtoEventReaderESDChainKine.h:69 AliFemtoEventReaderESDChainKine.h:70 AliFemtoEventReaderESDChainKine.h:71 AliFemtoEventReaderESDChainKine.h:72 AliFemtoEventReaderESDChainKine.h:73 AliFemtoEventReaderESDChainKine.h:74 AliFemtoEventReaderESDChainKine.h:75 AliFemtoEventReaderESDChainKine.h:76 AliFemtoEventReaderESDChainKine.h:77 AliFemtoEventReaderESDChainKine.h:78 AliFemtoEventReaderESDChainKine.h:79 AliFemtoEventReaderESDChainKine.h:80 AliFemtoEventReaderESDChainKine.h:81 AliFemtoEventReaderESDChainKine.h:82 AliFemtoEventReaderESDChainKine.h:83 AliFemtoEventReaderESDChainKine.h:84 AliFemtoEventReaderESDChainKine.h:85 AliFemtoEventReaderESDChainKine.h:86 AliFemtoEventReaderESDChainKine.h:87 AliFemtoEventReaderESDChainKine.h:88 AliFemtoEventReaderESDChainKine.h:89 AliFemtoEventReaderESDChainKine.h:90 AliFemtoEventReaderESDChainKine.h:91 AliFemtoEventReaderESDChainKine.h:92 AliFemtoEventReaderESDChainKine.h:93 AliFemtoEventReaderESDChainKine.h:94 AliFemtoEventReaderESDChainKine.h:95 AliFemtoEventReaderESDChainKine.h:96 AliFemtoEventReaderESDChainKine.h:97 AliFemtoEventReaderESDChainKine.h:98 AliFemtoEventReaderESDChainKine.h:99 AliFemtoEventReaderESDChainKine.h:100 AliFemtoEventReaderESDChainKine.h:101 AliFemtoEventReaderESDChainKine.h:102 AliFemtoEventReaderESDChainKine.h:103 AliFemtoEventReaderESDChainKine.h:104 AliFemtoEventReaderESDChainKine.h:105 AliFemtoEventReaderESDChainKine.h:106 AliFemtoEventReaderESDChainKine.h:107 AliFemtoEventReaderESDChainKine.h:108 AliFemtoEventReaderESDChainKine.h:109 AliFemtoEventReaderESDChainKine.h:110 AliFemtoEventReaderESDChainKine.h:111 AliFemtoEventReaderESDChainKine.h:112