#include <MuonServiceProxy.h>
Classes | |
class | PropagatorInfo |
Public Types | |
enum | UseEventSetupIn { UseEventSetupIn::Run, UseEventSetupIn::Event, UseEventSetupIn::RunAndEvent } |
Public Member Functions | |
edm::ESHandle< MuonDetLayerGeometry > | detLayerGeometry () const |
get the detLayer geometry More... | |
const edm::EventSetup & | eventSetup () const |
bool | isTrackingComponentsRecordChanged () const |
check if the MuonReco Geometry has been changed More... | |
edm::ESHandle< MagneticField > | magneticField () const |
get the magnetic field More... | |
const MuonNavigationSchool * | muonNavigationSchool () const |
MuonServiceProxy (const edm::ParameterSet &, edm::ConsumesCollector &&, UseEventSetupIn useEventSetupIn=UseEventSetupIn::Event) | |
Constructor. More... | |
edm::ESHandle< Propagator > | propagator (std::string propagatorName) const |
get the propagator More... | |
edm::ESHandle< GlobalTrackingGeometry > | trackingGeometry () const |
get the tracking geometry More... | |
void | update (const edm::EventSetup &setup, bool duringEvent=true) |
update the services each event More... | |
virtual | ~MuonServiceProxy () |
Destructor. More... | |
Private Types | |
using | PropagatorMap = std::map< std::string, PropagatorInfo > |
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.
Modified by C. Calabria Modified by D. Nash
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.
Modified by C. Calabria & A. Sharma Modified by D. Nash
Definition at line 38 of file MuonServiceProxy.h.
|
private |
Definition at line 91 of file MuonServiceProxy.h.
|
strong |
MuonServiceProxy::MuonServiceProxy | ( | const edm::ParameterSet & | par, |
edm::ConsumesCollector && | iC, | ||
UseEventSetupIn | useEventSetupIn = UseEventSetupIn::Event |
||
) |
Constructor.
Definition at line 27 of file MuonServiceProxy.cc.
References edm::BeginRun, Event, edm::ParameterSet::existsAs(), edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), globalTrackingGeometryEventToken_, globalTrackingGeometryRunToken_, LogDebug, SiStripFineDelayHit_cfi::MagneticField, magneticFieldEventToken_, magneticFieldRunToken_, muonDetLayerGeometryEventToken_, muonDetLayerGeometryRunToken_, LaserSeedGenerator_cfi::Propagator, HLT_2018_cff::propagatorName, Run, RunAndEvent, theCacheId_DG, theCacheId_GTG, theCacheId_MG, theCacheId_P, theChangeInTrackingComponentsRecord, theCSCLayer, theGEMLayer, theME0Layer, theMuonNavigationFlag, thePropagators, and theRPCLayer.
|
virtual |
|
inline |
get the detLayer geometry
Definition at line 62 of file MuonServiceProxy.h.
References theDetLayerGeometry.
Referenced by MuonSimHitProducer::produce().
|
inline |
get the whole EventSetup (Note: this is a dangerous function. I would delete it if modules were not using it. If this function is called for an event where the function 'update' was not called, then the pointer stored in 'theEventSetup' will point to an object that no longer exists even if all the ESHandles are still valid! Be careful. As long as 'update' is called every event and this is only used while processing that single corresponding event, it will work OK... This function also makes it difficult to examine code in a module and understand which parts of a module use the EventSetup to get data.)
Definition at line 76 of file MuonServiceProxy.h.
References theEventSetup.
Referenced by TSGFromPropagation::init(), GlobalTrackQualityProducer::produce(), TSGFromPropagation::setEvent(), TSGForRoadSearch::setEvent(), GlobalTrajectoryBuilderBase::setEvent(), and TrackerSeedGenerator::trackerSeeds().
|
inline |
check if the MuonReco Geometry has been changed
Definition at line 79 of file MuonServiceProxy.h.
References theChangeInTrackingComponentsRecord.
|
inline |
get the magnetic field
Definition at line 56 of file MuonServiceProxy.h.
References theMGField.
Referenced by GlobalTrajectoryBuilderBase::build(), GlobalTrajectoryBuilderBase::getTransientRecHits(), TSGFromPropagation::innerState(), TSGForRoadSearch::IPfts(), TSGFromPropagation::outerTkState(), MuonSeedCleaner::SeedMomentum(), and MuonSeedCleaner::SeedPosition().
|
inline |
edm::ESHandle< Propagator > MuonServiceProxy::propagator | ( | std::string | propagatorName | ) | const |
get the propagator
Definition at line 177 of file MuonServiceProxy.cc.
References HLT_2018_cff::propagatorName, and thePropagators.
Referenced by MuonSimHitProducer::beginRun(), GlobalTrajectoryBuilderBase::getTransientRecHits(), TSGForRoadSearch::makeSeeds_0(), TSGForRoadSearch::makeSeeds_3(), TSGForRoadSearch::makeSeeds_4(), TSGFromPropagation::outerTkState(), CosmicMuonTrajectoryBuilder::propagator(), GlobalCosmicMuonTrajectoryBuilder::propagator(), TSGFromPropagation::propagator(), FastTSGFromPropagation::propagator(), CosmicMuonSmoother::propagatorAlong(), CosmicMuonTrajectoryBuilder::propagatorAlong(), CosmicMuonSmoother::propagatorOpposite(), CosmicMuonTrajectoryBuilder::propagatorOpposite(), and TSGForRoadSearch::pushTrajectorySeed().
|
inline |
get the tracking geometry
Definition at line 59 of file MuonServiceProxy.h.
References theTrackingGeometry.
Referenced by GlobalTrajectoryBuilderBase::build(), ResidualRefitting::CollectTrackHits(), GlobalTrajectoryBuilderBase::getTransientRecHits(), TSGFromPropagation::innerState(), MuonCosmicCompatibilityFiller::isOverlappingMuon(), MuonSeedCleaner::NChi2OfSegment(), ResidualRefitting::NewTrackMeasurements(), MuonSeedCleaner::NRecHitsFromSegment(), MuonSeedCleaner::OverlapSegments(), MuonSeedCleaner::SeedCandidates(), MuonSeedCleaner::SeedMomentum(), MuonSeedCleaner::SeedPosition(), ExhaustiveMuonTrajectoryBuilder::trajectories(), and ResidualRefitting::trkExtrap().
void MuonServiceProxy::update | ( | const edm::EventSetup & | setup, |
bool | duringEvent = true |
||
) |
update the services each event
Definition at line 111 of file MuonServiceProxy.cc.
References globalTrackingGeometryEventToken_, globalTrackingGeometryRunToken_, LogTrace, magneticFieldEventToken_, magneticFieldRunToken_, metname, muonDetLayerGeometryEventToken_, muonDetLayerGeometryRunToken_, singleTopDQM_cfi::setup, AlCaHLTBitMon_QueryRunRegistry::string, theCacheId_DG, theCacheId_GTG, theCacheId_MG, theCacheId_P, theChangeInTrackingComponentsRecord, theCSCLayer, theDetLayerGeometry, theEventSetup, theGEMLayer, theME0Layer, theMGField, theMuonNavigationFlag, thePropagators, theRPCLayer, theSchool, and theTrackingGeometry.
Referenced by progressbar.ProgressBar::__next__(), MatrixUtil.Matrix::__setitem__(), MatrixUtil.Steps::__setitem__(), ResidualRefitting::analyze(), MuonSimHitProducer::beginRun(), AlignmentMonitorTracksFromTrajectories::event(), progressbar.ProgressBar::finish(), MatrixUtil.Steps::overwrite(), GlobalTrackQualityProducer::produce(), and MuonSeedCleaner::seedCleaner().
|
private |
Definition at line 97 of file MuonServiceProxy.h.
Referenced by MuonServiceProxy(), and update().
|
private |
Definition at line 101 of file MuonServiceProxy.h.
Referenced by MuonServiceProxy(), and update().
|
private |
Definition at line 98 of file MuonServiceProxy.h.
Referenced by MuonServiceProxy(), and update().
|
private |
Definition at line 102 of file MuonServiceProxy.h.
Referenced by MuonServiceProxy(), and update().
|
private |
Definition at line 99 of file MuonServiceProxy.h.
Referenced by MuonServiceProxy(), and update().
|
private |
Definition at line 103 of file MuonServiceProxy.h.
Referenced by MuonServiceProxy(), and update().
|
private |
Definition at line 117 of file MuonServiceProxy.h.
Referenced by MuonServiceProxy(), and update().
|
private |
Definition at line 115 of file MuonServiceProxy.h.
Referenced by MuonServiceProxy(), and update().
|
private |
Definition at line 116 of file MuonServiceProxy.h.
Referenced by MuonServiceProxy(), and update().
|
private |
Definition at line 118 of file MuonServiceProxy.h.
Referenced by MuonServiceProxy(), and update().
|
private |
Definition at line 120 of file MuonServiceProxy.h.
Referenced by isTrackingComponentsRecordChanged(), MuonServiceProxy(), and update().
|
private |
Definition at line 108 of file MuonServiceProxy.h.
Referenced by MuonServiceProxy(), and update().
|
private |
Definition at line 95 of file MuonServiceProxy.h.
Referenced by detLayerGeometry(), and update().
|
private |
Definition at line 105 of file MuonServiceProxy.h.
Referenced by eventSetup(), and update().
|
private |
Definition at line 109 of file MuonServiceProxy.h.
Referenced by MuonServiceProxy(), and update().
|
private |
Definition at line 110 of file MuonServiceProxy.h.
Referenced by MuonServiceProxy(), and update().
|
private |
Definition at line 94 of file MuonServiceProxy.h.
Referenced by magneticField(), and update().
|
private |
Definition at line 106 of file MuonServiceProxy.h.
Referenced by MuonServiceProxy(), and update().
|
private |
Definition at line 113 of file MuonServiceProxy.h.
Referenced by MuonServiceProxy(), propagator(), and update().
|
private |
Definition at line 107 of file MuonServiceProxy.h.
Referenced by MuonServiceProxy(), and update().
|
private |
Definition at line 111 of file MuonServiceProxy.h.
Referenced by muonNavigationSchool(), update(), and ~MuonServiceProxy().
|
private |
Definition at line 93 of file MuonServiceProxy.h.
Referenced by CSCTimingExtractor::fillTiming(), DTTimingExtractor::fillTiming(), trackingGeometry(), and update().