CMS 3D CMS Logo

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
 
GenJetclone () const override
 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
 
std::string print () const override
 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...
 
 ~GenJet () override
 
- 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 override
 
 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...
 
 ~Jet () override
 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...
 
const Candidatedaughter (size_type) const override
 return daughter at a given position, i = 0, ... numberOfDaughters() - 1 (read only mode) More...
 
Candidatedaughter (size_type) override
 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...
 
const Candidatemother (size_t i=0) const override
 return pointer to mother More...
 
size_t numberOfDaughters () const override
 number of daughters More...
 
size_t numberOfMothers () const override
 number of mothers More...
 
size_type numberOfSourceCandidatePtrs () const override
 
CandidatePtr sourceCandidatePtr (size_type i) const override
 
 ~CompositePtrCandidate () override
 destructor More...
 
- Public Member Functions inherited from reco::LeafCandidate
Vector boostToCM () const final
 
int charge () const final
 electric charge More...
 
void construct (int qx3, float pt, float eta, float phi, float mass, const Point &vtx, int pdgId, int status)
 
const Candidatedaughter (size_type) const override
 return daughter at a given position (throws an exception) More...
 
Candidatedaughter (size_type) override
 return daughter at a given position (throws an exception) More...
 
Candidatedaughter (const std::string &s) override
 return daughter with a specified role name More...
 
const Candidatedaughter (const std::string &s) const override
 return daughter with a specified role name More...
 
double energy () const final
 energy More...
 
double et () const final
 transverse energy More...
 
double et2 () const final
 transverse energy squared (use this for cut!) More...
 
double eta () const final
 momentum pseudorapidity More...
 
void fillVertexCovariance (CovarianceMatrix &v) const override
 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...
 
bool hasMasterClone () const override
 
bool hasMasterClonePtr () const override
 
bool isCaloMuon () const override
 
bool isConvertedPhoton () const override
 
bool isElectron () const override
 
bool isGlobalMuon () const override
 
bool isMuon () const override
 
bool isPhoton () const override
 
bool isStandAloneMuon () const override
 
bool isTrackerMuon () const override
 
 LeafCandidate ()
 
 LeafCandidate (const Candidate &c)
 
template<typename... Args>
 LeafCandidate (Args &&...args)
 
 LeafCandidate (LeafCandidate &rh)
 
 LeafCandidate (LeafCandidate &&)=default
 
 LeafCandidate (LeafCandidate const &)=default
 
bool longLived () const final
 is long lived? More...
 
double mass () const final
 mass More...
 
bool massConstraint () const final
 do mass constraint? More...
 
double massSqr () const final
 mass squared More...
 
const CandidateBaseRefmasterClone () const override
 
const CandidatePtrmasterClonePtr () const override
 
template<typename Ref >
Ref masterRef () const
 cast master clone reference to a concrete type More...
 
Vector momentum () const final
 spatial momentum vector More...
 
const Candidatemother (size_type) const override
 return mother at a given position (throws an exception) More...
 
double mt () const final
 transverse mass More...
 
double mtSqr () const final
 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...
 
size_t numberOfDaughters () const override
 number of daughters More...
 
size_t numberOfMothers () const override
 number of mothers More...
 
size_t numberOfSourceCandidatePtrs () const override
 
LeafCandidateoperator= (LeafCandidate &&)=default
 
LeafCandidateoperator= (LeafCandidate const &)=default
 
double p () const final
 magnitude of momentum vector More...
 
const LorentzVectorp4 () const final
 four-momentum Lorentz vector More...
 
int pdgId () const final
 PDG identifier. More...
 
double phi () const final
 momentum azimuthal angle More...
 
const PolarLorentzVectorpolarP4 () const final
 four-momentum Lorentz vector More...
 
double pt () const final
 transverse momentum More...
 
double px () const final
 x coordinate of momentum vector More...
 
double py () const final
 y coordinate of momentum vector More...
 
double pz () const final
 z coordinate of momentum vector More...
 
double rapidity () const final
 rapidity More...
 
void setCharge (Charge q) final
 set electric charge More...
 
void setLongLived () final
 
void setMass (double m) final
 set particle mass More...
 
void setMassConstraint () final
 
void setP4 (const LorentzVector &p4) final
 set 4-momentum More...
 
void setP4 (const PolarLorentzVector &p4) final
 set 4-momentum More...
 
void setPdgId (int pdgId) final
 
void setPz (double pz) final
 
void setStatus (int status) final
 set status word More...
 
void setThreeCharge (Charge qx3) final
 set electric charge More...
 
void setVertex (const Point &vertex) override
 set vertex More...
 
CandidatePtr sourceCandidatePtr (size_type i) const override
 
int status () const final
 status word More...
 
double theta () const final
 momentum polar angle More...
 
int threeCharge () const final
 electric charge More...
 
const Pointvertex () const override
 vertex position (overwritten by PF...) More...
 
double vertexChi2 () const override
 chi-squares More...
 
double vertexCovariance (int i, int j) const override
 (i, j)-th element of error matrix, i, j = 0, ... 2 More...
 
CovarianceMatrix vertexCovariance () const final
 return SMatrix More...
 
double vertexNdof () const override
 
double vertexNormalizedChi2 () const override
 chi-squared divided by n.d.o.f. More...
 
double vx () const override
 x coordinate of vertex position More...
 
double vy () const override
 y coordinate of vertex position More...
 
double vz () const override
 z coordinate of vertex position More...
 
double y () const final
 rapidity More...
 
 ~LeafCandidate () override
 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

bool overlap (const Candidate &) const override
 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
reco::GenJet::~GenJet ( )
inlineoverride

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 detectorEta(), genParticle(), getGenConstituent(), getGenConstituents(), 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
overridevirtual

Polymorphic clone.

Reimplemented from reco::CompositePtrCandidate.

Definition at line 64 of file GenJet.cc.

References GenJet().

Referenced by setSpecific().

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().

Referenced by auxiliaryEnergy().

34  {
35  return Jet::detectorEta (fZVertex, eta());
36 }
static float detectorEta(float fZVertex, float fPhysicsEta)
static function to convert physics eta to detector eta
double eta() const final
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 runEdmFileComparison::base, Exception, edm::RefToBase< T >::get(), reco::Candidate::hasMasterClone(), reco::Candidate::masterClone(), and mps_fire::result.

Referenced by auxiliaryEnergy(), 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 }
value_type const * get() const
Definition: RefToBase.h:234
base
Make Sure CMSSW is Setup ##.
virtual const CandidateBaseRef & masterClone() const =0
virtual bool hasMasterClone() 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 auxiliaryEnergy(), and 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 nullptr;
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(), mps_fire::i, reco::CompositePtrCandidate::numberOfDaughters(), and mps_fire::result.

Referenced by auxiliaryEnergy(), 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 }
size_t numberOfDaughters() const override
number of daughters
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.

Referenced by reco::operator<<().

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
overrideprivatevirtual

Polymorphic overlap.

Reimplemented from reco::CompositePtrCandidate.

Definition at line 68 of file GenJet.cc.

Referenced by setSpecific().

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

Print object.

Reimplemented from reco::Jet.

Definition at line 72 of file GenJet.cc.

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

Referenced by TauGenJetDumper::analyze(), and setSpecific().

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 pdgId() const final
PDG identifier.
float auxiliaryEnergy() const
Definition: GenJet.h:63
float hadEnergy() const
Definition: GenJet.h:59
double eta() const final
momentum pseudorapidity
float emEnergy() const
Definition: GenJet.h:57
double pt() const final
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
double p() const final
magnitude of momentum vector
double phi() const final
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 clone(), m_specific, overlap(), print(), and AlCaHLTBitMon_QueryRunRegistry::string.

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().