CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Classes | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
reco::GenJet Class Reference

Jets made from MC generator particles. More...

#include <GenJet.h>

Inheritance diagram for reco::GenJet:
reco::Jet reco::CompositePtrCandidate reco::LeafCandidate reco::Candidate

Classes

struct  Specific
 

Public Member Functions

float auxiliaryEnergy () const
 
virtual GenJetclone () const
 Polymorphic clone. More...
 
float detectorEta (float fZVertex) const
 Detector Eta (use reference Z and jet kinematics only) More...
 
float emEnergy () const
 
 GenJet ()
 
 GenJet (const LorentzVector &fP4, const Point &fVertex, const Specific &fSpecific, const Jet::Constituents &fConstituents)
 
 GenJet (const LorentzVector &fP4, const Point &fVertex, const Specific &fSpecific)
 
 GenJet (const LorentzVector &fP4, const Specific &fSpecific, const Jet::Constituents &fConstituents)
 
virtual const GenParticlegetGenConstituent (unsigned fIndex) const
 get specific constituent More...
 
virtual std::vector< const
GenParticle * > 
getGenConstituents () const
 get all constituents More...
 
const SpecificgetSpecific () const
 
float hadEnergy () const
 
float invisibleEnergy () const
 
virtual std::string print () const
 Print object. More...
 
void setSpecific (const Specific &spec)
 set the specific (note: responsibility of keeping it consistent with the jet daughers belongs to the caller) More...
 
virtual ~GenJet ()
 
- Public Member Functions inherited from reco::Jet
float constituentEtaPhiSpread () const
 
float constituentPtDistribution () const
 
float etaetaMoment () const
 eta-eta second moment, ET weighted More...
 
float etaphiMoment () const
 eta-phi second moment, ET weighted More...
 
EtaPhiMoments etaPhiStatistics () const
 eta-phi statistics, ET weighted More...
 
float etInAnnulus (float fRmin, float fRmax) const
 ET in annulus between rmin and rmax around jet direction. More...
 
virtual Constituents getJetConstituents () const
 list of constituents More...
 
virtual std::vector< const
reco::Candidate * > 
getJetConstituentsQuick () const
 quick list of constituents More...
 
bool isJet () const
 
 Jet ()
 Default constructor. More...
 
 Jet (const LorentzVector &fP4, const Point &fVertex)
 Initiator. More...
 
 Jet (const LorentzVector &fP4, const Point &fVertex, const Constituents &fConstituents)
 
virtual float jetArea () const
 get jet area More...
 
float maxDistance () const
 maximum distance from jet to constituent More...
 
int nCarrying (float fFraction) const
 return # of constituent carrying fraction of energy More...
 
virtual int nConstituents () const
 

of constituents

More...
 
virtual int nPasses () const
 number of passes taken by algorithm More...
 
float phiphiMoment () const
 phi-phi second moment, ET weighted More...
 
virtual float pileup () const
 pileup energy contribution as calculated by algorithm More...
 
virtual void scaleEnergy (double fScale)
 scale energy of the jet More...
 
virtual void setJetArea (float fArea)
 set jet area More...
 
virtual void setNPasses (int fPasses)
 Set number of passes taken by algorithm. More...
 
virtual void setPileup (float fEnergy)
 Set pileup energy contribution as calculated by algorithm. More...
 
virtual ~Jet ()
 Destructor. More...
 
- Public Member Functions inherited from reco::CompositePtrCandidate
void addDaughter (const CandidatePtr &)
 add a daughter via a reference More...
 
void clearDaughters ()
 clear daughter references More...
 
 CompositePtrCandidate ()
 default constructor More...
 
 CompositePtrCandidate (Charge q, const LorentzVector &p4, const Point &vtx=Point(0, 0, 0), int pdgId=0, int status=0, bool integerCharge=true)
 constructor from values More...
 
 CompositePtrCandidate (Charge q, const PolarLorentzVector &p4, const Point &vtx=Point(0, 0, 0), int pdgId=0, int status=0, bool integerCharge=true)
 constructor from values More...
 
 CompositePtrCandidate (const Candidate &p)
 constructor from a Candidate More...
 
virtual const Candidatedaughter (size_type) const
 return daughter at a given position, i = 0, ... numberOfDaughters() - 1 (read only mode) More...
 
virtual Candidatedaughter (size_type)
 return daughter at a given position, i = 0, ... numberOfDaughters() - 1 More...
 
CandidatePtr daughterPtr (size_type i) const
 reference to daughter at given position More...
 
const daughtersdaughterPtrVector () const
 references to daughtes More...
 
virtual const Candidatemother (size_t i=0) const
 return pointer to mother More...
 
virtual size_t numberOfDaughters () const
 number of daughters More...
 
virtual size_t numberOfMothers () const
 number of mothers More...
 
virtual size_type numberOfSourceCandidatePtrs () const
 
virtual CandidatePtr sourceCandidatePtr (size_type i) const
 
virtual ~CompositePtrCandidate ()
 destructor More...
 
- Public Member Functions inherited from reco::LeafCandidate
virtual Vector boostToCM () const
 
virtual int charge () const
 electric charge More...
 
void construct (int qx3, float pt, float eta, float phi, float mass, const Point &vtx, int pdgId, int status)
 
virtual Candidatedaughter (const std::string &s)
 return daughter with a specified role name More...
 
virtual const Candidatedaughter (const std::string &s) const
 return daughter with a specified role name More...
 
virtual double energy () const
 energy More...
 
virtual double et () const
 transverse energy More...
 
virtual double et2 () const
 transverse energy squared (use this for cut!) More...
 
virtual double eta () const
 momentum pseudorapidity More...
 
virtual void fillVertexCovariance (CovarianceMatrix &v) const
 fill SMatrix More...
 
template<typename T >
T get () const
 get a component More...
 
template<typename T , typename Tag >
T get () const
 get a component More...
 
template<typename T >
T get (size_type i) const
 get a component More...
 
template<typename T , typename Tag >
T get (size_type i) const
 get a component More...
 
virtual bool hasMasterClone () const
 
virtual bool hasMasterClonePtr () const
 
virtual bool isCaloMuon () const
 
virtual bool isConvertedPhoton () const
 
virtual bool isElectron () const
 
virtual bool isGlobalMuon () const
 
virtual bool isMuon () const
 
virtual bool isPhoton () const
 
virtual bool isStandAloneMuon () const
 
virtual bool isTrackerMuon () const
 
 LeafCandidate ()
 
 LeafCandidate (const Candidate &c)
 
template<typename... Args>
 LeafCandidate (Args &&...args)
 
 LeafCandidate (LeafCandidate &rh)
 
 LeafCandidate (LeafCandidate &&)=default
 
 LeafCandidate (LeafCandidate const &)=default
 
virtual bool longLived () const
 is long lived? More...
 
virtual double mass () const
 mass More...
 
virtual bool massConstraint () const
 do mass constraint? More...
 
virtual double massSqr () const
 mass squared More...
 
virtual const CandidateBaseRefmasterClone () const
 
virtual const CandidatePtrmasterClonePtr () const
 
template<typename Ref >
Ref masterRef () const
 cast master clone reference to a concrete type More...
 
virtual Vector momentum () const
 spatial momentum vector More...
 
virtual double mt () const
 transverse mass More...
 
virtual double mtSqr () const
 transverse mass squared More...
 
template<typename T >
size_type numberOf () const
 number of components More...
 
template<typename T , typename Tag >
size_type numberOf () const
 number of components More...
 
LeafCandidateoperator= (LeafCandidate &&)=default
 
LeafCandidateoperator= (LeafCandidate const &)=default
 
virtual double p () const
 magnitude of momentum vector More...
 
virtual const LorentzVectorp4 () const
 four-momentum Lorentz vector More...
 
virtual int pdgId () const
 PDG identifier. More...
 
virtual double phi () const
 momentum azimuthal angle More...
 
virtual const PolarLorentzVectorpolarP4 () const
 four-momentum Lorentz vector More...
 
virtual double pt () const
 transverse momentum More...
 
virtual double px () const
 x coordinate of momentum vector More...
 
virtual double py () const
 y coordinate of momentum vector More...
 
virtual double pz () const
 z coordinate of momentum vector More...
 
virtual double rapidity () const
 rapidity More...
 
virtual void setCharge (Charge q)
 set electric charge More...
 
virtual void setLongLived ()
 
virtual void setMass (double m)
 set particle mass More...
 
virtual void setMassConstraint ()
 
virtual void setP4 (const LorentzVector &p4)
 set 4-momentum More...
 
virtual void setP4 (const PolarLorentzVector &p4)
 set 4-momentum More...
 
virtual void setPdgId (int pdgId)
 
virtual void setPz (double pz)
 
virtual void setStatus (int status)
 set status word More...
 
virtual void setThreeCharge (Charge qx3)
 set electric charge More...
 
virtual void setVertex (const Point &vertex)
 set vertex More...
 
virtual int status () const
 status word More...
 
virtual double theta () const
 momentum polar angle More...
 
virtual int threeCharge () const
 electric charge More...
 
virtual const Pointvertex () const
 vertex position (overwritten by PF...) More...
 
virtual double vertexChi2 () const
 chi-squares More...
 
virtual double vertexCovariance (int i, int j) const
 (i, j)-th element of error matrix, i, j = 0, ... 2 More...
 
CovarianceMatrix vertexCovariance () const
 return SMatrix More...
 
virtual double vertexNdof () const
 
virtual double vertexNormalizedChi2 () const
 chi-squared divided by n.d.o.f. More...
 
virtual double vx () const
 x coordinate of vertex position More...
 
virtual double vy () const
 y coordinate of vertex position More...
 
virtual double vz () const
 z coordinate of vertex position More...
 
virtual double y () const
 rapidity More...
 
virtual ~LeafCandidate ()
 destructor More...
 
- Public Member Functions inherited from reco::Candidate
const_iterator begin () const
 first daughter const_iterator More...
 
iterator begin ()
 first daughter iterator More...
 
virtual const TrackbestTrack () const
 
 Candidate ()
 default constructor More...
 
virtual float dxyError () const
 uncertainty on dxy More...
 
virtual float dzError () const
 uncertainty on dz More...
 
const_iterator end () const
 last daughter const_iterator More...
 
iterator end ()
 last daughter iterator More...
 
template<typename T >
T get () const
 get a component More...
 
template<typename T , typename Tag >
T get () const
 get a component More...
 
template<typename T >
T get (size_type i) const
 get a component More...
 
template<typename T , typename Tag >
T get (size_type i) const
 get a component More...
 
template<typename Ref >
Ref masterRef () const
 cast master clone reference to a concrete type More...
 
template<typename T >
size_type numberOf () const
 number of components More...
 
template<typename T , typename Tag >
size_type numberOf () const
 number of components More...
 
virtual void setSourceCandidatePtr (const CandidatePtr &ptr)
 Set the ptr to the source Candidate. More...
 
virtual ~Candidate ()
 destructor More...
 

Static Public Member Functions

static const GenParticlegenParticle (const reco::Candidate *fConstituent)
 convert generic constituent to specific type More...
 
- Static Public Member Functions inherited from reco::Jet
static float detectorEta (float fZVertex, float fPhysicsEta)
 static function to convert physics eta to detector eta More...
 
static Candidate::LorentzVector detectorP4 (const Candidate::Point &vertex, const Candidate &inParticle)
 
static float physicsEta (float fZVertex, float fDetectorEta)
 static function to convert detector eta to physics eta More...
 
static Candidate::LorentzVector physicsP4 (const Candidate::Point &newVertex, const Candidate &inParticle, const Candidate::Point &oldVertex=Candidate::Point(0, 0, 0))
 

Private Member Functions

virtual bool overlap (const Candidate &) const
 Polymorphic overlap. More...
 

Private Attributes

Specific m_specific
 

Additional Inherited Members

- Public Types inherited from reco::Jet
typedef edm::Ptr< CandidateConstituent
 
typedef std::vector< ConstituentConstituents
 
- Public Types inherited from reco::CompositePtrCandidate
typedef std::vector< CandidatePtrdaughters
 collection of references to daughters More...
 
typedef std::vector< CandidatePtrmothers
 collection of references to daughters More...
 
- Public Types inherited from reco::LeafCandidate
typedef int Charge
 electric charge type More...
 
typedef CandidateCollection daughters
 collection of daughter candidates More...
 
typedef unsigned int index
 
typedef math::XYZTLorentzVector LorentzVector
 Lorentz vector. More...
 
typedef math::XYZPoint Point
 point in the space More...
 
typedef
math::PtEtaPhiMLorentzVector 
PolarLorentzVector
 Lorentz vector. More...
 
typedef math::XYZVector Vector
 point in the space More...
 
- Public Types inherited from reco::Candidate
enum  { dimension = 3 }
 
enum  { size = dimension * (dimension + 1)/2 }
 matix size More...
 
typedef int Charge
 electric charge type More...
 
typedef candidate::const_iterator const_iterator
 
typedef math::Error< dimension >
::type 
CovarianceMatrix
 covariance error matrix (3x3) More...
 
typedef unsigned int index
 index type More...
 
typedef candidate::iterator iterator
 
typedef math::XYZTLorentzVector LorentzVector
 Lorentz vector. More...
 
typedef math::XYZPoint Point
 point in the space More...
 
typedef
math::PtEtaPhiMLorentzVector 
PolarLorentzVector
 Lorentz vector. More...
 
typedef size_t size_type
 
typedef math::XYZVector Vector
 point in the space More...
 

Detailed Description

Jets made from MC generator particles.

GenJet represents Jets made from MC candidates Provide energy contributions from different particle types in addition to generic Jet parameters

Author
Fedor Ratnikov, UMd
Version
Original March 31, 2006 by F.R.

Definition at line 24 of file GenJet.h.

Constructor & Destructor Documentation

reco::GenJet::GenJet ( )
inline

Default constructor

Definition at line 44 of file GenJet.h.

Referenced by clone().

44 {}
GenJet::GenJet ( const LorentzVector fP4,
const Point fVertex,
const Specific fSpecific,
const Jet::Constituents fConstituents 
)

Constructor from values

Definition at line 19 of file GenJet.cc.

22  : Jet (fP4, fVertex, fConstituents),
23  m_specific (fSpecific)
24 {}
Specific m_specific
Definition: GenJet.h:94
Jet()
Default constructor.
Definition: Jet.h:36
GenJet::GenJet ( const LorentzVector fP4,
const Point fVertex,
const Specific fSpecific 
)

Definition at line 13 of file GenJet.cc.

15  : Jet (fP4, fVertex),
16  m_specific (fSpecific)
17 {}
Specific m_specific
Definition: GenJet.h:94
Jet()
Default constructor.
Definition: Jet.h:36
GenJet::GenJet ( const LorentzVector fP4,
const Specific fSpecific,
const Jet::Constituents fConstituents 
)

backward compatible, vertex=(0,0,0)

Definition at line 26 of file GenJet.cc.

29  : Jet (fP4, Point(0,0,0), fConstituents),
30  m_specific (fSpecific)
31 {}
Specific m_specific
Definition: GenJet.h:94
Jet()
Default constructor.
Definition: Jet.h:36
math::XYZPoint Point
point in the space
Definition: LeafCandidate.h:27
virtual reco::GenJet::~GenJet ( )
inlinevirtual

Definition at line 55 of file GenJet.h.

55 {};

Member Function Documentation

float reco::GenJet::auxiliaryEnergy ( ) const
inline

Returns other energy (undecayed Sigmas etc.)

Definition at line 63 of file GenJet.h.

References reco::GenJet::Specific::m_AuxiliaryEnergy, and m_specific.

Referenced by print().

Specific m_specific
Definition: GenJet.h:94
float m_AuxiliaryEnergy
Anything else (undecayed Sigmas etc.)
Definition: GenJet.h:40
GenJet * GenJet::clone ( void  ) const
virtual

Polymorphic clone.

Reimplemented from reco::CompositePtrCandidate.

Definition at line 64 of file GenJet.cc.

References GenJet().

64  {
65  return new GenJet (*this);
66 }
float GenJet::detectorEta ( float  fZVertex) const

Detector Eta (use reference Z and jet kinematics only)

Definition at line 34 of file GenJet.cc.

References reco::Jet::detectorEta(), and reco::LeafCandidate::eta().

34  {
35  return Jet::detectorEta (fZVertex, eta());
36 }
static float detectorEta(float fZVertex, float fPhysicsEta)
static function to convert physics eta to detector eta
virtual double eta() const
momentum pseudorapidity
float reco::GenJet::emEnergy ( ) const
inline

Returns energy of electromagnetic particles

Definition at line 57 of file GenJet.h.

References reco::GenJet::Specific::m_EmEnergy, and m_specific.

Referenced by main(), and print().

57 {return m_specific.m_EmEnergy;};
Specific m_specific
Definition: GenJet.h:94
float m_EmEnergy
Energy of EM particles.
Definition: GenJet.h:34
const GenParticle * GenJet::genParticle ( const reco::Candidate fConstituent)
static

convert generic constituent to specific type

Definition at line 38 of file GenJet.cc.

References newFWLiteAna::base, edm::hlt::Exception, edm::RefToBase< T >::get(), reco::Candidate::hasMasterClone(), reco::Candidate::masterClone(), and query::result.

Referenced by getGenConstituent(), and JetMatchingTools::getGenParticle().

38  {
39  const Candidate* base = fConstituent;
40  if (fConstituent->hasMasterClone ()) base = fConstituent->masterClone().get ();
41  const GenParticle* result = dynamic_cast<const GenParticle*> (base);
42  if (!result) throw cms::Exception("Invalid Constituent") << "GenJet constituent is not of the type GenParticle";
43  return result;
44 }
tuple base
Main Program
Definition: newFWLiteAna.py:92
value_type const * get() const
Definition: RefToBase.h:212
virtual bool hasMasterClone() const =0
tuple result
Definition: query.py:137
virtual const CandidateBaseRef & masterClone() const =0
const GenParticle * GenJet::getGenConstituent ( unsigned  fIndex) const
virtual

get specific constituent

Definition at line 46 of file GenJet.cc.

References reco::Candidate::begin(), reco::Candidate::end(), and genParticle().

Referenced by getGenConstituents().

46  {
47  // no direct access, have to iterate for now
48  int index (fIndex);
50  for (; --index >= 0 && daugh != end (); daugh++) {}
51  if (daugh != end ()) { // in range
52  const Candidate* constituent = &*daugh; // deref
53  return genParticle (constituent);
54  }
55  return 0;
56 }
const_iterator end() const
last daughter const_iterator
Definition: Candidate.h:146
unsigned int index
Definition: LeafCandidate.h:31
const_iterator begin() const
first daughter const_iterator
Definition: Candidate.h:144
static const GenParticle * genParticle(const reco::Candidate *fConstituent)
convert generic constituent to specific type
Definition: GenJet.cc:38
std::vector< const GenParticle * > GenJet::getGenConstituents ( ) const
virtual

get all constituents

Definition at line 58 of file GenJet.cc.

References getGenConstituent(), i, reco::CompositePtrCandidate::numberOfDaughters(), and query::result.

Referenced by JetMatchingTools::getGenParticles(), PFJetBenchmark::gettrue(), print(), and PFJetBenchmark::printGenJet().

58  {
59  std::vector <const GenParticle*> result;
60  for (unsigned i = 0; i < numberOfDaughters (); i++) result.push_back (getGenConstituent (i));
61  return result;
62 }
int i
Definition: DBlmapReader.cc:9
virtual size_t numberOfDaughters() const
number of daughters
tuple result
Definition: query.py:137
virtual const GenParticle * getGenConstituent(unsigned fIndex) const
get specific constituent
Definition: GenJet.cc:46
const Specific& reco::GenJet::getSpecific ( ) const
inline

Definition at line 77 of file GenJet.h.

References m_specific.

77 {return m_specific;}
Specific m_specific
Definition: GenJet.h:94
float reco::GenJet::hadEnergy ( ) const
inline

Returns energy of hadronic particles

Definition at line 59 of file GenJet.h.

References reco::GenJet::Specific::m_HadEnergy, and m_specific.

Referenced by main(), and print().

59 {return m_specific.m_HadEnergy;};
Specific m_specific
Definition: GenJet.h:94
float m_HadEnergy
Energy of Hadrons.
Definition: GenJet.h:36
float reco::GenJet::invisibleEnergy ( ) const
inline

Returns invisible energy

Definition at line 61 of file GenJet.h.

References reco::GenJet::Specific::m_InvisibleEnergy, and m_specific.

Referenced by print().

Specific m_specific
Definition: GenJet.h:94
float m_InvisibleEnergy
Invisible energy (mu, nu, ...)
Definition: GenJet.h:38
bool GenJet::overlap ( const Candidate ) const
privatevirtual

Polymorphic overlap.

Reimplemented from reco::CompositePtrCandidate.

Definition at line 68 of file GenJet.cc.

68  {
69  return false;
70 }
std::string GenJet::print ( void  ) const
virtual

Print object.

Reimplemented from reco::Jet.

Definition at line 72 of file GenJet.cc.

References auxiliaryEnergy(), emEnergy(), reco::LeafCandidate::eta(), getGenConstituents(), hadEnergy(), i, invisibleEnergy(), dbtoconf::out, reco::LeafCandidate::p(), reco::LeafCandidate::pdgId(), reco::LeafCandidate::phi(), reco::Jet::print(), and reco::LeafCandidate::pt().

Referenced by TauGenJetDumper::analyze().

72  {
73  std::ostringstream out;
74  out << Jet::print () // generic jet info
75  << " GenJet specific:" << std::endl
76  << " em/had/invisible/aux energies: "
77  << emEnergy() << '/' << hadEnergy() << '/' << invisibleEnergy() << '/' << auxiliaryEnergy() << std::endl;
78  out << " MC particles:" << std::endl;
79  std::vector <const GenParticle*> mcparts = getGenConstituents ();
80  for (unsigned i = 0; i < mcparts.size (); i++) {
81  const GenParticle* mcpart = mcparts[i];
82  if (mcpart) {
83  out << " #" << i << " PDG code:" << mcpart->pdgId()
84  << ", p/pt/eta/phi: " << mcpart->p() << '/' << mcpart->pt() << '/' << mcpart->eta() << '/' << mcpart->phi() << std::endl;
85  }
86  else {
87  out << " #" << i << " No information about constituent" << std::endl;
88  }
89  }
90  return out.str ();
91 }
int i
Definition: DBlmapReader.cc:9
virtual int pdgId() const
PDG identifier.
virtual double p() const
magnitude of momentum vector
float auxiliaryEnergy() const
Definition: GenJet.h:63
float hadEnergy() const
Definition: GenJet.h:59
float emEnergy() const
Definition: GenJet.h:57
virtual double eta() const
momentum pseudorapidity
virtual double pt() const
transverse momentum
virtual std::string print() const
Print object.
virtual std::vector< const GenParticle * > getGenConstituents() const
get all constituents
Definition: GenJet.cc:58
float invisibleEnergy() const
Definition: GenJet.h:61
tuple out
Definition: dbtoconf.py:99
virtual double phi() const
momentum azimuthal angle
void reco::GenJet::setSpecific ( const Specific spec)
inline

set the specific (note: responsibility of keeping it consistent with the jet daughers belongs to the caller)

Definition at line 80 of file GenJet.h.

References m_specific.

Referenced by pat::PATGenJetSlimmer::produce().

80 {m_specific = spec;}
Specific m_specific
Definition: GenJet.h:94

Member Data Documentation

Specific reco::GenJet::m_specific
private

Definition at line 94 of file GenJet.h.

Referenced by auxiliaryEnergy(), emEnergy(), getSpecific(), hadEnergy(), invisibleEnergy(), and setSpecific().