50 #include "phys_constants.h"
51 #include "StV0MuDst.hh"
53 #include "StTrackFitTraits.h"
54 #include "StV0Vertex.h"
55 #include "StStrangeEvMuDst.hh"
56 #include "StDedxPidTraits.h"
66 mDecayVertexV0X = v0Vertex->position().x();
67 mDecayVertexV0Y = v0Vertex->position().y();
68 mDecayVertexV0Z = v0Vertex->position().z();
69 mDcaV0Daughters = v0Vertex->dcaDaughters();
70 mDcaV0ToPrimVertex = TMath::Abs(v0Vertex->dcaParentToPrimaryVertex());
71 mDcaPosToPrimVertex = v0Vertex->dcaDaughterToPrimaryVertex(positive);
72 mDcaNegToPrimVertex = v0Vertex->dcaDaughterToPrimaryVertex(negative);
73 mMomNegX = v0Vertex->momentumOfDaughter(negative).x();
74 mMomNegY = v0Vertex->momentumOfDaughter(negative).y();
75 mMomNegZ = v0Vertex->momentumOfDaughter(negative).z();
76 mMomPosX = v0Vertex->momentumOfDaughter(positive).x();
77 mMomPosY = v0Vertex->momentumOfDaughter(positive).y();
78 mMomPosZ = v0Vertex->momentumOfDaughter(positive).z();
79 mChi2V0 = v0Vertex->chiSquared();
80 mClV0 = v0Vertex->probChiSquared();
82 StTrack* trk = v0Vertex->daughter(positive);
84 mTopologyMapPos = trk->topologyMap();
85 mChi2Pos = trk->fitTraits().chi2(0);
86 mClPos = trk->fitTraits().chi2(1);
91 StPtrVecTrackPidTraits pidPos = trk->pidTraits(kTpcId);
93 for (i=0; i<pidPos.size(); i++) {
95 if (pid->method() == kTruncatedMeanId) {
96 mDedxPos = pid->mean();
97 mErrDedxPos = pid->errorOnMean();
98 mNumDedxPos = pid->numberOfPoints() + (100*((int) (pid->length())));
103 trk = v0Vertex->daughter(negative);
104 mKeyNeg = trk->key();
105 mTopologyMapNeg = trk->topologyMap();
106 mChi2Neg = trk->fitTraits().chi2(0);
107 mClNeg = trk->fitTraits().chi2(1);
112 StPtrVecTrackPidTraits pidNeg = trk->pidTraits(kTpcId);
113 for (i=0; i<pidNeg.size(); i++) {
115 if (pid->method() == kTruncatedMeanId) {
116 mDedxNeg = pid->mean();
117 mErrDedxNeg = pid->errorOnMean();
118 mNumDedxNeg = pid->numberOfPoints() + (100*((int) (pid->length())));
124 StV0MuDst::~StV0MuDst() {
128 UInt_t tpcHits = map.numberOfHits(kTpcId);
129 UInt_t svtHits = map.numberOfHits(kSvtId);
130 UInt_t ssdHits = map.numberOfHits(kSvtId);
131 if (( tpcHits)&&(!svtHits)&&(!ssdHits))
return kTpcId;
132 if ((!tpcHits)&&( svtHits)&&(!ssdHits))
return kSvtId;
133 if ((!tpcHits)&&(!svtHits)&&( ssdHits))
return kSsdId;
134 if (( tpcHits)&&( svtHits)&&(!ssdHits))
return kTpcSvtId;
135 if (( tpcHits)&&(!svtHits)&&( ssdHits))
return kTpcSsdId;
136 if ((!tpcHits)&&( svtHits)&&( ssdHits))
return kSsdSvtId;
137 if (( tpcHits)&&( svtHits)&&( ssdHits))
return kTpcSsdSvtId;
142 return ((100*detectorIdTrack(mTopologyMapPos))+
143 detectorIdTrack(mTopologyMapNeg));
147 Long_t det_id_pos = detectorIdTrack(mTopologyMapPos);
148 Long_t det_id_neg = detectorIdTrack(mTopologyMapNeg);
149 if ((det_id_pos == kTpcId) ||(det_id_neg == kTpcId))
return 1;
150 if ((det_id_pos == kSvtId) ||(det_id_neg == kSvtId)||
151 (det_id_pos == kSsdId) ||(det_id_neg == kSsdId)||
152 (det_id_pos == kSsdSvtId)||(det_id_neg == kSsdSvtId))
return 2;
Long_t detectorIdV0()
Detector ID for V0 Vertex.
virtual Long_t detectorIdPars()
Detector ID for pars used in V0 finder.
void setPosBad()
Set the pos. daughter as bad.
StStrangeEvMuDst * event()
Pointer to event information.
void setNegBad()
Set the neg. daughter as bad.