CMS 3D CMS Logo

L2MuonProducer Class Reference

Level-2 muon reconstructor: reconstructs muons using DT, CSC and RPC information,
starting from Level-1 trigger seeds. More...

#include <RecoMuon/L2MuonProducer/src/L2MuonProducer.h>

Inheritance diagram for L2MuonProducer:

edm::EDProducer edm::ProducerBase edm::ProductRegistryHelper

List of all members.

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
MuonServiceProxytheService
 the event setup proxy, it takes care the services update
MuonTrackFindertheTrackFinder
 the track finder


Detailed Description

Level-2 muon reconstructor: reconstructs muons using DT, CSC and RPC information,
starting from Level-1 trigger seeds.

L2 muon reconstructor: reconstructs muons using DT, CSC and RPC information,
starting from internal seeds (L2 muon track segments).

Date
2008/02/13 13:53:53
Revision
1.23

Author:
R.Bellan - INFN TO
Date
2006/09/15 12:07:37
Revision
1.4

Author:
R.Bellan - INFN TO

Definition at line 30 of file L2MuonProducer.h.


Constructor & Destructor Documentation

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 }


Member Function Documentation

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 }


Member Data Documentation

edm::InputTag L2MuonProducer::theSeedCollectionLabel [private]

Definition at line 46 of file L2MuonProducer.h.

Referenced by L2MuonProducer(), and produce().

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().


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:27:09 2009 for CMSSW by  doxygen 1.5.4