CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
CaloJet.h
Go to the documentation of this file.
1 #ifndef JetReco_CaloJet_h
2 #define JetReco_CaloJet_h
3 
26 
27 
28 namespace reco {
29 class CaloJet : public Jet {
30  public:
31 
34 
35 
36  struct Specific {
37  Specific () :
38  mMaxEInEmTowers (0),
39  mMaxEInHadTowers (0),
40  mHadEnergyInHO (0),
41  mHadEnergyInHB (0),
42  mHadEnergyInHF (0),
43  mHadEnergyInHE (0),
44  mEmEnergyInEB (0),
45  mEmEnergyInEE (0),
46  mEmEnergyInHF (0),
49  mTowersArea (0)
50  {}
51 
75  float mTowersArea;
76  };
77 
79  CaloJet() {}
80 
82  CaloJet(const LorentzVector& fP4, const Point& fVertex, const Specific& fSpecific,
83  const Jet::Constituents& fConstituents);
84 
86  CaloJet(const LorentzVector& fP4, const Point& fVertex, const Specific& fSpecific);
87 
89  CaloJet(const LorentzVector& fP4, const Specific& fSpecific,
90  const Jet::Constituents& fConstituents);
91 
92 
93  virtual ~CaloJet() {};
94 
96  float maxEInEmTowers() const {return m_specific.mMaxEInEmTowers;}
104  float hadEnergyInHB() const {return m_specific.mHadEnergyInHB;}
106  float hadEnergyInHO() const {return m_specific.mHadEnergyInHO;}
108  float hadEnergyInHE() const {return m_specific.mHadEnergyInHE;}
110  float hadEnergyInHF() const {return m_specific.mHadEnergyInHF;}
112  float emEnergyInEB() const {return m_specific.mEmEnergyInEB;}
114  float emEnergyInEE() const {return m_specific.mEmEnergyInEE;}
116  float emEnergyInHF() const {return m_specific.mEmEnergyInHF;}
118  float towersArea() const {return m_specific.mTowersArea;}
120  int n90() const {return nCarrying (0.9);}
122  int n60() const {return nCarrying (0.6);}
123 
125  // float physicsEtaQuick (float fZVertex) const;
127  //float physicsEta (float fZVertex) const {return physicsEtaQuick (fZVertex);}
129  //LorentzVector physicsP4 (float fZVertex) const;
133  LorentzVector detectorP4 () const;
134 
136  //float physicsEtaDetailed (float fZVertex) const;
137 
139  //float detectorEta () const {return eta();}
140 
141 
143  virtual CaloTowerPtr getCaloConstituent (unsigned fIndex) const;
145  virtual std::vector <CaloTowerPtr> getCaloConstituents () const;
146 
147  // block accessors
148 
149  const Specific& getSpecific () const {return m_specific;}
150 
152  virtual CaloJet* clone () const;
153 
155  virtual std::string print () const;
156 
158  std::vector<CaloTowerDetId> getTowerIndices() const;
159  private:
161  virtual bool overlap( const Candidate & ) const;
162 
163  //Variables specific to to the CaloJet class
165 };
166 }
167 // temporary fix before include_checcker runs globally
168 #include "DataFormats/JetReco/interface/CaloJetCollection.h" //INCLUDECHECKER:SKIP
169 #endif
float mMaxEInEmTowers
Maximum energy in EM towers.
Definition: CaloJet.h:53
float hadEnergyInHE() const
Definition: CaloJet.h:108
float emEnergyInEE() const
Definition: CaloJet.h:114
int n90() const
Definition: CaloJet.h:120
Jets made from CaloTowers.
Definition: CaloJet.h:29
LorentzVector detectorP4() const
detector p4 for full 3d vertex correction.
Definition: CaloJet.cc:64
float mEmEnergyInHF
Em energy in HF.
Definition: CaloJet.h:69
float mEnergyFractionHadronic
Hadronic energy fraction.
Definition: CaloJet.h:71
virtual const Point & vertex() const
vertex position (overwritten by PF...)
Base class for all types of Jets.
Definition: Jet.h:20
virtual CaloTowerPtr getCaloConstituent(unsigned fIndex) const
Physics Eta (loop over constituents)
Definition: CaloJet.cc:69
float mEmEnergyInEB
Em energy in EB.
Definition: CaloJet.h:65
math::XYZTLorentzVector LorentzVector
std::vector< Constituent > Constituents
Definition: Jet.h:23
float emEnergyInHF() const
Definition: CaloJet.h:116
float mHadEnergyInHB
Hadronic energy in HB.
Definition: CaloJet.h:59
virtual std::vector< CaloTowerPtr > getCaloConstituents() const
get all constituents
Definition: CaloJet.cc:93
float hadEnergyInHO() const
Definition: CaloJet.h:106
virtual CaloJet * clone() const
Polymorphic clone.
Definition: CaloJet.cc:100
virtual bool overlap(const Candidate &) const
Polymorphic overlap.
Definition: CaloJet.cc:104
float maxEInHadTowers() const
Definition: CaloJet.h:98
float maxEInEmTowers() const
Definition: CaloJet.h:96
float emEnergyInEB() const
Definition: CaloJet.h:112
math::XYZPoint Point
math::XYZPoint Point
point in the space
Definition: Particle.h:25
float mEnergyFractionEm
Em energy fraction.
Definition: CaloJet.h:73
float mHadEnergyInHF
Hadronic energy in HF.
Definition: CaloJet.h:61
float mMaxEInHadTowers
Maximum energy in HCAL towers.
Definition: CaloJet.h:55
int n60() const
Definition: CaloJet.h:122
virtual std::string print() const
Print object.
Definition: CaloJet.cc:108
LorentzVector physicsP4(const Particle::Point &vertex) const
Physics Eta (use jet Z and kinematics only)
Definition: CaloJet.cc:60
std::vector< CaloTowerDetId > getTowerIndices() const
CaloTowers indexes.
Definition: CaloJet.cc:133
float towersArea() const
Definition: CaloJet.h:118
int nCarrying(float fFraction) const
return # of constituent carrying fraction of energy
virtual ~CaloJet()
Definition: CaloJet.h:93
CaloTowerPtr ConstituentTypePtr
Definition: CaloJet.h:32
float mHadEnergyInHO
Hadronic nergy fraction in HO.
Definition: CaloJet.h:57
float energyFractionHadronic() const
Definition: CaloJet.h:100
float hadEnergyInHB() const
Definition: CaloJet.h:104
CaloTowerFwdPtr ConstituentTypeFwdPtr
Definition: CaloJet.h:33
float mTowersArea
Area of contributing CaloTowers.
Definition: CaloJet.h:75
Specific m_specific
Definition: CaloJet.h:164
float hadEnergyInHF() const
Definition: CaloJet.h:110
float mEmEnergyInEE
Em energy in EE.
Definition: CaloJet.h:67
float mHadEnergyInHE
Hadronic energy in HE.
Definition: CaloJet.h:63
float emEnergyFraction() const
Definition: CaloJet.h:102
const Specific & getSpecific() const
Definition: CaloJet.h:149