CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
ProtoJet.h
Go to the documentation of this file.
1 #ifndef JetAlgorithms_ProtoJet_h
2 #define JetAlgorithms_ProtoJet_h
3 
21 
22 #include <vector>
23 #include <string>
24 
25 class ProtoJet {
26 public:
29 
32  ProtoJet();
33 
34  //**Constructor. Runs off an array of CaloTower* */
35  ProtoJet(const Constituents& theConstituents);
36 
37  //**Full Constructor */
38  ProtoJet(const LorentzVector& fP4, const Constituents& fConstituents);
39 
41  ~ProtoJet() {}
42 
44  void setJetArea (float fArea);
46  float jetArea () const;
47 
49  void setPileup (float fEnergy);
51  float pileup () const;
52 
54  void setNPasses (int fPasses);
56  int nPasses () const;
57 
58 
59  // The Jet four-vector as a true Lorentz vector
61  double px() const {return mP4.Px();}
63  double py() const {return mP4.Py();}
65  double pz() const {return mP4.Pz();}
67  double e() const {return mP4.E();}
69  double energy() const {return e();}
70 
71  // Standard quantities derived from the Jet Lorentz vector
73  double p() const {return mP4.P();}
75  double pt() const {return mP4.Pt();}
77  double et() const {return mP4.Et();}
79  double m() const {return mP4.M();}
81  double phi() const {return mP4.Phi();}
83  double eta() const {return mP4.Eta();}
85  double y() const {return p() > 0 ? mP4.Rapidity() : 0;}
87  int numberOfConstituents() const {return mConstituents.size();};
88 
89 
91  const LorentzVector& p4() const {return mP4;}
92 
93 
95  const Constituents& getTowerList();
96  Constituents getTowerList() const;
97 
99  const Constituents& getPresortedTowerList() const;
100 
102  void putTowers(const Constituents& towers);
103 
105  void reorderTowers ();
106 
111 
112 
113 
114 
115 private:
120  bool mOrdered;
122  float mJetArea;
125 };
126 
127 #endif
JetReco::InputItem Constituent
Definition: ProtoJet.h:27
JetReco::InputCollection Constituents
Definition: ProtoJet.h:28
double e() const
Definition: ProtoJet.h:67
void reorderTowers()
Definition: ProtoJet.cc:105
void setPileup(float fEnergy)
Set pileup energy contribution as calculated by algorithm.
Definition: ProtoJet.cc:77
float mPileupEnergy
Definition: ProtoJet.h:123
std::vector< InputItem > InputCollection
Definition: JetRecoTypes.h:61
bool mOrdered
Definition: ProtoJet.h:120
int numberOfConstituents() const
Definition: ProtoJet.h:87
const Constituents & getTowerList()
Definition: ProtoJet.cc:82
Transient Jet class used by the reconstruction algorithms.
Definition: ProtoJet.h:25
double p() const
Definition: ProtoJet.h:73
void setJetArea(float fArea)
Set Jet area as calculated by algorithm.
Definition: ProtoJet.cc:75
double pz() const
Definition: ProtoJet.h:65
int mPassNumber
Definition: ProtoJet.h:124
double y() const
Definition: ProtoJet.h:85
Constituents mConstituents
Definition: ProtoJet.h:119
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
Definition: LorentzVector.h:29
double pt() const
Definition: ProtoJet.h:75
float mJetArea
Parameters returning from algorithms.
Definition: ProtoJet.h:122
double phi() const
Definition: ProtoJet.h:81
~ProtoJet()
Definition: ProtoJet.h:41
double et() const
Definition: ProtoJet.h:77
double m() const
Definition: ProtoJet.h:79
float jetArea() const
Jet area as calculated by algorithm.
Definition: ProtoJet.cc:76
LorentzVector mP4
Definition: ProtoJet.h:117
void calculateLorentzVectorEtRecombination()
Definition: ProtoJet.cc:120
ProtoJet()
Definition: ProtoJet.cc:48
math::XYZTLorentzVector LorentzVector
Definition: ProtoJet.h:30
void setNPasses(int fPasses)
Set number of passes taken by algorithm.
Definition: ProtoJet.cc:79
const Constituents & getPresortedTowerList() const
Definition: ProtoJet.cc:94
const LorentzVector & p4() const
Definition: ProtoJet.h:91
double py() const
Definition: ProtoJet.h:63
float pileup() const
pileup energy contribution as calculated by algorithm
Definition: ProtoJet.cc:78
void calculateLorentzVectorERecombination()
Definition: ProtoJet.cc:112
void calculateLorentzVector()
Definition: ProtoJet.h:108
double energy() const
Definition: ProtoJet.h:69
int nPasses() const
number of passes taken by algorithm
Definition: ProtoJet.cc:80
double eta() const
Definition: ProtoJet.h:83
double px() const
Definition: ProtoJet.h:61
void putTowers(const Constituents &towers)
Definition: ProtoJet.cc:99