CMS 3D CMS Logo

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

#include <GEMEfficiencyAnalyzer.h>

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

Public Member Functions

 GEMEfficiencyAnalyzer (const edm::ParameterSet &)
 
 ~GEMEfficiencyAnalyzer () override
 
- Public Member Functions inherited from GEMOfflineDQMBase
template<typename T >
bool checkRefs (const std::vector< T * > &)
 
template<typename AnyKey >
TString convertKeyToStr (const AnyKey &key)
 
template<typename AnyKey >
void fillME (std::map< AnyKey, MonitorElement * > &, const AnyKey &, const float)
 
template<typename AnyKey >
void fillME (std::map< AnyKey, MonitorElement * > &, const AnyKey &, const float, const float y)
 
 GEMOfflineDQMBase (const edm::ParameterSet &)
 
int getDetOccXBin (const GEMDetId &, const edm::ESHandle< GEMGeometry > &)
 
int getDetOccXBin (const int, const int, const int)
 
int getMaxVFAT (const int)
 
int getNumEtaPartitions (const GEMStation *)
 
int getVFATNumber (const int, const int, const int)
 
int getVFATNumberByStrip (const int, const int, const int)
 
void setDetLabelsEta (MonitorElement *, const GEMStation *)
 
void setDetLabelsVFAT (MonitorElement *, const GEMStation *)
 
- 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
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
 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 hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndRuns () const final
 

Protected Member Functions

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

Private Member Functions

void bookDetectorOccupancy (DQMStore::IBooker &, const GEMStation *, const MEMapKey1 &, const TString &, const TString &)
 
void bookOccupancy (DQMStore::IBooker &, const MEMapKey2 &, const TString &, const TString &)
 
void bookResolution (DQMStore::IBooker &, const MEMapKey3 &, const TString &, const TString &)
 
const GEMRecHitfindMatchedHit (const float, const GEMRecHitCollection::range &)
 

Private Attributes

double eta_low_
 
int eta_nbins_
 
double eta_up_
 
std::string folder_
 
TString matched_title_
 
MEMap1 me_detector_
 
MEMap1 me_detector_matched_
 
MEMap2 me_muon_eta_
 
MEMap2 me_muon_eta_matched_
 
MEMap2 me_muon_pt_
 
MEMap2 me_muon_pt_matched_
 
MEMap3 me_pull_x_
 
MEMap3 me_pull_y_
 
MEMap3 me_residual_phi_
 
MEMap3 me_residual_x_
 
MEMap3 me_residual_y_
 
MuonServiceProxymuon_service_
 
edm::EDGetTokenT< edm::View< reco::Muon > > muon_token_
 
std::vector< double > pt_binning_
 
edm::EDGetTokenT< GEMRecHitCollectionrechit_token_
 
float residual_x_cut_
 
TString title_
 
bool use_global_muon_
 

Additional Inherited Members

- Public Types inherited from GEMOfflineDQMBase
typedef std::map< MEMapKey1, MonitorElement * > MEMap1
 
typedef std::map< MEMapKey2, MonitorElement * > MEMap2
 
typedef std::map< MEMapKey3, MonitorElement * > MEMap3
 
typedef std::tuple< int, int > MEMapKey1
 
typedef std::tuple< int, int, bool > MEMapKey2
 
typedef std::tuple< int, int, bool, int > MEMapKey3
 
- 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 &)
 
- Public Attributes inherited from GEMOfflineDQMBase
std::string log_category_
 
- Protected Attributes inherited from DQMEDAnalyzer
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 
unsigned int streamId_
 

Detailed Description

Definition at line 13 of file GEMEfficiencyAnalyzer.h.

Constructor & Destructor Documentation

◆ GEMEfficiencyAnalyzer()

GEMEfficiencyAnalyzer::GEMEfficiencyAnalyzer ( const edm::ParameterSet pset)
explicit

Definition at line 8 of file GEMEfficiencyAnalyzer.cc.

9  rechit_token_ = consumes<GEMRecHitCollection>(pset.getParameter<edm::InputTag>("recHitTag"));
10  muon_token_ = consumes<edm::View<reco::Muon> >(pset.getParameter<edm::InputTag>("muonTag"));
11 
12  auto muon_service_parameter = pset.getParameter<edm::ParameterSet>("ServiceParameters");
13  muon_service_ = new MuonServiceProxy(muon_service_parameter, consumesCollector());
14 
15  use_global_muon_ = pset.getUntrackedParameter<bool>("useGlobalMuon");
16 
17  residual_x_cut_ = static_cast<float>(pset.getParameter<double>("residualXCut"));
18 
19  pt_binning_ = pset.getUntrackedParameter<std::vector<double> >("ptBinning");
20  eta_nbins_ = pset.getUntrackedParameter<int>("etaNbins");
21  eta_low_ = pset.getUntrackedParameter<double>("etaLow");
22  eta_up_ = pset.getUntrackedParameter<double>("etaUp");
23 
24  folder_ = pset.getUntrackedParameter<std::string>("folder");
25 
26  title_ = (use_global_muon_ ? "Global Muon" : "Standalone Muon");
27  matched_title_ = title_ + TString::Format(" (|x_{Muon} - x_{Hit}| < %.1f)", residual_x_cut_);
28 }

References eta_low_, eta_nbins_, eta_up_, folder_, matched_title_, muon_service_, muon_token_, MuonServiceProxy_cff::MuonServiceProxy, muonDTDigis_cfi::pset, pt_binning_, rechit_token_, residual_x_cut_, AlCaHLTBitMon_QueryRunRegistry::string, title_, and use_global_muon_.

◆ ~GEMEfficiencyAnalyzer()

GEMEfficiencyAnalyzer::~GEMEfficiencyAnalyzer ( )
override

Definition at line 30 of file GEMEfficiencyAnalyzer.cc.

30 {}

Member Function Documentation

◆ analyze()

void GEMEfficiencyAnalyzer::analyze ( const edm::Event event,
const edm::EventSetup eventSetup 
)
overrideprotectedvirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 146 of file GEMEfficiencyAnalyzer.cc.

146  {
147  edm::Handle<GEMRecHitCollection> rechit_collection;
148  event.getByToken(rechit_token_, rechit_collection);
149  if (not rechit_collection.isValid()) {
150  edm::LogError(log_category_) << "GEMRecHitCollection is invalid" << std::endl;
151  return;
152  }
153 
155  event.getByToken(muon_token_, muon_view);
156  if (not muon_view.isValid()) {
157  edm::LogError(log_category_) << "View<Muon> is invalid" << std::endl;
158  }
159 
162  if (not gem.isValid()) {
163  edm::LogError(log_category_) << "GEMGeometry is invalid" << std::endl;
164  return;
165  }
166 
167  edm::ESHandle<TransientTrackBuilder> transient_track_builder;
168  setup.get<TransientTrackRecord>().get("TransientTrackBuilder", transient_track_builder);
169  if (not transient_track_builder.isValid()) {
170  edm::LogError(log_category_) << "TransientTrackRecord is invalid" << std::endl;
171  return;
172  }
173 
175  edm::ESHandle<Propagator>&& propagator = muon_service_->propagator("SteppingHelixPropagatorAny");
176  if (not propagator.isValid()) {
177  edm::LogError(log_category_) << "Propagator is invalid" << std::endl;
178  return;
179  }
180 
181  for (const reco::Muon& muon : *muon_view) {
182  const reco::Track* track = nullptr;
183 
184  if (use_global_muon_ and muon.globalTrack().isNonnull()) {
185  track = muon.globalTrack().get();
186 
187  } else if ((not use_global_muon_) and muon.outerTrack().isNonnull()) {
188  track = muon.outerTrack().get();
189  }
190 
191  if (track == nullptr) {
192  edm::LogError(log_category_) << "failed to get muon track" << std::endl;
193  continue;
194  }
195 
196  const reco::TransientTrack&& transient_track = transient_track_builder->build(track);
197  if (not transient_track.isValid()) {
198  edm::LogInfo(log_category_) << "failed to build TransientTrack" << std::endl;
199  continue;
200  }
201 
202  for (const GEMEtaPartition* eta_partition : gem->etaPartitions()) {
203  // Skip propagation inn the opposite direction.
204  if (muon.eta() * eta_partition->id().region() < 0)
205  continue;
206 
207  const BoundPlane& bound_plane = eta_partition->surface();
208 
209  const TrajectoryStateOnSurface&& tsos =
210  propagator->propagate(transient_track.outermostMeasurementState(), bound_plane);
211  if (not tsos.isValid()) {
212  continue;
213  }
214 
215  const LocalPoint&& tsos_local_pos = tsos.localPosition();
216  const LocalPoint tsos_local_pos_2d(tsos_local_pos.x(), tsos_local_pos.y(), 0.0f);
217  if (not bound_plane.bounds().inside(tsos_local_pos_2d)) {
218  continue;
219  }
220 
221  const GEMDetId&& gem_id = eta_partition->id();
222 
223  bool is_odd = gem_id.station() == 1 ? (gem_id.chamber() % 2 == 1) : false;
224  const std::tuple<int, int> key1{gem_id.region(), gem_id.station()};
225  const std::tuple<int, int, bool> key2{gem_id.region(), gem_id.station(), is_odd};
226  const std::tuple<int, int, bool, int> key3{gem_id.region(), gem_id.station(), is_odd, gem_id.roll()};
227 
228  const int chamber_bin = getDetOccXBin(gem_id, gem);
229 
230  fillME(me_detector_, key1, chamber_bin, gem_id.roll());
231  fillME(me_muon_pt_, key2, muon.pt());
232  fillME(me_muon_eta_, key2, std::fabs(muon.eta()));
233 
234  const GEMRecHit* matched_hit = findMatchedHit(tsos_local_pos.x(), rechit_collection->get(gem_id));
235  if (matched_hit == nullptr) {
236  continue;
237  }
238 
239  fillME(me_detector_matched_, key1, chamber_bin, gem_id.roll());
240  fillME(me_muon_pt_matched_, key2, muon.pt());
241  fillME(me_muon_eta_matched_, key2, std::fabs(muon.eta()));
242 
243  const LocalPoint&& hit_local_pos = matched_hit->localPosition();
244  const GlobalPoint&& hit_global_pos = eta_partition->toGlobal(hit_local_pos);
245  const GlobalPoint&& tsos_global_pos = tsos.globalPosition();
246 
247  const float residual_x = tsos_local_pos.x() - hit_local_pos.x();
248  const float residual_y = tsos_local_pos.y() - hit_local_pos.y();
249  const float residual_phi = reco::deltaPhi(tsos_global_pos.barePhi(), hit_global_pos.barePhi());
250 
251  const LocalError&& tsos_err = tsos.localError().positionError();
252  const LocalError&& hit_err = matched_hit->localPositionError();
253 
254  const float pull_x = residual_x / std::sqrt(tsos_err.xx() + hit_err.xx());
255  const float pull_y = residual_y / std::sqrt(tsos_err.yy() + hit_err.yy());
256 
257  fillME(me_residual_x_, key3, residual_x);
258  fillME(me_residual_y_, key3, residual_y);
259  fillME(me_residual_phi_, key3, residual_phi);
260 
261  fillME(me_pull_x_, key3, pull_x);
262  fillME(me_pull_y_, key3, pull_y);
263  } // GEMChamber
264  } // Muon
265 }

References PV3DBase< T, PVType, FrameType >::barePhi(), TransientTrackBuilder::build(), GEMDetId::chamber(), chamber_bin(), reco::deltaPhi(), GEMOfflineDQMBase::fillME(), findMatchedHit(), mixOne_premix_on_sim_cfi::gem, get, GEMOfflineDQMBase::getDetOccXBin(), TrajectoryStateOnSurface::globalPosition(), edm::ESHandleBase::isValid(), TrajectoryStateOnSurface::isValid(), edm::HandleBase::isValid(), reco::TransientTrack::isValid(), TrajectoryStateOnSurface::localError(), GEMRecHit::localPosition(), TrajectoryStateOnSurface::localPosition(), GEMRecHit::localPositionError(), GEMOfflineDQMBase::log_category_, me_detector_, me_detector_matched_, me_muon_eta_, me_muon_eta_matched_, me_muon_pt_, me_muon_pt_matched_, me_pull_x_, me_pull_y_, me_residual_phi_, me_residual_x_, me_residual_y_, muon_service_, muon_token_, reco::TransientTrack::outermostMeasurementState(), LocalTrajectoryError::positionError(), TrackCandidateProducer_cfi::propagator, MuonServiceProxy::propagator(), rechit_token_, GEMDetId::region(), GEMDetId::roll(), singleTopDQM_cfi::setup, mathSSE::sqrt(), GEMDetId::station(), HLT_2018_cff::track, MuonServiceProxy::update(), use_global_muon_, PV3DBase< T, PVType, FrameType >::x(), LocalError::xx(), PV3DBase< T, PVType, FrameType >::y(), and LocalError::yy().

◆ bookDetectorOccupancy()

void GEMEfficiencyAnalyzer::bookDetectorOccupancy ( DQMStore::IBooker ibooker,
const GEMStation station,
const MEMapKey1 key,
const TString &  name_suffix,
const TString &  title_suffix 
)
private

Definition at line 87 of file GEMEfficiencyAnalyzer.cc.

91  {
92  ibooker.setCurrentFolder(folder_ + "/Efficiency");
93  BookingHelper helper(ibooker, name_suffix, title_suffix);
94 
95  const auto&& superchambers = station->superChambers();
96  if (not checkRefs(superchambers)) {
97  edm::LogError(log_category_) << "failed to get a valid vector of GEMSuperChamber ptrs" << std::endl;
98  return;
99  }
100 
101  // the number of GEMChambers per GEMStation
102  const int num_ch = superchambers.size() * superchambers.front()->nChambers();
103  // the number of eta partitions per GEMChamber
104  const int num_etas = getNumEtaPartitions(station);
105 
106  me_detector_[key] = helper.book2D("detector", title_, num_ch, 0.5, num_ch + 0.5, num_etas, 0.5, num_etas + 0.5);
107 
109  helper.book2D("detector_matched", matched_title_, num_ch, 0.5, num_ch + 0.5, num_etas, 0.5, num_etas + 0.5);
110 
113 }

References GEMOfflineDQMBase::checkRefs(), folder_, GEMOfflineDQMBase::getNumEtaPartitions(), crabWrapper::key, GEMOfflineDQMBase::log_category_, matched_title_, me_detector_, me_detector_matched_, dqm::implementation::NavigatorBase::setCurrentFolder(), GEMOfflineDQMBase::setDetLabelsEta(), relativeConstraints::station, and title_.

Referenced by bookHistograms().

◆ bookHistograms()

void GEMEfficiencyAnalyzer::bookHistograms ( DQMStore::IBooker ibooker,
edm::Run const &  run,
edm::EventSetup const &  isetup 
)
overrideprotectedvirtual

Implements DQMEDAnalyzer.

Definition at line 32 of file GEMEfficiencyAnalyzer.cc.

34  {
36  isetup.get<MuonGeometryRecord>().get(gem);
37  if (not gem.isValid()) {
38  edm::LogError(log_category_) << "GEMGeometry is invalid" << std::endl;
39  return;
40  }
41 
42  for (const GEMRegion* region : gem->regions()) {
43  const int region_number = region->region();
44  const char* region_sign = region_number > 0 ? "+" : "-";
45 
46  for (const GEMStation* station : region->stations()) {
47  const int station_number = station->station();
48 
49  const MEMapKey1 key1{region_number, station_number};
50  const auto&& station_name_suffix = TString::Format("_ge%s%d1", region_sign, station_number);
51  const auto&& station_title_suffix = TString::Format(" : GE %s%d/1", region_sign, station_number);
52  bookDetectorOccupancy(ibooker, station, key1, station_name_suffix, station_title_suffix);
53 
54  const int num_etas = getNumEtaPartitions(station);
55 
56  if (station_number == 1) {
57  for (const bool is_odd : {true, false}) {
58  std::tuple<int, int, bool> key2{region_number, station_number, is_odd};
59  const TString&& parity_name_suffix = station_name_suffix + (is_odd ? "_odd" : "_even");
60  const TString&& parity_title_suffix =
61  station_title_suffix + (is_odd ? ", Odd Superchamber" : ", Even Superchamber");
62  bookOccupancy(ibooker, key2, parity_name_suffix, parity_title_suffix);
63 
64  for (int ieta = 1; ieta <= num_etas; ieta++) {
65  const TString&& ieta_name_suffix = parity_name_suffix + Form("_ieta%d", ieta);
66  const TString&& ieta_title_suffix = parity_title_suffix + Form(", i#eta = %d", ieta);
67  const MEMapKey3 key3{region_number, station_number, is_odd, ieta};
68  bookResolution(ibooker, key3, ieta_name_suffix, ieta_title_suffix);
69  } // ieta
70  } // is_odd
71 
72  } else {
73  std::tuple<int, int, bool> key2{region_number, station_number, false};
74  bookOccupancy(ibooker, key2, station_name_suffix, station_title_suffix);
75 
76  for (int ieta = 1; ieta <= num_etas; ieta++) {
77  const MEMapKey3 key3{region_number, station_number, false, ieta};
78  const TString&& ieta_name_suffix = station_name_suffix + Form("_ieta%d", ieta);
79  const TString&& ieta_title_suffix = station_title_suffix + Form(", i#eta = %d", ieta);
80  bookResolution(ibooker, key3, ieta_name_suffix, ieta_title_suffix);
81  } // ieta
82  }
83  } // station
84  } // region
85 }

References bookDetectorOccupancy(), bookOccupancy(), bookResolution(), mixOne_premix_on_sim_cfi::gem, edm::EventSetup::get(), get, GEMOfflineDQMBase::getNumEtaPartitions(), LEDCalibrationChannels::ieta, GEMOfflineDQMBase::log_category_, HLT_2018_cff::region, and relativeConstraints::station.

◆ bookOccupancy()

void GEMEfficiencyAnalyzer::bookOccupancy ( DQMStore::IBooker ibooker,
const MEMapKey2 key,
const TString &  name_suffix,
const TString &  title_suffix 
)
private

Definition at line 115 of file GEMEfficiencyAnalyzer.cc.

118  {
119  ibooker.setCurrentFolder(folder_ + "/Efficiency");
120  BookingHelper helper(ibooker, name_suffix, title_suffix);
121 
122  me_muon_pt_[key] = helper.book1D("muon_pt", title_, pt_binning_, "Muon p_{T} [GeV]");
123  me_muon_eta_[key] = helper.book1D("muon_eta", title_, eta_nbins_, eta_low_, eta_up_, "Muon |#eta|");
124 
125  me_muon_pt_matched_[key] = helper.book1D("muon_pt_matched", matched_title_, pt_binning_, "Muon p_{T} [GeV]");
127  helper.book1D("muon_eta_matched", matched_title_, eta_nbins_, eta_low_, eta_up_, "Muon |#eta|");
128 }

References eta_low_, eta_nbins_, eta_up_, folder_, crabWrapper::key, matched_title_, me_muon_eta_, me_muon_eta_matched_, me_muon_pt_, me_muon_pt_matched_, pt_binning_, dqm::implementation::NavigatorBase::setCurrentFolder(), and title_.

Referenced by bookHistograms().

◆ bookResolution()

void GEMEfficiencyAnalyzer::bookResolution ( DQMStore::IBooker ibooker,
const MEMapKey3 key,
const TString &  name_suffix,
const TString &  title_suffix 
)
private

Definition at line 130 of file GEMEfficiencyAnalyzer.cc.

133  {
134  ibooker.setCurrentFolder(folder_ + "/Resolution");
135  BookingHelper helper(ibooker, name_suffix, title_suffix);
136 
137  // NOTE Residual & Pull
138  me_residual_x_[key] = helper.book1D("residual_x", title_, 50, -5.0, 5.0, "Residual in Local X [cm]");
139  me_residual_y_[key] = helper.book1D("residual_y", title_, 60, -12.0, 12.0, "Residual in Local Y [cm]");
140  me_residual_phi_[key] = helper.book1D("residual_phi", title_, 80, -0.008, 0.008, "Residual in Global #phi [rad]");
141 
142  me_pull_x_[key] = helper.book1D("pull_x", title_, 60, -3.0, 3.0, "Pull in Local X");
143  me_pull_y_[key] = helper.book1D("pull_y", title_, 60, -3.0, 3.0, "Pull in Local Y");
144 }

References folder_, crabWrapper::key, me_pull_x_, me_pull_y_, me_residual_phi_, me_residual_x_, me_residual_y_, dqm::implementation::NavigatorBase::setCurrentFolder(), and title_.

Referenced by bookHistograms().

◆ findMatchedHit()

const GEMRecHit * GEMEfficiencyAnalyzer::findMatchedHit ( const float  track_local_x,
const GEMRecHitCollection::range range 
)
private

Definition at line 267 of file GEMEfficiencyAnalyzer.cc.

268  {
269  float min_residual_x{residual_x_cut_};
270  const GEMRecHit* closest_hit = nullptr;
271 
272  for (auto hit = range.first; hit != range.second; ++hit) {
273  float residual_x = std::fabs(track_local_x - hit->localPosition().x());
274  if (residual_x <= min_residual_x) {
275  min_residual_x = residual_x;
276  closest_hit = &(*hit);
277  }
278  }
279 
280  return closest_hit;
281 }

References FastTimerService_cff::range, residual_x_cut_, and hit::x.

Referenced by analyze().

Member Data Documentation

◆ eta_low_

double GEMEfficiencyAnalyzer::eta_low_
private

Definition at line 40 of file GEMEfficiencyAnalyzer.h.

Referenced by bookOccupancy(), and GEMEfficiencyAnalyzer().

◆ eta_nbins_

int GEMEfficiencyAnalyzer::eta_nbins_
private

Definition at line 39 of file GEMEfficiencyAnalyzer.h.

Referenced by bookOccupancy(), and GEMEfficiencyAnalyzer().

◆ eta_up_

double GEMEfficiencyAnalyzer::eta_up_
private

Definition at line 41 of file GEMEfficiencyAnalyzer.h.

Referenced by bookOccupancy(), and GEMEfficiencyAnalyzer().

◆ folder_

std::string GEMEfficiencyAnalyzer::folder_
private

◆ matched_title_

TString GEMEfficiencyAnalyzer::matched_title_
private

◆ me_detector_

MEMap1 GEMEfficiencyAnalyzer::me_detector_
private

Definition at line 48 of file GEMEfficiencyAnalyzer.h.

Referenced by analyze(), and bookDetectorOccupancy().

◆ me_detector_matched_

MEMap1 GEMEfficiencyAnalyzer::me_detector_matched_
private

Definition at line 49 of file GEMEfficiencyAnalyzer.h.

Referenced by analyze(), and bookDetectorOccupancy().

◆ me_muon_eta_

MEMap2 GEMEfficiencyAnalyzer::me_muon_eta_
private

Definition at line 52 of file GEMEfficiencyAnalyzer.h.

Referenced by analyze(), and bookOccupancy().

◆ me_muon_eta_matched_

MEMap2 GEMEfficiencyAnalyzer::me_muon_eta_matched_
private

Definition at line 54 of file GEMEfficiencyAnalyzer.h.

Referenced by analyze(), and bookOccupancy().

◆ me_muon_pt_

MEMap2 GEMEfficiencyAnalyzer::me_muon_pt_
private

Definition at line 51 of file GEMEfficiencyAnalyzer.h.

Referenced by analyze(), and bookOccupancy().

◆ me_muon_pt_matched_

MEMap2 GEMEfficiencyAnalyzer::me_muon_pt_matched_
private

Definition at line 53 of file GEMEfficiencyAnalyzer.h.

Referenced by analyze(), and bookOccupancy().

◆ me_pull_x_

MEMap3 GEMEfficiencyAnalyzer::me_pull_x_
private

Definition at line 59 of file GEMEfficiencyAnalyzer.h.

Referenced by analyze(), and bookResolution().

◆ me_pull_y_

MEMap3 GEMEfficiencyAnalyzer::me_pull_y_
private

Definition at line 60 of file GEMEfficiencyAnalyzer.h.

Referenced by analyze(), and bookResolution().

◆ me_residual_phi_

MEMap3 GEMEfficiencyAnalyzer::me_residual_phi_
private

Definition at line 58 of file GEMEfficiencyAnalyzer.h.

Referenced by analyze(), and bookResolution().

◆ me_residual_x_

MEMap3 GEMEfficiencyAnalyzer::me_residual_x_
private

Definition at line 56 of file GEMEfficiencyAnalyzer.h.

Referenced by analyze(), and bookResolution().

◆ me_residual_y_

MEMap3 GEMEfficiencyAnalyzer::me_residual_y_
private

Definition at line 57 of file GEMEfficiencyAnalyzer.h.

Referenced by analyze(), and bookResolution().

◆ muon_service_

MuonServiceProxy* GEMEfficiencyAnalyzer::muon_service_
private

Definition at line 33 of file GEMEfficiencyAnalyzer.h.

Referenced by analyze(), and GEMEfficiencyAnalyzer().

◆ muon_token_

edm::EDGetTokenT<edm::View<reco::Muon> > GEMEfficiencyAnalyzer::muon_token_
private

Definition at line 31 of file GEMEfficiencyAnalyzer.h.

Referenced by analyze(), and GEMEfficiencyAnalyzer().

◆ pt_binning_

std::vector<double> GEMEfficiencyAnalyzer::pt_binning_
private

Definition at line 38 of file GEMEfficiencyAnalyzer.h.

Referenced by bookOccupancy(), and GEMEfficiencyAnalyzer().

◆ rechit_token_

edm::EDGetTokenT<GEMRecHitCollection> GEMEfficiencyAnalyzer::rechit_token_
private

Definition at line 30 of file GEMEfficiencyAnalyzer.h.

Referenced by analyze(), and GEMEfficiencyAnalyzer().

◆ residual_x_cut_

float GEMEfficiencyAnalyzer::residual_x_cut_
private

Definition at line 36 of file GEMEfficiencyAnalyzer.h.

Referenced by findMatchedHit(), and GEMEfficiencyAnalyzer().

◆ title_

TString GEMEfficiencyAnalyzer::title_
private

◆ use_global_muon_

bool GEMEfficiencyAnalyzer::use_global_muon_
private

Definition at line 35 of file GEMEfficiencyAnalyzer.h.

Referenced by analyze(), and GEMEfficiencyAnalyzer().

GEMEfficiencyAnalyzer::me_muon_pt_matched_
MEMap2 me_muon_pt_matched_
Definition: GEMEfficiencyAnalyzer.h:53
FastTimerService_cff.range
range
Definition: FastTimerService_cff.py:34
GEMOfflineDQMBase::MEMapKey3
std::tuple< int, int, bool, int > MEMapKey3
Definition: GEMOfflineDQMBase.h:17
GEMEfficiencyAnalyzer::me_detector_
MEMap1 me_detector_
Definition: GEMEfficiencyAnalyzer.h:48
GEMRecHit::localPositionError
LocalError localPositionError() const override
Return the 3-dimensional error on the local position.
Definition: GEMRecHit.h:40
LocalTrajectoryError::positionError
LocalError positionError() const
Definition: LocalTrajectoryError.h:81
muon
Definition: MuonCocktails.h:17
PV3DBase::x
T x() const
Definition: PV3DBase.h:59
reco::deltaPhi
constexpr double deltaPhi(double phi1, double phi2)
Definition: deltaPhi.h:26
GEMEfficiencyAnalyzer::findMatchedHit
const GEMRecHit * findMatchedHit(const float, const GEMRecHitCollection::range &)
Definition: GEMEfficiencyAnalyzer.cc:267
GEMDetId::region
constexpr int region() const
Definition: GEMDetId.h:165
relativeConstraints.station
station
Definition: relativeConstraints.py:67
GEMEfficiencyAnalyzer::me_residual_x_
MEMap3 me_residual_x_
Definition: GEMEfficiencyAnalyzer.h:56
TrajectoryStateOnSurface::globalPosition
GlobalPoint globalPosition() const
Definition: TrajectoryStateOnSurface.h:65
GEMEtaPartition
Definition: GEMEtaPartition.h:12
edm::LogInfo
Definition: MessageLogger.h:254
GEMEfficiencyAnalyzer::bookOccupancy
void bookOccupancy(DQMStore::IBooker &, const MEMapKey2 &, const TString &, const TString &)
Definition: GEMEfficiencyAnalyzer.cc:115
GEMOfflineDQMBase::GEMOfflineDQMBase
GEMOfflineDQMBase(const edm::ParameterSet &)
Definition: GEMOfflineDQMBase.cc:3
GEMEfficiencyAnalyzer::folder_
std::string folder_
Definition: GEMEfficiencyAnalyzer.h:43
GEMEfficiencyAnalyzer::use_global_muon_
bool use_global_muon_
Definition: GEMEfficiencyAnalyzer.h:35
edm::Handle< GEMRecHitCollection >
singleTopDQM_cfi.setup
setup
Definition: singleTopDQM_cfi.py:37
MuonServiceProxy_cff.MuonServiceProxy
MuonServiceProxy
Definition: MuonServiceProxy_cff.py:15
reco::Muon
Definition: Muon.h:27
hit::x
double x
Definition: SiStripHitEffFromCalibTree.cc:89
TrajectoryStateOnSurface
Definition: TrajectoryStateOnSurface.h:16
GEMOfflineDQMBase::log_category_
std::string log_category_
Definition: GEMOfflineDQMBase.h:45
GEMEfficiencyAnalyzer::me_detector_matched_
MEMap1 me_detector_matched_
Definition: GEMEfficiencyAnalyzer.h:49
GEMOfflineDQMBase::setDetLabelsEta
void setDetLabelsEta(MonitorElement *, const GEMStation *)
Definition: GEMOfflineDQMBase.cc:50
TrackCandidateProducer_cfi.propagator
propagator
Definition: TrackCandidateProducer_cfi.py:17
GEMOfflineDQMBase::getNumEtaPartitions
int getNumEtaPartitions(const GEMStation *)
Definition: GEMOfflineDQMBase.cc:77
LocalError::xx
float xx() const
Definition: LocalError.h:22
mathSSE::sqrt
T sqrt(T t)
Definition: SSEVec.h:19
GEMStation
Definition: GEMStation.h:19
TransientTrackRecord
Definition: TransientTrackRecord.h:11
GEMEfficiencyAnalyzer::me_pull_x_
MEMap3 me_pull_x_
Definition: GEMEfficiencyAnalyzer.h:59
reco::Track
Definition: Track.h:27
GEMEfficiencyAnalyzer::title_
TString title_
Definition: GEMEfficiencyAnalyzer.h:45
edm::ESHandle< GEMGeometry >
GEMEfficiencyAnalyzer::bookResolution
void bookResolution(DQMStore::IBooker &, const MEMapKey3 &, const TString &, const TString &)
Definition: GEMEfficiencyAnalyzer.cc:130
Point3DBase< float, LocalTag >
GEMEfficiencyAnalyzer::rechit_token_
edm::EDGetTokenT< GEMRecHitCollection > rechit_token_
Definition: GEMEfficiencyAnalyzer.h:30
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
GEMOfflineDQMBase::fillME
void fillME(std::map< AnyKey, MonitorElement * > &, const AnyKey &, const float)
Definition: GEMOfflineDQMBase.h:155
MuonServiceProxy::update
void update(const edm::EventSetup &setup, bool duringEvent=true)
update the services each event
Definition: MuonServiceProxy.cc:111
LEDCalibrationChannels.ieta
ieta
Definition: LEDCalibrationChannels.py:63
GEMDetId::chamber
constexpr int chamber() const
Definition: GEMDetId.h:177
TrajectoryStateOnSurface::localPosition
LocalPoint localPosition() const
Definition: TrajectoryStateOnSurface.h:74
edm::ParameterSet
Definition: ParameterSet.h:36
edm::LogError
Definition: MessageLogger.h:183
GEMOfflineDQMBase::MEMapKey1
std::tuple< int, int > MEMapKey1
Definition: GEMOfflineDQMBase.h:15
PV3DBase::barePhi
T barePhi() const
Definition: PV3DBase.h:65
GEMOfflineDQMBase::checkRefs
bool checkRefs(const std::vector< T * > &)
Definition: GEMOfflineDQMBase.h:123
LocalError
Definition: LocalError.h:12
GEMDetId::roll
constexpr int roll() const
Definition: GEMDetId.h:188
GEMDetId
Definition: GEMDetId.h:17
helper
Definition: helper.py:1
PV3DBase::y
T y() const
Definition: PV3DBase.h:60
MuonServiceProxy::propagator
edm::ESHandle< Propagator > propagator(std::string propagatorName) const
get the propagator
Definition: MuonServiceProxy.cc:177
GEMEfficiencyAnalyzer::me_muon_eta_
MEMap2 me_muon_eta_
Definition: GEMEfficiencyAnalyzer.h:52
GEMEfficiencyAnalyzer::matched_title_
TString matched_title_
Definition: GEMEfficiencyAnalyzer.h:46
GEMEfficiencyAnalyzer::residual_x_cut_
float residual_x_cut_
Definition: GEMEfficiencyAnalyzer.h:36
reco::TransientTrack::outermostMeasurementState
TrajectoryStateOnSurface outermostMeasurementState() const
Definition: TransientTrack.h:86
GEMEfficiencyAnalyzer::eta_up_
double eta_up_
Definition: GEMEfficiencyAnalyzer.h:41
get
#define get
gem
Definition: AMC13Event.h:6
edm::ESHandleBase::isValid
bool isValid() const
Definition: ESHandle.h:44
GEMEfficiencyAnalyzer::muon_token_
edm::EDGetTokenT< edm::View< reco::Muon > > muon_token_
Definition: GEMEfficiencyAnalyzer.h:31
GEMEfficiencyAnalyzer::pt_binning_
std::vector< double > pt_binning_
Definition: GEMEfficiencyAnalyzer.h:38
GEMEfficiencyAnalyzer::me_residual_y_
MEMap3 me_residual_y_
Definition: GEMEfficiencyAnalyzer.h:57
GEMEfficiencyAnalyzer::eta_low_
double eta_low_
Definition: GEMEfficiencyAnalyzer.h:40
reco::TransientTrack::isValid
bool isValid() const
Make the ReferenceCountingProxy method to check validity public.
Definition: TransientTrack.h:147
reco::TransientTrack
Definition: TransientTrack.h:19
GEMEfficiencyAnalyzer::bookDetectorOccupancy
void bookDetectorOccupancy(DQMStore::IBooker &, const GEMStation *, const MEMapKey1 &, const TString &, const TString &)
Definition: GEMEfficiencyAnalyzer.cc:87
BoundPlane
HLT_2018_cff.region
region
Definition: HLT_2018_cff.py:81479
GEMEfficiencyAnalyzer::me_pull_y_
MEMap3 me_pull_y_
Definition: GEMEfficiencyAnalyzer.h:60
chamber_bin
int chamber_bin(int station, int ring, int chamber)
Definition: L1TStage2EMTF.cc:468
GEMRecHit
Definition: GEMRecHit.h:14
TransientTrackBuilder::build
reco::TransientTrack build(const reco::Track *p) const
Definition: TransientTrackBuilder.cc:20
GEMDetId::station
constexpr int station() const
Definition: GEMDetId.h:173
HLT_2018_cff.track
track
Definition: HLT_2018_cff.py:10352
mixOne_premix_on_sim_cfi.gem
gem
Definition: mixOne_premix_on_sim_cfi.py:194
GEMEfficiencyAnalyzer::me_muon_eta_matched_
MEMap2 me_muon_eta_matched_
Definition: GEMEfficiencyAnalyzer.h:54
GEMEfficiencyAnalyzer::muon_service_
MuonServiceProxy * muon_service_
Definition: GEMEfficiencyAnalyzer.h:33
GEMEfficiencyAnalyzer::me_muon_pt_
MEMap2 me_muon_pt_
Definition: GEMEfficiencyAnalyzer.h:51
GEMRegion
Definition: GEMRegion.h:19
GEMEfficiencyAnalyzer::me_residual_phi_
MEMap3 me_residual_phi_
Definition: GEMEfficiencyAnalyzer.h:58
GEMEfficiencyAnalyzer::eta_nbins_
int eta_nbins_
Definition: GEMEfficiencyAnalyzer.h:39
edm::HandleBase::isValid
bool isValid() const
Definition: HandleBase.h:70
TrajectoryStateOnSurface::localError
const LocalTrajectoryError & localError() const
Definition: TrajectoryStateOnSurface.h:77
crabWrapper.key
key
Definition: crabWrapper.py:19
MuonGeometryRecord
Definition: MuonGeometryRecord.h:34
LocalError::yy
float yy() const
Definition: LocalError.h:24
edm::InputTag
Definition: InputTag.h:15
TrajectoryStateOnSurface::isValid
bool isValid() const
Definition: TrajectoryStateOnSurface.h:54
hit
Definition: SiStripHitEffFromCalibTree.cc:88
GEMRecHit::localPosition
LocalPoint localPosition() const override
Return the 3-dimensional local position.
Definition: GEMRecHit.h:37
muonDTDigis_cfi.pset
pset
Definition: muonDTDigis_cfi.py:27
GEMOfflineDQMBase::getDetOccXBin
int getDetOccXBin(const int, const int, const int)
Definition: GEMOfflineDQMBase.h:118