]>
Commit | Line | Data |
---|---|---|
2eedd4ed | 1 | #include "AliAODConversionPhoton.h" |
2 | #include "AliKFConversionPhoton.h" | |
3 | ||
4 | using namespace std; | |
5 | ||
6 | ClassImp(AliAODConversionPhoton) | |
7 | ||
8 | AliAODConversionPhoton::AliAODConversionPhoton() : | |
9 | AliAODConversionParticle(), | |
4803eb1f | 10 | AliConversionPhotonBase(), |
11 | fDCArPrimVtx(0), | |
12 | fDCAzPrimVtx(0) | |
2eedd4ed | 13 | { |
3b77b2d1 | 14 | //Standard constructor |
2eedd4ed | 15 | } |
16 | ||
17 | AliAODConversionPhoton::AliAODConversionPhoton(AliKFConversionPhoton *kfphoton) : | |
3b77b2d1 | 18 | AliAODConversionParticle(kfphoton), |
4803eb1f | 19 | AliConversionPhotonBase(*((AliConversionPhotonBase*)kfphoton)), |
20 | fDCArPrimVtx(0), | |
21 | fDCAzPrimVtx(0) | |
2eedd4ed | 22 | { |
92efd725 | 23 | //Constructor from kfphoton |
24 | ||
25 | // puts the mass to zero and store dilepton mass | |
ae947965 | 26 | SetMass(kfphoton->M()); |
27 | //SetE(P()); | |
2eedd4ed | 28 | } |
29 | ||
92efd725 | 30 | AliAODConversionPhoton::AliAODConversionPhoton(TLorentzVector *vec) : |
31 | AliAODConversionParticle(vec), | |
4803eb1f | 32 | AliConversionPhotonBase(), |
33 | fDCArPrimVtx(0), | |
34 | fDCAzPrimVtx(0) | |
92efd725 | 35 | { |
36 | //Constructor from TLorentzVector | |
37 | } | |
38 | ||
39 | ||
40 | ||
2eedd4ed | 41 | AliAODConversionPhoton::AliAODConversionPhoton(const AliAODConversionPhoton & original) : |
42 | AliAODConversionParticle(original), | |
4803eb1f | 43 | AliConversionPhotonBase(original), |
44 | fDCArPrimVtx(original.fDCArPrimVtx), | |
45 | fDCAzPrimVtx(original.fDCAzPrimVtx) | |
2eedd4ed | 46 | { |
3b77b2d1 | 47 | //Copy constructor |
2eedd4ed | 48 | } |
49 | ||
3b77b2d1 | 50 | AliAODConversionPhoton::~AliAODConversionPhoton() |
51 | { | |
52 | // empty standard destructor | |
2eedd4ed | 53 | } |
54 | ||
55 | AliAODConversionPhoton & AliAODConversionPhoton::operator = (const AliAODConversionPhoton & /*source*/) | |
56 | { | |
57 | // assignment operator | |
58 | return *this; | |
59 | } | |
4803eb1f | 60 | |
61 | ///________________________________________________________________________ | |
62 | void AliAODConversionPhoton::CalculateDistanceOfClossetApproachToPrimVtx(const AliVVertex* primVertex ){ | |
63 | ||
64 | Double_t primCo[3] = {primVertex->GetX(),primVertex->GetY(),primVertex->GetZ()}; | |
65 | ||
66 | Double_t absoluteP = TMath::Sqrt(TMath::Power(GetPx(),2) + TMath::Power(GetPy(),2) + TMath::Power(GetPz(),2)); | |
67 | Double_t p[3] = {GetPx()/absoluteP,GetPy()/absoluteP,GetPz()/absoluteP}; | |
68 | Double_t CP[3]; | |
69 | ||
70 | CP[0] = fConversionPoint[0] - primCo[0]; | |
71 | CP[1] = fConversionPoint[1] - primCo[1]; | |
72 | CP[2] = fConversionPoint[2] - primCo[2]; | |
73 | ||
74 | Double_t Lambda = - (CP[0]*p[0]+CP[1]*p[1]+CP[2]*p[2])/(p[0]*p[0]+p[1]*p[1]+p[2]*p[2]); | |
75 | ||
76 | Double_t S[3]; | |
77 | S[0] = fConversionPoint[0] + p[0]*Lambda; | |
78 | S[1] = fConversionPoint[1] + p[1]*Lambda; | |
79 | S[2] = fConversionPoint[2] + p[2]*Lambda; | |
80 | ||
81 | fDCArPrimVtx = TMath::Sqrt( TMath::Power(primCo[0]-S[0],2) + TMath::Power(primCo[1]-S[1],2)); | |
82 | fDCAzPrimVtx = primCo[2]-S[2]; | |
83 | ||
84 | return; | |
85 | } | |
86 |