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 | 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... | |
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_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 | |
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_ |
uint32_t | particleId_ |
float | simhit_energy_ |
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 28 of file SimCluster.h.
typedef int SimCluster::Charge |
electric charge type
Definition at line 32 of file SimCluster.h.
typedef std::vector<SimTrack>::const_iterator SimCluster::g4t_iterator |
Definition at line 40 of file SimCluster.h.
reference to reco::GenParticle
Definition at line 39 of file SimCluster.h.
Lorentz vector.
Definition at line 33 of file SimCluster.h.
typedef math::XYZPointD SimCluster::Point |
point in the space
Definition at line 35 of file SimCluster.h.
Lorentz vector.
Definition at line 34 of file SimCluster.h.
typedef math::XYZVectorD SimCluster::Vector |
point in the space
Definition at line 36 of file SimCluster.h.
SimCluster::SimCluster | ( | ) |
Definition at line 11 of file SimCluster.cc.
SimCluster::SimCluster | ( | const SimTrack & | simtrk | ) |
Definition at line 16 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 28 of file SimCluster.cc.
References event_, EgammaObjectsElectrons_cfi::particleID, and particleId_.
SimCluster::~SimCluster | ( | ) |
Definition at line 34 of file SimCluster.cc.
|
inline |
Definition at line 73 of file SimCluster.h.
References g4Tracks_.
Referenced by SimCluster().
|
inline |
Definition at line 72 of file SimCluster.h.
References genParticles_, and edm::RefVector< C, T, F >::push_back().
|
inline |
add rechit with fraction
Definition at line 204 of file SimCluster.h.
References fractions_, and hits_.
Referenced by CaloTruthAccumulator::finalizeEvent(), and PreMixingCaloParticleWorker::put().
|
inline |
add simhit's energy to cluster
Definition at line 228 of file SimCluster.h.
References PCaloHit::energy(), and simhit_energy_.
|
inline |
Vector to boost to the particle centre of mass frame.
Definition at line 101 of file SimCluster.h.
References p4().
|
inline |
Electric charge. Note this is taken from the first SimTrack only.
Definition at line 86 of file SimCluster.h.
References g4Tracks_.
Referenced by operator<<(), and threeCharge().
|
inline |
clear the hits and fractions list
Definition at line 219 of file SimCluster.h.
References fractions_, hits_, and edm::swap().
Referenced by CaloTruthAccumulator::finalizeEvent(), and PreMixingCaloParticleWorker::put().
|
inline |
Energy. Note this is taken from the first SimTrack only.
Definition at line 111 of file SimCluster.h.
References p4().
Referenced by HGCalHitCalibration::analyze(), HGCalShowerSeparation::analyze(), ZCounting::analyzeElectrons(), SuperClusterImporter::importToBlock(), PreshowerPhiClusterProducer::produce(), PreshowerClusterProducer::produce(), EgammaIsoESDetIdCollectionProducer::produce(), EgammaIsoHcalDetIdCollectionProducer::produce(), HLTJetsCleanedFromLeadingLeptons< JetType >::produce(), Multi5x5SuperClusterProducer::produceSuperclustersForECALPart(), and Jet.Jet::rawEnergy().
|
inline |
Transverse energy. Note this is taken from the first SimTrack only.
Definition at line 116 of file SimCluster.h.
References p4().
|
inline |
Momentum pseudorapidity. Note this is taken from the simtrack before the calorimeter.
Definition at line 171 of file SimCluster.h.
References p4().
Referenced by Particle.Particle::__str__(), ZCounting::analyzeElectrons(), Jet.Jet::jetID(), HLTJetsCleanedFromLeadingLeptons< JetType >::produce(), 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 63 of file SimCluster.h.
References event_.
Referenced by ntupleDataFormat.Event::eventIdStr(), and operator<<().
|
inline |
Definition at line 77 of file SimCluster.h.
References g4Tracks_.
Referenced by operator<<().
|
inline |
Definition at line 78 of file SimCluster.h.
References g4Tracks_.
Referenced by operator<<().
|
inline |
Definition at line 83 of file SimCluster.h.
References g4Tracks_.
|
inline |
iterators
Definition at line 75 of file SimCluster.h.
References edm::RefVector< C, T, F >::begin(), and genParticles_.
Referenced by operator<<().
|
inline |
Definition at line 76 of file SimCluster.h.
References edm::RefVector< C, T, F >::end(), and genParticles_.
Referenced by operator<<().
|
inline |
|
inline |
Returns list of rechit IDs and fractions for this SimCluster.
Definition at line 210 of file SimCluster.h.
References fractions_, hits_, mps_fire::i, and mps_fire::result.
Referenced by HGCalHitCalibration::analyze(), HGCalShowerSeparation::analyze(), CaloParticleDebugger::analyze(), GenericSimClusterMapper::buildClusters(), RealisticSimClusterMapper::buildClusters(), CaloParticleValidation::dqmAnalyze(), CaloTruthAccumulator::finalizeEvent(), and PreMixingCaloParticleWorker::put().
|
inline |
is long lived?
Definition at line 195 of file SimCluster.h.
References longLivedTag, and status().
|
inline |
Mass. Note this is taken from the first SimTrack only.
Definition at line 121 of file SimCluster.h.
References p4().
Referenced by Particle.Particle::__str__(), DiObject.DiMuon::__str__(), and massSqr().
|
inline |
Mass squared. Note this is taken from the first SimTrack only.
Definition at line 126 of file SimCluster.h.
References mass(), and funct::pow().
|
inline |
spatial momentum vector
Definition at line 96 of file SimCluster.h.
References p4().
|
inline |
Transverse mass. Note this is taken from the first SimTrack only.
Definition at line 131 of file SimCluster.h.
References p4().
|
inline |
Transverse mass squared. Note this is taken from the first SimTrack only.
Definition at line 136 of file SimCluster.h.
References p4().
|
inline |
Gives the total number of SimHits, in the cluster.
Definition at line 201 of file SimCluster.h.
References hits_.
|
inline |
Gives the total number of SimHits, in the cluster.
Definition at line 198 of file SimCluster.h.
References nsimhits_.
|
inline |
Magnitude of momentum vector. Note this is taken from the first SimTrack only.
Definition at line 106 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(), operator<<(), 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 54 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__(), and operator<<().
|
inline |
Momentum azimuthal angle. Note this is taken from the first SimTrack only.
Definition at line 161 of file SimCluster.h.
References p4().
Referenced by Particle.Particle::__str__(), ZCounting::analyzeElectrons(), ntupleDataFormat.Track::phiPull(), and HLTJetsCleanedFromLeadingLeptons< JetType >::produce().
|
inline |
Transverse momentum. Note this is taken from the first SimTrack only.
Definition at line 156 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(), 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 141 of file SimCluster.h.
References p4().
|
inline |
y coordinate of momentum vector. Note this is taken from the first SimTrack only.
Definition at line 146 of file SimCluster.h.
References p4().
|
inline |
z coordinate of momentum vector. Note this is taken from the first SimTrack only.
Definition at line 151 of file SimCluster.h.
References p4().
|
inline |
Rapidity. Note this is taken from the simtrack before the calorimeter.
Definition at line 176 of file SimCluster.h.
References p4().
Referenced by y().
|
inline |
returns the accumulated sim energy in the cluster
Definition at line 225 of file SimCluster.h.
References simhit_energy_.
Referenced by HGCalHitCalibration::analyze(), and HGCalShowerSeparation::analyze().
|
inline |
Status word.
Returns status() from the first gen particle, or -99 if there are no gen particles attached.
Definition at line 188 of file SimCluster.h.
References edm::RefVector< C, T, F >::empty(), and genParticles_.
Referenced by longLived().
|
inline |
Momentum polar angle. Note this is taken from the first SimTrack only.
Definition at line 166 of file SimCluster.h.
References p4().
Referenced by PreshowerPhiClusterProducer::produce(), PreshowerClusterProducer::produce(), EgammaIsoESDetIdCollectionProducer::produce(), EgammaIsoHcalDetIdCollectionProducer::produce(), and Tau.Tau::zImpact().
|
inline |
Gives charge in unit of quark charge (should be 3 times "charge()")
Definition at line 88 of file SimCluster.h.
|
inline |
Same as rapidity().
Definition at line 181 of file SimCluster.h.
References rapidity().
Referenced by svgfig.Ellipse::__repr__(), Vispa.Gui.WidgetContainer.WidgetContainer::autosize(), Vispa.Gui.VispaWidget.VispaWidget::boundingRect(), geometryXMLparser.Alignable::pos(), Vispa.Gui.ConnectableWidget.ConnectableWidget::positionizeMenuWidget(), ntupleDataFormat._HitObject::r(), and ntupleDataFormat._HitObject::r3D().
|
friend |
Definition at line 38 of file SimCluster.cc.
|
private |
Definition at line 232 of file SimCluster.h.
Referenced by eventId(), and SimCluster().
|
private |
Definition at line 237 of file SimCluster.h.
Referenced by addRecHitAndFraction(), clearHitsAndFractions(), hits_and_fractions(), and operator<<().
|
private |
references to G4 and reco::GenParticle tracks
Definition at line 242 of file SimCluster.h.
Referenced by addG4Track(), charge(), g4Track_begin(), g4Track_end(), g4Tracks(), and pdgId().
|
private |
Definition at line 243 of file SimCluster.h.
Referenced by addGenParticle(), genParticle_begin(), genParticle_end(), genParticles(), pdgId(), and status().
|
private |
Definition at line 236 of file SimCluster.h.
Referenced by addRecHitAndFraction(), clearHitsAndFractions(), hits_and_fractions(), numberOfRecHits(), and operator<<().
|
static |
|
private |
Definition at line 231 of file SimCluster.h.
Referenced by numberOfSimHits().
|
private |
Definition at line 234 of file SimCluster.h.
Referenced by particleId(), and SimCluster().
|
private |
Definition at line 235 of file SimCluster.h.
Referenced by addSimHit(), and simEnergy().
|
private |
Definition at line 239 of file SimCluster.h.
Referenced by p4(), and SimCluster().