#include <RecoMuon/L2MuonProducer/src/L2MuonProducer.h>
Public Member Functions | |
L2MuonProducer (const edm::ParameterSet &) | |
constructor with config | |
virtual void | produce (edm::Event &, const edm::EventSetup &) |
reconstruct muons | |
virtual | ~L2MuonProducer () |
destructor | |
Private Attributes | |
edm::InputTag | theSeedCollectionLabel |
MuonServiceProxy * | theService |
the event setup proxy, it takes care the services update | |
MuonTrackFinder * | theTrackFinder |
the track finder |
L2 muon reconstructor: reconstructs muons using DT, CSC and RPC information,
starting from internal seeds (L2 muon track segments).
Definition at line 30 of file L2MuonProducer.h.
L2MuonProducer::L2MuonProducer | ( | const edm::ParameterSet & | parameterSet | ) |
constructor with config
Definition at line 48 of file L2MuonProducer.cc.
References lat::endl(), edm::ParameterSet::getParameter(), LogTrace, MuonServiceProxy_cff::MuonServiceProxy, theSeedCollectionLabel, theService, and theTrackFinder.
00048 { 00049 LogTrace("Muon|RecoMuon|L2MuonProducer")<<"constructor called"<<endl; 00050 00051 // Parameter set for the Builder 00052 ParameterSet trajectoryBuilderParameters = parameterSet.getParameter<ParameterSet>("L2TrajBuilderParameters"); 00053 00054 // MuonSeed Collection Label 00055 theSeedCollectionLabel = parameterSet.getParameter<InputTag>("InputObjects"); 00056 00057 // service parameters 00058 ParameterSet serviceParameters = parameterSet.getParameter<ParameterSet>("ServiceParameters"); 00059 00060 // TrackLoader parameters 00061 ParameterSet trackLoaderParameters = parameterSet.getParameter<ParameterSet>("TrackLoaderParameters"); 00062 00063 // the services 00064 theService = new MuonServiceProxy(serviceParameters); 00065 00066 // instantiate the concrete trajectory builder in the Track Finder 00067 theTrackFinder = new MuonTrackFinder(new StandAloneMuonTrajectoryBuilder(trajectoryBuilderParameters, theService), 00068 new MuonTrackLoader(trackLoaderParameters, theService)); 00069 00070 produces<reco::TrackCollection>(); 00071 produces<reco::TrackCollection>("UpdatedAtVtx"); 00072 produces<TrackingRecHitCollection>(); 00073 produces<reco::TrackExtraCollection>(); 00074 produces<reco::TrackToTrackMap>(); 00075 00076 produces<std::vector<Trajectory> >(); 00077 produces<TrajTrackAssociationCollection>(); 00078 }
L2MuonProducer::~L2MuonProducer | ( | ) | [virtual] |
destructor
Definition at line 81 of file L2MuonProducer.cc.
References lat::endl(), LogTrace, theService, and theTrackFinder.
00081 { 00082 LogTrace("Muon|RecoMuon|L2eMuonProducer")<<"L2MuonProducer destructor called"<<endl; 00083 if (theService) delete theService; 00084 if (theTrackFinder) delete theTrackFinder; 00085 }
void L2MuonProducer::produce | ( | edm::Event & | event, | |
const edm::EventSetup & | eventSetup | |||
) | [virtual] |
reconstruct muons
Implements edm::EDProducer.
Definition at line 89 of file L2MuonProducer.cc.
References lat::endl(), edm::InputTag::label(), LogTrace, MuonTrackFinder::reconstruct(), theSeedCollectionLabel, theService, and theTrackFinder.
00089 { 00090 00091 const std::string metname = "Muon|RecoMuon|L2MuonProducer"; 00092 00093 LogTrace(metname)<<endl<<endl<<endl; 00094 LogTrace(metname)<<"L2 Muon Reconstruction Started"<<endl; 00095 00096 // Take the seeds container 00097 LogTrace(metname)<<"Taking the seeds: "<<theSeedCollectionLabel.label()<<endl; 00098 Handle<View<TrajectorySeed> > seeds; 00099 event.getByLabel(theSeedCollectionLabel,seeds); 00100 00101 // Update the services 00102 theService->update(eventSetup); 00103 NavigationSetter setter(*theService->muonNavigationSchool()); 00104 00105 // Reconstruct 00106 LogTrace(metname)<<"Track Reconstruction"<<endl; 00107 theTrackFinder->reconstruct(seeds,event); 00108 00109 LogTrace(metname)<<"Event loaded" 00110 <<"================================" 00111 <<endl<<endl; 00112 }
MuonServiceProxy* L2MuonProducer::theService [private] |
the event setup proxy, it takes care the services update
Definition at line 52 of file L2MuonProducer.h.
Referenced by L2MuonProducer(), produce(), and ~L2MuonProducer().
MuonTrackFinder* L2MuonProducer::theTrackFinder [private] |
the track finder
Definition at line 49 of file L2MuonProducer.h.
Referenced by L2MuonProducer(), produce(), and ~L2MuonProducer().