#include <RecoMuon/MuonSeedGenerator/src/MuonSeedProducer.h>
Public Member Functions | |
MuonSeedProducer (const edm::ParameterSet &) | |
Constructor. | |
virtual void | produce (edm::Event &, const edm::EventSetup &) |
Get event properties to send to builder to fill seed collection. | |
virtual | ~MuonSeedProducer () |
Destructor. | |
Private Attributes | |
bool | debug |
MuonSeedBuilder * | muonSeedBuilder_ |
Builder where seeds are formed. |
To do so, it forms pairs of CSC and/or DT segments and look at the properties of the segment pair (eta, dphi) first to estimate the properties of the muon, and segment direction in case where there is only one segment available.
Definition at line 25 of file MuonSeedProducer.h.
MuonSeedProducer::MuonSeedProducer | ( | const edm::ParameterSet & | pset | ) |
Constructor.
See header file for a description of this class.
Definition at line 40 of file MuonSeedProducer.cc.
References debug, edm::ParameterSet::getParameter(), and muonSeedBuilder_.
00040 { 00041 00042 // Register what this produces 00043 produces<TrajectorySeedCollection>(); 00044 00045 // Local Debug flag 00046 debug = pset.getParameter<bool>("DebugMuonSeed"); 00047 00048 // Builder which returns seed collection 00049 muonSeedBuilder_ = new MuonSeedBuilder( pset ); 00050 00051 }
MuonSeedProducer::~MuonSeedProducer | ( | ) | [virtual] |
Destructor.
Definition at line 57 of file MuonSeedProducer.cc.
References muonSeedBuilder_.
00057 { 00058 00059 delete muonSeedBuilder_; 00060 00061 }
void MuonSeedProducer::produce | ( | edm::Event & | event, | |
const edm::EventSetup & | eSetup | |||
) | [virtual] |
Get event properties to send to builder to fill seed collection.
Implements edm::EDProducer.
Definition at line 67 of file MuonSeedProducer.cc.
References MuonSeedBuilder::build(), edm::EventSetup::get(), muonSeedBuilder_, output(), MuonSeedBuilder::setBField(), and MuonSeedBuilder::setGeometry().
00067 { 00068 00069 // Muon Geometry 00070 edm::ESHandle<MuonDetLayerGeometry> muonLayers; 00071 eSetup.get<MuonRecoGeometryRecord>().get(muonLayers); 00072 const MuonDetLayerGeometry* lgeom = &*muonLayers; 00073 muonSeedBuilder_->setGeometry( lgeom ); 00074 00075 // Magnetic field 00076 edm::ESHandle<MagneticField> field; 00077 eSetup.get<IdealMagneticFieldRecord>().get(field); 00078 const MagneticField* theField = &*field; 00079 muonSeedBuilder_->setBField( theField ); 00080 00081 // Create pointer to the seed container 00082 00083 std::auto_ptr<TrajectorySeedCollection> output(new TrajectorySeedCollection() ); 00084 00085 int nSeeds = 0; 00086 nSeeds = muonSeedBuilder_->build( event, eSetup, *output); 00087 00088 // Append muon seed collection to event 00089 event.put( output ); 00090 00091 }
bool MuonSeedProducer::debug [private] |
Builder where seeds are formed.
Definition at line 45 of file MuonSeedProducer.h.
Referenced by MuonSeedProducer(), produce(), and ~MuonSeedProducer().