]>
Commit | Line | Data |
---|---|---|
76ce4b5b | 1 | /////////////////////////////////////////////////////////////////////////// |
2 | // // | |
3 | // AliFemtoXi: special type of particle desling with the specifics // | |
4 | // of the Xi type of particle // | |
5 | // It stores the information both about the Xi itself and about it's // | |
6 | // daughters, as well as the bachelor particle from first decay vertex // | |
7 | // so that the caut betwen the daughter characteristics and the bachelor // | |
8 | // is possible. // | |
9 | // // | |
10 | /////////////////////////////////////////////////////////////////////////// | |
11 | #include "AliFemtoXi.h" | |
12 | #include "phys_constants.h" | |
13 | ||
14 | // ----------------------------------------------------------------------- | |
15 | AliFemtoXi::AliFemtoXi(): | |
16 | fCharge(0), fDecayLengthXi(0), | |
17 | fDecayVertexXi(0), | |
18 | fDcaXiDaughters(0), fDcaXiToPrimVertex(0), fDcaBachelorToPrimVertex(0), | |
19 | fMomBachelor(0), fKeyBachelor(0), | |
20 | fTpcHitsBac(0), fChi2Xi(0), fClXi(0), fChi2Bachelor(0), fClBachelor(0), | |
21 | fDedxBachelor(0), fNufDedxBachelor(0), fMomXi(0), | |
22 | fAlphaXi(0), fPtArmXi(0), | |
23 | fEXi(0), fEOmega(0), fEBacPion(0), fEBacKaon(0), | |
24 | fMassXi(0), fMassOmega(0), fRapXi(0), fRapOmega(0), | |
25 | fCTauXi(0), fCTauOmega(0), | |
26 | fPtXi(0), fPtotXi(0), fPtBac(0), fPtotBac(0), | |
27 | fKeyBac(0) | |
28 | { | |
29 | fTopologyMapBachelor[0] = 0; | |
30 | fTopologyMapBachelor[1] = 0; | |
31 | } | |
32 | // ----------------------------------------------------------------------- | |
33 | void AliFemtoXi::UpdateXi(){ | |
34 | //Calc. derived members of the xi class | |
35 | float tMomV0AlongXi, tMomBacAlongXi; | |
36 | ||
37 | fMomXi = MomV0() + MomBac(); | |
38 | fPtXi = fMomXi.Perp(); | |
39 | fPtotXi = fMomXi.Mag(); | |
40 | fPtBac = MomBac().Perp(); | |
41 | fPtotBac= MomBac().Mag(); | |
42 | fEXi= ::sqrt(fPtotXi*fPtotXi+kMXIMINUS*kMXIMINUS); | |
43 | fEOmega= ::sqrt(fPtotXi*fPtotXi+kMOMEGAMINUS*kMOMEGAMINUS); | |
44 | fEBacPion = ::sqrt(PtotBac()*PtotBac()+kMPIONMINUS*kMPIONMINUS); | |
45 | fEBacKaon = ::sqrt(PtotBac()*PtotBac()+kMKAONMINUS*kMKAONMINUS); | |
46 | ||
47 | tMomV0AlongXi = MomV0()*fMomXi / ::sqrt(::pow(fPtotXi,2)); | |
48 | tMomBacAlongXi = MomBac()*fMomXi / ::sqrt(::pow(fPtotXi,2)); | |
49 | ||
50 | fAlphaXi = (tMomBacAlongXi-tMomV0AlongXi)/(tMomBacAlongXi+tMomV0AlongXi); | |
51 | fPtArmXi = ::sqrt(PtotBac()*PtotBac() - tMomBacAlongXi*tMomBacAlongXi); | |
52 | fMassXi = ::sqrt(::pow(EBacPion()+ELambda(),2)-::pow(fPtotXi,2)); | |
53 | fMassOmega = ::sqrt(::pow(EBacKaon()+ELambda(),2)-::pow(fPtotXi,2)); | |
54 | ||
55 | fRapXi = 0.5*::log( (EXi()+fMomXi.z()) / (EXi()-fMomXi.z()) ); | |
56 | fCTauXi = kMXIMINUS*(fDecayLengthXi) / ::sqrt( ::pow((double)fMomXi.Mag(),2.) ); | |
57 | ||
58 | fRapOmega = 0.5*::log( (EOmega()+fMomXi.z()) / (EOmega()-fMomXi.z()) );// eO, | |
59 | fCTauOmega = kMOMEGAMINUS*(fDecayLengthXi) / ::sqrt( ::pow((double)fMomXi.Mag(),2.) ); | |
60 | } | |
61 | // ----------------------------------------------------------------------- | |
62 | #ifdef __ROOT__ | |
63 | #ifndef __NO_STAR_DEPENDENCE_ALLOWED__ | |
64 | #include "StStrangeMuDstMaker/StXiMuDst.h" | |
65 | AliFemtoXi::AliFemtoXi( StXiMuDst& xiFromMuDst) : AliFemtoV0(xiFromMuDst) { // from strangess micro dst structure | |
66 | UpdateV0(); // the v0 stuff | |
67 | ||
68 | ||
69 | fCharge = xiFromMuDst.charge(); | |
70 | fDecayLengthXi = xiFromMuDst.decayLengthXi(); // 12/07/2001 Gael | |
71 | fDecayVertexXi.setX(xiFromMuDst.decayVertexXiX()); | |
72 | fDecayVertexXi.setY(xiFromMuDst.decayVertexXiY()); | |
73 | fDecayVertexXi.setZ(xiFromMuDst.decayVertexXiZ()); | |
74 | fDcaXiDaughters = xiFromMuDst.dcaXiDaughters(); | |
75 | fDcaBachelorToPrimVertex = xiFromMuDst.dcaBachelorToPrimVertex(); | |
76 | fDcaXiToPrimVertex = xiFromMuDst.dcaXiToPrimVertex(); | |
77 | fMomBachelor.setX(xiFromMuDst.momBachelorX()); | |
78 | fMomBachelor.setY(xiFromMuDst.momBachelorY()); | |
79 | fMomBachelor.setZ(xiFromMuDst.momBachelorZ()); | |
80 | ||
81 | fKeyBachelor = xiFromMuDst.keyBachelor(); | |
82 | fTopologyMapBachelor[0] = xiFromMuDst.topologyMapBachelor().data(1); | |
83 | fTopologyMapBachelor[1] = xiFromMuDst.topologyMapBachelor().data(2); | |
84 | fTpcHitsBac = xiFromMuDst.topologyMapBachelor().numberOfHits(kTpcId); // 12/07/2001 Gael | |
85 | ||
86 | fChi2Xi = xiFromMuDst.chi2Xi();//nulle | |
87 | fClXi = xiFromMuDst.clXi();//nulle | |
88 | fChi2Bachelor = xiFromMuDst.chi2Bachelor(); | |
89 | fClBachelor = xiFromMuDst.clBachelor(); | |
90 | ||
91 | fDedxBachelor = xiFromMuDst.dedxBachelor(); | |
92 | fNufDedxBachelor = xiFromMuDst.nufDedxBachelor(); | |
93 | ||
94 | UpdateXi(); // the xi stuff | |
95 | ||
96 | } | |
97 | ||
98 | #endif // __NO_STAR_DEPENDENCE_ALLOWED__ | |
99 | #endif // __ROOT__ | |
100 |