CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Types | Private Member Functions | Private Attributes
PropagateToMuon Class Reference

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 BoundCylinderbarrelCylinder_
 
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 BoundDiskendcapDiskNeg_
 
const BoundDiskendcapDiskPos_
 
std::pair< float, float > endcapRadii_
 
bool fallbackToME1_
 Fallback to ME1 if propagation to ME2 fails. More...
 
edm::ESHandle< MagneticFieldmagfield_
 
edm::ESHandle
< MuonDetLayerGeometry
muonGeometry_
 
edm::ESHandle< Propagatorpropagator_
 
edm::ESHandle< PropagatorpropagatorAny_
 
edm::ESHandle< PropagatorpropagatorOpposite_
 
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...
 

Detailed Description

Propagate an object (usually a track) to the second muon station. Support for other muon stations will be added on request.

Author
Giovanni Petrucciani
Giovanni Petrucciani
Version
Id:
PropagateToMuon.h,v 1.3 2010/07/01 07:41:09 gpetrucc Exp

Definition at line 28 of file PropagateToMuon.h.

Member Enumeration Documentation

Enumerator
AtVertex 
Innermost 
Outermost 
AtVertex 
Innermost 
Outermost 

Definition at line 47 of file PropagateToMuon.h.

Enumerator
AtVertex 
Innermost 
Outermost 
AtVertex 
Innermost 
Outermost 

Definition at line 55 of file PropagateToMuon.h.

Enumerator
None 
TrackerTk 
MuonTk 
GlobalTk 
None 
TrackerTk 
MuonTk 
GlobalTk 

Definition at line 46 of file PropagateToMuon.h.

Enumerator
None 
TrackerTk 
MuonTk 
GlobalTk 
None 
TrackerTk 
MuonTk 
GlobalTk 

Definition at line 54 of file PropagateToMuon.h.

Constructor & Destructor Documentation

PropagateToMuon::PropagateToMuon ( const edm::ParameterSet iConfig)
explicit

Definition at line 18 of file PropagateToMuon.cc.

PropagateToMuon::~PropagateToMuon ( )

Definition at line 41 of file PropagateToMuon.cc.

PropagateToMuon::PropagateToMuon ( const edm::ParameterSet iConfig)
explicit
PropagateToMuon::~PropagateToMuon ( )

Member Function Documentation

TrajectoryStateOnSurface PropagateToMuon::extrapolate ( const reco::Track tk) const
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().

37 { return extrapolate(startingState(tk)); }
TrajectoryStateOnSurface extrapolate(const reco::Track &tk) const
Extrapolate reco::Track to the muon station 2, return an invalid TSOS if it fails.
FreeTrajectoryState startingState(const reco::Candidate &reco) const
Starting state for the propagation.
TrajectoryStateOnSurface PropagateToMuon::extrapolate ( const reco::Candidate tk) const
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().

40 { return extrapolate(startingState(tk)); }
TrajectoryStateOnSurface extrapolate(const reco::Track &tk) const
Extrapolate reco::Track to the muon station 2, return an invalid TSOS if it fails.
FreeTrajectoryState startingState(const reco::Candidate &reco) const
Starting state for the propagation.
TrajectoryStateOnSurface PropagateToMuon::extrapolate ( const reco::Track tk) const
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().

41 { return extrapolate(startingState(tk)); }
TrajectoryStateOnSurface extrapolate(const reco::Track &tk) const
Extrapolate reco::Track to the muon station 2, return an invalid TSOS if it fails.
FreeTrajectoryState startingState(const reco::Candidate &reco) const
Starting state for the propagation.
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.

TrajectoryStateOnSurface PropagateToMuon::extrapolate ( const reco::Candidate tk) const
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().

44 { return extrapolate(startingState(tk)); }
TrajectoryStateOnSurface extrapolate(const reco::Track &tk) const
Extrapolate reco::Track to the muon station 2, return an invalid TSOS if it fails.
FreeTrajectoryState startingState(const reco::Candidate &reco) const
Starting state for the propagation.
TrajectoryStateOnSurface PropagateToMuon::extrapolate ( const SimTrack tk,
const edm::SimVertexContainer vtxs 
) const
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().

49 { return extrapolate(startingState(tk, vtxs)); }
TrajectoryStateOnSurface extrapolate(const reco::Track &tk) const
Extrapolate reco::Track to the muon station 2, return an invalid TSOS if it fails.
FreeTrajectoryState startingState(const reco::Candidate &reco) const
Starting state for the propagation.
TrajectoryStateOnSurface PropagateToMuon::extrapolate ( const FreeTrajectoryState state) const

Extrapolate a FreeTrajectoryState to the muon station 2, return an invalid TSOS if it fails.

TrajectoryStateOnSurface PropagateToMuon::getBestDet ( const TrajectoryStateOnSurface tsos,
const DetLayer station 
) const
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.

TrajectoryStateOnSurface PropagateToMuon::getBestDet ( const TrajectoryStateOnSurface tsos,
const DetLayer station 
) const
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.

FreeTrajectoryState PropagateToMuon::startingState ( const reco::Candidate reco) const
private

Starting state for the propagation.

Definition at line 65 of file PropagateToMuon.cc.

Referenced by extrapolate().

FreeTrajectoryState PropagateToMuon::startingState ( const reco::Track tk) const
private

Starting state for the propagation.

Definition at line 92 of file PropagateToMuon.cc.

FreeTrajectoryState PropagateToMuon::startingState ( const reco::Candidate reco) const
private

Starting state for the propagation.

FreeTrajectoryState PropagateToMuon::startingState ( const reco::Track tk) const
private

Starting state for the propagation.

FreeTrajectoryState PropagateToMuon::startingState ( const SimTrack tk,
const edm::SimVertexContainer vtxs 
) const
private

Starting state for the propagation.

Definition at line 123 of file PropagateToMuon.cc.

Member Data Documentation

const BoundCylinder * PropagateToMuon::barrelCylinder_
private

Definition at line 62 of file PropagateToMuon.h.

double PropagateToMuon::barrelHalfLength_
private

Definition at line 64 of file PropagateToMuon.h.

bool PropagateToMuon::cosmicPropagation_
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.

const BoundDisk * PropagateToMuon::endcapDiskNeg_
private

Definition at line 63 of file PropagateToMuon.h.

const BoundDisk * PropagateToMuon::endcapDiskPos_
private

Definition at line 63 of file PropagateToMuon.h.

std::pair< float, float > PropagateToMuon::endcapRadii_
private

Definition at line 65 of file PropagateToMuon.h.

bool PropagateToMuon::fallbackToME1_
private

Fallback to ME1 if propagation to ME2 fails.

Definition at line 64 of file PropagateToMuon.h.

edm::ESHandle< MagneticField > PropagateToMuon::magfield_
private

Definition at line 58 of file PropagateToMuon.h.

edm::ESHandle< MuonDetLayerGeometry > PropagateToMuon::muonGeometry_
private

Definition at line 60 of file PropagateToMuon.h.

edm::ESHandle< Propagator > PropagateToMuon::propagator_
private

Definition at line 59 of file PropagateToMuon.h.

edm::ESHandle< Propagator > PropagateToMuon::propagatorAny_
private

Definition at line 59 of file PropagateToMuon.h.

edm::ESHandle< Propagator > PropagateToMuon::propagatorOpposite_
private

Definition at line 59 of file PropagateToMuon.h.

bool PropagateToMuon::useMB2_
private

Propagate to MB2 (default) instead of MB1.

Definition at line 61 of file PropagateToMuon.h.

bool PropagateToMuon::useMB2InOverlap_
private

Definition at line 73 of file PropagateToMuon.h.

bool PropagateToMuon::useSimpleGeometry_
private

Labels for input collections.

Use simplified geometry (cylinders and disks, not individual chambers)

Definition at line 50 of file PropagateToMuon.h.

WhichState PropagateToMuon::whichState_
private

Definition at line 52 of file PropagateToMuon.h.

WhichTrack PropagateToMuon::whichTrack_
private

Labels for input collections.

Definition at line 51 of file PropagateToMuon.h.