]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG2/FEMTOSCOPY/AliFemto/AliFemtoXi.cxx
V0 rescaling in MC and multiple bins in correct.C
[u/mrichter/AliRoot.git] / PWG2 / FEMTOSCOPY / AliFemto / AliFemtoXi.cxx
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 {/* no-op */}
29 // -----------------------------------------------------------------------
30 void AliFemtoXi::UpdateXi(){
31   //Calc. derived members of the xi class
32   float tMomV0AlongXi, tMomBacAlongXi;
33
34    fMomXi  = MomV0() + MomBac(); 
35    fPtXi   = fMomXi.Perp();
36    fPtotXi = fMomXi.Mag();
37    fPtBac  = MomBac().Perp();
38    fPtotBac= MomBac().Mag();
39    fEXi= ::sqrt(fPtotXi*fPtotXi+M_XI_MINUS*M_XI_MINUS);
40    fEOmega= ::sqrt(fPtotXi*fPtotXi+M_OMEGA_MINUS*M_OMEGA_MINUS);
41    fEBacPion = ::sqrt(PtotBac()*PtotBac()+M_PION_MINUS*M_PION_MINUS);
42    fEBacKaon = ::sqrt(PtotBac()*PtotBac()+M_KAON_MINUS*M_KAON_MINUS);
43
44    tMomV0AlongXi  =  MomV0()*fMomXi / ::sqrt(::pow(fPtotXi,2));
45    tMomBacAlongXi =  MomBac()*fMomXi / ::sqrt(::pow(fPtotXi,2));
46
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));
51
52    fRapXi = 0.5*::log( (EXi()+fMomXi.z()) / (EXi()-fMomXi.z()) );
53    fCTauXi = M_XI_MINUS*(fDecayLengthXi) / ::sqrt( ::pow((double)fMomXi.Mag(),2.) );
54    
55    fRapOmega = 0.5*::log( (EOmega()+fMomXi.z()) / (EOmega()-fMomXi.z()) );// eO,
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