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 
27 
28 
29 namespace reco {
30 class CaloJet : public Jet {
31  public:
32 
35 
36 
37  struct Specific {
38  Specific () :
39  mMaxEInEmTowers (0),
40  mMaxEInHadTowers (0),
41  mHadEnergyInHO (0),
42  mHadEnergyInHB (0),
43  mHadEnergyInHF (0),
44  mHadEnergyInHE (0),
45  mEmEnergyInEB (0),
46  mEmEnergyInEE (0),
47  mEmEnergyInHF (0),
50  mTowersArea (0)
51  {}
52 
76  float mTowersArea;
77  };
78 
80  CaloJet() {}
81 
83  CaloJet(const LorentzVector& fP4, const Point& fVertex, const Specific& fSpecific,
84  const Jet::Constituents& fConstituents);
85 
87  CaloJet(const LorentzVector& fP4, const Point& fVertex, const Specific& fSpecific);
88 
90  CaloJet(const LorentzVector& fP4, const Specific& fSpecific,
91  const Jet::Constituents& fConstituents);
92 
93 
94  virtual ~CaloJet() {};
95 
97  float maxEInEmTowers() const {return m_specific.mMaxEInEmTowers;}
105  float hadEnergyInHB() const {return m_specific.mHadEnergyInHB;}
107  float hadEnergyInHO() const {return m_specific.mHadEnergyInHO;}
109  float hadEnergyInHE() const {return m_specific.mHadEnergyInHE;}
111  float hadEnergyInHF() const {return m_specific.mHadEnergyInHF;}
113  float emEnergyInEB() const {return m_specific.mEmEnergyInEB;}
115  float emEnergyInEE() const {return m_specific.mEmEnergyInEE;}
117  float emEnergyInHF() const {return m_specific.mEmEnergyInHF;}
119  float towersArea() const {return m_specific.mTowersArea;}
121  int n90() const {return nCarrying (0.9);}
123  int n60() const {return nCarrying (0.6);}
124 
126  // float physicsEtaQuick (float fZVertex) const;
128  //float physicsEta (float fZVertex) const {return physicsEtaQuick (fZVertex);}
130  //LorentzVector physicsP4 (float fZVertex) const;
134  LorentzVector detectorP4 () const;
135 
137  //float physicsEtaDetailed (float fZVertex) const;
138 
140  //float detectorEta () const {return eta();}
141 
142 
144  virtual CaloTowerPtr getCaloConstituent (unsigned fIndex) const;
146  virtual std::vector <CaloTowerPtr> getCaloConstituents () const;
147 
148  // block accessors
149 
150  const Specific& getSpecific () const {return m_specific;}
151 
153  virtual CaloJet* clone () const;
154 
156  virtual std::string print () const;
157 
159  std::vector<CaloTowerDetId> getTowerIndices() const;
160  private:
162  virtual bool overlap( const Candidate & ) const;
163 
164  //Variables specific to to the CaloJet class
166 };
167 }
168 // temporary fix before include_checcker runs globally
169 #include "DataFormats/JetReco/interface/CaloJetCollection.h" //INCLUDECHECKER:SKIP
170 #endif
float mMaxEInEmTowers
Maximum energy in EM towers.
Definition: CaloJet.h:54
float hadEnergyInHE() const
Definition: CaloJet.h:109
float emEnergyInEE() const
Definition: CaloJet.h:115
int n90() const
Definition: CaloJet.h:121
Jets made from CaloTowers.
Definition: CaloJet.h:30
LorentzVector detectorP4() const
detector p4 for full 3d vertex correction.
Definition: CaloJet.cc:65
float mEmEnergyInHF
Em energy in HF.
Definition: CaloJet.h:70
float mEnergyFractionHadronic
Hadronic energy fraction.
Definition: CaloJet.h:72
virtual const Point & vertex() const
vertex position (overwritten by PF...)
Base class for all types of Jets.
Definition: Jet.h:21
virtual CaloTowerPtr getCaloConstituent(unsigned fIndex) const
Physics Eta (loop over constituents)
Definition: CaloJet.cc:70
int nCarrying(float fFraction) const
return # of constituent carrying fraction of energy
Definition: Jet.cc:292
float mEmEnergyInEB
Em energy in EB.
Definition: CaloJet.h:66
math::XYZTLorentzVector LorentzVector
std::vector< Constituent > Constituents
Definition: Jet.h:24
float emEnergyInHF() const
Definition: CaloJet.h:117
float mHadEnergyInHB
Hadronic energy in HB.
Definition: CaloJet.h:60
virtual std::vector< CaloTowerPtr > getCaloConstituents() const
get all constituents
Definition: CaloJet.cc:94
float hadEnergyInHO() const
Definition: CaloJet.h:107
virtual CaloJet * clone() const
Polymorphic clone.
Definition: CaloJet.cc:101
virtual bool overlap(const Candidate &) const
Polymorphic overlap.
Definition: CaloJet.cc:105
float maxEInHadTowers() const
Definition: CaloJet.h:99
float maxEInEmTowers() const
Definition: CaloJet.h:97
float emEnergyInEB() const
Definition: CaloJet.h:113
math::XYZPoint Point
math::XYZPoint Point
point in the space
Definition: Particle.h:29
float mEnergyFractionEm
Em energy fraction.
Definition: CaloJet.h:74
float mHadEnergyInHF
Hadronic energy in HF.
Definition: CaloJet.h:62
float mMaxEInHadTowers
Maximum energy in HCAL towers.
Definition: CaloJet.h:56
int n60() const
Definition: CaloJet.h:123
virtual std::string print() const
Print object.
Definition: CaloJet.cc:109
LorentzVector physicsP4(const Particle::Point &vertex) const
Physics Eta (use jet Z and kinematics only)
Definition: CaloJet.cc:61
std::vector< CaloTowerDetId > getTowerIndices() const
CaloTowers indexes.
Definition: CaloJet.cc:134
float towersArea() const
Definition: CaloJet.h:119
virtual ~CaloJet()
Definition: CaloJet.h:94
CaloTowerPtr ConstituentTypePtr
Definition: CaloJet.h:33
float mHadEnergyInHO
Hadronic nergy fraction in HO.
Definition: CaloJet.h:58
float energyFractionHadronic() const
Definition: CaloJet.h:101
float hadEnergyInHB() const
Definition: CaloJet.h:105
CaloTowerFwdPtr ConstituentTypeFwdPtr
Definition: CaloJet.h:34
float mTowersArea
Area of contributing CaloTowers.
Definition: CaloJet.h:76
Specific m_specific
Definition: CaloJet.h:165
float hadEnergyInHF() const
Definition: CaloJet.h:111
float mEmEnergyInEE
Em energy in EE.
Definition: CaloJet.h:68
float mHadEnergyInHE
Hadronic energy in HE.
Definition: CaloJet.h:64
float emEnergyFraction() const
Definition: CaloJet.h:103
const Specific & getSpecific() const
Definition: CaloJet.h:150