]>
Commit | Line | Data |
---|---|---|
d0e92d9a | 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" | |
67427ff7 | 12 | #include "phys_constants.h" |
13 | ||
0215f606 | 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 | {/* no-op */} | |
67427ff7 | 29 | // ----------------------------------------------------------------------- |
30 | void AliFemtoXi::UpdateXi(){ | |
31 | //Calc. derived members of the xi class | |
d0e92d9a | 32 | float tMomV0AlongXi, tMomBacAlongXi; |
67427ff7 | 33 | |
d0e92d9a | 34 | fMomXi = MomV0() + MomBac(); |
67427ff7 | 35 | fPtXi = fMomXi.perp(); |
36 | fPtotXi = fMomXi.mag(); | |
d0e92d9a | 37 | fPtBac = MomBac().perp(); |
38 | fPtotBac= MomBac().mag(); | |
67427ff7 | 39 | fEXi= ::sqrt(fPtotXi*fPtotXi+M_XI_MINUS*M_XI_MINUS); |
40 | fEOmega= ::sqrt(fPtotXi*fPtotXi+M_OMEGA_MINUS*M_OMEGA_MINUS); | |
d0e92d9a | 41 | fEBacPion = ::sqrt(PtotBac()*PtotBac()+M_PION_MINUS*M_PION_MINUS); |
42 | fEBacKaon = ::sqrt(PtotBac()*PtotBac()+M_KAON_MINUS*M_KAON_MINUS); | |
67427ff7 | 43 | |
d0e92d9a | 44 | tMomV0AlongXi = MomV0()*fMomXi / ::sqrt(::pow(fPtotXi,2)); |
45 | tMomBacAlongXi = MomBac()*fMomXi / ::sqrt(::pow(fPtotXi,2)); | |
67427ff7 | 46 | |
d0e92d9a | 47 | fAlphaXi = (tMomBacAlongXi-tMomV0AlongXi)/(tMomBacAlongXi+tMomV0AlongXi); |
48 | fPtArmXi = ::sqrt(PtotBac()*PtotBac() - tMomBacAlongXi*tMomBacAlongXi); | |
49 | fMassXi = ::sqrt(::pow(EBacPion()+ELambda(),2)-::pow(fPtotXi,2)); | |
50 | fMassOmega = ::sqrt(::pow(EBacKaon()+ELambda(),2)-::pow(fPtotXi,2)); | |
67427ff7 | 51 | |
d0e92d9a | 52 | fRapXi = 0.5*::log( (EXi()+fMomXi.z()) / (EXi()-fMomXi.z()) ); |
67427ff7 | 53 | fCTauXi = M_XI_MINUS*(fDecayLengthXi) / ::sqrt( ::pow((double)fMomXi.mag(),2.) ); |
54 | ||
d0e92d9a | 55 | fRapOmega = 0.5*::log( (EOmega()+fMomXi.z()) / (EOmega()-fMomXi.z()) );// eO, |
67427ff7 | 56 | fCTauOmega = M_OMEGA_MINUS*(fDecayLengthXi) / ::sqrt( ::pow((double)fMomXi.mag(),2.) ); |
57 | } | |
58 | // ----------------------------------------------------------------------- | |
59 | #ifdef __ROOT__ | |
60 | #ifndef __NO_STAR_DEPENDENCE_ALLOWED__ | |
61 | #include "StStrangeMuDstMaker/StXiMuDst.h" | |
62 | AliFemtoXi::AliFemtoXi( StXiMuDst& xiFromMuDst) : AliFemtoV0(xiFromMuDst) { // from strangess micro dst structure | |
63 | UpdateV0(); // the v0 stuff | |
64 | ||
65 | ||
66 | fCharge = xiFromMuDst.charge(); | |
67 | fDecayLengthXi = xiFromMuDst.decayLengthXi(); // 12/07/2001 Gael | |
68 | fDecayVertexXi.setX(xiFromMuDst.decayVertexXiX()); | |
69 | fDecayVertexXi.setY(xiFromMuDst.decayVertexXiY()); | |
70 | fDecayVertexXi.setZ(xiFromMuDst.decayVertexXiZ()); | |
71 | fDcaXiDaughters = xiFromMuDst.dcaXiDaughters(); | |
72 | fDcaBachelorToPrimVertex = xiFromMuDst.dcaBachelorToPrimVertex(); | |
73 | fDcaXiToPrimVertex = xiFromMuDst.dcaXiToPrimVertex(); | |
74 | fMomBachelor.setX(xiFromMuDst.momBachelorX()); | |
75 | fMomBachelor.setY(xiFromMuDst.momBachelorY()); | |
76 | fMomBachelor.setZ(xiFromMuDst.momBachelorZ()); | |
77 | ||
78 | fKeyBachelor = xiFromMuDst.keyBachelor(); | |
79 | fTopologyMapBachelor[0] = xiFromMuDst.topologyMapBachelor().data(1); | |
80 | fTopologyMapBachelor[1] = xiFromMuDst.topologyMapBachelor().data(2); | |
81 | fTpcHitsBac = xiFromMuDst.topologyMapBachelor().numberOfHits(kTpcId); // 12/07/2001 Gael | |
82 | ||
83 | fChi2Xi = xiFromMuDst.chi2Xi();//nulle | |
84 | fClXi = xiFromMuDst.clXi();//nulle | |
85 | fChi2Bachelor = xiFromMuDst.chi2Bachelor(); | |
86 | fClBachelor = xiFromMuDst.clBachelor(); | |
87 | ||
88 | fDedxBachelor = xiFromMuDst.dedxBachelor(); | |
89 | fNufDedxBachelor = xiFromMuDst.nufDedxBachelor(); | |
90 | ||
91 | UpdateXi(); // the xi stuff | |
92 | ||
93 | } | |
94 | ||
95 | #endif // __NO_STAR_DEPENDENCE_ALLOWED__ | |
96 | #endif // __ROOT__ | |
97 |