]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGCF/FEMTOSCOPY/AliFemto/AliFemtoXi.cxx
Merge branch 'master_patch'
[u/mrichter/AliRoot.git] / PWGCF / FEMTOSCOPY / AliFemto / AliFemtoXi.cxx
CommitLineData
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// -----------------------------------------------------------------------
15AliFemtoXi::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// -----------------------------------------------------------------------
33void 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"
65AliFemtoXi::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