StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StChargedPionJet.h
1 #ifndef ST_CHARGED_PION_JET_HH
2 #define ST_CHARGED_PION_JET_HH
3 
4 // $Id: StChargedPionJet.h,v 1.7 2012/11/09 03:31:34 perev Exp $
5 
6 #include <vector>
7 using std::vector;
8 
9 #include "TLorentzVector.h"
10 #include "TClonesArray.h"
11 
12 #include "StChargedPionJetParticle.h"
13 
14 class StChargedPionJet : public TLorentzVector {
15 public:
18  virtual ~StChargedPionJet();
19 
20  void Clear(Option_t* = "");
21 
22  int charge() const;
23  unsigned int nTpcTracks() const;
24  unsigned int nBarrelTowers() const;
25  unsigned int nEndcapTowers() const;
26 
27  double tpcEtSum() const;
28  double barrelEtSum() const;
29  double endcapEtSum() const;
30 
31  double vertexZ() const;
32 
33  float detectorEta() const;
34  float detectorEta(float vz, float r=231.72) const;
35 
36  bool isTrigger(unsigned int trigId) const;
37 
38  vector<StChargedPionJetParticle>& particles();
39  const vector<StChargedPionJetParticle>& particles() const;
40 
41  const StChargedPionJetParticle& leadingParticle() const;
42 
43  void setCharge(char);
44  void setNTpcTracks(unsigned short);
45  void setNBarrelTowers(unsigned short);
46  void setNEndcapTowers(unsigned short);
47  void setTpcEtSum(float);
48  void setBarrelEtSum(float);
49  void setEndcapEtSum(float);
50  void setVertexZ(float);
51  void addTrigger(unsigned int trigId);
52  void addParticle(StChargedPionJetParticle*);
53 
54 private:
56  Char_t mCharge;
57  UShort_t mTpcCount;
58  UShort_t mBtowCount;
59  UShort_t mEtowCount;
60  Float_t mTpcEtSum;
61  Float_t mBtowEtSum;
62  Float_t mEtowEtSum;
63 
64  // ok, this is probably useful
65  Float_t mVertexZ;
66 
67  // something for geom triggers?
68  UInt_t mGeomTriggers;
69 
70  // MUST keep these guys slim
71  vector<StChargedPionJetParticle> mParticles;
72 
73  ClassDef(StChargedPionJet, 2)
74 };
75 
76 inline int StChargedPionJet::charge() const { return mCharge; }
77 inline unsigned int StChargedPionJet::nTpcTracks() const { return mTpcCount; }
78 inline unsigned int StChargedPionJet::nBarrelTowers() const { return mBtowCount; }
79 inline unsigned int StChargedPionJet::nEndcapTowers() const { return mEtowCount; }
80 inline double StChargedPionJet::tpcEtSum() const { return mTpcEtSum; }
81 inline double StChargedPionJet::barrelEtSum() const { return mBtowEtSum; }
82 inline double StChargedPionJet::endcapEtSum() const { return mEtowEtSum; }
83 inline double StChargedPionJet::vertexZ() const { return mVertexZ; }
84 inline vector<StChargedPionJetParticle>& StChargedPionJet::particles() { return mParticles; }
85 inline const vector<StChargedPionJetParticle>& StChargedPionJet::particles() const { return mParticles; }
86 
87 inline void StChargedPionJet::setCharge(char a) { mCharge = a; }
88 inline void StChargedPionJet::setNTpcTracks(unsigned short a) { mTpcCount = a; }
89 inline void StChargedPionJet::setNBarrelTowers(unsigned short a) { mBtowCount = a; }
90 inline void StChargedPionJet::setNEndcapTowers(unsigned short a) { mEtowCount = a; }
91 inline void StChargedPionJet::setTpcEtSum(float a) { mTpcEtSum = a; }
92 inline void StChargedPionJet::setBarrelEtSum(float a) { mBtowEtSum = a; }
93 inline void StChargedPionJet::setEndcapEtSum(float a) { mEtowEtSum = a; }
94 inline void StChargedPionJet::setVertexZ(float a) { mVertexZ = a; }
95 
96 #endif
97 
98 /*****************************************************************************
99  * $Log: StChargedPionJet.h,v $
100  * Revision 1.7 2012/11/09 03:31:34 perev
101  * Cleanup
102  *
103  * Revision 1.6 2008/12/29 15:58:29 kocolosk
104  * removed commented code and added $Id: StChargedPionJet.h,v 1.7 2012/11/09 03:31:34 perev Exp $/$Log: StChargedPionJet.h,v $
105  * removed commented code and added $Id$/Revision 1.7 2012/11/09 03:31:34 perev
106  * removed commented code and added $Id$/Cleanup
107  * removed commented code and added $Id$/ as needed
108  *
109  *****************************************************************************/