StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StJetVertex.h
1 // -*- mode: c++ -*-
2 //
3 // Pibero Djawotho <pibero@tamu.edu>
4 // Texas A&M University
5 // 1 April 2010
6 //
7 
8 // Replica of StMuPrimaryVertex
9 
10 #ifndef ST_JET_VERTEX_H
11 #define ST_JET_VERTEX_H
12 
13 class TLorentzVector;
14 class StJetCandidate;
15 
16 #include "TObject.h"
17 #include "TVector3.h"
18 #include "TRefArray.h"
19 
20 class StJetVertex : public TObject {
21 public:
22  StJetVertex()
23  : mPosition(-999,-999,-999)
24  , mPosError(-999,-999,-999)
25  , mVertexFinderId(0)
26  , mRanking(-999)
27  , mNTracksUsed(0)
28  , mNBTOFMatch(0)
29  , mNCTBMatch(0)
30  , mNBEMCMatch(0)
31  , mNEEMCMatch(0)
32  , mNCrossCentralMembrane(0)
33  , mSumTrackPt(-999)
34  , mMeanDip(-999)
35  , mChiSquared(9999)
36  , mRefMultPos(0)
37  , mRefMultNeg(0)
38  , mRefMultFtpcWest(0)
39  , mRefMultFtpcEast(0)
40  {
41  }
42 
43  const TVector3& position() const { return mPosition; }
44  const TVector3& posError() const { return mPosError; }
45  int vertexFinderId() const { return mVertexFinderId; }
46  float ranking() const { return mRanking; }
47  int nTracksUsed() const { return mNTracksUsed; }
48  int nBTOFMatch() const { return mNBTOFMatch; }
49  int nCTBMatch() const { return mNCTBMatch; }
50  int nBEMCMatch() const { return mNBEMCMatch; }
51  int nEEMCMatch() const { return mNEEMCMatch; }
52  int nCrossCentralMembrane() const { return mNCrossCentralMembrane; }
53  float sumTrackPt() const { return mSumTrackPt; }
54  float meanDip() const { return mMeanDip; }
55  float chiSquared() const { return mChiSquared; }
56  int refMultPos() const { return mRefMultPos; }
57  int refMultNeg() const { return mRefMultNeg; }
58  int refMult() const { return refMultPos() + refMultNeg(); }
59  int refMultFtpcEast() const { return mRefMultFtpcEast; }
60  int refMultFtpcWest() const { return mRefMultFtpcWest; }
61  int refMultFtpc() const { return refMultFtpcWest() + refMultFtpcEast(); }
62 
63  const TRefArray& jets() const { return mJets; }
64  int numberOfJets() const { return mJets.GetEntriesFast(); }
65  StJetCandidate* jet(int i) const { return (StJetCandidate*)mJets.At(i); }
66  StJetCandidate* addJet(StJetCandidate* jet) { mJets.Add((TObject*)jet); return (StJetCandidate*)mJets.Last(); }
67 
68  friend class StjeJetEventTreeWriter;
69  friend class StJetMaker2009;
70  friend class StJetMaker2012;
71  friend class StUEMaker2009;
72 
73 private:
74  TVector3 mPosition;
75  TVector3 mPosError;
76  int mVertexFinderId;
77  float mRanking;
78  int mNTracksUsed;
79  int mNBTOFMatch;
80  int mNCTBMatch;
81  int mNBEMCMatch;
82  int mNEEMCMatch;
83  int mNCrossCentralMembrane;
84  float mSumTrackPt;
85  float mMeanDip;
86  float mChiSquared;
87  int mRefMultPos;
88  int mRefMultNeg;
89  int mRefMultFtpcWest;
90  int mRefMultFtpcEast;
91  TRefArray mJets;
92 
93  ClassDef(StJetVertex,1);
94 };
95 
96 #endif // ST_JET_VERTEX_H