Get track history and classify it in function of their . More...
#include <TrackClassifier.h>
Classes | |
struct | GeneratedPrimaryVertex |
Auxiliary class holding simulated primary vertices. More... | |
Public Member Functions | |
TrackClassifier const & | evaluate (reco::TrackBaseRef const &) |
Classify the RecoTrack in categories. More... | |
TrackClassifier const & | evaluate (TrackingParticleRef const &) |
Classify the TrackingParticle in categories. More... | |
TrackClassifier const & | evaluate (reco::TrackRef const &track) |
Classify the RecoTrack in categories. More... | |
TrackHistory const & | history () const |
Returns a reference to the track history used in the classification. More... | |
void | newEvent (edm::Event const &, edm::EventSetup const &) |
Pre-process event information (for accessing reconstraction information) More... | |
TrackQuality const & | quality () const |
Returns a reference to the track quality used in the classification. More... | |
TrackClassifier (edm::ParameterSet const &, edm::ConsumesCollector &&) | |
Constructor by ParameterSet. More... | |
Public Member Functions inherited from TrackCategories | |
const Flags & | flags () const |
Returns flags with the category descriptions. More... | |
bool | is (Category category) const |
Returns track flag for a given category. More... | |
TrackCategories () | |
Void constructor. More... | |
Private Member Functions | |
void | genPrimaryVertices () |
void | hadronFlavor () |
Get hadron flavor of the initial hadron. More... | |
bool | isCharged (const HepMC::GenParticle *) |
bool | isFinalstateParticle (const HepMC::GenParticle *) |
void | processesAtGenerator () |
Get all the information related to decay process. More... | |
void | processesAtSimulation () |
Get information about conversion and other interactions. More... | |
void | qualityInformation (reco::TrackBaseRef const &) |
Classify all the tracks by their reconstruction quality. More... | |
void | reconstructionInformation (reco::TrackBaseRef const &) |
Classify all the tracks by their association and reconstruction information. More... | |
void | simulationInformation () |
Get all the information related to the simulation details. More... | |
void | vertexInformation () |
Get geometrical information about the vertices. More... | |
Private Attributes | |
double | badPull_ |
edm::Handle< reco::BeamSpot > | beamSpot_ |
const edm::InputTag | beamSpotLabel_ |
const G4toCMSLegacyProcTypeMap | g4toCMSProcMap_ |
std::vector< GeneratedPrimaryVertex > | genpvs_ |
const edm::InputTag | hepMCLabel_ |
double | longLivedDecayLength_ |
edm::ESHandle< MagneticField > | magneticField_ |
edm::Handle< edm::HepMCProduct > | mcInformation_ |
unsigned int | minTrackerSimHits_ |
unsigned int | numberOfInnerLayers_ |
edm::ESHandle< ParticleDataTable > | particleDataTable_ |
TrackQuality | quality_ |
TrackHistory | tracer_ |
edm::ESHandle< TransientTrackBuilder > | transientTrackBuilder_ |
const TrackerTopology * | tTopo_ |
double | vertexClusteringSqDistance_ |
Additional Inherited Members | |
Static Public Attributes inherited from TrackCategories | |
static const char *const | Names [] |
Name of the different categories. More... | |
Protected Member Functions inherited from TrackCategories | |
void | reset () |
Reset the categories flags. More... | |
void | unknownTrack () |
Protected Attributes inherited from TrackCategories | |
Flags | flags_ |
Flag containers. More... | |
Get track history and classify it in function of their .
Definition at line 30 of file TrackClassifier.h.
Type to the associate category.
Definition at line 36 of file TrackClassifier.h.
TrackClassifier::TrackClassifier | ( | edm::ParameterSet const & | config, |
edm::ConsumesCollector && | collector | ||
) |
Constructor by ParameterSet.
Definition at line 12 of file TrackClassifier.cc.
References badPull_, beamSpotLabel_, HistoryBase::depth(), edm::ParameterSet::getUntrackedParameter(), hepMCLabel_, longLivedDecayLength_, minTrackerSimHits_, numberOfInnerLayers_, tracer_, MuonClassifier_cff::vertexClusteringDistance, and vertexClusteringSqDistance_.
TrackClassifier const & TrackClassifier::evaluate | ( | reco::TrackBaseRef const & | track | ) |
Classify the RecoTrack in categories.
Definition at line 76 of file TrackClassifier.cc.
References TrackHistory::evaluate(), TrackCategories::Fake, TrackCategories::flags_, hadronFlavor(), processesAtGenerator(), processesAtSimulation(), qualityInformation(), reconstructionInformation(), TrackCategories::reset(), simulationInformation(), tracer_, TrackCategories::unknownTrack(), and vertexInformation().
Referenced by TrackCategoriesAnalyzer::analyze(), TrackingParticleCategoriesAnalyzer::analyze(), TrackHistoryAnalyzer::analyze(), BDHadronTrackMonitoringAnalyzer::analyze(), TrackClassifierByProxy< Collection >::evaluate(), evaluate(), QualityCutsAnalyzer::LoopOverJetTracksAssociation(), and JetVetoedTracksAssociationDRVertex::produce().
TrackClassifier const & TrackClassifier::evaluate | ( | TrackingParticleRef const & | track | ) |
Classify the TrackingParticle in categories.
Definition at line 115 of file TrackClassifier.cc.
References TrackHistory::evaluate(), TrackCategories::flags_, hadronFlavor(), edm::RefToBase< T >::isNonnull(), processesAtGenerator(), processesAtSimulation(), qualityInformation(), TrackCategories::Reconstructed, reconstructionInformation(), TrackHistory::recoTrack(), TrackCategories::reset(), simulationInformation(), tracer_, TrackCategories::unknownTrack(), and vertexInformation().
|
inline |
Classify the RecoTrack in categories.
Definition at line 52 of file TrackClassifier.h.
References evaluate().
|
private |
Definition at line 564 of file TrackClassifier.cc.
References funct::abs(), spr::find(), genpvs_, edm::HepMCProduct::GetEvent(), training_settings::idx, isCharged(), isFinalstateParticle(), funct::m, mcInformation_, parents, funct::pow(), MetAnalyzer::pv(), and vertexClusteringSqDistance_.
Referenced by newEvent().
|
private |
Get hadron flavor of the initial hadron.
Definition at line 263 of file TrackClassifier.cc.
References TrackCategories::Bottom, TrackCategories::Charm, TrackCategories::flags_, TrackCategories::Light, source_particleGun_cfi::ParticleID, reco::LeafCandidate::pdgId(), sysUtil::pid, HistoryBase::recoGenParticle(), and tracer_.
Referenced by evaluate().
|
inline |
Returns a reference to the track history used in the classification.
Definition at line 58 of file TrackClassifier.h.
References tracer_.
Referenced by TrackHistoryAnalyzer::analyze(), and BDHadronTrackMonitoringAnalyzer::analyze().
|
private |
Definition at line 551 of file TrackClassifier.cc.
References particleDataTable_.
Referenced by genPrimaryVertices().
|
private |
void TrackClassifier::newEvent | ( | edm::Event const & | event, |
edm::EventSetup const & | setup | ||
) |
Pre-process event information (for accessing reconstraction information)
Definition at line 43 of file TrackClassifier.cc.
References beamSpot_, beamSpotLabel_, genPrimaryVertices(), edm::EventSetup::get(), edm::EventSetup::getData(), hepMCLabel_, magneticField_, mcInformation_, TrackHistory::newEvent(), TrackQuality::newEvent(), particleDataTable_, edm::ESHandle< T >::product(), quality_, tracer_, transientTrackBuilder_, and tTopo_.
Referenced by TrackCategoriesAnalyzer::analyze(), TrackingParticleCategoriesAnalyzer::analyze(), TrackHistoryAnalyzer::analyze(), QualityCutsAnalyzer::analyze(), BDHadronTrackMonitoringAnalyzer::analyze(), TrackClassifierByProxy< Collection >::newEvent(), and JetVetoedTracksAssociatorAtVertex::produce().
|
private |
Get all the information related to decay process.
Definition at line 279 of file TrackClassifier.cc.
References funct::abs(), TrackCategories::BWeakDecay, TrackCategories::ChargeKaonDecay, TrackCategories::ChargePionDecay, TrackCategories::CWeakDecay, TrackCategories::DecayOnFlightMuon, TrackCategories::flags_, TrackCategories::FromBWeakDecayMuon, TrackCategories::FromChargeKaonMuon, TrackCategories::FromChargePionMuon, TrackCategories::FromCWeakDecayMuon, mps_fire::i, TrackCategories::JpsiDecay, TrackCategories::KsDecay, TrackCategories::LambdaDecay, TrackCategories::LongLivedDecay, longLivedDecayLength_, particleDataTable_, EgammaObjectsElectrons_cfi::particleID, source_particleGun_cfi::ParticleID, BPhysicsValidation_cfi::pdgid, HistoryBase::recoGenParticleTrail(), TrackCategories::SigmaMinusDecay, TrackCategories::SigmaPlusDecay, tracer_, update, and TrackCategories::XiDecay.
Referenced by evaluate().
|
private |
Get information about conversion and other interactions.
Definition at line 336 of file TrackClassifier.cc.
References funct::abs(), CMS::Annihilation, TrackCategories::AnnihilationProcess, TrackCategories::BWeakDecay, TrackCategories::ChargeKaonDecay, TrackCategories::ChargePionDecay, CMS::Compton, TrackCategories::ComptonProcess, CMS::Conversions, TrackCategories::ConversionsProcess, TrackCategories::CWeakDecay, CMS::Decay, TrackCategories::DecayOnFlightMuon, TrackCategories::DecayProcess, CMS::EBrem, TrackCategories::EBremProcess, CMS::EIoni, TrackCategories::EIoniProcess, RemoveAddSevLevel::flag, TrackCategories::flags_, TrackCategories::FromBWeakDecayMuon, TrackCategories::FromChargeKaonMuon, TrackCategories::FromChargePionMuon, TrackCategories::FromCWeakDecayMuon, g4toCMSProcMap_, CMS::Hadronic, TrackCategories::HadronicProcess, CMS::HIoni, TrackCategories::HIoniProcess, edm::Ref< C, T, F >::isNonnull(), TrackCategories::JpsiDecay, TrackCategories::KnownProcess, TrackCategories::KsDecay, TrackCategories::LambdaDecay, TrackCategories::LongLivedDecay, longLivedDecayLength_, CMS::MuBrem, TrackCategories::MuBremProcess, CMS::MuIoni, TrackCategories::MuIoniProcess, CMS::MuNucl, TrackCategories::MuNuclProcess, CMS::MuPairProd, TrackCategories::MuPairProdProcess, TrackCategories::OmegaDecay, particleDataTable_, EgammaObjectsElectrons_cfi::particleID, source_particleGun_cfi::ParticleID, BPhysicsValidation_cfi::pdgid, CMS::Photon, TrackCategories::PhotonProcess, CMS::Primary, TrackCategories::PrimaryProcess, LaserDQM_cfg::process, G4toCMSLegacyProcTypeMap::processId(), TrackCategories::SigmaMinusDecay, TrackCategories::SigmaPlusDecay, HistoryBase::simParticleTrail(), CMS::SynchrotronRadiation, TrackCategories::SynchrotronRadiationProcess, tracer_, CMS::Undefined, TrackCategories::UndefinedProcess, CMS::Unknown, TrackCategories::UnknownProcess, update, and TrackCategories::XiDecay.
Referenced by evaluate().
|
inline |
Returns a reference to the track quality used in the classification.
Definition at line 64 of file TrackClassifier.h.
References quality_.
|
private |
Classify all the tracks by their reconstruction quality.
Definition at line 235 of file TrackClassifier.cc.
References TrackCategories::BadInnerHits, TrackQuality::evaluate(), TrackCategories::flags_, TrackQuality::Layer::hits, mps_fire::i, TrackQuality::layer(), histoParameters_cff::maxLayers, min(), TrackQuality::Layer::Misassoc, TrackQuality::Layer::Noise, numberOfInnerLayers_, TrackQuality::numberOfLayers(), quality_, TrackQuality::Layer::Shared, TrackCategories::SharedInnerHits, HistoryBase::simParticleTrail(), TrackQuality::Layer::Hit::state, tracer_, HiIsolationCommonParameters_cff::track, and tTopo_.
Referenced by evaluate().
|
private |
Classify all the tracks by their association and reconstruction information.
Definition at line 160 of file TrackClassifier.cc.
References funct::abs(), TrackCategories::Bad, badPull_, beamSpot_, reco::TrackBase::charge(), funct::cos(), reco::TrackBase::dxy(), reco::TrackBase::dxyError(), reco::TrackBase::dz(), reco::TrackBase::dzError(), TrackCategories::flags_, magneticField_, CoreSimTrack::momentum(), FreeTrajectoryState::momentum(), AlCaHLTBitMon_ParallelJobs::p, FreeTrajectoryState::position(), edm::ESHandle< T >::product(), HistoryBase::simParticle(), funct::sin(), TrajectoryStateClosestToPoint::theState(), tracer_, findQualityFiles::v, PV3DBase< T, PVType, FrameType >::x(), reco::BeamSpot::x0(), PV3DBase< T, PVType, FrameType >::y(), reco::BeamSpot::y0(), PV3DBase< T, PVType, FrameType >::z(), and reco::BeamSpot::z0().
Referenced by evaluate().
|
private |
Get all the information related to the simulation details.
Definition at line 222 of file TrackClassifier.cc.
References funct::abs(), EncodedEventId::bunchCrossing(), EncodedEventId::event(), TrackCategories::flags_, createfilelist::int, minTrackerSimHits_, TrackCategories::Muon, TrackCategories::SignalEvent, HistoryBase::simParticle(), tracer_, and TrackCategories::TrackerSimHits.
Referenced by evaluate().
|
private |
Get geometrical information about the vertices.
Definition at line 462 of file TrackClassifier.cc.
References TrackCategories::flags_, HistoryBase::genParticleTrail(), genpvs_, AlCaHLTBitMon_ParallelJobs::p, class-composition::parent, funct::pow(), TrackCategories::PrimaryVertex, TrackCategories::SecondaryVertex, HistoryBase::simParticleTrail(), TrackCategories::TertiaryVertex, tracer_, vertexClusteringSqDistance_, TrackClassifier::GeneratedPrimaryVertex::x, TrackClassifier::GeneratedPrimaryVertex::y, and TrackClassifier::GeneratedPrimaryVertex::z.
Referenced by evaluate().
|
private |
Definition at line 74 of file TrackClassifier.h.
Referenced by reconstructionInformation(), and TrackClassifier().
|
private |
Definition at line 94 of file TrackClassifier.h.
Referenced by newEvent(), and reconstructionInformation().
|
private |
Definition at line 72 of file TrackClassifier.h.
Referenced by newEvent(), and TrackClassifier().
|
private |
Definition at line 84 of file TrackClassifier.h.
Referenced by processesAtSimulation().
|
private |
Definition at line 141 of file TrackClassifier.h.
Referenced by genPrimaryVertices(), and vertexInformation().
|
private |
Definition at line 71 of file TrackClassifier.h.
Referenced by newEvent(), and TrackClassifier().
|
private |
Definition at line 75 of file TrackClassifier.h.
Referenced by processesAtGenerator(), processesAtSimulation(), and TrackClassifier().
|
private |
Definition at line 86 of file TrackClassifier.h.
Referenced by newEvent(), and reconstructionInformation().
|
private |
Definition at line 88 of file TrackClassifier.h.
Referenced by genPrimaryVertices(), and newEvent().
|
private |
Definition at line 78 of file TrackClassifier.h.
Referenced by simulationInformation(), and TrackClassifier().
|
private |
Definition at line 77 of file TrackClassifier.h.
Referenced by qualityInformation(), and TrackClassifier().
|
private |
Definition at line 90 of file TrackClassifier.h.
Referenced by isCharged(), newEvent(), processesAtGenerator(), and processesAtSimulation().
|
private |
Definition at line 82 of file TrackClassifier.h.
Referenced by newEvent(), quality(), and qualityInformation().
|
private |
Definition at line 80 of file TrackClassifier.h.
Referenced by evaluate(), hadronFlavor(), history(), newEvent(), processesAtGenerator(), processesAtSimulation(), qualityInformation(), reconstructionInformation(), simulationInformation(), TrackClassifier(), and vertexInformation().
|
private |
Definition at line 92 of file TrackClassifier.h.
Referenced by newEvent().
|
private |
Definition at line 96 of file TrackClassifier.h.
Referenced by newEvent(), and qualityInformation().
|
private |
Definition at line 76 of file TrackClassifier.h.
Referenced by genPrimaryVertices(), TrackClassifier(), and vertexInformation().