CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
CaloJet.h
Go to the documentation of this file.
1 #ifndef JetReco_CaloJet_h
2 #define JetReco_CaloJet_h
3 
25 
26 namespace reco {
27  class CaloJet : public Jet {
28  public:
31 
32  struct Specific {
34  : mMaxEInEmTowers(0),
36  mHadEnergyInHO(0),
37  mHadEnergyInHB(0),
38  mHadEnergyInHF(0),
39  mHadEnergyInHE(0),
40  mEmEnergyInEB(0),
41  mEmEnergyInEE(0),
42  mEmEnergyInHF(0),
45  mTowersArea(0) {}
46 
70  float mTowersArea;
71  };
72 
74  CaloJet() {}
75 
77  CaloJet(const LorentzVector& fP4,
78  const Point& fVertex,
79  const Specific& fSpecific,
80  const Jet::Constituents& fConstituents);
81 
83  CaloJet(const LorentzVector& fP4, const Point& fVertex, const Specific& fSpecific);
84 
86  CaloJet(const LorentzVector& fP4, const Specific& fSpecific, const Jet::Constituents& fConstituents);
87 
88  ~CaloJet() override{};
89 
91  float maxEInEmTowers() const { return m_specific.mMaxEInEmTowers; }
93  float maxEInHadTowers() const { return m_specific.mMaxEInHadTowers; }
97  float emEnergyFraction() const { return m_specific.mEnergyFractionEm; }
99  float hadEnergyInHB() const { return m_specific.mHadEnergyInHB; }
101  float hadEnergyInHO() const { return m_specific.mHadEnergyInHO; }
103  float hadEnergyInHE() const { return m_specific.mHadEnergyInHE; }
105  float hadEnergyInHF() const { return m_specific.mHadEnergyInHF; }
107  float emEnergyInEB() const { return m_specific.mEmEnergyInEB; }
109  float emEnergyInEE() const { return m_specific.mEmEnergyInEE; }
111  float emEnergyInHF() const { return m_specific.mEmEnergyInHF; }
113  float towersArea() const { return m_specific.mTowersArea; }
115  int n90() const { return nCarrying(0.9); }
117  int n60() const { return nCarrying(0.6); }
118 
120  // float physicsEtaQuick (float fZVertex) const;
122  //float physicsEta (float fZVertex) const {return physicsEtaQuick (fZVertex);}
124  //LorentzVector physicsP4 (float fZVertex) const;
128  LorentzVector detectorP4() const;
129 
131  //float physicsEtaDetailed (float fZVertex) const;
132 
134  //float detectorEta () const {return eta();}
135 
137  virtual CaloTowerPtr getCaloConstituent(unsigned fIndex) const;
139  virtual std::vector<CaloTowerPtr> getCaloConstituents() const;
140 
141  // block accessors
142 
143  const Specific& getSpecific() const { return m_specific; }
144 
146  CaloJet* clone() const override;
147 
149  std::string print() const override;
150 
152  std::vector<CaloTowerDetId> getTowerIndices() const;
153 
154  private:
156  bool overlap(const Candidate&) const override;
157 
158  //Variables specific to to the CaloJet class
160  };
161 } // namespace reco
162 // temporary fix before include_checcker runs globally
163 #include "DataFormats/JetReco/interface/CaloJetCollection.h" //INCLUDECHECKER:SKIP
164 #endif
float mMaxEInEmTowers
Maximum energy in EM towers.
Definition: CaloJet.h:48
float hadEnergyInHE() const
Definition: CaloJet.h:103
float emEnergyInEE() const
Definition: CaloJet.h:109
CaloJet * clone() const override
Polymorphic clone.
Definition: CaloJet.cc:85
int n90() const
Definition: CaloJet.h:115
Jets made from CaloTowers.
Definition: CaloJet.h:27
LorentzVector detectorP4() const
detector p4 for full 3d vertex correction.
Definition: CaloJet.cc:55
float mEmEnergyInHF
Em energy in HF.
Definition: CaloJet.h:64
float mEnergyFractionHadronic
Hadronic energy fraction.
Definition: CaloJet.h:66
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:57
float mEmEnergyInEB
Em energy in EB.
Definition: CaloJet.h:60
std::vector< Constituent > Constituents
Definition: Jet.h:23
float emEnergyInHF() const
Definition: CaloJet.h:111
const Point & vertex() const override
vertex position (overwritten by PF...)
float mHadEnergyInHB
Hadronic energy in HB.
Definition: CaloJet.h:54
virtual std::vector< CaloTowerPtr > getCaloConstituents() const
get all constituents
Definition: CaloJet.cc:78
~CaloJet() override
Definition: CaloJet.h:88
float hadEnergyInHO() const
Definition: CaloJet.h:101
float maxEInHadTowers() const
Definition: CaloJet.h:93
float maxEInEmTowers() const
Definition: CaloJet.h:91
float emEnergyInEB() const
Definition: CaloJet.h:107
math::XYZPoint Point
point in the space
Definition: Particle.h:25
float mEnergyFractionEm
Em energy fraction.
Definition: CaloJet.h:68
math::XYZTLorentzVector LorentzVector
float mHadEnergyInHF
Hadronic energy in HF.
Definition: CaloJet.h:56
float mMaxEInHadTowers
Maximum energy in HCAL towers.
Definition: CaloJet.h:50
int n60() const
Definition: CaloJet.h:117
LorentzVector physicsP4(const Particle::Point &vertex) const
Physics Eta (use jet Z and kinematics only)
Definition: CaloJet.cc:51
std::vector< CaloTowerDetId > getTowerIndices() const
CaloTowers indexes.
Definition: CaloJet.cc:115
float towersArea() const
Definition: CaloJet.h:113
int nCarrying(float fFraction) const
return # of constituent carrying fraction of energy
CaloTowerPtr ConstituentTypePtr
Definition: CaloJet.h:29
float mHadEnergyInHO
Hadronic nergy fraction in HO.
Definition: CaloJet.h:52
float energyFractionHadronic() const
Definition: CaloJet.h:95
Structure Point Contains parameters of Gaussian fits to DMRs.
Definition: DMRtrends.cc:57
float hadEnergyInHB() const
Definition: CaloJet.h:99
CaloTowerFwdPtr ConstituentTypeFwdPtr
Definition: CaloJet.h:30
std::string print() const override
Print object.
Definition: CaloJet.cc:89
bool overlap(const Candidate &) const override
Polymorphic overlap.
Definition: CaloJet.cc:87
float mTowersArea
Area of contributing CaloTowers.
Definition: CaloJet.h:70
Specific m_specific
Definition: CaloJet.h:159
float hadEnergyInHF() const
Definition: CaloJet.h:105
float mEmEnergyInEE
Em energy in EE.
Definition: CaloJet.h:62
float mHadEnergyInHE
Hadronic energy in HE.
Definition: CaloJet.h:58
float emEnergyFraction() const
Definition: CaloJet.h:97
const Specific & getSpecific() const
Definition: CaloJet.h:143