CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
DTChamberEfficiency Class Reference

#include <DTChamberEfficiency.h>

Inheritance diagram for DTChamberEfficiency:
DQMEDAnalyzer edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >

Public Member Functions

void analyze (const edm::Event &event, const edm::EventSetup &eventSetup) override
 
void dqmBeginRun (const edm::Run &, const edm::EventSetup &) override
 
 DTChamberEfficiency (const edm::ParameterSet &pset)
 
 ~DTChamberEfficiency () override
 
- Public Member Functions inherited from DQMEDAnalyzer
void accumulate (edm::Event const &event, edm::EventSetup const &setup) final
 
void beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void beginRun (edm::Run const &run, edm::EventSetup const &setup) final
 
void beginStream (edm::StreamID id) final
 
 DQMEDAnalyzer ()
 
void endLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void endRun (edm::Run const &run, edm::EventSetup const &setup) final
 
virtual bool getCanSaveByLumi ()
 
- Public Member Functions inherited from edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >
 EDProducer ()=default
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 

Protected Member Functions

void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
- Protected Member Functions inherited from DQMEDAnalyzer
uint64_t meId () const
 

Private Member Functions

bool chamberSelection (const DetId &idDetLay, reco::TransientTrack &trans_track) const
 
std::vector< const DetLayer * > compatibleLayers (const NavigationSchool &navigationSchool, const DetLayer *initialLayer, const FreeTrajectoryState &fts, PropagationDirection propDir)
 
edm::ESHandle< Propagatorpropagator () const
 
MeasurementContainer segQualityCut (const MeasurementContainer &seg_list) const
 

Private Attributes

bool debug
 
std::vector< std::vector< MonitorElement * > > histosPerW
 
edm::InputTag labelRPCRecHits
 
edm::InputTag thecscSegments
 
edm::InputTag thedt4DSegments
 
Chi2MeasurementEstimatortheEstimator
 
double theMaxChi2
 
MuonDetLayerMeasurementstheMeasurementExtractor
 
int theMinNrec
 
std::string theNavigationType
 
double theNSigma
 
MuonServiceProxytheService
 
edm::InputTag theTracksLabel_
 
edm::EDGetTokenT< reco::TrackCollectiontheTracksToken_
 

Additional Inherited Members

- Public Types inherited from DQMEDAnalyzer
typedef dqm::reco::DQMStore DQMStore
 
typedef dqm::reco::MonitorElement MonitorElement
 
- Public Types inherited from edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >
typedef CacheContexts< T... > CacheTypes
 
typedef CacheTypes::GlobalCache GlobalCache
 
typedef AbilityChecker< T... > HasAbility
 
typedef CacheTypes::LuminosityBlockCache LuminosityBlockCache
 
typedef LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCacheLuminosityBlockContext
 
typedef CacheTypes::LuminosityBlockSummaryCache LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache, GlobalCacheRunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 
- Static Public Member Functions inherited from DQMEDAnalyzer
static void globalEndJob (DQMEDAnalyzerGlobalCache const *)
 
static void globalEndLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &setup, LuminosityBlockContext const *context)
 
static void globalEndRunProduce (edm::Run &run, edm::EventSetup const &setup, RunContext const *context)
 
static std::unique_ptr< DQMEDAnalyzerGlobalCacheinitializeGlobalCache (edm::ParameterSet const &)
 
- Protected Attributes inherited from DQMEDAnalyzer
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 
unsigned int streamId_
 

Detailed Description

Description:

This class provides the histograms for the calculation of the efficiency of muons reconstruction in the DTs. It is applicable both in presence or absence of a magnetic field. Histos are 2D Sector vs Chamber plots for each wheel

Author
: Mario Pelliccioni - INFN Torino pelli.nosp@m.cci@.nosp@m.cern..nosp@m.ch $date : 05/12/2008 16:51:04 CET $

Modification:

Definition at line 49 of file DTChamberEfficiency.h.

Constructor & Destructor Documentation

◆ DTChamberEfficiency()

DTChamberEfficiency::DTChamberEfficiency ( const edm::ParameterSet pset)

Definition at line 49 of file DTChamberEfficiency.cc.

49  {
50  // Get the debug parameter for verbose output
51  debug = pSet.getUntrackedParameter<bool>("debug", false);
52 
53  LogVerbatim("DTDQM|DTMonitorModule|DTChamberEfficiency") << "DTChamberEfficiency: constructor called";
54 
55  // service parameters
56  ParameterSet serviceParameters = pSet.getParameter<ParameterSet>("ServiceParameters");
57  theService = new MuonServiceProxy(serviceParameters, consumesCollector());
58 
59  theTracksLabel_ = pSet.getParameter<InputTag>("TrackCollection");
60  theTracksToken_ = consumes<reco::TrackCollection>(theTracksLabel_);
61 
62  theMaxChi2 = static_cast<unsigned int>(pSet.getParameter<double>("theMaxChi2"));
63  theNSigma = pSet.getParameter<double>("theNSigma");
64  theMinNrec = static_cast<int>(pSet.getParameter<double>("theMinNrec"));
65 
66  labelRPCRecHits = pSet.getParameter<InputTag>("theRPCRecHits");
67 
68  thedt4DSegments = pSet.getParameter<InputTag>("dt4DSegments");
69  thecscSegments = pSet.getParameter<InputTag>("cscSegments");
70 
71  edm::ConsumesCollector iC = consumesCollector();
72 
74  thedt4DSegments, thecscSegments, labelRPCRecHits, InputTag(), InputTag(), iC, true, false, false, false);
75 
76  theNavigationType = pSet.getParameter<string>("NavigationType");
77 
79 }

References Chi2MeasurementEstimator_cfi::Chi2MeasurementEstimator, debug, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), HLT_FULL_cff::InputTag, MuonServiceProxy_cff::MuonServiceProxy, dtChamberEfficiency_cfi::theMaxChi2, dtChamberEfficiency_cfi::theMinNrec, and createJobs::theNSigma.

◆ ~DTChamberEfficiency()

DTChamberEfficiency::~DTChamberEfficiency ( )
override

Definition at line 81 of file DTChamberEfficiency.cc.

81  {
82  LogTrace("DTDQM|DTMonitorModule|DTChamberEfficiency") << "DTChamberEfficiency: destructor called";
83 
84  // free memory
85  delete theService;
87  delete theEstimator;
88 }

References LogTrace.

Member Function Documentation

◆ analyze()

void DTChamberEfficiency::analyze ( const edm::Event event,
const edm::EventSetup eventSetup 
)
overridevirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 119 of file DTChamberEfficiency.cc.

119  {
120  LogTrace("DTDQM|DTMonitorModule|DTChamberEfficiency")
121  << "--- [DTChamberEfficiency] Event analysed #Run: " << event.id().run() << " #Event: " << event.id().event()
122  << endl;
123 
124  theService->update(eventSetup);
126 
127  //Read tracks from event
129  event.getByToken(theTracksToken_, tracks);
130 
131  if (tracks.isValid()) { // check the validity of the collection
132 
133  const edm::ESHandle<GlobalTrackingGeometry>& globalTrackingGeometry = theService->trackingGeometry();
134  const MagneticField* magneticField = theService->magneticField().product();
135 
136  //loop over the muons
137  for (reco::TrackCollection::const_iterator track = tracks->begin(); track != tracks->end(); ++track) {
138  reco::TransientTrack trans_track(*track, magneticField, globalTrackingGeometry);
139  const int recHitsize = (int)trans_track.recHitsSize();
140  if (recHitsize < theMinNrec)
141  continue;
142 
143  // printout the DT rechits used by the track
144  if (debug) {
145  LogTrace("DTDQM|DTMonitorModule|DTChamberEfficiency") << "--- New track" << endl;
146  set<DTChamberId> chAlrUsed;
147  for (trackingRecHit_iterator rHit = trans_track.recHitsBegin(); rHit != trans_track.recHitsEnd(); ++rHit) {
148  DetId rHitid = (*rHit)->geographicalId();
149  if (!(rHitid.det() == DetId::Muon && rHitid.subdetId() == MuonSubdetId::DT))
150  continue;
151  DTChamberId wId(rHitid.rawId());
152  if (chAlrUsed.find(wId) != chAlrUsed.end())
153  continue;
154  chAlrUsed.insert(wId);
155  LogTrace("DTDQM|DTMonitorModule|DTChamberEfficiency") << " " << wId << endl;
156  }
157  }
158 
159  // Get the layer on which the seed relies
160  DetId id = trans_track.track().innerDetId();
161  const DetLayer* initialLayer = theService->detLayerGeometry()->idToLayer(id);
162 
163  TrajectoryStateOnSurface init_fs = trans_track.innermostMeasurementState();
164  const FreeTrajectoryState* init_fs_free = init_fs.freeState();
165 
166  //get the list of compatible layers
167  vector<const DetLayer*> layer_list =
168  compatibleLayers(*theService->muonNavigationSchool(), initialLayer, *init_fs_free, alongMomentum);
169  vector<const DetLayer*> layer_list_2 =
170  compatibleLayers(*theService->muonNavigationSchool(), initialLayer, *init_fs_free, oppositeToMomentum);
171 
172  layer_list.insert(layer_list.end(), layer_list_2.begin(), layer_list_2.end());
173 
174  set<DTChamberId> alreadyCheckedCh;
175 
176  //loop over the list of compatible layers
177  for (int i = 0; i < (int)layer_list.size(); i++) {
178  //propagate the track to the i-th layer
179  TrajectoryStateOnSurface tsos = propagator()->propagate(init_fs, layer_list.at(i)->surface());
180  if (!tsos.isValid())
181  continue;
182 
183  //determine the chambers kinematically compatible with the track on the i-th layer
184  vector<DetWithState> dss = layer_list.at(i)->compatibleDets(tsos, *propagator(), *theEstimator);
185 
186  if (dss.empty())
187  continue;
188 
189  // get the first det (it's the most compatible)
190  const DetWithState detWithState = dss.front();
191  const DetId idDetLay = detWithState.first->geographicalId();
192 
193  // check if this is a DT and the track has the needed quality
194  if (!chamberSelection(idDetLay, trans_track))
195  continue;
196 
197  DTChamberId DTid = (DTChamberId)idDetLay;
198 
199  // check if the chamber has already been counted
200  if (alreadyCheckedCh.find(DTid) != alreadyCheckedCh.end())
201  continue;
202  alreadyCheckedCh.insert(DTid);
203 
204  // get the compatible measurements
205  MeasurementContainer detMeasurements_initial = theMeasurementExtractor->measurements(
206  layer_list.at(i), detWithState.first, detWithState.second, *theEstimator, event);
207  LogTrace("DTDQM|DTMonitorModule|DTChamberEfficiency")
208  << " chamber: " << DTid << " has: " << detMeasurements_initial.size() << " comp. meas." << endl;
209 
210  //we want to be more picky about the quality of the segments:
211  //exclude the segments with less than 12 hits
212  MeasurementContainer detMeasurements = segQualityCut(detMeasurements_initial);
213 
214  // get the histos for this chamber
215  vector<MonitorElement*> histos = histosPerW[DTid.wheel() + 2];
216  // fill them
217  if (!detMeasurements_initial.empty())
218  histos[0]->Fill(DTid.sector(), DTid.station(), 1.);
219  if (!detMeasurements.empty())
220  histos[1]->Fill(DTid.sector(), DTid.station(), 1.);
221  histos[2]->Fill(DTid.sector(), DTid.station(), 1.);
222  }
223  }
224  } else {
225  LogInfo("DTDQM|DTMonitorModule|DTChamberEfficiency")
226  << "[DTChamberEfficiency] Collection: " << theTracksLabel_ << " is not valid!" << endl;
227  }
228  return;
229 }

References alongMomentum, debug, DetId::det(), MuonSubdetId::DT, edmPickEvents::event, HcalObjRepresent::Fill(), TrajectoryStateOnSurface::freeState(), combine::histos, mps_fire::i, reco::Track::innerDetId(), reco::TransientTrack::innermostMeasurementState(), createfilelist::int, TrajectoryStateOnSurface::isValid(), LogTrace, HLT_FULL_cff::magneticField, DetId::Muon, oppositeToMomentum, TrackCandidateProducer_cfi::propagator, DetId::rawId(), reco::TransientTrack::recHitsBegin(), reco::TransientTrack::recHitsEnd(), reco::TransientTrack::recHitsSize(), DTChamberId::sector(), DTChamberId::station(), DetId::subdetId(), TrajectoryStateOnSurface::surface(), dtChamberEfficiency_cfi::theMinNrec, reco::TransientTrack::track(), HLT_FULL_cff::track, PDWG_EXOHSCP_cff::tracks, and DTChamberId::wheel().

◆ bookHistograms()

void DTChamberEfficiency::bookHistograms ( DQMStore::IBooker ibooker,
edm::Run const &  iRun,
edm::EventSetup const &   
)
overrideprotectedvirtual

Implements DQMEDAnalyzer.

Definition at line 92 of file DTChamberEfficiency.cc.

92  {
93  LogTrace("DTDQM|DTMonitorModule|DTChamberEfficiency") << "DTChamberEfficiency: booking histos";
94 
95  // Create the monitor elements
96  ibooker.setCurrentFolder("DT/05-ChamberEff/Task");
97 
98  for (int wheel = -2; wheel <= 2; wheel++) {
99  vector<MonitorElement*> histos;
100 
101  stringstream wheel_str;
102  wheel_str << wheel;
103 
104  histos.push_back(ibooker.book2D(
105  "hCountSectVsChamb_All_W" + wheel_str.str(), "Countings for wheel " + wheel_str.str(), 14, 1., 15., 4, 1., 5.));
106 
107  histos.push_back(ibooker.book2D(
108  "hCountSectVsChamb_Qual_W" + wheel_str.str(), "Countings for wheel " + wheel_str.str(), 14, 1., 15., 4, 1., 5.));
109 
110  histos.push_back(ibooker.book2D(
111  "hExtrapSectVsChamb_W" + wheel_str.str(), "Extrapolations for wheel " + wheel_str.str(), 14, 1., 15., 4, 1., 5.));
112 
113  histosPerW.push_back(histos);
114  }
115 
116  return;
117 }

References dqm::implementation::IBooker::book2D(), combine::histos, LogTrace, dqm::implementation::NavigatorBase::setCurrentFolder(), and makeMuonMisalignmentScenario::wheel.

◆ chamberSelection()

bool DTChamberEfficiency::chamberSelection ( const DetId idDetLay,
reco::TransientTrack trans_track 
) const
private

Definition at line 231 of file DTChamberEfficiency.cc.

231  {
232  //check that we have a muon and that is a DT detector
233  if (!(idDetLay.det() == DetId::Muon && idDetLay.subdetId() == MuonSubdetId::DT))
234  return false;
235 
236  if (trans_track.recHitsSize() == 2)
237  if (trans_track.recHit(0)->geographicalId() == idDetLay || trans_track.recHit(1)->geographicalId() == idDetLay)
238  return false;
239 
240  return true;
241 }

References DetId::det(), MuonSubdetId::DT, DetId::Muon, reco::TransientTrack::recHit(), reco::TransientTrack::recHitsSize(), and DetId::subdetId().

◆ compatibleLayers()

vector< const DetLayer * > DTChamberEfficiency::compatibleLayers ( const NavigationSchool navigationSchool,
const DetLayer initialLayer,
const FreeTrajectoryState fts,
PropagationDirection  propDir 
)
private

Definition at line 270 of file DTChamberEfficiency.cc.

273  {
274  vector<const DetLayer*> detLayers;
275 
276  if (theNavigationType == "Standard") {
277  // ask for compatible layers
278  detLayers = navigationSchool.compatibleLayers(*initialLayer, fts, propDir);
279  // I have to fit by hand the first layer until the seedTSOS is defined on the first rechit layer
280  // In fact the first layer is not returned by initialLayer->compatibleLayers.
281 
282  detLayers.insert(detLayers.begin(), initialLayer);
283 
284  } else if (theNavigationType == "Direct") {
285  DirectMuonNavigation navigation(ESHandle<MuonDetLayerGeometry>(&*theService->detLayerGeometry()));
286  detLayers = navigation.compatibleLayers(fts, propDir);
287  } else
288  LogError("DTDQM|DTMonitorModule|DTChamberEfficiency") << "No Properly Navigation Selected!!" << endl;
289 
290  return detLayers;
291 }

References DirectMuonNavigation::compatibleLayers(), and NavigationSchool::compatibleLayers().

◆ dqmBeginRun()

void DTChamberEfficiency::dqmBeginRun ( const edm::Run ,
const edm::EventSetup  
)
overridevirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 90 of file DTChamberEfficiency.cc.

90 {}

◆ propagator()

ESHandle< Propagator > DTChamberEfficiency::propagator ( ) const
inlineprivate

Definition at line 293 of file DTChamberEfficiency.cc.

293  {
294  return theService->propagator("SteppingHelixPropagatorAny");
295 }

◆ segQualityCut()

MeasurementContainer DTChamberEfficiency::segQualityCut ( const MeasurementContainer seg_list) const
private

Definition at line 243 of file DTChamberEfficiency.cc.

243  {
245 
246  for (MeasurementContainer::const_iterator mescont_Itr = seg_list.begin(); mescont_Itr != seg_list.end();
247  ++mescont_Itr) {
248  //get the rechits of the segment
249  TransientTrackingRecHit::ConstRecHitContainer recHit_list = mescont_Itr->recHit()->transientHits();
250 
251  //loop over the rechits and get the number of hits
252  int nhit_seg(0);
253  for (TransientTrackingRecHit::ConstRecHitContainer::const_iterator recList_Itr = recHit_list.begin();
254  recList_Itr != recHit_list.end();
255  ++recList_Itr) {
256  nhit_seg += (int)(*recList_Itr)->transientHits().size();
257  }
258 
259  DTChamberId tmpId = (DTChamberId)mescont_Itr->recHit()->hit()->geographicalId();
260 
261  if (tmpId.station() < 4 && nhit_seg >= 12)
262  result.push_back(*mescont_Itr);
263  if (tmpId.station() == 4 && nhit_seg >= 8)
264  result.push_back(*mescont_Itr);
265  }
266 
267  return result;
268 }

References createfilelist::int, mps_fire::result, and DTChamberId::station().

Member Data Documentation

◆ debug

bool DTChamberEfficiency::debug
private

◆ histosPerW

std::vector<std::vector<MonitorElement*> > DTChamberEfficiency::histosPerW
private

Definition at line 96 of file DTChamberEfficiency.h.

◆ labelRPCRecHits

edm::InputTag DTChamberEfficiency::labelRPCRecHits
private

Definition at line 82 of file DTChamberEfficiency.h.

◆ thecscSegments

edm::InputTag DTChamberEfficiency::thecscSegments
private

Definition at line 84 of file DTChamberEfficiency.h.

◆ thedt4DSegments

edm::InputTag DTChamberEfficiency::thedt4DSegments
private

Definition at line 83 of file DTChamberEfficiency.h.

◆ theEstimator

Chi2MeasurementEstimator* DTChamberEfficiency::theEstimator
private

Definition at line 94 of file DTChamberEfficiency.h.

◆ theMaxChi2

double DTChamberEfficiency::theMaxChi2
private

Definition at line 86 of file DTChamberEfficiency.h.

◆ theMeasurementExtractor

MuonDetLayerMeasurements* DTChamberEfficiency::theMeasurementExtractor
private

Definition at line 93 of file DTChamberEfficiency.h.

◆ theMinNrec

int DTChamberEfficiency::theMinNrec
private

Definition at line 88 of file DTChamberEfficiency.h.

◆ theNavigationType

std::string DTChamberEfficiency::theNavigationType
private

Definition at line 90 of file DTChamberEfficiency.h.

◆ theNSigma

double DTChamberEfficiency::theNSigma
private

Definition at line 87 of file DTChamberEfficiency.h.

◆ theService

MuonServiceProxy* DTChamberEfficiency::theService
private

Definition at line 92 of file DTChamberEfficiency.h.

◆ theTracksLabel_

edm::InputTag DTChamberEfficiency::theTracksLabel_
private

Definition at line 79 of file DTChamberEfficiency.h.

◆ theTracksToken_

edm::EDGetTokenT<reco::TrackCollection> DTChamberEfficiency::theTracksToken_
private

Definition at line 80 of file DTChamberEfficiency.h.

PDWG_EXOHSCP_cff.tracks
tracks
Definition: PDWG_EXOHSCP_cff.py:28
mps_fire.i
i
Definition: mps_fire.py:428
DTChamberEfficiency::chamberSelection
bool chamberSelection(const DetId &idDetLay, reco::TransientTrack &trans_track) const
Definition: DTChamberEfficiency.cc:231
HLT_FULL_cff.track
track
Definition: HLT_FULL_cff.py:11776
DetLayer
Definition: DetLayer.h:21
MuonDetLayerMeasurements
Definition: MuonDetLayerMeasurements.h:41
DTChamberEfficiency::theEstimator
Chi2MeasurementEstimator * theEstimator
Definition: DTChamberEfficiency.h:94
DetId::det
constexpr Detector det() const
get the detector field from this detid
Definition: DetId.h:46
DTChamberEfficiency::theNSigma
double theNSigma
Definition: DTChamberEfficiency.h:87
HLT_FULL_cff.InputTag
InputTag
Definition: HLT_FULL_cff.py:85964
DTChamberEfficiency::theMinNrec
int theMinNrec
Definition: DTChamberEfficiency.h:88
dqm::implementation::NavigatorBase::setCurrentFolder
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:32
oppositeToMomentum
Definition: PropagationDirection.h:4
edm::LogInfo
Log< level::Info, false > LogInfo
Definition: MessageLogger.h:125
HLT_FULL_cff.magneticField
magneticField
Definition: HLT_FULL_cff.py:348
edm::Handle< reco::TrackCollection >
DTChamberEfficiency::thedt4DSegments
edm::InputTag thedt4DSegments
Definition: DTChamberEfficiency.h:83
MuonServiceProxy_cff.MuonServiceProxy
MuonServiceProxy
Definition: MuonServiceProxy_cff.py:14
DirectMuonNavigation
Definition: DirectMuonNavigation.h:20
MeasurementContainer
std::vector< TrajectoryMeasurement > MeasurementContainer
Definition: RPCRecHitFilter.h:55
DetId
Definition: DetId.h:17
TrajectoryStateOnSurface
Definition: TrajectoryStateOnSurface.h:16
MuonDetLayerMeasurements::setEvent
void setEvent(const edm::Event &)
set event
Definition: MuonDetLayerMeasurements.cc:410
TrajectoryStateOnSurface::freeState
FreeTrajectoryState const * freeState(bool withErrors=true) const
Definition: TrajectoryStateOnSurface.h:58
Chi2MeasurementEstimator_cfi.Chi2MeasurementEstimator
Chi2MeasurementEstimator
Definition: Chi2MeasurementEstimator_cfi.py:5
edm::ESHandle< GlobalTrackingGeometry >
MuonSubdetId::DT
static constexpr int DT
Definition: MuonSubdetId.h:11
reco::TransientTrack::recHitsSize
size_t recHitsSize() const
number of RecHits
Definition: TransientTrack.h:132
edm::OwnVector::const_iterator
Definition: OwnVector.h:41
DetId::subdetId
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum)
Definition: DetId.h:48
DTChamberEfficiency::theMeasurementExtractor
MuonDetLayerMeasurements * theMeasurementExtractor
Definition: DTChamberEfficiency.h:93
edm::ParameterSet
Definition: ParameterSet.h:47
TrackingRecHit::ConstRecHitContainer
std::vector< ConstRecHitPointer > ConstRecHitContainer
Definition: TrackingRecHit.h:32
DTChamberEfficiency::debug
bool debug
Definition: DTChamberEfficiency.h:77
reco::TransientTrack::recHit
TrackingRecHitRef recHit(size_t i) const
get n-th recHit
Definition: TransientTrack.h:130
edmPickEvents.event
event
Definition: edmPickEvents.py:273
makeMuonMisalignmentScenario.wheel
wheel
Definition: makeMuonMisalignmentScenario.py:319
createfilelist.int
int
Definition: createfilelist.py:10
DTChamberEfficiency::theService
MuonServiceProxy * theService
Definition: DTChamberEfficiency.h:92
DTChamberEfficiency::propagator
edm::ESHandle< Propagator > propagator() const
Definition: DTChamberEfficiency.cc:293
Propagator::propagate
TrajectoryStateOnSurface propagate(STA const &state, SUR const &surface) const
Definition: Propagator.h:50
DetWithState
std::pair< const GeomDet *, TrajectoryStateOnSurface > DetWithState
Definition: RPCRecHitFilter.h:58
edm::LogError
Log< level::Error, false > LogError
Definition: MessageLogger.h:123
DTChamberEfficiency::theNavigationType
std::string theNavigationType
Definition: DTChamberEfficiency.h:90
NavigationSchool::compatibleLayers
std::vector< const DetLayer * > compatibleLayers(const DetLayer &detLayer, Args &&... args) const
Returns all layers compatible.
Definition: NavigationSchool.h:41
HcalObjRepresent::Fill
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
Definition: HcalObjRepresent.h:1053
DTChamberEfficiency::labelRPCRecHits
edm::InputTag labelRPCRecHits
Definition: DTChamberEfficiency.h:82
combine.histos
histos
Definition: combine.py:4
DTChamberEfficiency::theMaxChi2
double theMaxChi2
Definition: DTChamberEfficiency.h:86
DTChamberId::sector
int sector() const
Definition: DTChamberId.h:49
DetId::rawId
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:57
reco::TransientTrack
Definition: TransientTrack.h:19
FreeTrajectoryState
Definition: FreeTrajectoryState.h:27
edm::LogVerbatim
Log< level::Info, true > LogVerbatim
Definition: MessageLogger.h:128
dqm::implementation::IBooker::book2D
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
Definition: DQMStore.h:177
DTChamberEfficiency::theTracksLabel_
edm::InputTag theTracksLabel_
Definition: DTChamberEfficiency.h:79
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
MuonDetLayerMeasurements::measurements
MeasurementContainer measurements(const DetLayer *layer, const GeomDet *det, const TrajectoryStateOnSurface &stateOnDet, const MeasurementEstimator &est, const edm::Event &iEvent)
Definition: MuonDetLayerMeasurements.cc:301
mps_fire.result
result
Definition: mps_fire.py:311
DetId::Muon
Definition: DetId.h:26
DTChamberId
Definition: DTChamberId.h:14
LogTrace
#define LogTrace(id)
Definition: MessageLogger.h:224
event
Definition: event.py:1
DTChamberEfficiency::theTracksToken_
edm::EDGetTokenT< reco::TrackCollection > theTracksToken_
Definition: DTChamberEfficiency.h:80
MagneticField
Definition: MagneticField.h:19
DTChamberEfficiency::segQualityCut
MeasurementContainer segQualityCut(const MeasurementContainer &seg_list) const
Definition: DTChamberEfficiency.cc:243
DTChamberId::wheel
int wheel() const
Return the wheel number.
Definition: DTChamberId.h:39
edm::InputTag
Definition: InputTag.h:15
edm::ConsumesCollector
Definition: ConsumesCollector.h:45
alongMomentum
Definition: PropagationDirection.h:4
DTChamberEfficiency::compatibleLayers
std::vector< const DetLayer * > compatibleLayers(const NavigationSchool &navigationSchool, const DetLayer *initialLayer, const FreeTrajectoryState &fts, PropagationDirection propDir)
Definition: DTChamberEfficiency.cc:270
TrajectoryStateOnSurface::isValid
bool isValid() const
Definition: TrajectoryStateOnSurface.h:54
DTChamberId::station
int station() const
Return the station number.
Definition: DTChamberId.h:42
DTChamberEfficiency::thecscSegments
edm::InputTag thecscSegments
Definition: DTChamberEfficiency.h:84
DTChamberEfficiency::histosPerW
std::vector< std::vector< MonitorElement * > > histosPerW
Definition: DTChamberEfficiency.h:96