1 #include "Infrastructure/AliFemtoXi.h"
2 #include "phys_constants.h"
4 // -----------------------------------------------------------------------
5 AliFemtoXi::AliFemtoXi():
6 fCharge(0), fDecayLengthXi(0),
8 fDcaXiDaughters(0), fDcaXiToPrimVertex(0), fDcaBachelorToPrimVertex(0),
9 fMomBachelor(0), fKeyBachelor(0),
10 fTpcHitsBac(0), fChi2Xi(0), fClXi(0), fChi2Bachelor(0), fClBachelor(0),
11 fDedxBachelor(0), fNufDedxBachelor(0), fMomXi(0),
12 fAlphaXi(0), fPtArmXi(0),
13 fEXi(0), fEOmega(0), fEBacPion(0), fEBacKaon(0),
14 fMassXi(0), fMassOmega(0), fRapXi(0), fRapOmega(0),
15 fCTauXi(0), fCTauOmega(0),
16 fPtXi(0), fPtotXi(0), fPtBac(0), fPtotBac(0),
19 // -----------------------------------------------------------------------
20 void AliFemtoXi::UpdateXi(){
21 //Calc. derived members of the xi class
22 float MomV0AlongXi, MomBacAlongXi;
24 fMomXi = momV0() + momBac();
25 fPtXi = fMomXi.perp();
26 fPtotXi = fMomXi.mag();
27 fPtBac = momBac().perp();
28 fPtotBac= momBac().mag();
29 fEXi= ::sqrt(fPtotXi*fPtotXi+M_XI_MINUS*M_XI_MINUS);
30 fEOmega= ::sqrt(fPtotXi*fPtotXi+M_OMEGA_MINUS*M_OMEGA_MINUS);
31 fEBacPion = ::sqrt(ptotBac()*ptotBac()+M_PION_MINUS*M_PION_MINUS);
32 fEBacKaon = ::sqrt(ptotBac()*ptotBac()+M_KAON_MINUS*M_KAON_MINUS);
34 MomV0AlongXi = momV0()*fMomXi / ::sqrt(::pow(fPtotXi,2));
35 MomBacAlongXi = momBac()*fMomXi / ::sqrt(::pow(fPtotXi,2));
37 fAlphaXi = (MomBacAlongXi-MomV0AlongXi)/(MomBacAlongXi+MomV0AlongXi);
38 fPtArmXi = ::sqrt(ptotBac()*ptotBac() - MomBacAlongXi*MomBacAlongXi);
39 fMassXi = ::sqrt(::pow(eBacPion()+eLambda(),2)-::pow(fPtotXi,2));
40 fMassOmega = ::sqrt(::pow(eBacKaon()+eLambda(),2)-::pow(fPtotXi,2));
42 fRapXi = 0.5*::log( (eXi()+fMomXi.z()) / (eXi()-fMomXi.z()) );
43 fCTauXi = M_XI_MINUS*(fDecayLengthXi) / ::sqrt( ::pow((double)fMomXi.mag(),2.) );
45 fRapOmega = 0.5*::log( (eOmega()+fMomXi.z()) / (eOmega()-fMomXi.z()) );// eO,
46 fCTauOmega = M_OMEGA_MINUS*(fDecayLengthXi) / ::sqrt( ::pow((double)fMomXi.mag(),2.) );
48 // -----------------------------------------------------------------------
50 #ifndef __NO_STAR_DEPENDENCE_ALLOWED__
51 #include "StStrangeMuDstMaker/StXiMuDst.h"
52 AliFemtoXi::AliFemtoXi( StXiMuDst& xiFromMuDst) : AliFemtoV0(xiFromMuDst) { // from strangess micro dst structure
53 UpdateV0(); // the v0 stuff
56 fCharge = xiFromMuDst.charge();
57 fDecayLengthXi = xiFromMuDst.decayLengthXi(); // 12/07/2001 Gael
58 fDecayVertexXi.setX(xiFromMuDst.decayVertexXiX());
59 fDecayVertexXi.setY(xiFromMuDst.decayVertexXiY());
60 fDecayVertexXi.setZ(xiFromMuDst.decayVertexXiZ());
61 fDcaXiDaughters = xiFromMuDst.dcaXiDaughters();
62 fDcaBachelorToPrimVertex = xiFromMuDst.dcaBachelorToPrimVertex();
63 fDcaXiToPrimVertex = xiFromMuDst.dcaXiToPrimVertex();
64 fMomBachelor.setX(xiFromMuDst.momBachelorX());
65 fMomBachelor.setY(xiFromMuDst.momBachelorY());
66 fMomBachelor.setZ(xiFromMuDst.momBachelorZ());
68 fKeyBachelor = xiFromMuDst.keyBachelor();
69 fTopologyMapBachelor[0] = xiFromMuDst.topologyMapBachelor().data(1);
70 fTopologyMapBachelor[1] = xiFromMuDst.topologyMapBachelor().data(2);
71 fTpcHitsBac = xiFromMuDst.topologyMapBachelor().numberOfHits(kTpcId); // 12/07/2001 Gael
73 fChi2Xi = xiFromMuDst.chi2Xi();//nulle
74 fClXi = xiFromMuDst.clXi();//nulle
75 fChi2Bachelor = xiFromMuDst.chi2Bachelor();
76 fClBachelor = xiFromMuDst.clBachelor();
78 fDedxBachelor = xiFromMuDst.dedxBachelor();
79 fNufDedxBachelor = xiFromMuDst.nufDedxBachelor();
81 UpdateXi(); // the xi stuff
85 #endif // __NO_STAR_DEPENDENCE_ALLOWED__