50 crossingframe(conf.getParameter<bool>(
"crossingframe")) {
75 bool const crossingframe;
80 iEvent.
getByToken(simtracksXFToken_, simtracksXF_);
81 iEvent.
getByToken(simvertsXFToken_, simvertsXF_);
83 iEvent.
getByToken(simtracksToken_, simtracks_);
92 <<
"reco::Track collection --- size = " << tC.size();
97 <<
"TrackingParticle collection --- size = " << tPC.size();
99 for (TrackingParticleCollection::const_iterator ITER = tPC.begin(); ITER != tPC.end(); ITER++,
j++) {
101 <<
"TrackingParticle " <<
j <<
", q = " << ITER->charge() <<
", p = " << ITER->p() <<
", pT = " << ITER->pt()
102 <<
", eta = " << ITER->eta() <<
", phi = " << ITER->phi();
105 <<
"\t pdg code = " << ITER->pdgId() <<
", made of " << ITER->numberOfHits() <<
" PSimHit"
106 <<
" (in " << ITER->numberOfTrackerLayers() <<
" layers)"
107 <<
" from " << ITER->g4Tracks().size() <<
" SimTrack:";
110 <<
"\t\t Id:" << g4T->trackId() <<
"/Evt:(" << g4T->eventId().event() <<
","
111 << g4T->eventId().bunchCrossing() <<
")";
119 <<
"CrossingFrame<SimTrack> collection with InputTag = " <<
simtracksXFTag <<
" has size = " << SimTk->size();
123 <<
"SimTrack " << k <<
" - Id:" << ITER->trackId() <<
"/Evt:(" << ITER->eventId().event() <<
","
124 << ITER->eventId().bunchCrossing() <<
")"
125 <<
", q = " << ITER->charge() <<
", p = " << ITER->momentum().P() <<
", pT = " << ITER->momentum().Pt()
126 <<
", eta = " << ITER->momentum().Eta() <<
", phi = " << ITER->momentum().Phi()
127 <<
"\n\t pdgId = " << ITER->type() <<
", Vertex index = " << ITER->vertIndex()
128 <<
", Gen Particle index = " << (ITER->genpartIndex() > 0 ? ITER->genpartIndex() - 1 : ITER->genpartIndex())
135 <<
"CrossingFrame<SimVertex> collection with InputTag = " <<
simtracksXFTag
136 <<
" has size = " << SimVtx->size();
140 <<
"SimVertex " << kv <<
" - Id:" << VITER->vertexId() <<
", position = " << VITER->position()
141 <<
", parent SimTrack Id = " << VITER->parentIndex() <<
", processType = " << VITER->processType();
147 <<
"SimTrack collection with InputTag = " <<
simtracksTag <<
" has size = " << simTC.size() << endl;
149 for (edm::SimTrackContainer::const_iterator ITER = simTC.begin(); ITER != simTC.end(); ITER++, k++) {
151 <<
"SimTrack " << k <<
" - Id:" << ITER->trackId() <<
"/Evt:(" << ITER->eventId().event() <<
","
152 << ITER->eventId().bunchCrossing() <<
")"
153 <<
", q = " << ITER->charge() <<
", p = " << ITER->momentum().P() <<
", pT = " << ITER->momentum().Pt()
154 <<
", eta = " << ITER->momentum().Eta() <<
", phi = " << ITER->momentum().Phi()
155 <<
"\n\t pdgId = " << ITER->type() <<
", Vertex index = " << ITER->vertIndex()
156 <<
", Gen Particle index = " << (ITER->genpartIndex() > 0 ? ITER->genpartIndex() - 1 : ITER->genpartIndex())
161 <<
"SimVertex collection with InputTag = "
163 <<
" has size = " << simVC.size() << endl;
165 for (edm::SimVertexContainer::const_iterator VITER = simVC.begin(); VITER != simVC.end(); VITER++, kv++) {
167 <<
"SimVertex " << kv <<
" - Id:" << VITER->vertexId() <<
", position = " << VITER->position()
168 <<
", parent SimTrack Id = " << VITER->parentIndex() <<
", processType = " << VITER->processType();
213 trackerHitAssociatorConfig_(iConfig, consumesCollector()),
214 hitExtractor_(iConfig, consumesCollector()),
215 gemHitAssociatorConfig_(iConfig, consumesCollector()),
216 rpcHitAssociatorConfig_(iConfig, consumesCollector()),
217 cscHitAssociatorConfig_(iConfig, consumesCollector()),
218 dtHitAssociatorConfig_(iConfig, consumesCollector()),
221 produces<reco::MuonToTrackingParticleAssociator>();
224 <<
"\n constructing MuonToTrackingParticleAssociatorEDProducer"
250 std::function<void(const TrackHitsCollection &, const TrackingParticleCollection &)> diagnostics;
258 auto impl = std::make_unique<MuonToTrackingParticleAssociatorByHitsImpl>(
hitExtractor_,
269 auto toPut = std::make_unique<reco::MuonToTrackingParticleAssociator>(
std::move(impl));
Log< level::Info, true > LogVerbatim
T getUntrackedParameter(std::string const &, T const &) const
CSCHitAssociator::Config cscHitAssociatorConfig_
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
bool getByToken(EDGetToken token, Handle< PROD > &result) const
#define DEFINE_FWK_MODULE(type)
MuonToTrackingParticleAssociatorEDProducer(const edm::ParameterSet &)
bool getData(T &iHolder) const
GEMHitAssociator::Config gemHitAssociatorConfig_
std::vector< std::pair< trackingRecHit_iterator, trackingRecHit_iterator > > TrackHitsCollection
void addDefault(ParameterSetDescription const &psetDescription)
MuonAssociatorByHitsHelper helper_
RPCHitAssociator::Config rpcHitAssociatorConfig_
TrackerHitAssociator::Config trackerHitAssociatorConfig_
DTHitAssociator::Config dtHitAssociatorConfig_
MuonAssociatorByHitsHelper::TrackHitsCollection TrackHitsCollection
std::vector< SimTrack >::const_iterator g4t_iterator
std::unique_ptr< InputDumper > diagnostics_
std::vector< SimVertex > SimVertexContainer
~MuonToTrackingParticleAssociatorEDProducer() override
edm::ParameterSet const config_
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
TrackerMuonHitExtractor hitExtractor_
std::vector< TrackingParticle > TrackingParticleCollection
void produce(edm::Event &, const edm::EventSetup &) override
std::vector< SimTrack > SimTrackContainer
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > tTopoToken_
tuple dump
OutputFilePath = cms.string('/tmp/zhokin/'), OutputFileExt = cms.string(''),.