1 #include "AliKFConversionPhoton.h"
2 // #include "AliV0Reader.h"
3 #include "AliESDtrack.h"
10 ClassImp(AliKFConversionPhoton)
12 AliKFConversionPhoton::AliKFConversionPhoton() :
14 AliConversionPhotonBase()
19 AliKFConversionPhoton::AliKFConversionPhoton(AliKFParticle & kfparticle) :
20 AliKFParticle(kfparticle),
21 AliConversionPhotonBase()
28 // AliKFConversionPhoton::AliKFConversionPhoton(AliV0Reader *fV0Reader) ://,AliESDEvent *fESDEvent) :
29 // AliKFParticle(*fV0Reader->GetMotherCandidateKFCombination()),
30 // AliConversionPhotonBase()
34 // fV0Index=fV0Reader->GetCurrentV0IndexNumber()-1; //?? Checked and its correct
36 // //Default constructor
37 // fLabel[0] = fV0Reader->GetCurrentV0()->GetPindex();
38 // fLabel[1] = fV0Reader->GetCurrentV0()->GetNindex();
40 // SetArmenterosQtAlpha(fArmenteros,*fV0Reader->GetNegativeKFParticle(),*fV0Reader->GetPositiveKFParticle());
42 // fConversionPoint[0]=fV0Reader->GetX();
43 // fConversionPoint[1]=fV0Reader->GetY();
44 // fConversionPoint[2]=fV0Reader->GetZ();
48 // Double_t ndf=fV0Reader->GetMotherCandidateNDF();
49 // if(ndf>0)fChi2perNDF=fV0Reader->GetMotherCandidateChi2()/ndf;
52 // SetPsiPair(fV0Reader->GetPsiPair(fV0Reader->GetCurrentV0()));
56 AliKFConversionPhoton::AliKFConversionPhoton(const AliKFParticle &fCurrentNegativeKFParticle,const AliKFParticle &fCurrentPositiveKFParticle) :
57 AliKFParticle(fCurrentNegativeKFParticle,fCurrentPositiveKFParticle),
58 AliConversionPhotonBase()
60 SetArmenterosQtAlpha(fArmenteros,fCurrentNegativeKFParticle,fCurrentPositiveKFParticle);
62 if(GetNDF())fChi2perNDF=GetChi2()/GetNDF();
68 AliKFConversionPhoton::AliKFConversionPhoton(const AliKFConversionPhoton & original) :
69 AliKFParticle(original),
70 AliConversionPhotonBase(original)
74 void AliKFConversionPhoton::ConstructGamma(const AliKFParticle &fCurrentNegativeKFParticle,const AliKFParticle &fCurrentPositiveKFParticle)
77 AliKFParticle::ConstructGamma(fCurrentNegativeKFParticle,fCurrentPositiveKFParticle);
80 SetArmenterosQtAlpha(fArmenteros,fCurrentNegativeKFParticle,fCurrentPositiveKFParticle);
83 AliKFConversionPhoton & AliKFConversionPhoton::operator = (const AliKFConversionPhoton & /*source*/)
85 // assignment operator
90 void AliKFConversionPhoton::SetArmenterosQtAlpha(Double_t armenteros[2],const AliKFParticle &fCurrentNegativeParticle,const AliKFParticle &fCurrentPositiveParticle){
93 AliKFParticle PosParticle = fCurrentPositiveParticle;
94 AliKFParticle NegParticle = fCurrentNegativeParticle;
97 Gamma += fCurrentPositiveParticle;
98 Gamma += fCurrentNegativeParticle;
100 Double_t VertexGamma[3] = {Gamma.GetX(), Gamma.GetY(), Gamma.GetZ()};
101 PosParticle.TransportToPoint(VertexGamma);
102 NegParticle.TransportToPoint(VertexGamma);
104 AliKFParticle::GetArmenterosPodolanski(PosParticle,NegParticle, armenteros);
108 Double_t AliKFConversionPhoton::Phi() const
112 Double_t phi = AliKFParticle::GetPhi();
113 if (phi < 0.) phi += 2. * TMath::Pi();