#ifndef ALIAODCONVERSIONPHOTON_H
#define ALIAODCONVERSIONPHOTON_H
#include "AliConversionPhotonBase.h"
#include "AliKFConversionPhoton.h"
#include "AliAODConversionParticle.h"
class AliAODConversionPhoton : public AliAODConversionParticle, public AliConversionPhotonBase {
public:
enum caloPhotonMCFlags_t {
kIsPhoton = 0x001, kIsElectron = 0x002, kIsConversion = 0x004, kIsConversionFullyContained = 0x008,
kIsMerged = 0x010, kIsMergedPartConv = 0x020, kIsDalitz = 0x040, kIsDalitzMerged = 0x080,
kIsPhotonWithElecMother = 0x100, kIsShower = 0x200, kIsSubLeadingEM= 0x400
};
AliAODConversionPhoton();
AliAODConversionPhoton(AliKFConversionPhoton *kfphoton);
AliAODConversionPhoton(TLorentzVector *vec);
AliAODConversionPhoton(const AliAODConversionPhoton & g);
AliAODConversionPhoton & operator = (const AliAODConversionPhoton & g);
virtual ~AliAODConversionPhoton();
virtual Int_t GetLabel(Int_t i) const { return AliConversionPhotonBase::GetTrackLabel(i); }
virtual Int_t GetLabel1() const { return AliConversionPhotonBase::GetTrackLabelPositive(); }
virtual Int_t GetLabel2() const { return AliConversionPhotonBase::GetTrackLabelNegative(); }
virtual Double_t GetPhotonMass() const {return AliAODConversionParticle::M();}
virtual Double_t GetPhotonPt() const {return AliAODConversionParticle::Pt();}
virtual Double_t GetPhotonP() const {return AliAODConversionParticle::P();}
virtual Double_t GetPhotonEta() const {return AliAODConversionParticle::Eta();}
virtual Double_t GetPhotonTheta() const {return AliAODConversionParticle::Theta();}
virtual Double_t GetPhotonPhi() const {return AliAODConversionParticle::Phi();}
virtual Double_t GetPx() const { return AliAODConversionParticle::Px();}
virtual Double_t GetPy() const { return AliAODConversionParticle::Py();}
virtual Double_t GetPz() const { return AliAODConversionParticle::Pz();}
void CalculateDistanceOfClossetApproachToPrimVtx(const AliVVertex* primVertex);
void SetMassToZero() { SetE(P()); }
void SetIsTrueConvertedPhoton(){
fCaloPhoton = 0;
fCaloPhotonMCFlags = 1;
}
Float_t GetDCAzToPrimVtx()const {return fDCAzPrimVtx;}
Float_t GetDCArToPrimVtx()const {return fDCArPrimVtx;}
void SetIsCaloPhoton(){fCaloPhoton =1;}
Bool_t GetIsCaloPhoton(){return fCaloPhoton;}
void SetCaloPhotonMCLabel(Int_t i, Int_t labelCaloPhoton){fCaloPhotonMCLabels[i] = labelCaloPhoton;}
Int_t GetCaloPhotonMCLabel(Int_t i){return fCaloPhotonMCLabels[i];}
void SetNCaloPhotonMCLabels(Int_t nLabels){fNCaloPhotonMCLabels = nLabels;}
Int_t GetNCaloPhotonMCLabels(){return fNCaloPhotonMCLabels;}
Int_t GetNCaloPhotonMotherMCLabels(){return fNCaloPhotonMotherMCLabels;}
void SetCaloPhotonMCFlags(AliStack *MCStack);
void SetCaloPhotonMCFlagsAOD(AliVEvent* event);
void SetCaloClusterRef(Long_t ref){fCaloClusterRef = ref;}
Long_t GetCaloClusterRef()const {return fCaloClusterRef;}
Bool_t IsLargestComponentPhoton(){return fCaloPhotonMCFlags&kIsPhoton;}
Bool_t IsLargestComponentElectron(){return fCaloPhotonMCFlags&kIsElectron;}
Bool_t IsConversion(){return fCaloPhotonMCFlags&kIsConversion;}
Bool_t IsConversionFullyContained(){return fCaloPhotonMCFlags&kIsConversionFullyContained;}
Bool_t IsMerged(){return fCaloPhotonMCFlags&kIsMerged;}
Bool_t IsMergedPartConv(){return fCaloPhotonMCFlags&kIsMergedPartConv;}
Bool_t IsDalitz(){return fCaloPhotonMCFlags&kIsDalitz;}
Bool_t IsDalitzMerged(){return fCaloPhotonMCFlags&kIsDalitzMerged;}
Bool_t IsPhotonWithElecMother(){return fCaloPhotonMCFlags&kIsPhotonWithElecMother;}
Bool_t IsShower(){return fCaloPhotonMCFlags&kIsShower;}
Bool_t IsEMNonLeading(){return !(fCaloPhotonMCFlags&kIsPhoton) && !(fCaloPhotonMCFlags&kIsElectron);}
Bool_t IsSubLeadingEM(){return fCaloPhotonMCFlags&kIsSubLeadingEM;}
Bool_t IsTrueConvertedPhoton() {
if (!fCaloPhoton && fCaloPhotonMCFlags == 1) return kTRUE;
else return kFALSE;
}
Float_t fDCArPrimVtx;
Float_t fDCAzPrimVtx;
Bool_t fCaloPhoton;
Long_t fCaloClusterRef;
Int_t fNCaloPhotonMCLabels;
Int_t fNCaloPhotonMotherMCLabels;
Int_t fCaloPhotonMCFlags;
Int_t fCaloPhotonMCLabels[20];
Int_t fCaloPhotonMotherMCLabels[20];
ClassDef(AliAODConversionPhoton,4)
};
#endif
AliAODConversionPhoton.h:1 AliAODConversionPhoton.h:2 AliAODConversionPhoton.h:3 AliAODConversionPhoton.h:4 AliAODConversionPhoton.h:5 AliAODConversionPhoton.h:6 AliAODConversionPhoton.h:7 AliAODConversionPhoton.h:8 AliAODConversionPhoton.h:9 AliAODConversionPhoton.h:10 AliAODConversionPhoton.h:11 AliAODConversionPhoton.h:12 AliAODConversionPhoton.h:13 AliAODConversionPhoton.h:14 AliAODConversionPhoton.h:15 AliAODConversionPhoton.h:16 AliAODConversionPhoton.h:17 AliAODConversionPhoton.h:18 AliAODConversionPhoton.h:19 AliAODConversionPhoton.h:20 AliAODConversionPhoton.h:21 AliAODConversionPhoton.h:22 AliAODConversionPhoton.h:23 AliAODConversionPhoton.h:24 AliAODConversionPhoton.h:25 AliAODConversionPhoton.h:26 AliAODConversionPhoton.h:27 AliAODConversionPhoton.h:28 AliAODConversionPhoton.h:29 AliAODConversionPhoton.h:30 AliAODConversionPhoton.h:31 AliAODConversionPhoton.h:32 AliAODConversionPhoton.h:33 AliAODConversionPhoton.h:34 AliAODConversionPhoton.h:35 AliAODConversionPhoton.h:36 AliAODConversionPhoton.h:37 AliAODConversionPhoton.h:38 AliAODConversionPhoton.h:39 AliAODConversionPhoton.h:40 AliAODConversionPhoton.h:41 AliAODConversionPhoton.h:42 AliAODConversionPhoton.h:43 AliAODConversionPhoton.h:44 AliAODConversionPhoton.h:45 AliAODConversionPhoton.h:46 AliAODConversionPhoton.h:47 AliAODConversionPhoton.h:48 AliAODConversionPhoton.h:49 AliAODConversionPhoton.h:50 AliAODConversionPhoton.h:51 AliAODConversionPhoton.h:52 AliAODConversionPhoton.h:53 AliAODConversionPhoton.h:54 AliAODConversionPhoton.h:55 AliAODConversionPhoton.h:56 AliAODConversionPhoton.h:57 AliAODConversionPhoton.h:58 AliAODConversionPhoton.h:59 AliAODConversionPhoton.h:60 AliAODConversionPhoton.h:61 AliAODConversionPhoton.h:62 AliAODConversionPhoton.h:63 AliAODConversionPhoton.h:64 AliAODConversionPhoton.h:65 AliAODConversionPhoton.h:66 AliAODConversionPhoton.h:67 AliAODConversionPhoton.h:68 AliAODConversionPhoton.h:69 AliAODConversionPhoton.h:70 AliAODConversionPhoton.h:71 AliAODConversionPhoton.h:72 AliAODConversionPhoton.h:73 AliAODConversionPhoton.h:74 AliAODConversionPhoton.h:75 AliAODConversionPhoton.h:76 AliAODConversionPhoton.h:77 AliAODConversionPhoton.h:78 AliAODConversionPhoton.h:79 AliAODConversionPhoton.h:80 AliAODConversionPhoton.h:81 AliAODConversionPhoton.h:82 AliAODConversionPhoton.h:83 AliAODConversionPhoton.h:84 AliAODConversionPhoton.h:85 AliAODConversionPhoton.h:86 AliAODConversionPhoton.h:87 AliAODConversionPhoton.h:88 AliAODConversionPhoton.h:89 AliAODConversionPhoton.h:90 AliAODConversionPhoton.h:91 AliAODConversionPhoton.h:92 AliAODConversionPhoton.h:93 AliAODConversionPhoton.h:94 AliAODConversionPhoton.h:95 AliAODConversionPhoton.h:96 AliAODConversionPhoton.h:97 AliAODConversionPhoton.h:98 AliAODConversionPhoton.h:99 AliAODConversionPhoton.h:100 AliAODConversionPhoton.h:101 AliAODConversionPhoton.h:102 AliAODConversionPhoton.h:103 AliAODConversionPhoton.h:104 AliAODConversionPhoton.h:105 AliAODConversionPhoton.h:106