#include <MuonServiceProxy.h>
Class to handle the services needed by the muon reconstruction This class avoid the EventSetup percolation. The update method is called each event in order to update the pointers.
Class to handle the services needed by the muon reconstruction This class avoid the EventSetup percolation. The update method is called each event in order to update the pointers.
Definition at line 26 of file MuonServiceProxy.h.
typedef std::map<std::string, edm::ESHandle<Propagator> > MuonServiceProxy::propagators [private] |
Definition at line 64 of file MuonServiceProxy.h.
MuonServiceProxy::MuonServiceProxy | ( | const edm::ParameterSet & | par | ) |
Constructor.
Definition at line 37 of file MuonServiceProxy.cc.
References edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), LogDebug, theCacheId_DG, theCacheId_GTG, theCacheId_MG, theCacheId_P, theChangeInTrackingComponentsRecord, theMuonNavigationFlag, thePropagators, and theRPCLayer.
:theTrackingGeometry(0),theMGField(0),theDetLayerGeometry(0),theEventSetup(0),theSchool(0){ // load the propagators map vector<string> noPropagators; vector<string> propagatorNames; theMuonNavigationFlag = par.getUntrackedParameter<bool>("UseMuonNavigation",true); if(theMuonNavigationFlag) theRPCLayer = par.getParameter<bool>("RPCLayers"); else theRPCLayer = true; propagatorNames = par.getUntrackedParameter<vector<string> >("Propagators", noPropagators); if(propagatorNames.empty()) LogDebug("Muon|RecoMuon|MuonServiceProxy") << "NO propagator(s) selected!"; for(vector<string>::iterator propagatorName = propagatorNames.begin(); propagatorName != propagatorNames.end(); ++propagatorName) thePropagators[ *propagatorName ] = ESHandle<Propagator>(0); theCacheId_GTG = 0; theCacheId_MG = 0; theCacheId_DG = 0; theCacheId_P = 0; theChangeInTrackingComponentsRecord = false; }
MuonServiceProxy::~MuonServiceProxy | ( | ) | [virtual] |
Destructor.
Definition at line 66 of file MuonServiceProxy.cc.
{ // FIXME: how do that? // delete theTrackingGeometry; // delete theMGField; // delete theDetLayerGeometry; // FIXME: is it enough? thePropagators.clear(); if(theSchool) delete theSchool; }
edm::ESHandle<MuonDetLayerGeometry> MuonServiceProxy::detLayerGeometry | ( | ) | const [inline] |
get the detLayer geometry
Definition at line 46 of file MuonServiceProxy.h.
References theDetLayerGeometry.
Referenced by MuonSimHitProducer::produce().
{return theDetLayerGeometry;}
const edm::EventSetup& MuonServiceProxy::eventSetup | ( | ) | const [inline] |
get the whole EventSetup
Definition at line 52 of file MuonServiceProxy.h.
References theEventSetup.
Referenced by GlobalTrackQualityProducer::produce(), TSGFromPropagation::setEvent(), TSGForRoadSearch::setEvent(), and TrackerSeedGenerator::trackerSeeds().
{return *theEventSetup;}
bool MuonServiceProxy::isTrackingComponentsRecordChanged | ( | ) | const [inline] |
check if the MuonReco Geometry has been changed
Definition at line 55 of file MuonServiceProxy.h.
References theChangeInTrackingComponentsRecord.
{return theChangeInTrackingComponentsRecord;}
edm::ESHandle<MagneticField> MuonServiceProxy::magneticField | ( | ) | const [inline] |
get the magnetic field
Definition at line 40 of file MuonServiceProxy.h.
References theMGField.
Referenced by DTTimingExtractor::fillTiming(), CSCTimingExtractor::fillTiming(), TSGFromPropagation::innerState(), TSGForRoadSearch::IPfts(), TSGFromPropagation::outerTkState(), MuonSeedCleaner::SeedMomentum(), and MuonSeedCleaner::SeedPosition().
{return theMGField;}
const MuonNavigationSchool* MuonServiceProxy::muonNavigationSchool | ( | ) | const [inline] |
edm::ESHandle<Propagator> MuonServiceProxy::propagator | ( | std::string | propagatorName | ) | const |
get the propagator
Referenced by MuonSimHitProducer::beginRun(), TSGForRoadSearch::makeSeeds_0(), TSGForRoadSearch::makeSeeds_3(), TSGForRoadSearch::makeSeeds_4(), TSGFromPropagation::outerTkState(), GlobalCosmicMuonTrajectoryBuilder::propagator(), FastTSGFromPropagation::propagator(), CosmicMuonTrajectoryBuilder::propagator(), TSGFromPropagation::propagator(), CosmicMuonSmoother::propagatorAlong(), CosmicMuonTrajectoryBuilder::propagatorAlong(), CosmicMuonSmoother::propagatorOpposite(), CosmicMuonTrajectoryBuilder::propagatorOpposite(), and TSGForRoadSearch::pushTrajectorySeed().
edm::ESHandle<GlobalTrackingGeometry> MuonServiceProxy::trackingGeometry | ( | ) | const [inline] |
get the tracking geometry
Definition at line 43 of file MuonServiceProxy.h.
References theTrackingGeometry.
Referenced by ResidualRefitting::CollectTrackHits(), DTTimingExtractor::fillTiming(), CSCTimingExtractor::fillTiming(), TSGFromPropagation::innerState(), MuonCosmicCompatibilityFiller::isOverlappingMuon(), MuonSeedCleaner::NChi2OfSegment(), ResidualRefitting::NewTrackMeasurements(), MuonSeedCleaner::NRecHitsFromSegment(), MuonSeedCleaner::OverlapSegments(), MuonSeedCleaner::SeedCandidates(), MuonSeedCleaner::SeedMomentum(), MuonSeedCleaner::SeedPosition(), ExhaustiveMuonTrajectoryBuilder::trajectories(), and ResidualRefitting::trkExtrap().
{return theTrackingGeometry;}
void MuonServiceProxy::update | ( | const edm::EventSetup & | setup | ) |
update the services each event
Referenced by ResidualRefitting::analyze(), MuonSimHitProducer::beginRun(), TSGFromL2Muon::beginRun(), FastTSGFromL2Muon::beginRun(), AlignmentMonitorTracksFromTrajectories::event(), DTTimingExtractor::fillTiming(), CSCTimingExtractor::fillTiming(), TSGFromL2Muon::produce(), GlobalTrackQualityProducer::produce(), GlobalCosmicMuonProducer::produce(), FastTSGFromL2Muon::produce(), HIMuonTrackingRegionProducer::regions(), and MuonSeedCleaner::seedCleaner().
unsigned long long MuonServiceProxy::theCacheId_DG [private] |
Definition at line 78 of file MuonServiceProxy.h.
Referenced by MuonServiceProxy().
unsigned long long MuonServiceProxy::theCacheId_GTG [private] |
Definition at line 76 of file MuonServiceProxy.h.
Referenced by MuonServiceProxy().
unsigned long long MuonServiceProxy::theCacheId_MG [private] |
Definition at line 77 of file MuonServiceProxy.h.
Referenced by MuonServiceProxy().
unsigned long long MuonServiceProxy::theCacheId_P [private] |
Definition at line 79 of file MuonServiceProxy.h.
Referenced by MuonServiceProxy().
bool MuonServiceProxy::theChangeInTrackingComponentsRecord [private] |
Definition at line 81 of file MuonServiceProxy.h.
Referenced by isTrackingComponentsRecordChanged(), and MuonServiceProxy().
Definition at line 68 of file MuonServiceProxy.h.
Referenced by detLayerGeometry().
const edm::EventSetup* MuonServiceProxy::theEventSetup [private] |
Definition at line 69 of file MuonServiceProxy.h.
Referenced by eventSetup().
Definition at line 67 of file MuonServiceProxy.h.
Referenced by magneticField().
bool MuonServiceProxy::theMuonNavigationFlag [private] |
Definition at line 70 of file MuonServiceProxy.h.
Referenced by MuonServiceProxy().
propagators MuonServiceProxy::thePropagators [private] |
Definition at line 74 of file MuonServiceProxy.h.
Referenced by MuonServiceProxy().
bool MuonServiceProxy::theRPCLayer [private] |
Definition at line 71 of file MuonServiceProxy.h.
Referenced by MuonServiceProxy().
const MuonNavigationSchool* MuonServiceProxy::theSchool [private] |
Definition at line 72 of file MuonServiceProxy.h.
Referenced by muonNavigationSchool().
Definition at line 66 of file MuonServiceProxy.h.
Referenced by DTTimingExtractor::fillTiming(), CSCTimingExtractor::fillTiming(), and trackingGeometry().