CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
GenJet.h
Go to the documentation of this file.
1 #ifndef JetReco_GenJet_h
2 #define JetReco_GenJet_h
3 
20 
21 
22 namespace reco {
23  class GenParticle;
24 
25 class GenJet : public Jet {
26 public:
27  struct Specific {
28  Specific () :
29  m_EmEnergy (0),
30  m_HadEnergy (0),
32  m_AuxiliaryEnergy (0) {}
33 
35  float m_EmEnergy;
37  float m_HadEnergy;
42  };
43 
45  GenJet() {}
46 
48  GenJet(const LorentzVector& fP4, const Point& fVertex, const Specific& fSpecific,
49  const Jet::Constituents& fConstituents);
50  GenJet(const LorentzVector& fP4, const Point& fVertex, const Specific& fSpecific);
51 
53  GenJet(const LorentzVector& fP4, const Specific& fSpecific,
54  const Jet::Constituents& fConstituents);
55 
56  virtual ~GenJet() {};
58  float emEnergy() const {return m_specific.m_EmEnergy;};
60  float hadEnergy() const {return m_specific.m_HadEnergy;};
62  float invisibleEnergy() const {return m_specific.m_InvisibleEnergy;};
64  float auxiliaryEnergy() const {return m_specific.m_AuxiliaryEnergy;};
65 
67  float detectorEta (float fZVertex) const;
68 
70  static const GenParticle* genParticle (const reco::Candidate* fConstituent);
72  virtual const GenParticle* getGenConstituent (unsigned fIndex) const;
74  virtual std::vector <const GenParticle*> getGenConstituents () const;
75 
76  // block accessors
77 
78  const Specific& getSpecific () const {return m_specific;}
79 
80 
82  virtual GenJet* clone () const;
83 
85  virtual std::string print () const;
86 
87 private:
89  virtual bool overlap( const Candidate & ) const;
90 
91  // Data members
92  //Variables specific to to the GenJet class
94 };
95 }
96 // temporary fix before include_checcker runs globally
97 #include "DataFormats/JetReco/interface/GenJetCollection.h" //INCLUDECHECKER:SKIP
98 #endif
float auxiliaryEnergy() const
Definition: GenJet.h:64
float hadEnergy() const
Definition: GenJet.h:60
float emEnergy() const
Definition: GenJet.h:58
Base class for all types of Jets.
Definition: Jet.h:21
std::vector< Constituent > Constituents
Definition: Jet.h:24
virtual ~GenJet()
Definition: GenJet.h:56
float detectorEta(float fZVertex) const
Detector Eta (use reference Z and jet kinematics only)
Definition: GenJet.cc:35
Specific m_specific
Definition: GenJet.h:93
math::XYZTLorentzVector LorentzVector
Definition: HLTMuonBPAG.h:55
virtual std::string print() const
Print object.
Definition: GenJet.cc:73
math::XYZPoint Point
Jets made from MC generator particles.
Definition: GenJet.h:25
float m_InvisibleEnergy
Invisible energy (mu, nu, ...)
Definition: GenJet.h:39
virtual std::vector< const GenParticle * > getGenConstituents() const
get all constituents
Definition: GenJet.cc:59
float invisibleEnergy() const
Definition: GenJet.h:62
float m_AuxiliaryEnergy
Anything else (undecayed Sigmas etc.)
Definition: GenJet.h:41
virtual bool overlap(const Candidate &) const
Polymorphic overlap.
Definition: GenJet.cc:69
virtual const GenParticle * getGenConstituent(unsigned fIndex) const
get specific constituent
Definition: GenJet.cc:47
float m_HadEnergy
Energy of Hadrons.
Definition: GenJet.h:37
static const GenParticle * genParticle(const reco::Candidate *fConstituent)
convert generic constituent to specific type
Definition: GenJet.cc:39
virtual GenJet * clone() const
Polymorphic clone.
Definition: GenJet.cc:65
float m_EmEnergy
Energy of EM particles.
Definition: GenJet.h:35
const Specific & getSpecific() const
Definition: GenJet.h:78