#include <PropagateToMuon.h>
Public Types | |
using | ESTokens = std::tuple< edm::ESGetToken< MagneticField, IdealMagneticFieldRecord >, edm::ESGetToken< Propagator, TrackingComponentsRecord >, edm::ESGetToken< Propagator, TrackingComponentsRecord >, edm::ESGetToken< Propagator, TrackingComponentsRecord >, edm::ESGetToken< MuonDetLayerGeometry, MuonRecoGeometryRecord >> |
Public Member Functions | |
TrajectoryStateOnSurface | extrapolate (const reco::Track &tk) const |
TrajectoryStateOnSurface | extrapolate (const reco::Candidate &tk) const |
TrajectoryStateOnSurface | extrapolate (const FreeTrajectoryState &state) const |
void | init (const edm::EventSetup &iSetup) |
PropagateToMuon (const edm::ParameterSet &iConfig, const ESTokens &) | |
~PropagateToMuon () | |
Static Public Member Functions | |
static ESTokens | getESTokens (edm::ConsumesCollector) |
Private Types | |
enum | WhichState { AtVertex, Innermost, Outermost } |
enum | WhichTrack { None, TrackerTk, MuonTk, GlobalTk } |
Private Member Functions | |
TrajectoryStateOnSurface | getBestDet (const TrajectoryStateOnSurface &tsos, const DetLayer *station) const |
FreeTrajectoryState | startingState (const reco::Candidate &reco) const |
Starting state for the propagation. More... | |
FreeTrajectoryState | startingState (const reco::Track &tk) const |
Starting state for the propagation. More... | |
Private Attributes | |
const BoundCylinder * | barrelCylinder_ |
double | barrelHalfLength_ |
bool | cosmicPropagation_ |
const BoundDisk * | endcapDiskNeg_ |
const BoundDisk * | endcapDiskPos_ |
std::pair< float, float > | endcapRadii_ |
edm::ESHandle< MagneticField > | magfield_ |
edm::ESGetToken< MagneticField, IdealMagneticFieldRecord > | magfieldToken_ |
edm::ESHandle < MuonDetLayerGeometry > | muonGeometry_ |
edm::ESGetToken < MuonDetLayerGeometry, MuonRecoGeometryRecord > | muonGeometryToken_ |
edm::ESHandle< Propagator > | propagator_ |
edm::ESHandle< Propagator > | propagatorAny_ |
edm::ESGetToken< Propagator, TrackingComponentsRecord > | propagatorAnyToken_ |
edm::ESHandle< Propagator > | propagatorOpposite_ |
edm::ESGetToken< Propagator, TrackingComponentsRecord > | propagatorOppositeToken_ |
edm::ESGetToken< Propagator, TrackingComponentsRecord > | propagatorToken_ |
bool | useSimpleGeometry_ |
Labels for input collections. More... | |
WhichState | whichState_ |
WhichTrack | whichTrack_ |
Definition at line 38 of file PropagateToMuon.h.
Definition at line 44 of file PropagateToMuon.h.
|
private |
Enumerator | |
---|---|
AtVertex | |
Innermost | |
Outermost |
Definition at line 69 of file PropagateToMuon.h.
|
private |
|
explicit |
Definition at line 33 of file PropagateToMuon.cc.
References AtVertex, cosmicPropagation_, Exception, edm::ParameterSet::getParameter(), GlobalTk, Innermost, MuonTk, None, Outermost, AlCaHLTBitMon_QueryRunRegistry::string, TrackerTk, whichState_, and whichTrack_.
PropagateToMuon::~PropagateToMuon | ( | ) |
Definition at line 74 of file PropagateToMuon.cc.
|
inline |
Extrapolate reco::Track to the muon station 2, return an invalid TSOS if it fails
Definition at line 57 of file PropagateToMuon.h.
References extrapolate(), and startingState().
Referenced by hltriggeroffline::L1MuonMatcherAlgo::extrapolate(), and extrapolate().
|
inline |
Extrapolate reco::Candidate to the muon station 2, return an invalid TSOS if it fails
Definition at line 61 of file PropagateToMuon.h.
References extrapolate(), and startingState().
Referenced by extrapolate().
TrajectoryStateOnSurface PropagateToMuon::extrapolate | ( | const FreeTrajectoryState & | state | ) | const |
Extrapolate a FreeTrajectoryState to the muon station 2, return an invalid TSOS if it fails
Definition at line 156 of file PropagateToMuon.cc.
References AtVertex, barrelCylinder_, barrelHalfLength_, cosmicPropagation_, Vector3DBase< T, FrameTag >::dot(), endcapDiskNeg_, endcapDiskPos_, endcapRadii_, PVValHelper::eta, PV3DBase< T, PVType, FrameType >::eta(), getBestDet(), TrajectoryStateOnSurface::globalPosition(), sistrip::SpyUtilities::isValid(), TrajectoryStateOnSurface::isValid(), PV3DBase< T, PVType, FrameType >::mag(), FreeTrajectoryState::momentum(), muonGeometry_, PV3DBase< T, PVType, FrameType >::perp(), FreeTrajectoryState::position(), Propagator::propagate(), propagator_, propagatorOpposite_, useSimpleGeometry_, whichState_, PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().
|
private |
Get the best TSOS on one of the chambres of this DetLayer, or an invalid TSOS if none match
Definition at line 205 of file PropagateToMuon.cc.
References Chi2MeasurementEstimator_cfi::Chi2MeasurementEstimator, GeometricSearchDet::compatibleDets(), propagatorAny_, and runTheMatrix::ret.
Referenced by extrapolate().
|
static |
Definition at line 20 of file PropagateToMuon.cc.
References edm::BeginRun, edm::ConsumesCollector::esConsumes(), and runTheMatrix::ret.
Referenced by HLTMuonPlotter::getESTokens().
void PropagateToMuon::init | ( | const edm::EventSetup & | iSetup | ) |
Call this method at the beginning of each run, to initialize geometry, magnetic field and propagators
Definition at line 76 of file PropagateToMuon.cc.
References barrelCylinder_, barrelHalfLength_, endcapDiskNeg_, endcapDiskPos_, endcapRadii_, Exception, edm::EventSetup::getHandle(), magfield_, magfieldToken_, muonGeometry_, muonGeometryToken_, propagator_, propagatorAny_, propagatorAnyToken_, propagatorOpposite_, propagatorOppositeToken_, propagatorToken_, and GeometricSearchDet::surface().
Referenced by hltriggeroffline::L1MuonMatcherAlgo::init().
|
private |
Starting state for the propagation.
Definition at line 101 of file PropagateToMuon.cc.
References reco::Candidate::charge(), reco::RecoCandidate::combinedMuon(), Exception, GlobalTk, edm::Ref< C, T, F >::isNull(), magfield_, MuonTk, None, edm::ESHandle< class >::product(), reco::Candidate::px(), reco::Candidate::py(), reco::Candidate::pz(), dt_dqm_sourceclient_common_cff::reco, runTheMatrix::ret, reco::RecoCandidate::standAloneMuon(), reco::RecoCandidate::track(), TrackerTk, reco::Candidate::vx(), reco::Candidate::vy(), reco::Candidate::vz(), and whichTrack_.
Referenced by extrapolate().
|
private |
Starting state for the propagation.
Definition at line 135 of file PropagateToMuon.cc.
References AtVertex, cosmicPropagation_, trajectoryStateTransform::initialFreeState(), trajectoryStateTransform::innerFreeState(), Innermost, reco::Track::innerPosition(), magfield_, trajectoryStateTransform::outerFreeState(), Outermost, reco::Track::outerPosition(), edm::ESHandle< class >::product(), and whichState_.
|
private |
Definition at line 90 of file PropagateToMuon.h.
Referenced by extrapolate(), and init().
|
private |
Definition at line 92 of file PropagateToMuon.h.
Referenced by extrapolate(), and init().
|
private |
for cosmics, some things change: the along-opposite is not in-out, nor the innermost/outermost states are in-out really
Definition at line 78 of file PropagateToMuon.h.
Referenced by extrapolate(), PropagateToMuon(), and startingState().
|
private |
Definition at line 91 of file PropagateToMuon.h.
Referenced by extrapolate(), and init().
|
private |
Definition at line 91 of file PropagateToMuon.h.
Referenced by extrapolate(), and init().
|
private |
Definition at line 93 of file PropagateToMuon.h.
Referenced by extrapolate(), and init().
|
private |
Definition at line 81 of file PropagateToMuon.h.
Referenced by init(), and startingState().
|
private |
Definition at line 85 of file PropagateToMuon.h.
Referenced by init().
|
private |
Definition at line 83 of file PropagateToMuon.h.
Referenced by extrapolate(), and init().
|
private |
Definition at line 88 of file PropagateToMuon.h.
Referenced by init().
|
private |
Definition at line 82 of file PropagateToMuon.h.
Referenced by extrapolate(), and init().
|
private |
Definition at line 82 of file PropagateToMuon.h.
Referenced by getBestDet(), and init().
|
private |
Definition at line 86 of file PropagateToMuon.h.
Referenced by init().
|
private |
Definition at line 82 of file PropagateToMuon.h.
Referenced by extrapolate(), and init().
|
private |
Definition at line 86 of file PropagateToMuon.h.
Referenced by init().
|
private |
Definition at line 86 of file PropagateToMuon.h.
Referenced by init().
|
private |
Labels for input collections.
Definition at line 72 of file PropagateToMuon.h.
Referenced by extrapolate().
|
private |
Definition at line 74 of file PropagateToMuon.h.
Referenced by extrapolate(), PropagateToMuon(), and startingState().
|
private |
Definition at line 73 of file PropagateToMuon.h.
Referenced by PropagateToMuon(), and startingState().