CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
PFJet.h
Go to the documentation of this file.
1 #ifndef JetReco_PFJet_h
2 #define JetReco_PFJet_h
3 
20 
21 namespace reco {
22 class PFJet : public Jet {
23  public:
24  struct Specific {
25  Specific () :
28  mPhotonEnergy (0),
29  mElectronEnergy (0),
30  mMuonEnergy (0),
31  mHFHadronEnergy (0),
32  mHFEMEnergy (0),
33 
41 
42  mChargedEmEnergy (0),
43  mChargedMuEnergy (0),
44  mNeutralEmEnergy (0),
45 
48  {}
53  float mMuonEnergy;
55  float mHFEMEnergy;
56 
64 
65  //old (deprecated) data members
66  //kept only for backwards compatibility:
72  };
73 
75  PFJet() {}
76 
78  PFJet(const LorentzVector& fP4, const Point& fVertex, const Specific& fSpecific,
79  const Jet::Constituents& fConstituents);
80 
81  PFJet(const LorentzVector& fP4, const Point& fVertex, const Specific& fSpecific);
82 
84  PFJet(const LorentzVector& fP4, const Specific& fSpecific,
85  const Jet::Constituents& fConstituents);
86 
87 
88  virtual ~PFJet() {};
89 
93  float chargedHadronEnergyFraction () const {return chargedHadronEnergy () / energy ();}
97  float neutralHadronEnergyFraction () const {return neutralHadronEnergy () / energy ();}
99  float photonEnergy () const {return m_specific.mPhotonEnergy;}
101  float photonEnergyFraction () const {return photonEnergy () / energy ();}
103  float electronEnergy () const {return m_specific.mElectronEnergy;}
105  float electronEnergyFraction () const {return electronEnergy () / energy ();}
107  float muonEnergy () const {return m_specific.mMuonEnergy;}
109  float muonEnergyFraction () const {return muonEnergy () / energy ();}
111  float HFHadronEnergy () const {return m_specific.mHFHadronEnergy;}
113  float HFHadronEnergyFraction () const {return HFHadronEnergy () / energy ();}
115  float HFEMEnergy () const {return m_specific.mHFEMEnergy;}
117  float HFEMEnergyFraction () const {return HFEMEnergy () / energy ();}
118 
133 
135  float chargedEmEnergy () const {return m_specific.mChargedEmEnergy;}
137  float chargedEmEnergyFraction () const {return chargedEmEnergy () / energy ();}
139  float chargedMuEnergy () const {return m_specific.mChargedMuEnergy;}
141  float chargedMuEnergyFraction () const {return chargedMuEnergy () / energy ();}
143  float neutralEmEnergy () const {return m_specific.mNeutralEmEnergy;}
145  float neutralEmEnergyFraction () const {return neutralEmEnergy () / energy ();}
146 
151 
152 
154  virtual reco::PFCandidatePtr getPFConstituent (unsigned fIndex) const;
155 
157  virtual std::vector <reco::PFCandidatePtr> getPFConstituents () const;
158 
163 
164  // block accessors
165 
166  const Specific& getSpecific () const {return m_specific;}
167 
169  virtual PFJet* clone () const;
170 
172  virtual std::string print () const;
173 
174 
175  private:
177  virtual bool overlap( const Candidate & ) const;
178 
179  //Variables specific to to the PFJet class
181 };
182 
183 // streamer
184  std::ostream& operator<<(std::ostream& out, const reco::PFJet& jet);
185 }
186 // temporary fix before include_checcker runs globally
187 #include "DataFormats/JetReco/interface/PFJetCollection.h" //INCLUDECHECKER:SKIP
188 #endif
float photonEnergy() const
photonEnergy
Definition: PFJet.h:99
int photonMultiplicity() const
photonMultiplicity
Definition: PFJet.h:124
float muonEnergy() const
muonEnergy
Definition: PFJet.h:107
virtual bool overlap(const Candidate &) const
Polymorphic overlap.
Definition: PFJet.cc:80
float chargedEmEnergy() const
chargedEmEnergy
Definition: PFJet.h:135
int mChargedMultiplicity
Definition: PFJet.h:70
float chargedHadronEnergyFraction() const
chargedHadronEnergyFraction
Definition: PFJet.h:93
Base class for all types of Jets.
Definition: Jet.h:21
math::XYZTLorentzVector LorentzVector
PFJet()
Definition: PFJet.h:75
std::vector< Constituent > Constituents
Definition: Jet.h:24
float HFEMEnergyFraction() const
HFEMEnergyFraction.
Definition: PFJet.h:117
int mPhotonMultiplicity
Definition: PFJet.h:59
float mNeutralHadronEnergy
Definition: PFJet.h:50
float mChargedMuEnergy
Definition: PFJet.h:68
float HFHadronEnergy() const
HFHadronEnergy.
Definition: PFJet.h:111
int chargedMultiplicity() const
chargedMultiplicity
Definition: PFJet.h:148
float photonEnergyFraction() const
photonEnergyFraction
Definition: PFJet.h:101
Jets made from PFObjects.
Definition: PFJet.h:22
float neutralEmEnergy() const
neutralEmEnergy
Definition: PFJet.h:143
virtual reco::PFCandidatePtr getPFConstituent(unsigned fIndex) const
get specific constituent
Definition: PFJet.cc:36
float mChargedHadronEnergy
Definition: PFJet.h:49
virtual ~PFJet()
Definition: PFJet.h:88
float electronEnergy() const
electronEnergy
Definition: PFJet.h:103
float mChargedEmEnergy
Definition: PFJet.h:67
float neutralEmEnergyFraction() const
neutralEmEnergyFraction
Definition: PFJet.h:145
virtual double energy() const
energy
std::ostream & operator<<(std::ostream &, BeamSpot beam)
Definition: BeamSpot.cc:72
float mElectronEnergy
Definition: PFJet.h:52
float HFEMEnergy() const
HFEMEnergy.
Definition: PFJet.h:115
int mChargedHadronMultiplicity
Definition: PFJet.h:57
virtual std::string print() const
Print object in details.
Definition: PFJet.cc:84
float mPhotonEnergy
Definition: PFJet.h:51
float mNeutralEmEnergy
Definition: PFJet.h:69
math::XYZPoint Point
int neutralHadronMultiplicity() const
neutralHadronMultiplicity
Definition: PFJet.h:122
float neutralHadronEnergyFraction() const
neutralHadronEnergyFraction
Definition: PFJet.h:97
virtual PFJet * clone() const
Polymorphic clone.
Definition: PFJet.cc:76
int neutralMultiplicity() const
neutralMultiplicity
Definition: PFJet.h:150
int mElectronMultiplicity
Definition: PFJet.h:60
tuple out
Definition: dbtoconf.py:99
int mNeutralHadronMultiplicity
Definition: PFJet.h:58
float chargedEmEnergyFraction() const
chargedEmEnergyFraction
Definition: PFJet.h:137
float HFHadronEnergyFraction() const
HFHadronEnergyFraction.
Definition: PFJet.h:113
int mNeutralMultiplicity
Definition: PFJet.h:71
float electronEnergyFraction() const
electronEnergyFraction
Definition: PFJet.h:105
int chargedHadronMultiplicity() const
chargedHadronMultiplicity
Definition: PFJet.h:120
int muonMultiplicity() const
muonMultiplicity
Definition: PFJet.h:128
int HFEMMultiplicity() const
HFEMMultiplicity.
Definition: PFJet.h:132
float mHFHadronEnergy
Definition: PFJet.h:54
Specific m_specific
Definition: PFJet.h:180
virtual std::vector< reco::PFCandidatePtr > getPFConstituents() const
get all constituents
Definition: PFJet.cc:53
reco::TrackRefVector getTrackRefs() const
Definition: PFJet.cc:60
float neutralHadronEnergy() const
neutralHadronEnergy
Definition: PFJet.h:95
float chargedMuEnergyFraction() const
chargedMuEnergyFraction
Definition: PFJet.h:141
float chargedMuEnergy() const
chargedMuEnergy
Definition: PFJet.h:139
const Specific & getSpecific() const
Definition: PFJet.h:166
float muonEnergyFraction() const
muonEnergyFraction
Definition: PFJet.h:109
int mHFHadronMultiplicity
Definition: PFJet.h:62
int HFHadronMultiplicity() const
HFHadronMultiplicity.
Definition: PFJet.h:130
float chargedHadronEnergy() const
chargedHadronEnergy
Definition: PFJet.h:91
int electronMultiplicity() const
electronMultiplicity
Definition: PFJet.h:126