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 
19 
20 namespace reco {
21 class PFJet : public Jet {
22  public:
23 
26 
27  struct Specific {
28  Specific () :
31  mPhotonEnergy (0),
32  mElectronEnergy (0),
33  mMuonEnergy (0),
34  mHFHadronEnergy (0),
35  mHFEMEnergy (0),
36 
44 
45  mChargedEmEnergy (0),
46  mChargedMuEnergy (0),
47  mNeutralEmEnergy (0),
48 
51  {}
56  float mMuonEnergy;
58  float mHFEMEnergy;
59 
67 
68  //old (deprecated) data members
69  //kept only for backwards compatibility:
75  };
76 
78  PFJet() {}
79 
81  PFJet(const LorentzVector& fP4, const Point& fVertex, const Specific& fSpecific,
82  const Jet::Constituents& fConstituents);
83 
84  PFJet(const LorentzVector& fP4, const Point& fVertex, const Specific& fSpecific);
85 
87  PFJet(const LorentzVector& fP4, const Specific& fSpecific,
88  const Jet::Constituents& fConstituents);
89 
90 
91  virtual ~PFJet() {};
92 
96  float chargedHadronEnergyFraction () const {return chargedHadronEnergy () / energy ();}
100  float neutralHadronEnergyFraction () const {return neutralHadronEnergy () / energy ();}
102  float photonEnergy () const {return m_specific.mPhotonEnergy;}
104  float photonEnergyFraction () const {return photonEnergy () / energy ();}
106  float electronEnergy () const {return m_specific.mElectronEnergy;}
108  float electronEnergyFraction () const {return electronEnergy () / energy ();}
110  float muonEnergy () const {return m_specific.mMuonEnergy;}
112  float muonEnergyFraction () const {return muonEnergy () / energy ();}
114  float HFHadronEnergy () const {return m_specific.mHFHadronEnergy;}
116  float HFHadronEnergyFraction () const {return HFHadronEnergy () / energy ();}
118  float HFEMEnergy () const {return m_specific.mHFEMEnergy;}
120  float HFEMEnergyFraction () const {return HFEMEnergy () / energy ();}
121 
136 
138  float chargedEmEnergy () const {return m_specific.mChargedEmEnergy;}
140  float chargedEmEnergyFraction () const {return chargedEmEnergy () / energy ();}
142  float chargedMuEnergy () const {return m_specific.mChargedMuEnergy;}
144  float chargedMuEnergyFraction () const {return chargedMuEnergy () / energy ();}
146  float neutralEmEnergy () const {return m_specific.mNeutralEmEnergy;}
148  float neutralEmEnergyFraction () const {return neutralEmEnergy () / energy ();}
149 
154 
155 
157  virtual reco::PFCandidatePtr getPFConstituent (unsigned fIndex) const;
158 
160  virtual std::vector <reco::PFCandidatePtr> getPFConstituents () const;
161 
166 
167  // block accessors
168 
169  const Specific& getSpecific () const {return m_specific;}
170 
172  virtual PFJet* clone () const;
173 
175  virtual std::string print () const;
176 
177 
178  private:
180  virtual bool overlap( const Candidate & ) const;
181 
182  //Variables specific to to the PFJet class
184 };
185 
186 // streamer
187  std::ostream& operator<<(std::ostream& out, const reco::PFJet& jet);
188 }
189 // temporary fix before include_checcker runs globally
190 #include "DataFormats/JetReco/interface/PFJetCollection.h" //INCLUDECHECKER:SKIP
191 #endif
virtual double energy() const GCC11_FINAL
energy
float photonEnergy() const
photonEnergy
Definition: PFJet.h:102
int photonMultiplicity() const
photonMultiplicity
Definition: PFJet.h:127
float muonEnergy() const
muonEnergy
Definition: PFJet.h:110
virtual bool overlap(const Candidate &) const
Polymorphic overlap.
Definition: PFJet.cc:79
float chargedEmEnergy() const
chargedEmEnergy
Definition: PFJet.h:138
reco::PFCandidatePtr ConstituentTypePtr
Definition: PFJet.h:24
int mChargedMultiplicity
Definition: PFJet.h:73
float chargedHadronEnergyFraction() const
chargedHadronEnergyFraction
Definition: PFJet.h:96
Base class for all types of Jets.
Definition: Jet.h:20
PFJet()
Definition: PFJet.h:78
std::vector< Constituent > Constituents
Definition: Jet.h:23
float HFEMEnergyFraction() const
HFEMEnergyFraction.
Definition: PFJet.h:120
int mPhotonMultiplicity
Definition: PFJet.h:62
float mNeutralHadronEnergy
Definition: PFJet.h:53
float mChargedMuEnergy
Definition: PFJet.h:71
float HFHadronEnergy() const
HFHadronEnergy.
Definition: PFJet.h:114
int chargedMultiplicity() const
chargedMultiplicity
Definition: PFJet.h:151
float photonEnergyFraction() const
photonEnergyFraction
Definition: PFJet.h:104
Jets made from PFObjects.
Definition: PFJet.h:21
float neutralEmEnergy() const
neutralEmEnergy
Definition: PFJet.h:146
virtual reco::PFCandidatePtr getPFConstituent(unsigned fIndex) const
get specific constituent
Definition: PFJet.cc:35
float mChargedHadronEnergy
Definition: PFJet.h:52
virtual ~PFJet()
Definition: PFJet.h:91
float electronEnergy() const
electronEnergy
Definition: PFJet.h:106
float mChargedEmEnergy
Definition: PFJet.h:70
float neutralEmEnergyFraction() const
neutralEmEnergyFraction
Definition: PFJet.h:148
std::ostream & operator<<(std::ostream &, BeamSpot beam)
Definition: BeamSpot.cc:71
float mElectronEnergy
Definition: PFJet.h:55
float HFEMEnergy() const
HFEMEnergy.
Definition: PFJet.h:118
int mChargedHadronMultiplicity
Definition: PFJet.h:60
virtual std::string print() const
Print object in details.
Definition: PFJet.cc:83
float mPhotonEnergy
Definition: PFJet.h:54
float mNeutralEmEnergy
Definition: PFJet.h:72
math::XYZPoint Point
int neutralHadronMultiplicity() const
neutralHadronMultiplicity
Definition: PFJet.h:125
float neutralHadronEnergyFraction() const
neutralHadronEnergyFraction
Definition: PFJet.h:100
virtual PFJet * clone() const
Polymorphic clone.
Definition: PFJet.cc:75
int neutralMultiplicity() const
neutralMultiplicity
Definition: PFJet.h:153
int mElectronMultiplicity
Definition: PFJet.h:63
tuple out
Definition: dbtoconf.py:99
int mNeutralHadronMultiplicity
Definition: PFJet.h:61
float chargedEmEnergyFraction() const
chargedEmEnergyFraction
Definition: PFJet.h:140
float HFHadronEnergyFraction() const
HFHadronEnergyFraction.
Definition: PFJet.h:116
int mNeutralMultiplicity
Definition: PFJet.h:74
float electronEnergyFraction() const
electronEnergyFraction
Definition: PFJet.h:108
int chargedHadronMultiplicity() const
chargedHadronMultiplicity
Definition: PFJet.h:123
int muonMultiplicity() const
muonMultiplicity
Definition: PFJet.h:131
int HFEMMultiplicity() const
HFEMMultiplicity.
Definition: PFJet.h:135
ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< float > > LorentzVector
Definition: analysisEnums.h:9
float mHFHadronEnergy
Definition: PFJet.h:57
reco::PFCandidateFwdPtr ConstituentTypeFwdPtr
Definition: PFJet.h:25
Specific m_specific
Definition: PFJet.h:183
virtual std::vector< reco::PFCandidatePtr > getPFConstituents() const
get all constituents
Definition: PFJet.cc:52
reco::TrackRefVector getTrackRefs() const
Definition: PFJet.cc:59
float neutralHadronEnergy() const
neutralHadronEnergy
Definition: PFJet.h:98
float chargedMuEnergyFraction() const
chargedMuEnergyFraction
Definition: PFJet.h:144
float chargedMuEnergy() const
chargedMuEnergy
Definition: PFJet.h:142
const Specific & getSpecific() const
Definition: PFJet.h:169
float muonEnergyFraction() const
muonEnergyFraction
Definition: PFJet.h:112
int mHFHadronMultiplicity
Definition: PFJet.h:65
int HFHadronMultiplicity() const
HFHadronMultiplicity.
Definition: PFJet.h:133
float chargedHadronEnergy() const
chargedHadronEnergy
Definition: PFJet.h:94
int electronMultiplicity() const
electronMultiplicity
Definition: PFJet.h:129