#ifndef ALIFEMTOEVENTREADERESDCHAIN_H
#define ALIFEMTOEVENTREADERESDCHAIN_H
#include "AliFemtoEventReader.h"
#include "AliFemtoEnumeration.h"
#include "AliFemtoV0.h"
#include "AliESDv0.h"
#include <string>
#include <vector>
#include "TTree.h"
#include "TGraph.h"
#include "AliESDEvent.h"
#include "AliESDfriend.h"
#include "AliPhysicsSelection.h"
#include "AliESDtrackCuts.h"
#include <list>
#include "AliESDpid.h"
class AliFemtoEvent;
class AliFemtoEventReaderESDChain : 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;
AliFemtoEventReaderESDChain();
AliFemtoEventReaderESDChain(const AliFemtoEventReaderESDChain& aReader);
~AliFemtoEventReaderESDChain();
AliFemtoEventReaderESDChain& operator=(const AliFemtoEventReaderESDChain& aReader);
AliFemtoEvent* ReturnHbtEvent();
AliFemtoString Report();
void SetConstrained(const bool constrained);
void SetReadTPCInner(const bool readinner);
void SetUseTPCOnly(const bool usetpconly);
virtual void CopyESDtoFemtoV0(AliESDv0 *tESDv0, AliFemtoV0 *tFemtoV0, AliESDEvent *fESDevent);
void SetReadV0(bool a);
void GetGlobalPositionAtGlobalRadiiThroughTPC(AliESDtrack *track, Float_t bfield, Float_t globalPositionsAtRadii[9][3]);
void SetMagneticFieldSign(int s);
void SetUseMultiplicity(EstEventMult aType);
void SetEventTrigger(UInt_t eventtrig);
bool GetConstrained() const;
bool GetReadTPCInner() const;
bool GetUseTPCOnly() const;
void SetReadTrackType(ReadTrackType aType);
void SetESDSource(AliESDEvent *aESD);
void SetESDPid(AliESDpid *esdPid) { fESDpid = esdPid; }
void CopyESDtoFemtoEvent(AliFemtoEvent *hbtEvent);
void SetpA2013(Bool_t pa2013);
void SetUseMVPlpSelection(Bool_t mvplp);
void SetIsPileUpEvent(Bool_t ispileup);
void SetMinVtxContr(Int_t contr=1) {fMinVtxContr=contr;}
void SetMinPlpContribMV(Int_t minPlpContribMV) { fMinPlpContribMV = minPlpContribMV;}
void SetMinPlpContribSPD(Int_t minPlpContribSPD) { fMinPlpContribSPD = minPlpContribSPD;}
protected:
private:
string fFileName;
bool fConstrained;
bool fReadInner;
bool fUseTPCOnly;
int fNumberofEvent;
int fCurEvent;
unsigned int fCurFile;
AliESDEvent* fEvent;
ReadTrackType fTrackType;
EstEventMult fEstEventMult;
UInt_t fEventTrig;
Float_t GetSigmaToVertex(double *impact, double *covar);
AliESDpid *fESDpid;
Bool_t fIsPidOwner;
bool fReadV0;
int fMagFieldSign;
Bool_t fpA2013;
Bool_t fisPileUp;
Bool_t fMVPlp;
Int_t fMinVtxContr;
Int_t fMinPlpContribMV;
Int_t fMinPlpContribSPD;
#ifdef __ROOT__
ClassDef(AliFemtoEventReaderESDChain, 1)
#endif
};
#endif
AliFemtoEventReaderESDChain.h:1 AliFemtoEventReaderESDChain.h:2 AliFemtoEventReaderESDChain.h:3 AliFemtoEventReaderESDChain.h:4 AliFemtoEventReaderESDChain.h:5 AliFemtoEventReaderESDChain.h:6 AliFemtoEventReaderESDChain.h:7 AliFemtoEventReaderESDChain.h:8 AliFemtoEventReaderESDChain.h:9 AliFemtoEventReaderESDChain.h:10 AliFemtoEventReaderESDChain.h:11 AliFemtoEventReaderESDChain.h:12 AliFemtoEventReaderESDChain.h:13 AliFemtoEventReaderESDChain.h:14 AliFemtoEventReaderESDChain.h:15 AliFemtoEventReaderESDChain.h:16 AliFemtoEventReaderESDChain.h:17 AliFemtoEventReaderESDChain.h:18 AliFemtoEventReaderESDChain.h:19 AliFemtoEventReaderESDChain.h:20 AliFemtoEventReaderESDChain.h:21 AliFemtoEventReaderESDChain.h:22 AliFemtoEventReaderESDChain.h:23 AliFemtoEventReaderESDChain.h:24 AliFemtoEventReaderESDChain.h:25 AliFemtoEventReaderESDChain.h:26 AliFemtoEventReaderESDChain.h:27 AliFemtoEventReaderESDChain.h:28 AliFemtoEventReaderESDChain.h:29 AliFemtoEventReaderESDChain.h:30 AliFemtoEventReaderESDChain.h:31 AliFemtoEventReaderESDChain.h:32 AliFemtoEventReaderESDChain.h:33 AliFemtoEventReaderESDChain.h:34 AliFemtoEventReaderESDChain.h:35 AliFemtoEventReaderESDChain.h:36 AliFemtoEventReaderESDChain.h:37 AliFemtoEventReaderESDChain.h:38 AliFemtoEventReaderESDChain.h:39 AliFemtoEventReaderESDChain.h:40 AliFemtoEventReaderESDChain.h:41 AliFemtoEventReaderESDChain.h:42 AliFemtoEventReaderESDChain.h:43 AliFemtoEventReaderESDChain.h:44 AliFemtoEventReaderESDChain.h:45 AliFemtoEventReaderESDChain.h:46 AliFemtoEventReaderESDChain.h:47 AliFemtoEventReaderESDChain.h:48 AliFemtoEventReaderESDChain.h:49 AliFemtoEventReaderESDChain.h:50 AliFemtoEventReaderESDChain.h:51 AliFemtoEventReaderESDChain.h:52 AliFemtoEventReaderESDChain.h:53 AliFemtoEventReaderESDChain.h:54 AliFemtoEventReaderESDChain.h:55 AliFemtoEventReaderESDChain.h:56 AliFemtoEventReaderESDChain.h:57 AliFemtoEventReaderESDChain.h:58 AliFemtoEventReaderESDChain.h:59 AliFemtoEventReaderESDChain.h:60 AliFemtoEventReaderESDChain.h:61 AliFemtoEventReaderESDChain.h:62 AliFemtoEventReaderESDChain.h:63 AliFemtoEventReaderESDChain.h:64 AliFemtoEventReaderESDChain.h:65 AliFemtoEventReaderESDChain.h:66 AliFemtoEventReaderESDChain.h:67 AliFemtoEventReaderESDChain.h:68 AliFemtoEventReaderESDChain.h:69 AliFemtoEventReaderESDChain.h:70 AliFemtoEventReaderESDChain.h:71 AliFemtoEventReaderESDChain.h:72 AliFemtoEventReaderESDChain.h:73 AliFemtoEventReaderESDChain.h:74 AliFemtoEventReaderESDChain.h:75 AliFemtoEventReaderESDChain.h:76 AliFemtoEventReaderESDChain.h:77 AliFemtoEventReaderESDChain.h:78 AliFemtoEventReaderESDChain.h:79 AliFemtoEventReaderESDChain.h:80 AliFemtoEventReaderESDChain.h:81 AliFemtoEventReaderESDChain.h:82 AliFemtoEventReaderESDChain.h:83 AliFemtoEventReaderESDChain.h:84 AliFemtoEventReaderESDChain.h:85 AliFemtoEventReaderESDChain.h:86 AliFemtoEventReaderESDChain.h:87 AliFemtoEventReaderESDChain.h:88 AliFemtoEventReaderESDChain.h:89 AliFemtoEventReaderESDChain.h:90 AliFemtoEventReaderESDChain.h:91 AliFemtoEventReaderESDChain.h:92 AliFemtoEventReaderESDChain.h:93 AliFemtoEventReaderESDChain.h:94 AliFemtoEventReaderESDChain.h:95 AliFemtoEventReaderESDChain.h:96 AliFemtoEventReaderESDChain.h:97 AliFemtoEventReaderESDChain.h:98 AliFemtoEventReaderESDChain.h:99 AliFemtoEventReaderESDChain.h:100 AliFemtoEventReaderESDChain.h:101 AliFemtoEventReaderESDChain.h:102 AliFemtoEventReaderESDChain.h:103 AliFemtoEventReaderESDChain.h:104 AliFemtoEventReaderESDChain.h:105 AliFemtoEventReaderESDChain.h:106 AliFemtoEventReaderESDChain.h:107 AliFemtoEventReaderESDChain.h:108 AliFemtoEventReaderESDChain.h:109 AliFemtoEventReaderESDChain.h:110 AliFemtoEventReaderESDChain.h:111 AliFemtoEventReaderESDChain.h:112 AliFemtoEventReaderESDChain.h:113 AliFemtoEventReaderESDChain.h:114 AliFemtoEventReaderESDChain.h:115 AliFemtoEventReaderESDChain.h:116 AliFemtoEventReaderESDChain.h:117 AliFemtoEventReaderESDChain.h:118 AliFemtoEventReaderESDChain.h:119 AliFemtoEventReaderESDChain.h:120 AliFemtoEventReaderESDChain.h:121 AliFemtoEventReaderESDChain.h:122 AliFemtoEventReaderESDChain.h:123