CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Attributes
L2MuonProducer Class Reference

#include <L2MuonProducer.h>

Inheritance diagram for L2MuonProducer:
edm::EDProducer edm::ProducerBase edm::ProductRegistryHelper

Public Member Functions

 L2MuonProducer (const edm::ParameterSet &)
 constructor with config More...
 
virtual void produce (edm::Event &, const edm::EventSetup &)
 reconstruct muons More...
 
virtual ~L2MuonProducer ()
 destructor More...
 
- Public Member Functions inherited from edm::EDProducer
 EDProducer ()
 
virtual ~EDProducer ()
 
- Public Member Functions inherited from edm::ProducerBase
 ProducerBase ()
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
boost::function< void(const
BranchDescription &)> 
registrationCallback () const
 used by the fwk to register list of products More...
 
virtual ~ProducerBase ()
 

Private Attributes

edm::InputTag theSeedCollectionLabel
 
MuonServiceProxytheService
 the event setup proxy, it takes care the services update More...
 
MuonTrackFindertheTrackFinder
 the track finder More...
 

Additional Inherited Members

- Public Types inherited from edm::EDProducer
typedef EDProducer ModuleType
 
typedef WorkerT< EDProducerWorkerType
 
- Public Types inherited from edm::ProducerBase
typedef
ProductRegistryHelper::TypeLabelList 
TypeLabelList
 
- Static Public Member Functions inherited from edm::EDProducer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
- Protected Member Functions inherited from edm::EDProducer
CurrentProcessingContext const * currentContext () const
 
- Protected Member Functions inherited from edm::ProducerBase
template<class TProducer , class TMethod >
void callWhenNewProductsRegistered (TProducer *iProd, TMethod iMethod)
 

Detailed Description

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

Date:
2010/03/25 11:25:23
Revision:
1.25
Author
R.Bellan - INFN TO

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

Date:
2010/02/11 00:14:21
Revision:
1.5
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 50 of file L2MuonProducer.cc.

References edm::ParameterSet::getParameter(), LogTrace, and MuonServiceProxy_cff::MuonServiceProxy.

50  {
51  LogTrace("Muon|RecoMuon|L2MuonProducer")<<"constructor called"<<endl;
52 
53  // Parameter set for the Builder
54  ParameterSet trajectoryBuilderParameters = parameterSet.getParameter<ParameterSet>("L2TrajBuilderParameters");
55 
56  // MuonSeed Collection Label
57  theSeedCollectionLabel = parameterSet.getParameter<InputTag>("InputObjects");
58 
59  // service parameters
60  ParameterSet serviceParameters = parameterSet.getParameter<ParameterSet>("ServiceParameters");
61 
62  // TrackLoader parameters
63  ParameterSet trackLoaderParameters = parameterSet.getParameter<ParameterSet>("TrackLoaderParameters");
64 
65  // the services
66  theService = new MuonServiceProxy(serviceParameters);
67 
68  // instantiate the concrete trajectory builder in the Track Finder
69  theTrackFinder = new MuonTrackFinder(new StandAloneMuonTrajectoryBuilder(trajectoryBuilderParameters, theService),
70  new MuonTrackLoader(trackLoaderParameters, theService),
71  new MuonTrajectoryCleaner(true));
72 
73  produces<reco::TrackCollection>();
74  produces<reco::TrackCollection>("UpdatedAtVtx");
75  produces<TrackingRecHitCollection>();
76  produces<reco::TrackExtraCollection>();
77  produces<reco::TrackToTrackMap>();
78 
79  produces<std::vector<Trajectory> >();
80  produces<TrajTrackAssociationCollection>();
81 
82  produces<edm::AssociationMap<edm::OneToMany<std::vector<L2MuonTrajectorySeed>, std::vector<L2MuonTrajectorySeed> > > >();
83 }
T getParameter(std::string const &) const
MuonServiceProxy * theService
the event setup proxy, it takes care the services update
edm::InputTag theSeedCollectionLabel
#define LogTrace(id)
MuonTrackFinder * theTrackFinder
the track finder
L2MuonProducer::~L2MuonProducer ( )
virtual

destructor

Definition at line 86 of file L2MuonProducer.cc.

References LogTrace.

86  {
87  LogTrace("Muon|RecoMuon|L2eMuonProducer")<<"L2MuonProducer destructor called"<<endl;
88  delete theService;
89  delete theTrackFinder;
90 }
MuonServiceProxy * theService
the event setup proxy, it takes care the services update
#define LogTrace(id)
MuonTrackFinder * theTrackFinder
the track finder

Member Function Documentation

void L2MuonProducer::produce ( edm::Event event,
const edm::EventSetup eventSetup 
)
virtual

reconstruct muons

Implements edm::EDProducer.

Definition at line 94 of file L2MuonProducer.cc.

References LogTrace, and metname.

94  {
95 
96  const std::string metname = "Muon|RecoMuon|L2MuonProducer";
97 
98  LogTrace(metname)<<endl<<endl<<endl;
99  LogTrace(metname)<<"L2 Muon Reconstruction Started"<<endl;
100 
101  // Take the seeds container
102  LogTrace(metname)<<"Taking the seeds: "<<theSeedCollectionLabel.label()<<endl;
104  event.getByLabel(theSeedCollectionLabel,seeds);
105 
106  // Update the services
107  theService->update(eventSetup);
108  NavigationSetter setter(*theService->muonNavigationSchool());
109 
110  // Reconstruct
111  LogTrace(metname)<<"Track Reconstruction"<<endl;
112  theTrackFinder->reconstruct(seeds,event);
113 
114  LogTrace(metname)<<"Event loaded"
115  <<"================================"
116  <<endl<<endl;
117 }
const std::string metname
MuonServiceProxy * theService
the event setup proxy, it takes care the services update
edm::InputTag theSeedCollectionLabel
#define LogTrace(id)
MuonTrackFinder * theTrackFinder
the track finder
std::string const & label() const
Definition: InputTag.h:25
edm::OrphanHandle< reco::TrackCollection > reconstruct(const edm::Handle< edm::View< TrajectorySeed > > &, edm::Event &)
reconstruct standalone tracks starting from a collection of seeds

Member Data Documentation

edm::InputTag L2MuonProducer::theSeedCollectionLabel
private

Definition at line 46 of file L2MuonProducer.h.

MuonServiceProxy* L2MuonProducer::theService
private

the event setup proxy, it takes care the services update

Definition at line 52 of file L2MuonProducer.h.

MuonTrackFinder* L2MuonProducer::theTrackFinder
private

the track finder

Definition at line 49 of file L2MuonProducer.h.