#include <MuonAnalysis/MuonAssociators/src/MuonMCClassifier.cc>
Private Member Functions | |
int | convertAndPush (const TrackingParticle &tp, reco::GenParticleCollection &out, const TrackingParticleRef &momRef, const edm::Handle< reco::GenParticleCollection > &genParticles) const |
int | flavour (int pdgId) const |
Returns the flavour given a pdg id code. More... | |
TrackingParticleRef | getTpMother (TrackingParticleRef tp) |
void | produce (edm::Event &, const edm::EventSetup &) override |
template<typename T > | |
void | writeValueMap (edm::Event &iEvent, const edm::Handle< edm::View< reco::Muon > > &handle, const std::vector< T > &values, const std::string &label) const |
Write a ValueMap<int> in the event. More... | |
Private Attributes | |
edm::InputTag | associatorLabel_ |
The Associations. More... | |
double | decayAbsZ_ |
double | decayRho_ |
Cylinder to use to decide if a decay is early or late. More... | |
edm::InputTag | genParticles_ |
edm::EDGetTokenT< reco::GenParticleCollection > | genParticlesToken_ |
bool | hasMuonCut_ |
bool | linkToGenParticles_ |
Create a link to the generator level particles. More... | |
edm::EDGetTokenT< reco::MuonToTrackingParticleAssociator > | muAssocToken_ |
StringCutObjectSelector< pat::Muon > | muonCut_ |
edm::EDGetTokenT< edm::View< reco::Muon > > | muonsToken_ |
The RECO objects. More... | |
edm::EDGetTokenT< TrackingParticleCollection > | trackingParticlesToken_ |
The TrackingParticle objects. More... | |
reco::MuonTrackType | trackType_ |
Track to use. More... | |
Additional Inherited Members | |
Public Types inherited from edm::EDProducer | |
typedef EDProducer | ModuleType |
Public Types inherited from edm::ProducerBase | |
using | ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex >> |
typedef ProductRegistryHelper::TypeLabelList | TypeLabelList |
Public Types inherited from edm::EDConsumerBase | |
typedef ProductLabels | Labels |
Static Public Member Functions inherited from edm::EDProducer | |
static const std::string & | baseType () |
static void | fillDescriptions (ConfigurationDescriptions &descriptions) |
static void | prevalidate (ConfigurationDescriptions &descriptions) |
static bool | wantsGlobalLuminosityBlocks () |
static bool | wantsGlobalRuns () |
static bool | wantsStreamLuminosityBlocks () |
static bool | wantsStreamRuns () |
Protected Member Functions inherited from edm::EDConsumerBase | |
template<typename ProductType , BranchType B = InEvent> | |
EDGetTokenT< ProductType > | consumes (edm::InputTag const &tag) |
EDGetToken | consumes (const TypeToGet &id, edm::InputTag const &tag) |
template<BranchType B> | |
EDGetToken | consumes (TypeToGet const &id, edm::InputTag const &tag) |
ConsumesCollector | consumesCollector () |
Use a ConsumesCollector to gather consumes information from helper functions. More... | |
template<typename ProductType , BranchType B = InEvent> | |
void | consumesMany () |
void | consumesMany (const TypeToGet &id) |
template<BranchType B> | |
void | consumesMany (const TypeToGet &id) |
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event> | |
auto | esConsumes () |
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event> | |
auto | esConsumes (ESInputTag const &tag) |
template<typename ESProduct , Transition Tr = Transition::Event> | |
auto | esConsumes (eventsetup::EventSetupRecordKey const &, ESInputTag const &tag) |
template<typename ProductType , BranchType B = InEvent> | |
EDGetTokenT< ProductType > | mayConsume (edm::InputTag const &tag) |
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
template<BranchType B> | |
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
CLASSIFICATION: For each RECO Muon, match to SIM particle, and then:
In any case, if the TP is not preferentially matched back to the same RECO muon, label as Ghost (flip the classification)
FLAVOUR:
Definition at line 67 of file MuonMCClassifier.cc.
|
explicit |
Definition at line 128 of file MuonMCClassifier.cc.
References Exception, genParticles_, genParticlesToken_, edm::ParameterSet::getParameter(), reco::GlbOrTrk, reco::GlobalTk, reco::InnerTk, linkToGenParticles_, reco::OuterTk, reco::Segments, AlCaHLTBitMon_QueryRunRegistry::string, tkIsoDeposits_cff::trackType, and trackType_.
|
override |
Definition at line 181 of file MuonMCClassifier.cc.
|
private |
Convert TrackingParticle into GenParticle, save into output collection, if mother is primary set reference to it, return index in output collection
Definition at line 577 of file MuonMCClassifier.cc.
References TrackingParticle::charge(), DEFINE_FWK_MODULE, Exception, genParticles_, edm::HandleBase::id(), edm::Ref< C, T, F >::id(), edm::Ref< C, T, F >::isNonnull(), TrackingParticle::p4(), TrackingParticle::pdgId(), TrackingParticle::status(), and TrackingParticle::vertex().
Referenced by getTpMother(), and produce().
|
private |
Returns the flavour given a pdg id code.
Definition at line 561 of file MuonMCClassifier.cc.
References funct::abs().
Referenced by produce().
|
inlineprivate |
Definition at line 110 of file MuonMCClassifier.cc.
References convertAndPush(), GenHFHadronMatcher_cfi::genParticles, edm::Ref< C, T, F >::isNonnull(), and MillePedeFileConverter_cfg::out.
Referenced by produce().
|
overrideprivate |
Definition at line 186 of file MuonMCClassifier.cc.
References funct::abs(), reco::MuonToTrackingParticleAssociator::associateMuons(), edm::RefToBaseVector< T >::begin(), convertAndPush(), decayAbsZ_, decayRho_, edm::RefToBaseVector< T >::end(), PVValHelper::eta, Exception, edm::helper::Filler< Map >::fill(), spr::find(), flavour(), GenHFHadronMatcher_cfi::genParticles, genParticles_, genParticlesToken_, edm::Event::getByToken(), getTpMother(), reco::GlobalTk, hasMuonCut_, mps_fire::i, edm::HandleBase::id(), edm::Ref< C, T, F >::id(), edm::helper::Filler< Map >::insert(), reco::Muon::isGlobalMuon(), edm::Ref< C, T, F >::isNonnull(), edm::Ref< C, T, F >::key(), linkToGenParticles_, LogTrace, match(), eostools::move(), RPCpg::mu, muAssocToken_, muonCut_, extraflags_cff::muons, muonsToken_, gen::n, reco::OuterTk, phi, edm::Handle< T >::product(), EnergyCorrector::pt, edm::RefToBaseVector< T >::push_back(), edm::RefVector< C, T, F >::push_back(), edm::Event::put(), trackingTruthProducer_cfi::trackingParticles, trackingParticlesToken_, trackType_, and writeValueMap().
|
private |
Write a ValueMap<int> in the event.
Definition at line 546 of file MuonMCClassifier.cc.
References edm::helper::Filler< Map >::fill(), objects.autophobj::filler, cmsBatch::handle, edm::helper::Filler< Map >::insert(), eostools::move(), and edm::Event::put().
Referenced by produce().
|
private |
The Associations.
Definition at line 89 of file MuonMCClassifier.cc.
|
private |
Definition at line 93 of file MuonMCClassifier.cc.
Referenced by produce().
|
private |
Cylinder to use to decide if a decay is early or late.
Definition at line 93 of file MuonMCClassifier.cc.
Referenced by produce().
|
private |
Definition at line 97 of file MuonMCClassifier.cc.
Referenced by convertAndPush(), MuonMCClassifier(), and produce().
|
private |
Definition at line 98 of file MuonMCClassifier.cc.
Referenced by MuonMCClassifier(), and produce().
|
private |
A preselection cut for the muon. I pass through pat::Muon so that I can access muon id selectors
Definition at line 79 of file MuonMCClassifier.cc.
Referenced by produce().
|
private |
Create a link to the generator level particles.
Definition at line 96 of file MuonMCClassifier.cc.
Referenced by MuonMCClassifier(), and produce().
|
private |
Definition at line 90 of file MuonMCClassifier.cc.
Referenced by produce().
|
private |
Definition at line 80 of file MuonMCClassifier.cc.
Referenced by produce().
|
private |
|
private |
The TrackingParticle objects.
Definition at line 86 of file MuonMCClassifier.cc.
Referenced by produce().
|
private |
Track to use.
Definition at line 83 of file MuonMCClassifier.cc.
Referenced by MuonMCClassifier(), and produce().