StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StHbtXi.cc
1 #include "StHbtMaker/Infrastructure/StHbtXi.hh"
2 #include "StHbtMaker/Infrastructure/StHbtTTreeXi.h"
3 #include "phys_constants.h"
4 
5 // -----------------------------------------------------------------------
6 void StHbtXi::UpdateXi(){
7  //Calc. derived members of the xi class
8  float MomV0AlongXi, MomBacAlongXi;
9 
10  mMomXi = momV0() + momBac();
11  mPtXi = mMomXi.perp();
12  mPtotXi = mMomXi.mag();
13  mPtBac = momBac().perp();
14  mPtotBac= momBac().mag();
15  mEXi= ::sqrt(mPtotXi*mPtotXi+M_XI_MINUS*M_XI_MINUS);
16  mEOmega= ::sqrt(mPtotXi*mPtotXi+M_OMEGA_MINUS*M_OMEGA_MINUS);
17  mEBacPion = ::sqrt(ptotBac()*ptotBac()+M_PION_MINUS*M_PION_MINUS);
18  mEBacKaon = ::sqrt(ptotBac()*ptotBac()+M_KAON_MINUS*M_KAON_MINUS);
19 
20  MomV0AlongXi = momV0()*mMomXi / ::sqrt(::pow(mPtotXi,2));
21  MomBacAlongXi = momBac()*mMomXi / ::sqrt(::pow(mPtotXi,2));
22 
23  mAlphaXi = (MomBacAlongXi-MomV0AlongXi)/(MomBacAlongXi+MomV0AlongXi);
24  mPtArmXi = ::sqrt(ptotBac()*ptotBac() - MomBacAlongXi*MomBacAlongXi);
25  mMassXi = ::sqrt(::pow(eBacPion()+eLambda(),2)-::pow(mPtotXi,2));
26  mMassOmega = ::sqrt(::pow(eBacKaon()+eLambda(),2)-::pow(mPtotXi,2));
27 
28  mRapXi = 0.5*::log( (eXi()+mMomXi.z()) / (eXi()-mMomXi.z()) );
29  mCTauXi = M_XI_MINUS*(mDecayLengthXi) / ::sqrt( ::pow((double)mMomXi.mag(),2.) );
30 
31  mRapOmega = 0.5*::log( (eOmega()+mMomXi.z()) / (eOmega()-mMomXi.z()) );// eO,
32  mCTauOmega = M_OMEGA_MINUS*(mDecayLengthXi) / ::sqrt( ::pow((double)mMomXi.mag(),2.) );
33 }
34 // -----------------------------------------------------------------------
35 #ifdef __ROOT__
36 #include "StStrangeMuDstMaker/StXiMuDst.hh"
37 StHbtXi::StHbtXi( StXiMuDst& xiFromMuDst) : StHbtV0(xiFromMuDst) { // from strangess micro dst structure
38  UpdateV0(); // the v0 stuff
39 
40 
41  mCharge = xiFromMuDst.charge();
42  mDecayLengthXi = xiFromMuDst.decayLengthXi(); // 12/07/2001 Gael
43  mDecayVertexXi.setX(xiFromMuDst.decayVertexXiX());
44  mDecayVertexXi.setY(xiFromMuDst.decayVertexXiY());
45  mDecayVertexXi.setZ(xiFromMuDst.decayVertexXiZ());
46  mDcaXiDaughters = xiFromMuDst.dcaXiDaughters();
47  mDcaBachelorToPrimVertex = xiFromMuDst.dcaBachelorToPrimVertex();
48  mDcaXiToPrimVertex = xiFromMuDst.dcaXiToPrimVertex();
49  mMomBachelor.setX(xiFromMuDst.momBachelorX());
50  mMomBachelor.setY(xiFromMuDst.momBachelorY());
51  mMomBachelor.setZ(xiFromMuDst.momBachelorZ());
52 
53  mKeyBachelor = xiFromMuDst.keyBachelor();
54  mTopologyMapBachelor[0] = xiFromMuDst.topologyMapBachelor().data(1);
55  mTopologyMapBachelor[1] = xiFromMuDst.topologyMapBachelor().data(2);
56  mTpcHitsBac = xiFromMuDst.topologyMapBachelor().numberOfHits(kTpcId); // 12/07/2001 Gael
57 
58  mChi2Xi = xiFromMuDst.chi2Xi();//nulle
59  mClXi = xiFromMuDst.clXi();//nulle
60  mChi2Bachelor = xiFromMuDst.chi2Bachelor();
61  mClBachelor = xiFromMuDst.clBachelor();
62 
63  mDedxBachelor = xiFromMuDst.dedxBachelor();
64  mNumDedxBachelor = xiFromMuDst.numDedxBachelor();
65 
66  UpdateXi(); // the xi stuff
67 
68 }
69 
70 StHbtXi::StHbtXi(const StHbtTTreeEvent* ev, const StHbtTTreeXi* xi) : StHbtV0(ev, xi) {
71  mCharge = xi->mCharge;
72  mDecayVertexXi.setX(xi->mDecayVertexXiX);
73  mDecayVertexXi.setY(xi->mDecayVertexXiY);
74  mDecayVertexXi.setZ(xi->mDecayVertexXiZ);
75  mDcaXiDaughters = xi->mDcaXiDaughters;
76  mDcaBachelorToPrimVertex = xi->mDcaBachelorToPrimVertex;
77  mDcaXiToPrimVertex = xi->mDcaXiToPrimVertex;
78  mMomBachelor.setX(xi->mMomBachelorX);
79  mMomBachelor.setY(xi->mMomBachelorY);
80  mMomBachelor.setZ(xi->mMomBachelorZ);
81 
82  mKeyBachelor = xi->mKeyBachelor;
83  mTopologyMapBachelor[0] = xi->mTopologyMapBachelor[0];
84  mTopologyMapBachelor[1] = xi->mTopologyMapBachelor[1];
85 
86  mChi2Xi = xi->mChi2Xi;// nulle
87  mClXi = xi->mClXi;// nulle
88  mChi2Bachelor = xi->mChi2Bachelor;
89  mClBachelor = xi->mClBachelor;
90 
91  mDedxBachelor = xi->mDedxBachelor;
92  mNumDedxBachelor = xi->mNumDedxBachelor;
93 
94  UpdateXi();
95 }
96 #endif // __ROOT__
97 
Float_t chi2Xi() const
Chi square of Xi (used only by MuDst)
Definition: StXiMuDst.hh:127
Float_t clBachelor() const
Confidence level of bachelor.
Definition: StXiMuDst.hh:130
StTrackTopologyMap & topologyMapBachelor()
Bachelor track topology map.
Definition: StXiMuDst.hh:125
Float_t decayLengthXi() const
3-d decay distance of Xi
Definition: StXiI.hh:245
Float_t dcaBachelorToPrimVertex() const
DCA of bachelor to primary vertex.
Definition: StXiMuDst.hh:111
Float_t dcaXiDaughters() const
DCA of xi daughters at decay vertex.
Definition: StXiMuDst.hh:107
Int_t keyBachelor() const
Bachelor track key.
Definition: StXiMuDst.hh:124
Int_t charge() const
Particle charge.
Definition: StXiMuDst.hh:101
Float_t dcaXiToPrimVertex() const
DCA of xi to primary vertex.
Definition: StXiMuDst.hh:109
Float_t clXi() const
Confidence level of Xi.
Definition: StXiMuDst.hh:128
Float_t dedxBachelor() const
dE/dX of bachelor
Definition: StXiMuDst.hh:132
Float_t chi2Bachelor() const
Chi square of bachelor.
Definition: StXiMuDst.hh:129
Float_t momBachelorZ() const
Momentum components of bachelor.
Definition: StXiMuDst.hh:115
UShort_t numDedxBachelor() const
Number of dE/dX points for bachelor.
Definition: StXiMuDst.hh:134
Float_t decayVertexXiZ() const
Coordinates of decay vertex.
Definition: StXiMuDst.hh:105