#include <StandAloneMuonProducer.h>
Public Member Functions | |
virtual void | produce (edm::Event &, const edm::EventSetup &) |
reconstruct muons | |
StandAloneMuonProducer (const edm::ParameterSet &) | |
constructor with config | |
virtual | ~StandAloneMuonProducer () |
destructor | |
Private Member Functions | |
void | setAlias (std::string alias) |
Private Attributes | |
std::string | theAlias |
edm::InputTag | theSeedCollectionLabel |
MuonSeed Collection Label. | |
MuonServiceProxy * | theService |
the event setup proxy, it takes care the services update | |
MuonTrackFinder * | theTrackFinder |
the track finder |
StandAlone muon reconstructor: reconstructs muons using DT, CSC and RPC information,
starting from internal seeds (L2 muon track segments).
StandAlone muon reconstructor: reconstructs muons using DT, CSC and RPC information,
starting from internal seeds (L2 muon track segments).
Definition at line 26 of file StandAloneMuonProducer.h.
StandAloneMuonProducer::StandAloneMuonProducer | ( | const edm::ParameterSet & | parameterSet | ) |
constructor with config
Definition at line 48 of file StandAloneMuonProducer.cc.
References edm::ParameterSet::getParameter(), LogTrace, and MuonServiceProxy_cff::MuonServiceProxy.
{ LogTrace("Muon|RecoMuon|StandAloneMuonProducer")<<"constructor called"<<endl; // Parameter set for the Builder ParameterSet trajectoryBuilderParameters = parameterSet.getParameter<ParameterSet>("STATrajBuilderParameters"); // MuonSeed Collection Label theSeedCollectionLabel = parameterSet.getParameter<InputTag>("InputObjects"); // service parameters ParameterSet serviceParameters = parameterSet.getParameter<ParameterSet>("ServiceParameters"); // TrackLoader parameters ParameterSet trackLoaderParameters = parameterSet.getParameter<ParameterSet>("TrackLoaderParameters"); // the services theService = new MuonServiceProxy(serviceParameters); MuonTrackLoader * trackLoader = new MuonTrackLoader(trackLoaderParameters,theService); MuonTrajectoryBuilder * trajectoryBuilder = 0; // instantiate the concrete trajectory builder in the Track Finder string typeOfBuilder = parameterSet.getParameter<string>("MuonTrajectoryBuilder"); if(typeOfBuilder == "StandAloneMuonTrajectoryBuilder") trajectoryBuilder = new StandAloneMuonTrajectoryBuilder(trajectoryBuilderParameters,theService); else if(typeOfBuilder == "DirectMuonTrajectoryBuilder") trajectoryBuilder = new DirectMuonTrajectoryBuilder(trajectoryBuilderParameters,theService); else if(typeOfBuilder == "Exhaustive") trajectoryBuilder = new ExhaustiveMuonTrajectoryBuilder(trajectoryBuilderParameters,theService); else{ LogWarning("Muon|RecoMuon|StandAloneMuonProducer") << "No Trajectory builder associated with "<<typeOfBuilder << ". Falling down to the default (StandAloneMuonTrajectoryBuilder)"; trajectoryBuilder = new StandAloneMuonTrajectoryBuilder(trajectoryBuilderParameters,theService); } theTrackFinder = new MuonTrackFinder(trajectoryBuilder, trackLoader); setAlias(parameterSet.getParameter<std::string>("@module_label")); produces<reco::TrackCollection>().setBranchAlias(theAlias + "Tracks"); produces<reco::TrackCollection>("UpdatedAtVtx").setBranchAlias(theAlias + "UpdatedAtVtxTracks"); produces<TrackingRecHitCollection>().setBranchAlias(theAlias + "RecHits"); produces<reco::TrackExtraCollection>().setBranchAlias(theAlias + "TrackExtras"); produces<reco::TrackToTrackMap>().setBranchAlias(theAlias + "TrackToTrackMap"); produces<std::vector<Trajectory> >().setBranchAlias(theAlias + "Trajectories"); produces<TrajTrackAssociationCollection>().setBranchAlias(theAlias + "TrajToTrackMap"); }
StandAloneMuonProducer::~StandAloneMuonProducer | ( | ) | [virtual] |
destructor
Definition at line 96 of file StandAloneMuonProducer.cc.
References LogTrace.
{ LogTrace("Muon|RecoMuon|StandAloneMuonProducer")<<"StandAloneMuonProducer destructor called"<<endl; if (theService) delete theService; if (theTrackFinder) delete theTrackFinder; }
void StandAloneMuonProducer::produce | ( | edm::Event & | event, |
const edm::EventSetup & | eventSetup | ||
) | [virtual] |
reconstruct muons
Implements edm::EDProducer.
Definition at line 103 of file StandAloneMuonProducer.cc.
References LogTrace, and metname.
{ const std::string metname = "Muon|RecoMuon|StandAloneMuonProducer"; LogTrace(metname)<<endl<<endl<<endl; LogTrace(metname)<<"Stand Alone Muon Reconstruction Started"<<endl; // Take the seeds container LogTrace(metname)<<"Taking the seeds: "<<theSeedCollectionLabel.label()<<endl; Handle<View<TrajectorySeed> > seeds; event.getByLabel(theSeedCollectionLabel,seeds); // Update the services theService->update(eventSetup); NavigationSetter setter(*theService->muonNavigationSchool()); // Reconstruct LogTrace(metname)<<"Track Reconstruction"<<endl; theTrackFinder->reconstruct(seeds,event); LogTrace(metname)<<"Event loaded" <<"================================" <<endl<<endl; }
void StandAloneMuonProducer::setAlias | ( | std::string | alias | ) | [inline, private] |
Definition at line 52 of file StandAloneMuonProducer.h.
References theAlias.
{ alias.erase( alias.size() - 1, alias.size() ); theAlias=alias; }
std::string StandAloneMuonProducer::theAlias [private] |
Definition at line 50 of file StandAloneMuonProducer.h.
Referenced by setAlias().
MuonSeed Collection Label.
Definition at line 42 of file StandAloneMuonProducer.h.
the event setup proxy, it takes care the services update
Definition at line 48 of file StandAloneMuonProducer.h.
the track finder
Definition at line 45 of file StandAloneMuonProducer.h.