1 #ifndef ALIGAMMAMCREADER_H
2 #define ALIGAMMAMCREADER_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
7 /* History of cvs commits:
13 //_________________________________________________________________________
14 // Class for reading data (Kinematics) in order to do prompt gamma correlations
15 // Class created from old AliPHOSGammaJet
16 // (see AliRoot versions previous Release 4-09)
18 //*-- Author: Gustavo Conesa (INFN-LNF)
20 // --- ROOT system ---
21 #include <TParticle.h>
22 #include <TClonesArray.h>
24 #include "AliGammaReader.h"
28 class AliGammaMCReader : public AliGammaReader {
32 AliGammaMCReader() ; // ctor
33 AliGammaMCReader(const AliGammaMCReader & g) ; // cpy ctor
34 AliGammaMCReader & operator = (const AliGammaMCReader & g) ;//cpy assignment
35 virtual ~AliGammaMCReader() {;} //virtual dtor
37 enum decay_t {kNoDecay, kGeantDecay, kDecay, kDecayGamma};
39 void InitParameters();
41 Bool_t IsInEMCAL(Double_t phi, Double_t eta) ;
42 Bool_t IsInPHOS(Double_t phi, Double_t eta) ;
44 Int_t GetDecayPi0Flag() const {return fDecayPi0 ; }
46 void Print(const Option_t * opt)const;
48 void SetDecayPi0Flag(Int_t d){ fDecayPi0 = d ; }
50 void SetCheckOverlapping(Bool_t check){fCheckOverlapping = check ;}
51 Bool_t IsCheckOverlappingOn() {return fCheckOverlapping ;}
55 void CaseDecayGamma(Int_t index, TParticle * particle, AliStack * stack,
56 TClonesArray * plEMCAL, Int_t &indexEMCAL,
57 TClonesArray * plPHOS, Int_t &indexPHOS);
59 void CaseGeantDecay(TParticle * particle, AliStack * stack,
60 TClonesArray * plEMCAL, Int_t &indexEMCAL,
61 TClonesArray * plPHOS, Int_t &indexPHOS);
63 void CasePi0Decay(TParticle * particle, TClonesArray * plEMCAL, Int_t &indexEMCAL,
64 TClonesArray * plPHOS, Int_t &indexPHOS);
66 void CreateParticleList(TObject * stack, TObject * ,
67 TClonesArray * plCh, TClonesArray * plEMCAL,
68 TClonesArray * plPHOS, TClonesArray * plParton,TClonesArray *,TClonesArray *);
70 void FillListWithDecayGammaOrPi0(TParticle * pPi0, TParticle * pdaug0, TParticle * pdaug1,
71 TClonesArray * plEMCAL, Int_t &indexEMCAL,
72 TClonesArray * plPHOS, Int_t &indexPHOS);
73 void MakePi0Decay(TLorentzVector &p0, TLorentzVector &p1, TLorentzVector &p2);//, Double_t &angle);
78 Int_t fDecayPi0; //Decay Pi0.
79 Bool_t fCheckOverlapping; // if True, check if gammas from decay overlapp in calorimeters.
81 ClassDef(AliGammaMCReader,1)
85 #endif //ALIGAMMAMCREADER_H