1 #ifndef ALIJETPARTICLESREADERESD_H
2 #define ALIJETPARTICLESREADERESD_H
4 //___________________________________________________________________________
5 /////////////////////////////////////////////////////////////////////////////
7 // File reader for ESD //
9 // This reader reads tracks from Event Summary Data //
10 // taken from Piotr.Skowronski@cern.ch //
11 // more info: http://alisoft.cern.ch/people/skowron/analyzer/index.html //
13 // loizides@ikf.uni-frankfurt.de //
14 /////////////////////////////////////////////////////////////////////////////
17 #include <AliESDtrack.h>
18 #include "AliJetParticlesReader.h"
24 class AliJetParticlesReaderESD: public AliJetParticlesReader
27 AliJetParticlesReaderESD(Bool_t constrained,const Char_t* esdfilename = "AliESDs.root") ;
28 AliJetParticlesReaderESD(Bool_t constrained,TObjArray* dirs,const Char_t* esdfilename = "AliESDs.root");
30 void SetCompareFlag(ULong_t f){fPassFlag=f;}
31 void SetCompareFlagTPC() {fPassFlag=AliESDtrack::kTPCrefit;}
32 void SetCompareFlagBarrel() {fPassFlag=AliESDtrack::kITSrefit
33 +AliESDtrack::kTPCrefit+AliESDtrack::kTRDrefit;}
35 virtual ~AliJetParticlesReaderESD();
37 //Int_t Next(); //in base class
40 const AliESD* GetCurrentESD() const {return fESD;}
41 void PrintESDtrack(const AliESDtrack *kesdtrack) const;
44 virtual Int_t ReadESD(AliESD* esd); //read esd file/objects
45 Int_t ReadNext(); //read the next event
46 TFile* OpenFile(Int_t evno); //opens file to be read for given event
47 Bool_t IsAcceptedParticle(Float_t px, Float_t py, Float_t pz) const;
49 Bool_t fConstrained; // use constrained track parameters
50 TString fESDFileName; // name of the file with tracks
51 AliESD *fESD; //! pointer to current esd object
52 TFile* fFile; //! pointer to current ESD file
53 TTree* fTree; //! pointer to current tree with ESD objects
54 TIter* fKeyIterator; //! key iterator through file
55 ULong_t fPassFlag; //flag to compare esd flag with
57 ClassDef(AliJetParticlesReaderESD,2) //
60 inline Bool_t AliJetParticlesReaderESD::IsAcceptedParticle(Float_t pt, Float_t phi, Float_t eta) const
62 if((pt<fPtMin)||(pt>fPtMax)) return kFALSE;
63 if((eta<fEtaMin)||(eta>fEtaMax)) return kFALSE;
64 if((phi<fPhiMin)||(phi>fPhiMax)) return kFALSE;