CMS 3D CMS Logo

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

Propagate an object (usually a track) to the second (default) or first muon station. More...

#include "HLTriggerOffline/Muon/interface/PropagateToMuonSetup.h"

Public Member Functions

PropagateToMuon init (const edm::EventSetup &iSetup) const
 
 PropagateToMuonSetup (const edm::ParameterSet &iConfig, edm::ConsumesCollector)
 
 ~PropagateToMuonSetup ()
 

Static Public Member Functions

static void fillPSetDescription (edm::ParameterSetDescription &desc)
 

Private Attributes

const 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 bool fallbackToME1_
 Fallback to ME1 if propagation to ME2 fails. More...
 
const edm::ESGetToken
< MagneticField,
IdealMagneticFieldRecord
magfieldToken_
 
const edm::ESGetToken
< MuonDetLayerGeometry,
MuonRecoGeometryRecord
muonGeometryToken_
 
const edm::ESGetToken
< Propagator,
TrackingComponentsRecord
propagatorAnyToken_
 
const edm::ESGetToken
< Propagator,
TrackingComponentsRecord
propagatorOppositeToken_
 
const edm::ESGetToken
< Propagator,
TrackingComponentsRecord
propagatorToken_
 
const bool useMB2_
 Propagate to MB2 (default) instead of MB1. More...
 
const bool useMB2InOverlap_
 
const bool useSimpleGeometry_
 Use simplified geometry (cylinders and disks, not individual chambers) More...
 
WhichState whichState_
 
WhichTrack whichTrack_
 Labels for input collections. More...
 

Detailed Description

Propagate an object (usually a track) to the second (default) or first muon station.

Definition at line 25 of file PropagateToMuonSetup.h.

Constructor & Destructor Documentation

PropagateToMuonSetup::PropagateToMuonSetup ( const edm::ParameterSet iConfig,
edm::ConsumesCollector  iC 
)
explicit

Definition at line 7 of file PropagateToMuonSetup.cc.

References AtVertex, cosmicPropagation_, Exception, edm::ParameterSet::getParameter(), GlobalTk, Innermost, MuonTk, None, Outermost, AlCaHLTBitMon_QueryRunRegistry::string, TrackerTk, whichState_, and whichTrack_.

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")),
16  propagatorToken_(iC.esConsumes(iConfig.getParameter<edm::ESInputTag>("propagatorAlong"))),
17  propagatorAnyToken_(iC.esConsumes(iConfig.getParameter<edm::ESInputTag>("propagatorAny"))),
18  propagatorOppositeToken_(iC.esConsumes(iConfig.getParameter<edm::ESInputTag>("propagatorOpposite"))),
20  std::string whichTrack = iConfig.getParameter<std::string>("useTrack");
21  if (whichTrack == "none") {
22  whichTrack_ = None;
23  } else if (whichTrack == "tracker") {
25  } else if (whichTrack == "muon") {
27  } else if (whichTrack == "global") {
29  } else
30  throw cms::Exception("Configuration") << "Parameter 'useTrack' must be 'none', 'tracker', 'muon', 'global'\n";
31  if (whichTrack_ != None) {
32  std::string whichState = iConfig.getParameter<std::string>("useState");
33  if (whichState == "atVertex") {
35  } else if (whichState == "innermost") {
37  } else if (whichState == "outermost") {
39  } else
40  throw cms::Exception("Configuration") << "Parameter 'useState' must be 'atVertex', 'innermost', "
41  "'outermost'\n";
42  }
44  throw cms::Exception("Configuration") << "When using 'cosmicPropagationHypothesis' useTrack must not be "
45  "'none', and the state must not be 'atVertex'\n";
46  }
47 }
const edm::ESGetToken< Propagator, TrackingComponentsRecord > propagatorOppositeToken_
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...
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)
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
const edm::ESGetToken< Propagator, TrackingComponentsRecord > propagatorAnyToken_
const bool fallbackToME1_
Fallback to ME1 if propagation to ME2 fails.
const edm::ESGetToken< MuonDetLayerGeometry, MuonRecoGeometryRecord > muonGeometryToken_
PropagateToMuonSetup::~PropagateToMuonSetup ( )
inline

Definition at line 28 of file PropagateToMuonSetup.h.

28 {};

Member Function Documentation

static void PropagateToMuonSetup::fillPSetDescription ( edm::ParameterSetDescription desc)
inlinestatic

Definition at line 33 of file PropagateToMuonSetup.h.

References edm::ParameterSetDescription::add(), and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by HLTMuonTrkFilter::fillDescriptions(), HLTMuonTrkL1TFilter::fillDescriptions(), HLTMuonL3PreFilter::fillDescriptions(), and HLTMuonDimuonL3Filter::fillDescriptions().

33  {
34  desc.add<bool>("useSimpleGeometry", true);
35  desc.add<bool>("useStation2", true);
36  desc.add<bool>("fallbackToME1", false);
37  desc.add<bool>("cosmicPropagationHypothesis", false);
38  desc.add<bool>("useMB2InOverlap", false);
39  desc.add<std::string>("useTrack", "tracker");
40  desc.add<std::string>("useState", "atVertex");
41  desc.add<edm::ESInputTag>("propagatorAlong", edm::ESInputTag("", "hltESPSteppingHelixPropagatorAlong"));
42  desc.add<edm::ESInputTag>("propagatorAny", edm::ESInputTag("", "SteppingHelixPropagatorAny"));
43  desc.add<edm::ESInputTag>("propagatorOpposite", edm::ESInputTag("", "hltESPSteppingHelixPropagatorOpposite"));
44  }
ParameterDescriptionBase * add(U const &iLabel, T const &value)
PropagateToMuon PropagateToMuonSetup::init ( const edm::EventSetup iSetup) const

Call this method at the beginning of each run, to initialize geometry, magnetic field and propagators

Definition at line 49 of file PropagateToMuonSetup.cc.

References cosmicPropagation_, fallbackToME1_, edm::EventSetup::getHandle(), volumeBasedMagneticField_160812_cfi::magfield, magfieldToken_, muonGeometryToken_, HLT_FULL_cff::propagator, HLT_FULL_cff::propagatorAny, propagatorAnyToken_, HLT_FULL_cff::propagatorOpposite, propagatorOppositeToken_, propagatorToken_, useMB2_, useMB2InOverlap_, useSimpleGeometry_, whichState_, and whichTrack_.

Referenced by L1TMuonDQMOffline::analyze(), HLTMuonTrkFilter::hltFilter(), HLTMuonTrkL1TFilter::hltFilter(), HLTMuonL3PreFilter::hltFilter(), HLTMuonDimuonL3Filter::hltFilter(), L1MuonMatcherAlgo::init(), and TriggerMatcherToHLTDebug::produce().

49  {
50  auto const magfield = iSetup.getHandle(magfieldToken_);
51  auto const propagator = iSetup.getHandle(propagatorToken_);
53  auto const propagatorAny = iSetup.getHandle(propagatorAnyToken_);
54  auto const muonGeometry = iSetup.getHandle(muonGeometryToken_);
55 
57  propagator,
60  muonGeometry,
62  useMB2_,
68 }
tuple propagator
const edm::ESGetToken< Propagator, TrackingComponentsRecord > propagatorOppositeToken_
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)
const edm::ESGetToken< Propagator, TrackingComponentsRecord > propagatorAnyToken_
tuple propagatorOpposite
Definition: HLT_FULL_cff.py:96
const bool fallbackToME1_
Fallback to ME1 if propagation to ME2 fails.
const edm::ESGetToken< MuonDetLayerGeometry, MuonRecoGeometryRecord > muonGeometryToken_
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const
Definition: EventSetup.h:151

Member Data Documentation

const bool PropagateToMuonSetup::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 61 of file PropagateToMuonSetup.h.

Referenced by init(), and PropagateToMuonSetup().

const bool PropagateToMuonSetup::fallbackToME1_
private

Fallback to ME1 if propagation to ME2 fails.

Definition at line 54 of file PropagateToMuonSetup.h.

Referenced by init().

const edm::ESGetToken<MagneticField, IdealMagneticFieldRecord> PropagateToMuonSetup::magfieldToken_
private

Definition at line 65 of file PropagateToMuonSetup.h.

Referenced by init().

const edm::ESGetToken<MuonDetLayerGeometry, MuonRecoGeometryRecord> PropagateToMuonSetup::muonGeometryToken_
private

Definition at line 68 of file PropagateToMuonSetup.h.

Referenced by init().

const edm::ESGetToken<Propagator, TrackingComponentsRecord> PropagateToMuonSetup::propagatorAnyToken_
private

Definition at line 66 of file PropagateToMuonSetup.h.

Referenced by init().

const edm::ESGetToken<Propagator, TrackingComponentsRecord> PropagateToMuonSetup::propagatorOppositeToken_
private

Definition at line 66 of file PropagateToMuonSetup.h.

Referenced by init().

const edm::ESGetToken<Propagator, TrackingComponentsRecord> PropagateToMuonSetup::propagatorToken_
private

Definition at line 66 of file PropagateToMuonSetup.h.

Referenced by init().

const bool PropagateToMuonSetup::useMB2_
private

Propagate to MB2 (default) instead of MB1.

Definition at line 51 of file PropagateToMuonSetup.h.

Referenced by init().

const bool PropagateToMuonSetup::useMB2InOverlap_
private

Definition at line 63 of file PropagateToMuonSetup.h.

Referenced by init().

const bool PropagateToMuonSetup::useSimpleGeometry_
private

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

Definition at line 48 of file PropagateToMuonSetup.h.

Referenced by init().

WhichState PropagateToMuonSetup::whichState_
private

Definition at line 58 of file PropagateToMuonSetup.h.

Referenced by init(), and PropagateToMuonSetup().

WhichTrack PropagateToMuonSetup::whichTrack_
private

Labels for input collections.

Definition at line 57 of file PropagateToMuonSetup.h.

Referenced by init(), and PropagateToMuonSetup().