1 #ifndef __StMuPrimaryVertex_hh__
2 #define __StMuPrimaryVertex_hh__
11 #include "StThreeVectorF.hh"
20 StMuPrimaryVertex(): mFlag(0), mPosition(-999,-999,-999), mPosError(-999,-999,-999), mVertexFinderId(undefinedVertexFinder),
21 mRanking(999),mNTracksUsed(0), mNCTBMatch(0), mNBEMCMatch(0), mNEEMCMatch(0), mNCrossCentralMembrane(0),
22 mSumTrackPt(-999),mMeanDip(-999), mChiSquared(9999), mNTracks(0), mNTpcWestOnly(0), mNTpcEastOnly(0), mRefMultNeg(0), mRefMultPos(0), mRefMultFtpcWest(0),
23 mRefMultFtpcEast(0), mIdTruth(0), mQuality(0), mIdParent(0) {}
28 Int_t flag()
const {
return mFlag; }
31 StVertexFinderId vertexFinderId()
const {
return mVertexFinderId; }
32 Float_t ranking()
const {
return mRanking; }
33 UShort_t nTracksUsed()
const {
return mNTracksUsed; }
34 UShort_t nBTOFMatch()
const {
return mNBTOFMatch; }
35 UShort_t nCTBMatch()
const {
return mNCTBMatch; }
36 UShort_t nBEMCMatch()
const {
return mNBEMCMatch; }
37 UShort_t nEEMCMatch()
const {
return mNEEMCMatch; }
38 UShort_t nPostXtracks()
const {
return mNPostXTracks;}
39 UShort_t nPromptTracks()
const {
return mNTracksWithPromptHit;}
40 UShort_t nBTOFNotMatch()
const {
return mNBTOFNotMatch; }
41 UShort_t nCTBNotMatch()
const {
return mNCTBNotMatch; }
42 UShort_t nBEMCNotMatch()
const {
return mNBEMCNotMatch; }
43 UShort_t nEEMCNotMatch()
const {
return mNEEMCNotMatch; }
44 UShort_t nCrossCentralMembrane()
const {
return mNCrossCentralMembrane; }
45 UShort_t nTpcWestOnly()
const {
return mNTpcWestOnly; }
46 UShort_t nTpcEastOnly()
const {
return mNTpcEastOnly; }
48 Float_t sumTrackPt()
const {
return mSumTrackPt; }
49 Float_t meanDip()
const {
return mMeanDip; }
50 Float_t chiSquared()
const {
return mChiSquared; }
51 UShort_t noTracks()
const {
return mNTracks;}
52 UShort_t refMultPos()
const {
return mRefMultPos; }
53 UShort_t refMultNeg()
const {
return mRefMultNeg; }
54 UShort_t refMult()
const {
return refMultPos() + refMultNeg(); }
55 UShort_t refMultFtpcEast()
const {
return mRefMultFtpcEast; }
56 UShort_t refMultFtpcWest()
const {
return mRefMultFtpcWest; }
57 UShort_t refMultFtpc()
const {
return refMultFtpcEast() + refMultFtpcWest(); }
59 void setPosError(
const StThreeVectorF &pos_err) { mPosError = pos_err; }
60 Int_t idTruth()
const {
return mIdTruth;}
61 Int_t qaTruth()
const {
return mQuality; }
62 Int_t idParent()
const {
return mIdParent;}
63 void setFlag(Int_t val) { mFlag = val; }
64 void setIdTruth(Int_t idtru,Int_t qatru=0) {mIdTruth = (UShort_t) idtru; mQuality = (UShort_t) qatru;}
65 void setIdParent(Int_t
id) {mIdParent = id;}
66 Bool_t isBeamConstrained()
const {
return TESTBIT(mFlag,kBEAMConstrVtxId);}
67 virtual void Print(Option_t *option=
"")
const;
75 StVertexFinderId mVertexFinderId;
77 UShort_t mNTracksUsed;
82 UShort_t mNBTOFNotMatch;
83 UShort_t mNCTBNotMatch;
84 UShort_t mNBEMCNotMatch;
85 UShort_t mNEEMCNotMatch;
86 UShort_t mNCrossCentralMembrane;
87 UShort_t mNTracksWithPromptHit;
88 UShort_t mNPostXTracks;
93 UShort_t mNTpcWestOnly;
94 UShort_t mNTpcEastOnly;
98 UShort_t mRefMultFtpcWest;
99 UShort_t mRefMultFtpcEast;
virtual void Print(Option_t *option="") const
Print essential vertex info.