CMS 3D CMS Logo

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 
80  void setSpecific (const Specific &spec ) {m_specific = spec;}
81 
83  virtual GenJet* clone () const;
84 
86  virtual std::string print () const;
87 
88 private:
90  virtual bool overlap( const Candidate & ) const;
91 
92  // Data members
93  //Variables specific to to the GenJet class
95 };
96 }
97 // temporary fix before include_checcker runs globally
98 #include "DataFormats/JetReco/interface/GenJetCollection.h" //INCLUDECHECKER:SKIP
99 #endif
float auxiliaryEnergy() const
Definition: GenJet.h:63
float hadEnergy() const
Definition: GenJet.h:59
float emEnergy() const
Definition: GenJet.h:57
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:94
virtual std::string print() const
Print object.
Definition: GenJet.cc:72
Definition: Jet.py:1
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
math::XYZTLorentzVector LorentzVector
Lorentz vector.
Definition: Candidate.h:37
float m_AuxiliaryEnergy
Anything else (undecayed Sigmas etc.)
Definition: GenJet.h:40
fixed size matrix
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
void setSpecific(const Specific &spec)
set the specific (note: responsibility of keeping it consistent with the jet daughers belongs to the ...
Definition: GenJet.h:80
float m_HadEnergy
Energy of Hadrons.
Definition: GenJet.h:36
math::XYZPoint Point
point in the space
Definition: Candidate.h:41
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