Propagate an object (usually a track) to the second muon station. Support for other muon stations will be added on request. 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 reco::Track &tk) const |
Extrapolate reco::Track to the muon station 2, return an invalid TSOS if it fails. More... | |
TrajectoryStateOnSurface | extrapolate (const FreeTrajectoryState &state) const |
Extrapolate a FreeTrajectoryState 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... | |
void | init (const edm::EventSetup &iSetup) |
Call this method at the beginning of each run, to initialize geometry, magnetic field and propagators. More... | |
void | init (const edm::EventSetup &iSetup) |
Call this method at the beginning of each run, to initialize geometry, magnetic field and propagators. More... | |
PropagateToMuon (const edm::ParameterSet &iConfig) | |
PropagateToMuon (const edm::ParameterSet &iConfig) | |
~PropagateToMuon () | |
~PropagateToMuon () | |
Private Types | |
enum | WhichState { AtVertex, Innermost, Outermost, AtVertex, Innermost, Outermost } |
enum | WhichState { AtVertex, Innermost, Outermost, AtVertex, Innermost, Outermost } |
enum | WhichTrack { None, TrackerTk, MuonTk, GlobalTk, None, TrackerTk, MuonTk, GlobalTk } |
enum | WhichTrack { None, TrackerTk, MuonTk, GlobalTk, None, TrackerTk, MuonTk, GlobalTk } |
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... | |
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 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_ |
const BoundDisk * | endcapDiskPos_ |
std::pair< float, float > | endcapRadii_ |
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_ |
Propagate to MB2 (default) instead of MB1. More... | |
bool | useMB2InOverlap_ |
bool | useSimpleGeometry_ |
Labels for input collections. More... | |
WhichState | whichState_ |
WhichTrack | whichTrack_ |
Labels for input collections. More... | |
Propagate an object (usually a track) to the second muon station. Support for other muon stations will be added on request.
Definition at line 28 of file PropagateToMuon.h.
|
private |
Enumerator | |
---|---|
AtVertex | |
Innermost | |
Outermost | |
AtVertex | |
Innermost | |
Outermost |
Definition at line 47 of file PropagateToMuon.h.
|
private |
Enumerator | |
---|---|
AtVertex | |
Innermost | |
Outermost | |
AtVertex | |
Innermost | |
Outermost |
Definition at line 55 of file PropagateToMuon.h.
|
private |
Enumerator | |
---|---|
None | |
TrackerTk | |
MuonTk | |
GlobalTk | |
None | |
TrackerTk | |
MuonTk | |
GlobalTk |
Definition at line 46 of file PropagateToMuon.h.
|
private |
Enumerator | |
---|---|
None | |
TrackerTk | |
MuonTk | |
GlobalTk | |
None | |
TrackerTk | |
MuonTk | |
GlobalTk |
Definition at line 54 of file PropagateToMuon.h.
|
explicit |
Definition at line 18 of file PropagateToMuon.cc.
PropagateToMuon::~PropagateToMuon | ( | ) |
Definition at line 41 of file PropagateToMuon.cc.
|
explicit |
PropagateToMuon::~PropagateToMuon | ( | ) |
|
inline |
Extrapolate reco::Track to the muon station 2, return an invalid TSOS if it fails.
Definition at line 37 of file PropagateToMuon.h.
References extrapolate(), and startingState().
Referenced by extrapolate().
|
inline |
Extrapolate reco::Candidate to the muon station 2, return an invalid TSOS if it fails.
Definition at line 40 of file PropagateToMuon.h.
References extrapolate(), and startingState().
Referenced by extrapolate().
|
inline |
Extrapolate reco::Track to the muon station 2, return an invalid TSOS if it fails.
Definition at line 41 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 114 of file PropagateToMuon.cc.
|
inline |
Extrapolate reco::Candidate to the muon station 2, return an invalid TSOS if it fails.
Definition at line 44 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 49 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.
|
private |
Get the best TSOS on one of the chambres of this DetLayer, or an invalid TSOS if none match.
Definition at line 158 of file PropagateToMuon.cc.
|
private |
Get the best TSOS on one of the chambres of this DetLayer, or an invalid TSOS if none match.
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 44 of file PropagateToMuon.cc.
Referenced by L1MuonMatcherAlgo::init().
void PropagateToMuon::init | ( | const edm::EventSetup & | iSetup | ) |
Call this method at the beginning of each run, to initialize geometry, magnetic field and propagators.
|
private |
Starting state for the propagation.
Definition at line 65 of file PropagateToMuon.cc.
Referenced by extrapolate().
|
private |
Starting state for the propagation.
Definition at line 92 of file PropagateToMuon.cc.
|
private |
Starting state for the propagation.
|
private |
Starting state for the propagation.
|
private |
Starting state for the propagation.
Definition at line 123 of file PropagateToMuon.cc.
|
private |
Definition at line 62 of file PropagateToMuon.h.
|
private |
Definition at line 64 of file PropagateToMuon.h.
|
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 55 of file PropagateToMuon.h.
|
private |
Definition at line 63 of file PropagateToMuon.h.
|
private |
Definition at line 63 of file PropagateToMuon.h.
|
private |
Definition at line 65 of file PropagateToMuon.h.
|
private |
Fallback to ME1 if propagation to ME2 fails.
Definition at line 64 of file PropagateToMuon.h.
|
private |
Definition at line 58 of file PropagateToMuon.h.
|
private |
Definition at line 60 of file PropagateToMuon.h.
|
private |
Definition at line 59 of file PropagateToMuon.h.
|
private |
Definition at line 59 of file PropagateToMuon.h.
|
private |
Definition at line 59 of file PropagateToMuon.h.
|
private |
Propagate to MB2 (default) instead of MB1.
Definition at line 61 of file PropagateToMuon.h.
|
private |
Definition at line 73 of file PropagateToMuon.h.
|
private |
Labels for input collections.
Use simplified geometry (cylinders and disks, not individual chambers)
Definition at line 50 of file PropagateToMuon.h.
|
private |
Definition at line 52 of file PropagateToMuon.h.
|
private |
Labels for input collections.
Definition at line 51 of file PropagateToMuon.h.