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 
19 
20 
21 namespace reco {
22  class GenParticle;
23 
24 class GenJet : public Jet {
25 public:
26  struct Specific {
27  Specific () :
28  m_EmEnergy (0),
29  m_HadEnergy (0),
31  m_AuxiliaryEnergy (0) {}
32 
34  float m_EmEnergy;
36  float m_HadEnergy;
41  };
42 
44  GenJet() {}
45 
47  GenJet(const LorentzVector& fP4, const Point& fVertex, const Specific& fSpecific,
48  const Jet::Constituents& fConstituents);
49  GenJet(const LorentzVector& fP4, const Point& fVertex, const Specific& fSpecific);
50 
52  GenJet(const LorentzVector& fP4, const Specific& fSpecific,
53  const Jet::Constituents& fConstituents);
54 
55  virtual ~GenJet() {};
57  float emEnergy() const {return m_specific.m_EmEnergy;};
59  float hadEnergy() const {return m_specific.m_HadEnergy;};
61  float invisibleEnergy() const {return m_specific.m_InvisibleEnergy;};
63  float auxiliaryEnergy() const {return m_specific.m_AuxiliaryEnergy;};
64 
66  float detectorEta (float fZVertex) const;
67 
69  static const GenParticle* genParticle (const reco::Candidate* fConstituent);
71  virtual const GenParticle* getGenConstituent (unsigned fIndex) const;
73  virtual std::vector <const GenParticle*> getGenConstituents () const;
74 
75  // block accessors
76 
77  const Specific& getSpecific () const {return m_specific;}
78 
79 
81  virtual GenJet* clone () const;
82 
84  virtual std::string print () const;
85 
86 private:
88  virtual bool overlap( const Candidate & ) const;
89 
90  // Data members
91  //Variables specific to to the GenJet class
93 };
94 }
95 // temporary fix before include_checcker runs globally
96 #include "DataFormats/JetReco/interface/GenJetCollection.h" //INCLUDECHECKER:SKIP
97 #endif
float auxiliaryEnergy() const
Definition: GenJet.h:63
float hadEnergy() const
Definition: GenJet.h:59
float emEnergy() const
Definition: GenJet.h:57
Base class for all types of Jets.
Definition: Jet.h:20
math::XYZTLorentzVector LorentzVector
std::vector< Constituent > Constituents
Definition: Jet.h:23
virtual ~GenJet()
Definition: GenJet.h:55
float detectorEta(float fZVertex) const
Detector Eta (use reference Z and jet kinematics only)
Definition: GenJet.cc:34
Specific m_specific
Definition: GenJet.h:92
virtual std::string print() const
Print object.
Definition: GenJet.cc:72
math::XYZPoint Point
Jets made from MC generator particles.
Definition: GenJet.h:24
float m_InvisibleEnergy
Invisible energy (mu, nu, ...)
Definition: GenJet.h:38
virtual std::vector< const GenParticle * > getGenConstituents() const
get all constituents
Definition: GenJet.cc:58
float invisibleEnergy() const
Definition: GenJet.h:61
float m_AuxiliaryEnergy
Anything else (undecayed Sigmas etc.)
Definition: GenJet.h:40
virtual bool overlap(const Candidate &) const
Polymorphic overlap.
Definition: GenJet.cc:68
virtual const GenParticle * getGenConstituent(unsigned fIndex) const
get specific constituent
Definition: GenJet.cc:46
float m_HadEnergy
Energy of Hadrons.
Definition: GenJet.h:36
static const GenParticle * genParticle(const reco::Candidate *fConstituent)
convert generic constituent to specific type
Definition: GenJet.cc:38
virtual GenJet * clone() const
Polymorphic clone.
Definition: GenJet.cc:64
float m_EmEnergy
Energy of EM particles.
Definition: GenJet.h:34
const Specific & getSpecific() const
Definition: GenJet.h:77