Monte Carlo truth information used for tracking validation. More...
#include <SimCluster.h>
Public Types | |
typedef int | Charge |
electric charge type More... | |
typedef std::vector< SimTrack >::const_iterator | g4t_iterator |
typedef reco::GenParticleRefVector::iterator | genp_iterator |
reference to reco::GenParticle More... | |
typedef math::XYZTLorentzVectorD | LorentzVector |
Lorentz vector. More... | |
typedef math::XYZPointD | Point |
point in the space More... | |
typedef math::PtEtaPhiMLorentzVector | PolarLorentzVector |
Lorentz vector. More... | |
typedef math::XYZVectorD | Vector |
point in the space More... | |
Public Member Functions | |
void | addG4Track (const SimTrack &t) |
void | addGenParticle (const reco::GenParticleRef &ref) |
void | addHitEnergy (float energy) |
add rechit energy More... | |
void | addRecHitAndFraction (uint32_t hit, float fraction) |
add rechit with fraction More... | |
void | addSimHit (const PCaloHit &hit) |
add simhit's energy to cluster More... | |
math::XYZVectorF | boostToCM () const |
Vector to boost to the particle centre of mass frame. More... | |
float | charge () const |
Electric charge. Note this is taken from the first SimTrack only. More... | |
void | clearHitsAndFractions () |
clear the hits and fractions list More... | |
void | clearHitsEnergy () |
clear the energies list More... | |
float | energy () const |
Energy. Note this is taken from the first SimTrack only. More... | |
float | et () const |
Transverse energy. Note this is taken from the first SimTrack only. More... | |
float | eta () const |
Momentum pseudorapidity. Note this is taken from the simtrack before the calorimeter. More... | |
EncodedEventId | eventId () const |
Signal source, crossing number. More... | |
g4t_iterator | g4Track_begin () const |
g4t_iterator | g4Track_end () const |
const std::vector< SimTrack > & | g4Tracks () const |
genp_iterator | genParticle_begin () const |
iterators More... | |
genp_iterator | genParticle_end () const |
const reco::GenParticleRefVector & | genParticles () const |
std::vector< std::pair< uint32_t, float > > | hits_and_energies () const |
Returns list of rechit IDs and energies for this SimCluster. More... | |
std::vector< std::pair< uint32_t, float > > | hits_and_fractions () const |
Returns list of rechit IDs and fractions for this SimCluster. More... | |
bool | longLived () const |
is long lived? More... | |
float | mass () const |
Mass. Note this is taken from the first SimTrack only. More... | |
float | massSqr () const |
Mass squared. Note this is taken from the first SimTrack only. More... | |
math::XYZVectorF | momentum () const |
spatial momentum vector More... | |
float | mt () const |
Transverse mass. Note this is taken from the first SimTrack only. More... | |
float | mtSqr () const |
Transverse mass squared. Note this is taken from the first SimTrack only. More... | |
int | numberOfRecHits () const |
Gives the total number of SimHits, in the cluster. More... | |
int | numberOfSimHits () const |
Gives the total number of SimHits, in the cluster. More... | |
float | p () const |
Magnitude of momentum vector. Note this is taken from the first SimTrack only. More... | |
const math::XYZTLorentzVectorF & | p4 () const |
Four-momentum Lorentz vector. Note this is taken from the first SimTrack only. More... | |
uint64_t | particleId () const |
int | pdgId () const |
PDG ID. More... | |
float | phi () const |
Momentum azimuthal angle. Note this is taken from the first SimTrack only. More... | |
float | pt () const |
Transverse momentum. Note this is taken from the first SimTrack only. More... | |
float | px () const |
x coordinate of momentum vector. Note this is taken from the first SimTrack only. More... | |
float | py () const |
y coordinate of momentum vector. Note this is taken from the first SimTrack only. More... | |
float | pz () const |
z coordinate of momentum vector. Note this is taken from the first SimTrack only. More... | |
float | rapidity () const |
Rapidity. Note this is taken from the simtrack before the calorimeter. More... | |
SimCluster () | |
SimCluster (const SimTrack &simtrk) | |
SimCluster (EncodedEventId eventID, uint32_t particleID) | |
float | simEnergy () const |
returns the accumulated sim energy in the cluster More... | |
int | status () const |
Status word. More... | |
float | theta () const |
Momentum polar angle. Note this is taken from the first SimTrack only. More... | |
int | threeCharge () const |
Gives charge in unit of quark charge (should be 3 times "charge()") More... | |
float | y () const |
Same as rapidity(). More... | |
~SimCluster () | |
Static Public Attributes | |
static const unsigned int | longLivedTag = 65536 |
long lived flag More... | |
Private Attributes | |
std::vector< float > | energies_ |
EncodedEventId | event_ |
std::vector< float > | fractions_ |
std::vector< SimTrack > | g4Tracks_ |
references to G4 and reco::GenParticle tracks More... | |
reco::GenParticleRefVector | genParticles_ |
std::vector< uint32_t > | hits_ |
uint64_t | nsimhits_ {0} |
uint32_t | particleId_ {0} |
float | simhit_energy_ {0.f} |
math::XYZTLorentzVectorF | theMomentum_ |
Friends | |
std::ostream & | operator<< (std::ostream &s, SimCluster const &tp) |
Monte Carlo truth information used for tracking validation.
Object with references to the original SimTrack and parent and daughter TrackingVertices. Simulation with high (~100) pileup was taking too much memory so the class was slimmed down and copies of the SimHits were removed.
Definition at line 29 of file SimCluster.h.
typedef int SimCluster::Charge |
electric charge type
Definition at line 33 of file SimCluster.h.
typedef std::vector<SimTrack>::const_iterator SimCluster::g4t_iterator |
Definition at line 41 of file SimCluster.h.
reference to reco::GenParticle
Definition at line 40 of file SimCluster.h.
Lorentz vector.
Definition at line 34 of file SimCluster.h.
typedef math::XYZPointD SimCluster::Point |
point in the space
Definition at line 36 of file SimCluster.h.
Lorentz vector.
Definition at line 35 of file SimCluster.h.
typedef math::XYZVectorD SimCluster::Vector |
point in the space
Definition at line 37 of file SimCluster.h.
SimCluster::SimCluster | ( | ) |
Definition at line 11 of file SimCluster.cc.
SimCluster::SimCluster | ( | const SimTrack & | simtrk | ) |
Definition at line 15 of file SimCluster.cc.
References addG4Track(), event_, CoreSimTrack::eventId(), CoreSimTrack::momentum(), particleId_, theMomentum_, and CoreSimTrack::trackId().
SimCluster::SimCluster | ( | EncodedEventId | eventID, |
uint32_t | particleID | ||
) |
Definition at line 24 of file SimCluster.cc.
References event_, EgammaObjectsElectrons_cfi::particleID, and particleId_.
SimCluster::~SimCluster | ( | ) |
Definition at line 29 of file SimCluster.cc.
|
inline |
Definition at line 72 of file SimCluster.h.
References g4Tracks_, and submitPVValidationJobs::t.
Referenced by SimCluster().
|
inline |
Definition at line 71 of file SimCluster.h.
References genParticles_, and edm::RefVector< C, T, F >::push_back().
|
inline |
add rechit energy
Definition at line 181 of file SimCluster.h.
References energies_, and energy().
|
inline |
add rechit with fraction
Definition at line 175 of file SimCluster.h.
References HLT_2023v12_cff::fraction, fractions_, and hits_.
|
inline |
add simhit's energy to cluster
Definition at line 216 of file SimCluster.h.
References nsimhits_, and simhit_energy_.
|
inline |
Vector to boost to the particle centre of mass frame.
Definition at line 97 of file SimCluster.h.
References p4().
|
inline |
Electric charge. Note this is taken from the first SimTrack only.
Definition at line 85 of file SimCluster.h.
References g4Tracks_.
Referenced by threeCharge().
|
inline |
clear the hits and fractions list
Definition at line 204 of file SimCluster.h.
References fractions_, hits_, and edm::swap().
|
inline |
clear the energies list
Definition at line 210 of file SimCluster.h.
References energies_, and edm::swap().
|
inline |
Energy. Note this is taken from the first SimTrack only.
Definition at line 104 of file SimCluster.h.
References p4().
Referenced by addHitEnergy(), HGCalShowerSeparation::analyze(), HGCalHitCalibration::analyze(), and Jet.Jet::rawEnergy().
|
inline |
Transverse energy. Note this is taken from the first SimTrack only.
Definition at line 107 of file SimCluster.h.
References p4().
|
inline |
Momentum pseudorapidity. Note this is taken from the simtrack before the calorimeter.
Definition at line 148 of file SimCluster.h.
References p4().
Referenced by Particle.Particle::__str__(), datamodel.Object::DeltaR(), Jet.Jet::jetID(), datamodel.Object::p4(), and Jet.Jet::puJetId().
|
inline |
Signal source, crossing number.
Note this is taken from the first SimTrack only, but there shouldn't be any SimTracks from different crossings in the SimCluster.
Definition at line 66 of file SimCluster.h.
References event_.
Referenced by ntupleDataFormat.Event::eventIdStr().
|
inline |
Definition at line 76 of file SimCluster.h.
References g4Tracks_.
|
inline |
Definition at line 77 of file SimCluster.h.
References g4Tracks_.
|
inline |
Definition at line 82 of file SimCluster.h.
References g4Tracks_.
|
inline |
iterators
Definition at line 74 of file SimCluster.h.
References edm::RefVector< C, T, F >::begin(), and genParticles_.
|
inline |
Definition at line 75 of file SimCluster.h.
References edm::RefVector< C, T, F >::end(), and genParticles_.
|
inline |
|
inline |
Returns list of rechit IDs and energies for this SimCluster.
Definition at line 193 of file SimCluster.h.
References cms::cuda::assert(), energies_, hits_, mps_fire::i, and mps_fire::result.
|
inline |
Returns list of rechit IDs and fractions for this SimCluster.
Definition at line 184 of file SimCluster.h.
References fractions_, hits_, mps_fire::i, and mps_fire::result.
Referenced by HGCalShowerSeparation::analyze(), HGCalHitCalibration::analyze(), MultiClusterAssociatorByEnergyScoreImpl::makeConnections(), and LCToCPAssociatorByEnergyScoreImpl::makeConnections().
|
inline |
is long lived?
Definition at line 166 of file SimCluster.h.
References longLivedTag, and status().
|
inline |
Mass. Note this is taken from the first SimTrack only.
Definition at line 110 of file SimCluster.h.
References p4().
Referenced by Particle.Particle::__str__(), DiObject.DiMuon::__str__(), massSqr(), and datamodel.Object::p4().
|
inline |
Mass squared. Note this is taken from the first SimTrack only.
Definition at line 113 of file SimCluster.h.
References mass(), and funct::pow().
|
inline |
spatial momentum vector
Definition at line 94 of file SimCluster.h.
References p4().
|
inline |
Transverse mass. Note this is taken from the first SimTrack only.
Definition at line 116 of file SimCluster.h.
References p4().
|
inline |
Transverse mass squared. Note this is taken from the first SimTrack only.
Definition at line 120 of file SimCluster.h.
References p4().
|
inline |
Gives the total number of SimHits, in the cluster.
Definition at line 172 of file SimCluster.h.
References hits_.
|
inline |
Gives the total number of SimHits, in the cluster.
Definition at line 169 of file SimCluster.h.
References nsimhits_.
|
inline |
Magnitude of momentum vector. Note this is taken from the first SimTrack only.
Definition at line 101 of file SimCluster.h.
References p4().
Referenced by Electron.Electron::ptErr().
|
inline |
Four-momentum Lorentz vector. Note this is taken from the first SimTrack only.
Definition at line 91 of file SimCluster.h.
References theMomentum_.
Referenced by boostToCM(), Tau.Tau::dxy_approx(), Tau.Tau::dz(), energy(), et(), eta(), mass(), momentum(), mt(), mtSqr(), p(), Lepton.Lepton::p4WithFSR(), phi(), pt(), px(), py(), pz(), rapidity(), and theta().
|
inline |
|
inline |
PDG ID.
Returns the PDG ID of the first associated gen particle. If there are no gen particles associated then it returns type() from the first SimTrack.
Definition at line 55 of file SimCluster.h.
References edm::RefVector< C, T, F >::begin(), edm::RefVector< C, T, F >::empty(), g4Tracks_, and genParticles_.
Referenced by Particle.Particle::__str__().
|
inline |
Momentum azimuthal angle. Note this is taken from the first SimTrack only.
Definition at line 140 of file SimCluster.h.
References p4().
Referenced by Particle.Particle::__str__(), datamodel.Object::DeltaR(), datamodel.Object::p4(), and ntupleDataFormat.Track::phiPull().
|
inline |
Transverse momentum. Note this is taken from the first SimTrack only.
Definition at line 136 of file SimCluster.h.
References p4().
Referenced by Particle.Particle::__str__(), DiObject.DiMuon::__str__(), Photon.Photon::calScaledIsoValueExp(), Photon.Photon::calScaledIsoValueLin(), Photon.Photon::calScaledIsoValueQuadr(), Electron.Electron::mvaIDLoose(), Electron.Electron::mvaIDRun2(), Electron.Electron::mvaIDTight(), datamodel.Object::p4(), Electron.Electron::ptErr(), ntupleDataFormat.Track::ptPull(), Lepton.Lepton::relIso(), Lepton.Lepton::relIsoFromEA(), Lepton.Lepton::relIsoR(), and Jet.Jet::setCorrP4().
|
inline |
x coordinate of momentum vector. Note this is taken from the first SimTrack only.
Definition at line 124 of file SimCluster.h.
References p4().
|
inline |
y coordinate of momentum vector. Note this is taken from the first SimTrack only.
Definition at line 128 of file SimCluster.h.
References p4().
|
inline |
z coordinate of momentum vector. Note this is taken from the first SimTrack only.
Definition at line 132 of file SimCluster.h.
References p4().
|
inline |
Rapidity. Note this is taken from the simtrack before the calorimeter.
Definition at line 152 of file SimCluster.h.
References p4().
Referenced by y().
|
inline |
returns the accumulated sim energy in the cluster
Definition at line 213 of file SimCluster.h.
References simhit_energy_.
Referenced by HGCalShowerSeparation::analyze(), and HGCalHitCalibration::analyze().
|
inline |
Status word.
Returns status() from the first gen particle, or -99 if there are no gen particles attached.
Definition at line 161 of file SimCluster.h.
References edm::RefVector< C, T, F >::empty(), genParticles_, and status().
Referenced by longLived(), and status().
|
inline |
Momentum polar angle. Note this is taken from the first SimTrack only.
Definition at line 144 of file SimCluster.h.
References p4().
Referenced by Tau.Tau::zImpact().
|
inline |
Gives charge in unit of quark charge (should be 3 times "charge()")
Definition at line 87 of file SimCluster.h.
|
inline |
Same as rapidity().
Definition at line 155 of file SimCluster.h.
References rapidity().
Referenced by svgfig.Ellipse::__repr__(), geometryXMLparser.Alignable::pos(), ntupleDataFormat._HitObject::r(), and ntupleDataFormat._HitObject::r3D().
|
friend |
Definition at line 31 of file SimCluster.cc.
|
private |
Definition at line 229 of file SimCluster.h.
Referenced by addHitEnergy(), clearHitsEnergy(), and hits_and_energies().
|
private |
Definition at line 223 of file SimCluster.h.
Referenced by eventId(), and SimCluster().
|
private |
Definition at line 228 of file SimCluster.h.
Referenced by addRecHitAndFraction(), clearHitsAndFractions(), and hits_and_fractions().
|
private |
references to G4 and reco::GenParticle tracks
Definition at line 234 of file SimCluster.h.
Referenced by addG4Track(), charge(), g4Track_begin(), g4Track_end(), g4Tracks(), and pdgId().
|
private |
Definition at line 235 of file SimCluster.h.
Referenced by addGenParticle(), genParticle_begin(), genParticle_end(), genParticles(), pdgId(), and status().
|
private |
Definition at line 227 of file SimCluster.h.
Referenced by addRecHitAndFraction(), clearHitsAndFractions(), hits_and_energies(), hits_and_fractions(), and numberOfRecHits().
|
static |
|
private |
Definition at line 222 of file SimCluster.h.
Referenced by addSimHit(), and numberOfSimHits().
|
private |
Definition at line 225 of file SimCluster.h.
Referenced by particleId(), and SimCluster().
|
private |
Definition at line 226 of file SimCluster.h.
Referenced by addSimHit(), and simEnergy().
|
private |
Definition at line 231 of file SimCluster.h.
Referenced by p4(), and SimCluster().