Propagate an object (usually a track) to the second (default) or first muon station. More...
#include "MuonAnalysis/MuonAssociators/interface/PropagateToMuon.h"
Public Member Functions | |
TrajectoryStateOnSurface | extrapolate (const reco::Track &tk) const |
Extrapolate reco::Track to the muon station 2, return an invalid TSOS if it fails. More... | |
TrajectoryStateOnSurface | extrapolate (const reco::Candidate &tk) const |
Extrapolate reco::Candidate to the muon station 2, return an invalid TSOS if it fails. More... | |
TrajectoryStateOnSurface | extrapolate (const SimTrack &tk, const edm::SimVertexContainer &vtxs) const |
TrajectoryStateOnSurface | extrapolate (const FreeTrajectoryState &state) const |
Extrapolate a FreeTrajectoryState to the muon station 2, return an invalid TSOS if it fails. More... | |
PropagateToMuon () | |
PropagateToMuon (edm::ESHandle< MagneticField >, edm::ESHandle< Propagator >, edm::ESHandle< Propagator >, edm::ESHandle< Propagator >, edm::ESHandle< MuonDetLayerGeometry >, bool, bool, bool, WhichTrack, WhichState, bool, bool) | |
~PropagateToMuon () | |
Private Member Functions | |
TrajectoryStateOnSurface | getBestDet (const TrajectoryStateOnSurface &tsos, const DetLayer *station) const |
Get the best TSOS on one of the chambres of this DetLayer, or an invalid TSOS if none match. More... | |
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... | |
FreeTrajectoryState | startingState (const SimTrack &tk, const edm::SimVertexContainer &vtxs) const |
Starting state for the propagation. More... | |
Private Attributes | |
const BoundCylinder * | barrelCylinder_ |
double | barrelHalfLength_ |
bool | cosmicPropagation_ |
for cosmics, some things change: the along-opposite is not in-out, nor the innermost/outermost states are in-out really More... | |
const BoundDisk * | endcapDiskNeg_ [3] |
const BoundDisk * | endcapDiskPos_ [3] |
std::pair< float, float > | endcapRadii_ [3] |
bool | fallbackToME1_ |
Fallback to ME1 if propagation to ME2 fails. More... | |
edm::ESHandle< MagneticField > | magfield_ |
edm::ESHandle< MuonDetLayerGeometry > | muonGeometry_ |
edm::ESHandle< Propagator > | propagator_ |
edm::ESHandle< Propagator > | propagatorAny_ |
edm::ESHandle< Propagator > | propagatorOpposite_ |
bool | useMB2_ |
bool | useMB2InOverlap_ |
bool | useSimpleGeometry_ |
WhichState | whichState_ |
WhichTrack | whichTrack_ |
Labels for input collections. More... | |
Propagate an object (usually a track) to the second (default) or first muon station.
Definition at line 31 of file PropagateToMuon.h.
|
inlineexplicit |
Definition at line 33 of file PropagateToMuon.h.
|
explicit |
Definition at line 14 of file PropagateToMuon.cc.
References MuonDetLayerGeometry::allDTLayers(), MuonDetLayerGeometry::backwardCSCLayers(), barrelCylinder_, barrelHalfLength_, endcapDiskNeg_, endcapDiskPos_, endcapRadii_, MuonDetLayerGeometry::forwardCSCLayers(), mps_fire::i, interestingEgammaIsoDetIdsSequence_cff::innerRadius, muonGeometry_, interestingEgammaIsoDetIdsSequence_cff::outerRadius, GeometricSearchDet::surface(), useMB2_, and useMB2InOverlap_.
|
inline |
Definition at line 46 of file PropagateToMuon.h.
|
inline |
Extrapolate reco::Track to the muon station 2, return an invalid TSOS if it fails.
Definition at line 49 of file PropagateToMuon.h.
References extrapolate(), and startingState().
Referenced by L1MuonMatcherAlgoT< edm::Transition::BeginRun >::extrapolate(), and extrapolate().
|
inline |
Extrapolate reco::Candidate to the muon station 2, return an invalid TSOS if it fails.
Definition at line 52 of file PropagateToMuon.h.
References extrapolate(), and startingState().
Referenced by extrapolate().
|
inline |
Extrapolate a SimTrack to the muon station 2, return an invalid TSOS if it fails; needs the SimVertices too, to know where to start from Note: it will throw an exception if the SimTrack has no vertex.
Definition at line 57 of file PropagateToMuon.h.
References extrapolate(), and startingState().
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 129 of file PropagateToMuon.cc.
References MuonDetLayerGeometry::allDTLayers(), AtVertex, MuonDetLayerGeometry::backwardCSCLayers(), barrelCylinder_, barrelHalfLength_, cosmicPropagation_, endcapDiskNeg_, endcapDiskPos_, endcapRadii_, PVValHelper::eta, Exception, fallbackToME1_, dqmdumpme::first, MuonDetLayerGeometry::forwardCSCLayers(), getBestDet(), TrajectoryStateOnSurface::globalPosition(), edm::ESHandleBase::isValid(), sistrip::SpyUtilities::isValid(), TrajectoryStateOnSurface::isValid(), magfield_, muonGeometry_, PV3DBase< T, PVType, FrameType >::perp(), position, Propagator::propagate(), propagator_, propagatorOpposite_, rho, edm::second(), useMB2_, useSimpleGeometry_, whichState_, 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 189 of file PropagateToMuon.cc.
References nano_mu_digi_cff::layer, propagatorAny_, and runTheMatrix::ret.
Referenced by extrapolate().
|
private |
Starting state for the propagation.
Definition at line 57 of file PropagateToMuon.cc.
References reco::RecoCandidate::combinedMuon(), Exception, GlobalTk, edm::Ref< C, T, F >::isNull(), magfield_, MuonTk, None, edm::ESHandle< T >::product(), dt_dqm_sourceclient_common_cff::reco, runTheMatrix::ret, reco::RecoCandidate::standAloneMuon(), reco::RecoCandidate::track(), TrackerTk, and whichTrack_.
Referenced by extrapolate().
|
private |
Starting state for the propagation.
Definition at line 91 of file PropagateToMuon.cc.
References AtVertex, cosmicPropagation_, trajectoryStateTransform::initialFreeState(), trajectoryStateTransform::innerFreeState(), Innermost, reco::Track::innerPosition(), edm::ESHandleBase::isValid(), magfield_, trajectoryStateTransform::outerFreeState(), Outermost, reco::Track::outerPosition(), edm::ESHandle< T >::product(), and whichState_.
|
private |
Starting state for the propagation.
Definition at line 115 of file PropagateToMuon.cc.
References CoreSimTrack::charge(), edm::ESHandleBase::isValid(), magfield_, CoreSimTrack::momentum(), SimTrack::noVertex(), edm::ESHandle< T >::product(), SimTrack::vertIndex(), and L1BJetProducer_cff::vtx.
|
private |
Definition at line 87 of file PropagateToMuon.h.
Referenced by extrapolate(), and PropagateToMuon().
|
private |
Definition at line 89 of file PropagateToMuon.h.
Referenced by extrapolate(), and PropagateToMuon().
|
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 82 of file PropagateToMuon.h.
Referenced by extrapolate(), and startingState().
|
private |
Definition at line 88 of file PropagateToMuon.h.
Referenced by extrapolate(), and PropagateToMuon().
|
private |
Definition at line 88 of file PropagateToMuon.h.
Referenced by extrapolate(), and PropagateToMuon().
|
private |
Definition at line 90 of file PropagateToMuon.h.
Referenced by extrapolate(), and PropagateToMuon().
|
private |
Fallback to ME1 if propagation to ME2 fails.
Definition at line 75 of file PropagateToMuon.h.
Referenced by extrapolate().
|
private |
Definition at line 66 of file PropagateToMuon.h.
Referenced by extrapolate(), and startingState().
|
private |
Definition at line 68 of file PropagateToMuon.h.
Referenced by extrapolate(), and PropagateToMuon().
|
private |
Definition at line 67 of file PropagateToMuon.h.
Referenced by extrapolate().
|
private |
Definition at line 67 of file PropagateToMuon.h.
Referenced by getBestDet().
|
private |
Definition at line 67 of file PropagateToMuon.h.
Referenced by extrapolate().
|
private |
Definition at line 72 of file PropagateToMuon.h.
Referenced by extrapolate(), and PropagateToMuon().
|
private |
Definition at line 84 of file PropagateToMuon.h.
Referenced by PropagateToMuon().
|
private |
Definition at line 70 of file PropagateToMuon.h.
Referenced by extrapolate().
|
private |
Definition at line 79 of file PropagateToMuon.h.
Referenced by extrapolate(), and startingState().
|
private |
Labels for input collections.
Definition at line 78 of file PropagateToMuon.h.
Referenced by startingState().