8 : useSimpleGeometry_(iConfig.getParameter<bool>(
"useSimpleGeometry")),
9 useMB2_(iConfig.getParameter<bool>(
"useStation2")),
10 fallbackToME1_(iConfig.getParameter<bool>(
"fallbackToME1")),
13 cosmicPropagation_(iConfig.getParameter<bool>(
"cosmicPropagationHypothesis")),
14 useMB2InOverlap_(iConfig.getParameter<bool>(
"useMB2InOverlap")),
18 propagatorOppositeToken_(iC.
esConsumes(iConfig.getParameter<edm::
ESInputTag>(
"propagatorOpposite"))),
21 if (whichTrack ==
"none") {
23 }
else if (whichTrack ==
"tracker") {
25 }
else if (whichTrack ==
"muon") {
27 }
else if (whichTrack ==
"global") {
30 throw cms::Exception(
"Configuration") <<
"Parameter 'useTrack' must be 'none', 'tracker', 'muon', 'global'\n";
33 if (whichState ==
"atVertex") {
35 }
else if (whichState ==
"innermost") {
37 }
else if (whichState ==
"outermost") {
40 throw cms::Exception(
"Configuration") <<
"Parameter 'useState' must be 'atVertex', 'innermost', "
44 throw cms::Exception(
"Configuration") <<
"When using 'cosmicPropagationHypothesis' useTrack must not be "
45 "'none', and the state must not be 'atVertex'\n";
const edm::ESGetToken< Propagator, TrackingComponentsRecord > propagatorOppositeToken_
PropagateToMuon init(const edm::EventSetup &iSetup) const
const edm::ESGetToken< MagneticField, IdealMagneticFieldRecord > magfieldToken_
const bool cosmicPropagation_
for cosmics, some things change: the along-opposite is not in-out, nor the innermost/outermost states...
Propagate an object (usually a track) to the second muon station. Support for other muon stations wil...
const bool useMB2_
Propagate to MB2 (default) instead of MB1.
const edm::ESGetToken< Propagator, TrackingComponentsRecord > propagatorToken_
WhichTrack whichTrack_
Labels for input collections.
const bool useSimpleGeometry_
Use simplified geometry (cylinders and disks, not individual chambers)
PropagateToMuonSetup(const edm::ParameterSet &iConfig, edm::ConsumesCollector)
T getParameter(std::string const &) const
const edm::ESGetToken< Propagator, TrackingComponentsRecord > propagatorAnyToken_
const bool fallbackToME1_
Fallback to ME1 if propagation to ME2 fails.
const edm::ESGetToken< MuonDetLayerGeometry, MuonRecoGeometryRecord > muonGeometryToken_
const bool useMB2InOverlap_
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const