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  struct Specific {
33  Specific () :
34  mMaxEInEmTowers (0),
35  mMaxEInHadTowers (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  {}
47 
71  float mTowersArea;
72  };
73 
75  CaloJet() {}
76 
78  CaloJet(const LorentzVector& fP4, const Point& fVertex, const Specific& fSpecific,
79  const Jet::Constituents& fConstituents);
80 
82  CaloJet(const LorentzVector& fP4, const Point& fVertex, const Specific& fSpecific);
83 
85  CaloJet(const LorentzVector& fP4, const Specific& fSpecific,
86  const Jet::Constituents& fConstituents);
87 
88 
89  virtual ~CaloJet() {};
90 
92  float maxEInEmTowers() const {return m_specific.mMaxEInEmTowers;}
100  float hadEnergyInHB() const {return m_specific.mHadEnergyInHB;}
102  float hadEnergyInHO() const {return m_specific.mHadEnergyInHO;}
104  float hadEnergyInHE() const {return m_specific.mHadEnergyInHE;}
106  float hadEnergyInHF() const {return m_specific.mHadEnergyInHF;}
108  float emEnergyInEB() const {return m_specific.mEmEnergyInEB;}
110  float emEnergyInEE() const {return m_specific.mEmEnergyInEE;}
112  float emEnergyInHF() const {return m_specific.mEmEnergyInHF;}
114  float towersArea() const {return m_specific.mTowersArea;}
116  int n90() const {return nCarrying (0.9);}
118  int n60() const {return nCarrying (0.6);}
119 
121  // float physicsEtaQuick (float fZVertex) const;
123  //float physicsEta (float fZVertex) const {return physicsEtaQuick (fZVertex);}
125  //LorentzVector physicsP4 (float fZVertex) const;
129  LorentzVector detectorP4 () const;
130 
132  //float physicsEtaDetailed (float fZVertex) const;
133 
135  //float detectorEta () const {return eta();}
136 
137 
139  virtual CaloTowerPtr getCaloConstituent (unsigned fIndex) const;
141  virtual std::vector <CaloTowerPtr> getCaloConstituents () const;
142 
143  // block accessors
144 
145  const Specific& getSpecific () const {return m_specific;}
146 
148  virtual CaloJet* clone () const;
149 
151  virtual std::string print () const;
152 
154  std::vector<CaloTowerDetId> getTowerIndices() const;
155  private:
157  virtual bool overlap( const Candidate & ) const;
158 
159  //Variables specific to to the CaloJet class
161 };
162 }
163 // temporary fix before include_checcker runs globally
164 #include "DataFormats/JetReco/interface/CaloJetCollection.h" //INCLUDECHECKER:SKIP
165 #endif
float mMaxEInEmTowers
Maximum energy in EM towers.
Definition: CaloJet.h:49
float hadEnergyInHE() const
Definition: CaloJet.h:104
float emEnergyInEE() const
Definition: CaloJet.h:110
int n90() const
Definition: CaloJet.h:116
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:65
float mEnergyFractionHadronic
Hadronic energy fraction.
Definition: CaloJet.h:67
virtual const Point & vertex() const
vertex position
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:290
float mEmEnergyInEB
Em energy in EB.
Definition: CaloJet.h:61
math::XYZTLorentzVector LorentzVector
std::vector< Constituent > Constituents
Definition: Jet.h:24
float emEnergyInHF() const
Definition: CaloJet.h:112
float mHadEnergyInHB
Hadronic energy in HB.
Definition: CaloJet.h:55
virtual std::vector< CaloTowerPtr > getCaloConstituents() const
get all constituents
Definition: CaloJet.cc:94
float hadEnergyInHO() const
Definition: CaloJet.h:102
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:94
float maxEInEmTowers() const
Definition: CaloJet.h:92
float emEnergyInEB() const
Definition: CaloJet.h:108
math::XYZPoint Point
math::XYZPoint Point
point in the space
Definition: Particle.h:30
float mEnergyFractionEm
Em energy fraction.
Definition: CaloJet.h:69
float mHadEnergyInHF
Hadronic energy in HF.
Definition: CaloJet.h:57
float mMaxEInHadTowers
Maximum energy in HCAL towers.
Definition: CaloJet.h:51
int n60() const
Definition: CaloJet.h:118
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:114
virtual ~CaloJet()
Definition: CaloJet.h:89
float mHadEnergyInHO
Hadronic nergy fraction in HO.
Definition: CaloJet.h:53
float energyFractionHadronic() const
Definition: CaloJet.h:96
float hadEnergyInHB() const
Definition: CaloJet.h:100
float mTowersArea
Area of contributing CaloTowers.
Definition: CaloJet.h:71
Specific m_specific
Definition: CaloJet.h:160
float hadEnergyInHF() const
Definition: CaloJet.h:106
float mEmEnergyInEE
Em energy in EE.
Definition: CaloJet.h:63
float mHadEnergyInHE
Hadronic energy in HE.
Definition: CaloJet.h:59
float emEnergyFraction() const
Definition: CaloJet.h:98
const Specific & getSpecific() const
Definition: CaloJet.h:145