#ifndef ALICALOTRACKMCREADER_H
#define ALICALOTRACKMCREADER_H
class TArrayI ;
class TParticle ;
#include "AliCaloTrackReader.h"
class AliVCluster ;
class AliAODTrack ;
class AliAODEvent ;
class AliMCEvent ;
class AliVEvent ;
class AliCaloTrackMCReader : public AliCaloTrackReader {
public:
AliCaloTrackMCReader() ;
virtual ~AliCaloTrackMCReader() ;
void CheckOverlap(Float_t anglethres, Int_t imom, Int_t & iPrimary, Int_t & index, Int_t & pdg);
void FillCalorimeters(Int_t & iParticle, TParticle* particle) ;
Bool_t FillInputEvent(Int_t iEntry, const char * currentFileName) ;
void InitParameters();
void MakePi0Decay() ;
void Print(const Option_t * opt) const;
void SetCaloClusterPID (Int_t pdgCode, AliVCluster *calo ) const ;
void SetTrackChargeAndPID(Int_t pdgCode, AliAODTrack *track) const ;
void SetInputOutputMCEvent(AliVEvent* esd, AliAODEvent* aod, AliMCEvent* mc) ;
AliVEvent* GetInputEvent() const { return (AliVEvent *) GetMC() ; }
void GetVertex(Double_t v[3]) const ;
Double_t* GetVertex(Int_t evtIndex) const {return fVertex[evtIndex];}
void GetVertex(Double_t vertex[3], Int_t evtIndex) const
{ vertex[0]=fVertex[evtIndex][0]; vertex[1]=fVertex[evtIndex][1]; vertex[2]=fVertex[evtIndex][2]; }
void AddNeutralParticlesArray(TArrayI & array)
{ fNeutralParticlesArray = new TArrayI(array) ; }
TArrayI * GetNeutralParticlesArray() const { return fNeutralParticlesArray ; }
Bool_t SkipNeutralParticles(Int_t pdg) const ;
void AddChargedParticlesArray(TArrayI & array)
{ fChargedParticlesArray = new TArrayI(array) ; }
TArrayI * GetChargedParticlesArray() const { return fChargedParticlesArray ; }
Bool_t KeepChargedParticles(Int_t pdg) const ;
void AddStatusArray(TArrayI & array)
{ fStatusArray = new TArrayI(array) ; }
TArrayI * GetStatusArray() const { return fStatusArray ; }
void SwitchOnStatusSelection() { fKeepAllStatus = kFALSE ; }
void SwitchOffStatusSelection() { fKeepAllStatus = kTRUE ; }
Bool_t KeepParticleWithStatus(Int_t status) const ;
void SwitchOnOnlyGeneratorParticles() { fOnlyGeneratorParticles = kTRUE ; }
void SwitchOffOnlyGeneratorParticles() { fOnlyGeneratorParticles = kFALSE ; }
void SwitchOnPi0Decay() { fDecayPi0 = kTRUE ; }
void SwitchOffPi0Decay() { fDecayPi0 = kFALSE ; }
Int_t IsPi0DecaySwitchedOn() const { return fDecayPi0 ; }
void SwitchOnOverlapCheck() { fCheckOverlap = kTRUE ; }
void SwitchOffOverlapCheck() { fCheckOverlap = kFALSE ; }
Float_t GetEMCALOverlapAngle() const { return fEMCALOverlapAngle ; }
void SetEMCALOverlapAngle(Float_t angle) { fEMCALOverlapAngle = angle ; }
Float_t GetPHOSOverlapAngle() const { return fPHOSOverlapAngle ; }
void SetPHOSOverlapAngle (Float_t angle) { fPHOSOverlapAngle = angle ; }
private:
Bool_t fDecayPi0 ;
TArrayI * fNeutralParticlesArray ;
TArrayI * fChargedParticlesArray ;
TArrayI * fStatusArray ;
Bool_t fKeepAllStatus ;
Bool_t fCheckOverlap;
Float_t fEMCALOverlapAngle;
Float_t fPHOSOverlapAngle;
Int_t fIndex2ndPhoton;
Bool_t fOnlyGeneratorParticles;
TLorentzVector fMomentum;
TLorentzVector fPi0Momentum;
TLorentzVector fGamDecayMom1;
TLorentzVector fGamDecayMom2;
AliCaloTrackMCReader( const AliCaloTrackMCReader & r) ;
AliCaloTrackMCReader & operator = (const AliCaloTrackMCReader & r) ;
ClassDef(AliCaloTrackMCReader,5)
} ;
#endif //ALICALOTRACKMCREADER_H
AliCaloTrackMCReader.h:10 AliCaloTrackMCReader.h:11 AliCaloTrackMCReader.h:12 AliCaloTrackMCReader.h:13 AliCaloTrackMCReader.h:14 AliCaloTrackMCReader.h:15 AliCaloTrackMCReader.h:16 AliCaloTrackMCReader.h:17 AliCaloTrackMCReader.h:18 AliCaloTrackMCReader.h:19 AliCaloTrackMCReader.h:20 AliCaloTrackMCReader.h:21 AliCaloTrackMCReader.h:22 AliCaloTrackMCReader.h:23 AliCaloTrackMCReader.h:24 AliCaloTrackMCReader.h:25 AliCaloTrackMCReader.h:26 AliCaloTrackMCReader.h:27 AliCaloTrackMCReader.h:28 AliCaloTrackMCReader.h:29 AliCaloTrackMCReader.h:30 AliCaloTrackMCReader.h:31 AliCaloTrackMCReader.h:32 AliCaloTrackMCReader.h:33 AliCaloTrackMCReader.h:34 AliCaloTrackMCReader.h:35 AliCaloTrackMCReader.h:36 AliCaloTrackMCReader.h:37 AliCaloTrackMCReader.h:38 AliCaloTrackMCReader.h:39 AliCaloTrackMCReader.h:40 AliCaloTrackMCReader.h:41 AliCaloTrackMCReader.h:42 AliCaloTrackMCReader.h:43 AliCaloTrackMCReader.h:44 AliCaloTrackMCReader.h:45 AliCaloTrackMCReader.h:46 AliCaloTrackMCReader.h:47 AliCaloTrackMCReader.h:48 AliCaloTrackMCReader.h:49 AliCaloTrackMCReader.h:50 AliCaloTrackMCReader.h:51 AliCaloTrackMCReader.h:52 AliCaloTrackMCReader.h:53 AliCaloTrackMCReader.h:54 AliCaloTrackMCReader.h:55 AliCaloTrackMCReader.h:56 AliCaloTrackMCReader.h:57 AliCaloTrackMCReader.h:58 AliCaloTrackMCReader.h:59 AliCaloTrackMCReader.h:60 AliCaloTrackMCReader.h:61 AliCaloTrackMCReader.h:62 AliCaloTrackMCReader.h:63 AliCaloTrackMCReader.h:64 AliCaloTrackMCReader.h:65 AliCaloTrackMCReader.h:66 AliCaloTrackMCReader.h:67 AliCaloTrackMCReader.h:68 AliCaloTrackMCReader.h:69 AliCaloTrackMCReader.h:70 AliCaloTrackMCReader.h:71 AliCaloTrackMCReader.h:72 AliCaloTrackMCReader.h:73 AliCaloTrackMCReader.h:74 AliCaloTrackMCReader.h:75 AliCaloTrackMCReader.h:76 AliCaloTrackMCReader.h:77 AliCaloTrackMCReader.h:78 AliCaloTrackMCReader.h:79 AliCaloTrackMCReader.h:80 AliCaloTrackMCReader.h:81 AliCaloTrackMCReader.h:82 AliCaloTrackMCReader.h:83 AliCaloTrackMCReader.h:84 AliCaloTrackMCReader.h:85 AliCaloTrackMCReader.h:86 AliCaloTrackMCReader.h:87 AliCaloTrackMCReader.h:88 AliCaloTrackMCReader.h:89 AliCaloTrackMCReader.h:90 AliCaloTrackMCReader.h:91 AliCaloTrackMCReader.h:92 AliCaloTrackMCReader.h:93 AliCaloTrackMCReader.h:94 AliCaloTrackMCReader.h:95 AliCaloTrackMCReader.h:96 AliCaloTrackMCReader.h:97 AliCaloTrackMCReader.h:98 AliCaloTrackMCReader.h:99 AliCaloTrackMCReader.h:100 AliCaloTrackMCReader.h:101 AliCaloTrackMCReader.h:102 AliCaloTrackMCReader.h:103 AliCaloTrackMCReader.h:104 AliCaloTrackMCReader.h:105 AliCaloTrackMCReader.h:106 AliCaloTrackMCReader.h:107 AliCaloTrackMCReader.h:108 AliCaloTrackMCReader.h:109 AliCaloTrackMCReader.h:110 AliCaloTrackMCReader.h:111 AliCaloTrackMCReader.h:112 AliCaloTrackMCReader.h:113 AliCaloTrackMCReader.h:114 AliCaloTrackMCReader.h:115 AliCaloTrackMCReader.h:116 AliCaloTrackMCReader.h:117 AliCaloTrackMCReader.h:118 AliCaloTrackMCReader.h:119 AliCaloTrackMCReader.h:120 AliCaloTrackMCReader.h:121 AliCaloTrackMCReader.h:122 AliCaloTrackMCReader.h:123 AliCaloTrackMCReader.h:124 AliCaloTrackMCReader.h:125 AliCaloTrackMCReader.h:126 AliCaloTrackMCReader.h:127 AliCaloTrackMCReader.h:128 AliCaloTrackMCReader.h:129 AliCaloTrackMCReader.h:130 AliCaloTrackMCReader.h:131 AliCaloTrackMCReader.h:132 AliCaloTrackMCReader.h:133 AliCaloTrackMCReader.h:134