CMS 3D CMS Logo

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

#include <GEMRecHitValidation.h>

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

Public Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
 GEMRecHitValidation (const edm::ParameterSet &)
 
 ~GEMRecHitValidation () override
 
- Public Member Functions inherited from GEMBaseValidation
 GEMBaseValidation (const edm::ParameterSet &, std::string)
 
 ~GEMBaseValidation () override=0
 
- 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
 

Private Member Functions

Bool_t matchRecHitAgainstSimHit (GEMRecHitCollection::const_iterator, Int_t)
 

Private Attributes

MonitorElementme_cls_
 
MEMap3Ids me_detail_cls_
 
MEMap3Ids me_detail_occ_polar_
 
MEMap3Ids me_detail_occ_xy_
 
MEMap3Ids me_detail_pull_x_
 
MEMap3Ids me_detail_pull_y_
 
MEMap3Ids me_detail_residual_x_
 
MEMap3Ids me_detail_residual_y_
 
MEMap1Ids me_occ_zr_
 
MEMap1Ids me_pull_x_
 
MEMap1Ids me_pull_y_
 
MEMap2Ids me_rechit_occ_det_
 
MEMap1Ids me_rechit_occ_eta_
 
MEMap2Ids me_rechit_occ_phi_
 
MEMap1Ids me_residual_x_
 
MEMap1Ids me_residual_y_
 
MEMap2Ids me_simhit_occ_det_
 
MEMap1Ids me_simhit_occ_eta_
 
MEMap2Ids me_simhit_occ_phi_
 
edm::EDGetTokenT< GEMRecHitCollectionrechit_token_
 
edm::EDGetTokenT< edm::PSimHitContainersimhit_token_
 

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 Member Functions inherited from GEMBaseValidation
template<typename T >
dqm::impl::MonitorElementbookDetectorOccupancy (DQMStore::IBooker &booker, const T &key, const GEMStation *station, const char *name_prfix, const char *title_prefix)
 
template<typename T >
dqm::impl::MonitorElementbookHist1D (DQMStore::IBooker &booker, const T &key, const char *name, const char *title, Int_t nbinsx, Double_t xlow, Double_t xup, const char *x_title="", const char *y_title="Entries")
 
template<typename T >
dqm::impl::MonitorElementbookHist2D (DQMStore::IBooker &booker, const T &key, const char *name, const char *title, Int_t nbinsx, Double_t xlow, Double_t xup, Int_t nbinsy, Double_t ylow, Double_t yup, const char *x_title="", const char *y_title="")
 
template<typename T >
dqm::impl::MonitorElementbookPolarOccupancy (DQMStore::IBooker &booker, const T &key, const char *name_prefix, const char *title_prefix)
 
template<typename T >
dqm::impl::MonitorElementbookXYOccupancy (DQMStore::IBooker &booker, const T &key, const char *name_prefix, const char *title_prefix)
 
template<typename T >
dqm::impl::MonitorElementbookZROccupancy (DQMStore::IBooker &booker, const T &key, const char *name_prfix, const char *title_prefix)
 
dqm::impl::MonitorElementbookZROccupancy (DQMStore::IBooker &booker, Int_t region_id, const char *name_prfix, const char *title_prefix)
 
Int_t getDetOccBinX (Int_t chamber_id, Int_t layer_id)
 
const GEMGeometryinitGeometry (const edm::EventSetup &)
 
Bool_t isMuonSimHit (const PSimHit &)
 
- Protected Member Functions inherited from DQMEDAnalyzer
uint64_t meId () const
 
- Protected Attributes inherited from GEMBaseValidation
Bool_t detail_plot_
 
std::vector< Double_t > eta_range_
 
const std::string kLogCategory_
 
const Int_t kMuonPDGId_ = 13
 
Int_t xy_occ_num_bins_
 
std::vector< Int_t > zr_occ_num_bins_
 
std::vector< Double_t > zr_occ_range_
 
- Protected Attributes inherited from DQMEDAnalyzer
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 
unsigned int streamId_
 

Detailed Description

Definition at line 7 of file GEMRecHitValidation.h.

Constructor & Destructor Documentation

◆ GEMRecHitValidation()

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

Definition at line 6 of file GEMRecHitValidation.cc.

7  : GEMBaseValidation(pset, "GEMRecHitsValidation") {
8  const auto& rechit_pset = pset.getParameterSet("gemRecHit");
9  const auto& rechit_tag = rechit_pset.getParameter<edm::InputTag>("inputTag");
10  rechit_token_ = consumes<GEMRecHitCollection>(rechit_tag);
11 
12  const auto& simhit_pset = pset.getParameterSet("gemSimHit");
13  const auto& simhit_tag = simhit_pset.getParameter<edm::InputTag>("inputTag");
14  simhit_token_ = consumes<edm::PSimHitContainer>(simhit_tag);
15 }

References muonDTDigis_cfi::pset, rechit_token_, and simhit_token_.

◆ ~GEMRecHitValidation()

GEMRecHitValidation::~GEMRecHitValidation ( )
override

Definition at line 17 of file GEMRecHitValidation.cc.

17 {}

Member Function Documentation

◆ analyze()

void GEMRecHitValidation::analyze ( const edm::Event event,
const edm::EventSetup setup 
)
overridevirtual

Implements GEMBaseValidation.

Definition at line 191 of file GEMRecHitValidation.cc.

191  {
192  const GEMGeometry* gem = initGeometry(setup);
193 
194  edm::Handle<edm::PSimHitContainer> simhit_container;
195  event.getByToken(simhit_token_, simhit_container);
196  if (not simhit_container.isValid()) {
197  edm::LogError(kLogCategory_) << "Failed to get PSimHitContainer." << std::endl;
198  return;
199  }
200 
201  edm::Handle<GEMRecHitCollection> rechit_collection;
202  event.getByToken(rechit_token_, rechit_collection);
203  if (not rechit_collection.isValid()) {
204  edm::LogError(kLogCategory_) << "Failed to get GEMRecHitCollection" << std::endl;
205  return;
206  }
207 
208  for (auto rechit = rechit_collection->begin(); rechit != rechit_collection->end(); rechit++) {
209  GEMDetId gem_id{rechit->gemId()};
210  Int_t region_id = gem_id.region();
211  Int_t station_id = gem_id.station();
212  Int_t layer_id = gem_id.layer();
213 
214  ME2IdsKey key2{region_id, station_id};
215  ME3IdsKey key3{region_id, station_id, layer_id};
216 
217  const BoundPlane& surface = gem->idToDet(gem_id)->surface();
218  GlobalPoint&& rechit_global_pos = surface.toGlobal(rechit->localPosition());
219 
220  Float_t rechit_g_x = rechit_global_pos.x();
221  Float_t rechit_g_y = rechit_global_pos.y();
222  Float_t rechit_g_abs_z = std::fabs(rechit_global_pos.z());
223  Float_t rechit_g_r = rechit_global_pos.perp();
224  Float_t rechit_g_phi = rechit_global_pos.phi();
225 
226  Int_t cls = rechit->clusterSize();
227 
228  me_cls_->Fill(cls);
229  me_occ_zr_[region_id]->Fill(rechit_g_abs_z, rechit_g_r);
230 
231  if (detail_plot_) {
232  me_detail_cls_[key3]->Fill(cls);
233  me_detail_occ_xy_[key3]->Fill(rechit_g_x, rechit_g_y);
234  me_detail_occ_polar_[key3]->Fill(rechit_g_phi, rechit_g_r);
235  } // detail plot
236  }
237 
238  // NOTE
239  for (const auto& simhit : *simhit_container.product()) {
240  if (gem->idToDet(simhit.detUnitId()) == nullptr) {
241  edm::LogError(kLogCategory_) << "MuonGEMHit didn't matched with GEMGeometry." << std::endl;
242  continue;
243  }
244 
245  if (not isMuonSimHit(simhit))
246  continue;
247 
248  GEMDetId simhit_gemid{simhit.detUnitId()};
249  const BoundPlane& surface = gem->idToDet(simhit_gemid)->surface();
250 
251  Int_t region_id = simhit_gemid.region();
252  Int_t station_id = simhit_gemid.station();
253  Int_t layer_id = simhit_gemid.layer();
254  Int_t chamber_id = simhit_gemid.chamber();
255  Int_t roll_id = simhit_gemid.roll();
256 
257  ME2IdsKey key2{region_id, station_id};
258  ME3IdsKey key3{region_id, station_id, layer_id};
259 
260  const LocalPoint& simhit_local_pos = simhit.localPosition();
261  const GlobalPoint& simhit_global_pos = surface.toGlobal(simhit_local_pos);
262 
263  Float_t simhit_g_abs_eta = std::fabs(simhit_global_pos.eta());
264  Float_t simhit_g_phi = simhit_global_pos.phi();
265 
266  Int_t simhit_strip = gem->etaPartition(simhit_gemid)->strip(simhit_local_pos);
267  Int_t det_occ_bin_x = getDetOccBinX(chamber_id, layer_id);
268 
269  me_simhit_occ_eta_[region_id]->Fill(simhit_g_abs_eta);
270  me_simhit_occ_phi_[key2]->Fill(simhit_g_phi);
271  me_simhit_occ_det_[key2]->Fill(det_occ_bin_x, roll_id);
272 
273  GEMRecHitCollection::range range = rechit_collection->get(simhit_gemid);
274  for (auto rechit = range.first; rechit != range.second; ++rechit) {
275  if (gem->idToDet(rechit->gemId()) == nullptr) {
276  edm::LogError(kLogCategory_) << "GEMRecHit didn't matched with GEMGeometry." << std::endl;
277  continue;
278  }
279 
280  if (matchRecHitAgainstSimHit(rechit, simhit_strip)) {
281  const LocalPoint& rechit_local_pos = rechit->localPosition();
282 
283  Float_t resolution_x = std::sqrt(rechit->localPositionError().xx());
284  Float_t resolution_y = std::sqrt(rechit->localPositionError().yy());
285 
286  Float_t residual_x = rechit_local_pos.x() - simhit_local_pos.x();
287  Float_t residual_y = rechit_local_pos.y() - simhit_local_pos.y();
288 
289  Float_t pull_x = residual_x / resolution_x;
290  Float_t pull_y = residual_y / resolution_y;
291 
292  me_residual_x_[region_id]->Fill(residual_x);
293  me_residual_y_[region_id]->Fill(residual_y);
294  me_pull_x_[region_id]->Fill(pull_x);
295  me_pull_y_[region_id]->Fill(pull_y);
296 
297  me_rechit_occ_eta_[region_id]->Fill(simhit_g_abs_eta);
298  me_rechit_occ_phi_[key2]->Fill(simhit_g_phi);
299  me_rechit_occ_det_[key2]->Fill(det_occ_bin_x, roll_id);
300 
301  if (detail_plot_) {
302  me_detail_residual_x_[key3]->Fill(residual_x);
303  me_detail_residual_y_[key3]->Fill(residual_y);
304 
305  me_detail_pull_x_[key3]->Fill(pull_x);
306  me_detail_pull_y_[key3]->Fill(pull_y);
307  } // detail_plot
308 
309  // If we find GEMRecHit that matches PSimHit, then exit
310  // GEMRecHitCollection loop.
311  break;
312 
313  } // if rechit matches against simhit
314  } // rechit loop
315  } // simhit loop
316 }

References GEMBaseValidation::detail_plot_, PV3DBase< T, PVType, FrameType >::eta(), dqm::impl::MonitorElement::Fill(), GEMBaseValidation::getDetOccBinX(), GEMBaseValidation::initGeometry(), GEMBaseValidation::isMuonSimHit(), edm::HandleBase::isValid(), GEMBaseValidation::kLogCategory_, matchRecHitAgainstSimHit(), me_cls_, me_detail_cls_, me_detail_occ_polar_, me_detail_occ_xy_, me_detail_pull_x_, me_detail_pull_y_, me_detail_residual_x_, me_detail_residual_y_, me_occ_zr_, me_pull_x_, me_pull_y_, me_rechit_occ_det_, me_rechit_occ_eta_, me_rechit_occ_phi_, me_residual_x_, me_residual_y_, me_simhit_occ_det_, me_simhit_occ_eta_, me_simhit_occ_phi_, PV3DBase< T, PVType, FrameType >::perp(), PV3DBase< T, PVType, FrameType >::phi(), edm::Handle< T >::product(), FastTimerService_cff::range, rechit_token_, GEMDetId::region(), singleTopDQM_cfi::setup, simhit_token_, mathSSE::sqrt(), PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().

◆ bookHistograms()

void GEMRecHitValidation::bookHistograms ( DQMStore::IBooker booker,
edm::Run const &  run,
edm::EventSetup const &  setup 
)
overridevirtual

Implements DQMEDAnalyzer.

Definition at line 19 of file GEMRecHitValidation.cc.

19  {
21 
22  // NOTE Cluster Size
23  booker.setCurrentFolder("MuonGEMRecHitsV/GEMRecHitsTask/ClusterSize");
24 
25  TString cls_title = "Cluster Size Distribution";
26  TString cls_x_title = "Cluster size";
27 
28  me_cls_ = booker.book1D("cls", cls_title + ";" + cls_x_title + ";" + "Entries", 11, -0.5, 10.5);
29 
30  if (detail_plot_) {
31  for (const auto& region : gem->regions()) {
32  Int_t region_id = region->region();
33 
34  for (const auto& station : region->stations()) {
35  Int_t station_id = station->station();
36 
37  const auto& superChamberVec = station->superChambers();
38  if (superChamberVec.empty() || superChamberVec[0] == nullptr) {
39  edm::LogError(kLogCategory_) << "Super chambers missing or null for region = " << region_id
40  << " and station = " << station_id;
41  } else {
42  for (const auto& chamber : superChamberVec[0]->chambers()) {
43  Int_t layer_id = chamber->id().layer();
44  ME3IdsKey key3{region_id, station_id, layer_id};
45 
46  me_detail_cls_[key3] = bookHist1D(booker, key3, "cls", cls_title, 11, -0.5, 10.5, cls_x_title);
47  } // chamber loop
48  } // end else
49  } // station loop
50  } // region loop
51  } // detail plot
52 
53  // NOTE Residual
54  booker.setCurrentFolder("MuonGEMRecHitsV/GEMRecHitsTask/Residual");
55 
56  for (const auto& region : gem->regions()) {
57  Int_t region_id = region->region();
58 
59  me_residual_x_[region_id] =
60  bookHist1D(booker, region_id, "residual_x", "Residual in X", 120, -3, 3, "Residual in X [cm]");
61 
62  me_residual_y_[region_id] =
63  bookHist1D(booker, region_id, "residual_y", "Residual in Y", 600, -15, 15, "Residual in Y [cm]");
64 
65  if (detail_plot_) {
66  for (const auto& station : region->stations()) {
67  Int_t station_id = station->station();
68 
69  const auto& superChamberVec = station->superChambers();
70  if (!superChamberVec.empty() && superChamberVec[0] != nullptr) {
71  for (const auto& chamber : superChamberVec[0]->chambers()) {
72  Int_t layer_id = chamber->id().layer();
73  ME3IdsKey key3{region_id, station_id, layer_id};
74 
75  // Occupancy histograms of SimHits and RecHits for Efficiency
76  me_detail_residual_x_[key3] =
77  bookHist1D(booker, key3, "residual_x", "Residual in X", 120, -3, 3, "Residual in X [cm]");
78 
79  me_detail_residual_y_[key3] =
80  bookHist1D(booker, key3, "residual_y", "Residual in Y", 600, -15, 15, "Residual in Y [cm]");
81 
82  } // chamber loop
83  } // end if
84  } // station loop
85  } // detail_plot
86  } // region loop
87 
88  // NOTE Pull
89  booker.setCurrentFolder("MuonGEMRecHitsV/GEMRecHitsTask/Pull");
90 
91  for (const auto& region : gem->regions()) {
92  Int_t region_id = region->region();
93 
94  me_pull_x_[region_id] = bookHist1D(booker, region_id, "pull_x", "Pull in X", 100, -3, 3);
95 
96  me_pull_y_[region_id] = bookHist1D(booker, region_id, "pull_y", "Pull in Y", 100, -3, 3);
97 
98  if (detail_plot_) {
99  for (const auto& station : region->stations()) {
100  Int_t station_id = station->station();
101 
102  const auto& superChamberVec = station->superChambers();
103  if (!superChamberVec.empty() && superChamberVec[0] != nullptr) {
104  for (const auto& chamber : superChamberVec[0]->chambers()) {
105  Int_t layer_id = chamber->id().layer();
106  ME3IdsKey key3{region_id, station_id, layer_id};
107 
108  me_detail_pull_x_[key3] = bookHist1D(booker, key3, "pull_x", "Pull in X", 100, -3, 3);
109 
110  me_detail_pull_y_[key3] = bookHist1D(booker, key3, "pull_y", "Pull in Y", 100, -3, 3);
111 
112  } // chamber loop
113  } // end if
114  } // station loop
115  } // detail plot
116  } // region loop
117 
118  // NOTE Occupancy
119  booker.setCurrentFolder("MuonGEMRecHitsV/GEMRecHitsTask/Occupancy");
120  for (const auto& region : gem->regions()) {
121  Int_t region_id = region->region();
122 
123  me_occ_zr_[region_id] = bookZROccupancy(booker, region_id, "rechit", "RecHit");
124 
125  me_simhit_occ_eta_[region_id] = bookHist1D(booker,
126  region_id,
127  "muon_simhit_occ_eta",
128  "Muon SimHit Eta Occupancy",
129  50,
130  eta_range_[0],
131  eta_range_[1],
132  "|#eta|");
133 
134  me_rechit_occ_eta_[region_id] = bookHist1D(booker,
135  region_id,
136  "matched_rechit_occ_eta",
137  "Matched RecHit Eta Occupancy",
138  50,
139  eta_range_[0],
140  eta_range_[1],
141  "|#eta|");
142 
143  for (const auto& station : region->stations()) {
144  Int_t station_id = station->station();
145  ME2IdsKey key2{region_id, station_id};
146 
147  me_simhit_occ_phi_[key2] =
148  bookHist1D(booker, key2, "muon_simhit_occ_phi", "Muon SimHit Phi Occupancy", 51, -M_PI, M_PI, "#phi");
149 
150  me_rechit_occ_phi_[key2] =
151  bookHist1D(booker, key2, "matched_rechit_occ_phi", "Matched RecHit Phi Occupancy", 51, -M_PI, M_PI, "#phi");
152 
153  me_simhit_occ_det_[key2] = bookDetectorOccupancy(booker, key2, station, "muon_simhit", "Muon SimHit");
154 
155  me_rechit_occ_det_[key2] = bookDetectorOccupancy(booker, key2, station, "matched_rechit", "Matched RecHit");
156 
157  if (detail_plot_) {
158  const auto& superChamberVec = station->superChambers();
159  if (!superChamberVec.empty() && superChamberVec[0] != nullptr) {
160  for (const auto& chamber : superChamberVec[0]->chambers()) {
161  Int_t layer_id = chamber->id().layer();
162  ME3IdsKey key3{region_id, station_id, layer_id};
163 
164  me_detail_occ_xy_[key3] = bookXYOccupancy(booker, key3, "rechit", "RecHit");
165 
166  me_detail_occ_polar_[key3] = bookPolarOccupancy(booker, key3, "rechit", "RecHit");
167 
168  } // chamber loop
169  } // end if
170  } // detail plot
171  } // station loop
172  } // region_loop
173 }

References dqm::implementation::IBooker::book1D(), GEMBaseValidation::bookDetectorOccupancy(), GEMBaseValidation::bookHist1D(), GEMBaseValidation::bookPolarOccupancy(), GEMBaseValidation::bookXYOccupancy(), GEMBaseValidation::bookZROccupancy(), relativeConstraints::chamber, chambers, GEMBaseValidation::detail_plot_, GEMBaseValidation::eta_range_, GEMBaseValidation::initGeometry(), GEMBaseValidation::kLogCategory_, M_PI, me_cls_, me_detail_cls_, me_detail_occ_polar_, me_detail_occ_xy_, me_detail_pull_x_, me_detail_pull_y_, me_detail_residual_x_, me_detail_residual_y_, me_occ_zr_, me_pull_x_, me_pull_y_, me_rechit_occ_det_, me_rechit_occ_eta_, me_rechit_occ_phi_, me_residual_x_, me_residual_y_, me_simhit_occ_det_, me_simhit_occ_eta_, me_simhit_occ_phi_, HLT_2018_cff::region, dqm::implementation::NavigatorBase::setCurrentFolder(), singleTopDQM_cfi::setup, and relativeConstraints::station.

◆ matchRecHitAgainstSimHit()

Bool_t GEMRecHitValidation::matchRecHitAgainstSimHit ( GEMRecHitCollection::const_iterator  rechit,
Int_t  simhit_strip 
)
private

Definition at line 175 of file GEMRecHitValidation.cc.

175  {
176  Bool_t matched = false;
177 
178  Int_t cls = rechit->clusterSize();
179  Int_t rechit_first_strip = rechit->firstClusterStrip();
180 
181  if (cls == 1) {
182  matched = simhit_strip == rechit_first_strip;
183  } else {
184  Int_t rechit_last_strip = rechit_first_strip + cls - 1;
185  matched = (simhit_strip >= rechit_first_strip) and (simhit_strip <= rechit_last_strip);
186  }
187 
188  return matched;
189 }

References muonTagProbeFilters_cff::matched.

Referenced by analyze().

Member Data Documentation

◆ me_cls_

MonitorElement* GEMRecHitValidation::me_cls_
private

Definition at line 23 of file GEMRecHitValidation.h.

Referenced by analyze(), and bookHistograms().

◆ me_detail_cls_

MEMap3Ids GEMRecHitValidation::me_detail_cls_
private

Definition at line 24 of file GEMRecHitValidation.h.

Referenced by analyze(), and bookHistograms().

◆ me_detail_occ_polar_

MEMap3Ids GEMRecHitValidation::me_detail_occ_polar_
private

Definition at line 39 of file GEMRecHitValidation.h.

Referenced by analyze(), and bookHistograms().

◆ me_detail_occ_xy_

MEMap3Ids GEMRecHitValidation::me_detail_occ_xy_
private

Definition at line 38 of file GEMRecHitValidation.h.

Referenced by analyze(), and bookHistograms().

◆ me_detail_pull_x_

MEMap3Ids GEMRecHitValidation::me_detail_pull_x_
private

Definition at line 33 of file GEMRecHitValidation.h.

Referenced by analyze(), and bookHistograms().

◆ me_detail_pull_y_

MEMap3Ids GEMRecHitValidation::me_detail_pull_y_
private

Definition at line 34 of file GEMRecHitValidation.h.

Referenced by analyze(), and bookHistograms().

◆ me_detail_residual_x_

MEMap3Ids GEMRecHitValidation::me_detail_residual_x_
private

Definition at line 28 of file GEMRecHitValidation.h.

Referenced by analyze(), and bookHistograms().

◆ me_detail_residual_y_

MEMap3Ids GEMRecHitValidation::me_detail_residual_y_
private

Definition at line 29 of file GEMRecHitValidation.h.

Referenced by analyze(), and bookHistograms().

◆ me_occ_zr_

MEMap1Ids GEMRecHitValidation::me_occ_zr_
private

Definition at line 37 of file GEMRecHitValidation.h.

Referenced by analyze(), and bookHistograms().

◆ me_pull_x_

MEMap1Ids GEMRecHitValidation::me_pull_x_
private

Definition at line 31 of file GEMRecHitValidation.h.

Referenced by analyze(), and bookHistograms().

◆ me_pull_y_

MEMap1Ids GEMRecHitValidation::me_pull_y_
private

Definition at line 32 of file GEMRecHitValidation.h.

Referenced by analyze(), and bookHistograms().

◆ me_rechit_occ_det_

MEMap2Ids GEMRecHitValidation::me_rechit_occ_det_
private

Definition at line 47 of file GEMRecHitValidation.h.

Referenced by analyze(), and bookHistograms().

◆ me_rechit_occ_eta_

MEMap1Ids GEMRecHitValidation::me_rechit_occ_eta_
private

Definition at line 45 of file GEMRecHitValidation.h.

Referenced by analyze(), and bookHistograms().

◆ me_rechit_occ_phi_

MEMap2Ids GEMRecHitValidation::me_rechit_occ_phi_
private

Definition at line 46 of file GEMRecHitValidation.h.

Referenced by analyze(), and bookHistograms().

◆ me_residual_x_

MEMap1Ids GEMRecHitValidation::me_residual_x_
private

Definition at line 26 of file GEMRecHitValidation.h.

Referenced by analyze(), and bookHistograms().

◆ me_residual_y_

MEMap1Ids GEMRecHitValidation::me_residual_y_
private

Definition at line 27 of file GEMRecHitValidation.h.

Referenced by analyze(), and bookHistograms().

◆ me_simhit_occ_det_

MEMap2Ids GEMRecHitValidation::me_simhit_occ_det_
private

Definition at line 43 of file GEMRecHitValidation.h.

Referenced by analyze(), and bookHistograms().

◆ me_simhit_occ_eta_

MEMap1Ids GEMRecHitValidation::me_simhit_occ_eta_
private

Definition at line 41 of file GEMRecHitValidation.h.

Referenced by analyze(), and bookHistograms().

◆ me_simhit_occ_phi_

MEMap2Ids GEMRecHitValidation::me_simhit_occ_phi_
private

Definition at line 42 of file GEMRecHitValidation.h.

Referenced by analyze(), and bookHistograms().

◆ rechit_token_

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

Definition at line 19 of file GEMRecHitValidation.h.

Referenced by analyze(), and GEMRecHitValidation().

◆ simhit_token_

edm::EDGetTokenT<edm::PSimHitContainer> GEMRecHitValidation::simhit_token_
private

Definition at line 20 of file GEMRecHitValidation.h.

Referenced by analyze(), and GEMRecHitValidation().

muonTagProbeFilters_cff.matched
matched
Definition: muonTagProbeFilters_cff.py:62
GEMRecHitValidation::me_detail_pull_y_
MEMap3Ids me_detail_pull_y_
Definition: GEMRecHitValidation.h:34
ME2IdsKey
std::tuple< Int_t, Int_t > ME2IdsKey
Definition: GEMValidationUtils.h:16
FastTimerService_cff.range
range
Definition: FastTimerService_cff.py:34
GEMRecHitValidation::rechit_token_
edm::EDGetTokenT< GEMRecHitCollection > rechit_token_
Definition: GEMRecHitValidation.h:19
GEMBaseValidation::bookHist1D
dqm::impl::MonitorElement * bookHist1D(DQMStore::IBooker &booker, const T &key, const char *name, const char *title, Int_t nbinsx, Double_t xlow, Double_t xup, const char *x_title="", const char *y_title="Entries")
Definition: GEMBaseValidation.h:210
edm::Handle::product
T const * product() const
Definition: Handle.h:70
GEMBaseValidation::detail_plot_
Bool_t detail_plot_
Definition: GEMBaseValidation.h:90
GEMRecHitValidation::me_detail_occ_polar_
MEMap3Ids me_detail_occ_polar_
Definition: GEMRecHitValidation.h:39
PV3DBase::x
T x() const
Definition: PV3DBase.h:59
GEMDetId::region
constexpr int region() const
Definition: GEMDetId.h:165
GEMBaseValidation::bookDetectorOccupancy
dqm::impl::MonitorElement * bookDetectorOccupancy(DQMStore::IBooker &booker, const T &key, const GEMStation *station, const char *name_prfix, const char *title_prefix)
Definition: GEMBaseValidation.h:161
relativeConstraints.station
station
Definition: relativeConstraints.py:67
edm::Handle< edm::PSimHitContainer >
singleTopDQM_cfi.setup
setup
Definition: singleTopDQM_cfi.py:37
GEMRecHitValidation::me_detail_residual_x_
MEMap3Ids me_detail_residual_x_
Definition: GEMRecHitValidation.h:28
PV3DBase::z
T z() const
Definition: PV3DBase.h:61
GEMRecHitValidation::me_detail_pull_x_
MEMap3Ids me_detail_pull_x_
Definition: GEMRecHitValidation.h:33
GEMBaseValidation::isMuonSimHit
Bool_t isMuonSimHit(const PSimHit &)
Definition: GEMBaseValidation.cc:32
GEMBaseValidation::bookZROccupancy
dqm::impl::MonitorElement * bookZROccupancy(DQMStore::IBooker &booker, Int_t region_id, const char *name_prfix, const char *title_prefix)
Definition: GEMBaseValidation.cc:34
GEMRecHitValidation::me_pull_x_
MEMap1Ids me_pull_x_
Definition: GEMRecHitValidation.h:31
GEMRecHitValidation::me_detail_occ_xy_
MEMap3Ids me_detail_occ_xy_
Definition: GEMRecHitValidation.h:38
GEMBaseValidation::initGeometry
const GEMGeometry * initGeometry(const edm::EventSetup &)
Definition: GEMBaseValidation.cc:23
mathSSE::sqrt
T sqrt(T t)
Definition: SSEVec.h:19
dqm::impl::MonitorElement::Fill
void Fill(long long x)
Definition: MonitorElement.h:290
GEMBaseValidation::bookXYOccupancy
dqm::impl::MonitorElement * bookXYOccupancy(DQMStore::IBooker &booker, const T &key, const char *name_prefix, const char *title_prefix)
Definition: GEMBaseValidation.h:134
Point3DBase< float, GlobalTag >
GEMRecHitValidation::me_detail_cls_
MEMap3Ids me_detail_cls_
Definition: GEMRecHitValidation.h:24
GEMRecHitValidation::me_rechit_occ_det_
MEMap2Ids me_rechit_occ_det_
Definition: GEMRecHitValidation.h:47
edm::LogError
Definition: MessageLogger.h:183
GEMBaseValidation::GEMBaseValidation
GEMBaseValidation(const edm::ParameterSet &, std::string)
Definition: GEMBaseValidation.cc:10
GEMRecHitValidation::matchRecHitAgainstSimHit
Bool_t matchRecHitAgainstSimHit(GEMRecHitCollection::const_iterator, Int_t)
Definition: GEMRecHitValidation.cc:175
GEMBaseValidation::eta_range_
std::vector< Double_t > eta_range_
Definition: GEMBaseValidation.h:89
GEMDetId
Definition: GEMDetId.h:17
PV3DBase::eta
T eta() const
Definition: PV3DBase.h:73
PV3DBase::y
T y() const
Definition: PV3DBase.h:60
GEMRecHitValidation::me_simhit_occ_eta_
MEMap1Ids me_simhit_occ_eta_
Definition: GEMRecHitValidation.h:41
GEMRecHitValidation::simhit_token_
edm::EDGetTokenT< edm::PSimHitContainer > simhit_token_
Definition: GEMRecHitValidation.h:20
GEMRecHitValidation::me_residual_y_
MEMap1Ids me_residual_y_
Definition: GEMRecHitValidation.h:27
M_PI
#define M_PI
Definition: BXVectorInputProducer.cc:50
GEMRecHitValidation::me_rechit_occ_phi_
MEMap2Ids me_rechit_occ_phi_
Definition: GEMRecHitValidation.h:46
chambers
static char chambers[264][20]
Definition: ReadPGInfo.cc:243
GEMRecHitValidation::me_residual_x_
MEMap1Ids me_residual_x_
Definition: GEMRecHitValidation.h:26
GEMRecHitValidation::me_rechit_occ_eta_
MEMap1Ids me_rechit_occ_eta_
Definition: GEMRecHitValidation.h:45
gem
Definition: AMC13Event.h:6
GEMRecHitValidation::me_detail_residual_y_
MEMap3Ids me_detail_residual_y_
Definition: GEMRecHitValidation.h:29
GEMRecHitValidation::me_cls_
MonitorElement * me_cls_
Definition: GEMRecHitValidation.h:23
edm::RangeMap::range
std::pair< const_iterator, const_iterator > range
iterator range
Definition: RangeMap.h:50
GEMRecHitValidation::me_occ_zr_
MEMap1Ids me_occ_zr_
Definition: GEMRecHitValidation.h:37
GEMBaseValidation::bookPolarOccupancy
dqm::impl::MonitorElement * bookPolarOccupancy(DQMStore::IBooker &booker, const T &key, const char *name_prefix, const char *title_prefix)
Definition: GEMBaseValidation.h:146
BoundPlane
GEMRecHitValidation::me_pull_y_
MEMap1Ids me_pull_y_
Definition: GEMRecHitValidation.h:32
HLT_2018_cff.region
region
Definition: HLT_2018_cff.py:81479
relativeConstraints.chamber
chamber
Definition: relativeConstraints.py:53
ME3IdsKey
std::tuple< Int_t, Int_t, Int_t > ME3IdsKey
Definition: GEMValidationUtils.h:19
GEMGeometry
Definition: GEMGeometry.h:24
edm::HandleBase::isValid
bool isValid() const
Definition: HandleBase.h:70
GEMRecHitValidation::me_simhit_occ_det_
MEMap2Ids me_simhit_occ_det_
Definition: GEMRecHitValidation.h:43
GEMRecHitValidation::me_simhit_occ_phi_
MEMap2Ids me_simhit_occ_phi_
Definition: GEMRecHitValidation.h:42
PV3DBase::perp
T perp() const
Definition: PV3DBase.h:69
edm::InputTag
Definition: InputTag.h:15
PV3DBase::phi
Geom::Phi< T > phi() const
Definition: PV3DBase.h:66
muonDTDigis_cfi.pset
pset
Definition: muonDTDigis_cfi.py:27
GEMBaseValidation::getDetOccBinX
Int_t getDetOccBinX(Int_t chamber_id, Int_t layer_id)
Definition: GEMBaseValidation.cc:30
GEMBaseValidation::kLogCategory_
const std::string kLogCategory_
Definition: GEMBaseValidation.h:94