CMS 3D CMS Logo

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

#include <GEMSimHitValidation.h>

Inheritance diagram for GEMSimHitValidation:
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
 
 GEMSimHitValidation (const edm::ParameterSet &)
 
 ~GEMSimHitValidation () 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
 
 EDProducer (const EDProducer &)=delete
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
const EDProduceroperator= (const EDProducer &)=delete
 

Private Member Functions

std::tuple< Double_t, Double_t > getTOFRange (Int_t station_id)
 

Private Attributes

edm::ESGetToken< GEMGeometry, MuonGeometryRecordgeomToken_
 
edm::ESGetToken< GEMGeometry, MuonGeometryRecordgeomTokenBeginRun_
 
const Float_t kEnergyCF_ = 1e6f
 
MEMap3Ids me_detail_eloss_
 
MEMap3Ids me_detail_eloss_mu_
 
MEMap2Ids me_detail_occ_det_
 
MEMap2Ids me_detail_occ_det_mu_
 
MEMap3Ids me_detail_occ_xy_
 
MEMap1Ids me_detail_occ_zr_
 
MEMap3Ids me_detail_tof_
 
MEMap3Ids me_detail_tof_mu_
 
MEMap1Ids me_eloss_mu_
 
MEMap1Ids me_eloss_others_
 
MEMap3Ids me_occ_eta_mu_
 
MEMap3Ids me_occ_phi_mu_
 
MEMap3Ids me_occ_pid_
 
MEMap2Ids me_tof_mu_
 
MEMap2Ids me_tof_others_
 
edm::EDGetTokenT< edm::PSimHitContainersimhit_token_
 
std::vector< Double_t > tof_range_
 

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 >
using CacheTypes = CacheContexts< T... >
 
using GlobalCache = typename CacheTypes::GlobalCache
 
using HasAbility = AbilityChecker< T... >
 
using InputProcessBlockCache = typename CacheTypes::InputProcessBlockCache
 
using LuminosityBlockCache = typename CacheTypes::LuminosityBlockCache
 
using LuminosityBlockContext = LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCache >
 
using LuminosityBlockSummaryCache = typename CacheTypes::LuminosityBlockSummaryCache
 
using RunCache = typename CacheTypes::RunCache
 
using RunContext = RunContextT< RunCache, GlobalCache >
 
using RunSummaryCache = typename CacheTypes::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::MonitorElementbookPIDHist (DQMStore::IBooker &booker, const T &key, const char *name, const char *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 num_layers, Int_t chamber_id, Int_t layer_id)
 
Int_t getPidIdx (Int_t pid)
 
Bool_t isMuonSimHit (const PSimHit &)
 
Float_t toDegree (Float_t radian)
 
- 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_
 
edm::ESGetToken< GEMGeometry, MuonGeometryRecordgeomToken_
 
edm::ESGetToken< GEMGeometry, MuonGeometryRecordgeomTokenBeginRun_
 
const std::string kLogCategory_
 
const Int_t kMuonPDGId_ = 13
 
std::vector< Int_t > pid_list_
 
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 11 of file GEMSimHitValidation.h.

Constructor & Destructor Documentation

◆ GEMSimHitValidation()

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

Definition at line 5 of file GEMSimHitValidation.cc.

6  : GEMBaseValidation(pset, "GEMSimHitValidation") {
7  const auto& simhit_pset = pset.getParameterSet("gemSimHit");
8  const auto& simhit_tag = simhit_pset.getParameter<edm::InputTag>("inputTag");
9  simhit_token_ = consumes<edm::PSimHitContainer>(simhit_tag);
10 
11  tof_range_ = pset.getUntrackedParameter<std::vector<Double_t> >("TOFRange");
12  geomToken_ = esConsumes<GEMGeometry, MuonGeometryRecord>();
13  geomTokenBeginRun_ = esConsumes<GEMGeometry, MuonGeometryRecord, edm::Transition::BeginRun>();
14 }

References geomToken_, geomTokenBeginRun_, muonDTDigis_cfi::pset, simhit_token_, and tof_range_.

◆ ~GEMSimHitValidation()

GEMSimHitValidation::~GEMSimHitValidation ( )
override

Definition at line 16 of file GEMSimHitValidation.cc.

16 {}

Member Function Documentation

◆ analyze()

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

Implements GEMBaseValidation.

Definition at line 186 of file GEMSimHitValidation.cc.

186  {
187  const GEMGeometry* gem = &setup.getData(geomToken_);
188 
189  edm::Handle<edm::PSimHitContainer> simhit_container;
190  event.getByToken(simhit_token_, simhit_container);
191  if (not simhit_container.isValid()) {
192  edm::LogError(kLogCategory_) << "Cannot get GEMHits by Token simhitLabel" << std::endl;
193  return;
194  }
195 
196  for (const auto& simhit : *simhit_container.product()) {
197  const GEMDetId gemid(simhit.detUnitId());
198 
199  if (gem->idToDet(gemid) == nullptr) {
200  edm::LogError(kLogCategory_) << "SimHit did not matched with GEM Geometry." << std::endl;
201  continue;
202  }
203 
204  Int_t region_id = gemid.region();
205  Int_t station_id = gemid.station();
206  Int_t layer_id = gemid.layer();
207  Int_t chamber_id = gemid.chamber();
208  Int_t ieta = gemid.ieta();
209  Int_t num_layers = gemid.nlayers();
210 
211  ME2IdsKey key2{region_id, station_id};
212  ME3IdsKey key3{region_id, station_id, layer_id};
213 
214  GlobalPoint&& simhit_global_pos = gem->idToDet(gemid)->surface().toGlobal(simhit.localPosition());
215 
216  Float_t simhit_g_r = simhit_global_pos.perp();
217  Float_t simhit_g_x = simhit_global_pos.x();
218  Float_t simhit_g_y = simhit_global_pos.y();
219  Float_t simhit_g_abs_z = std::fabs(simhit_global_pos.z());
220  Float_t simhit_g_eta = std::fabs(simhit_global_pos.eta());
221  Float_t simhit_g_phi = toDegree(simhit_global_pos.phi());
222 
223  Float_t energy_loss = kEnergyCF_ * simhit.energyLoss();
224  energy_loss = energy_loss > 10 ? 9.9 : energy_loss;
225  Float_t tof = simhit.timeOfFlight();
226  Int_t pid = simhit.particleType();
227  Int_t pid_idx = getPidIdx(pid);
228 
229  // NOTE Fill MonitorElement
230  Int_t bin_x = getDetOccBinX(num_layers, chamber_id, layer_id);
231 
232  bool is_muon_simhit = isMuonSimHit(simhit);
233  if (is_muon_simhit) {
234  me_tof_mu_[key2]->Fill(tof);
235  me_eloss_mu_[station_id]->Fill(energy_loss);
236  me_occ_eta_mu_[key3]->Fill(simhit_g_eta);
237  me_occ_phi_mu_[key3]->Fill(simhit_g_phi);
238  } else {
239  me_tof_others_[key2]->Fill(tof);
240  me_eloss_others_[station_id]->Fill(energy_loss);
241  }
242 
243  me_occ_pid_[key3]->Fill(pid_idx);
244 
245  if (detail_plot_) {
246  me_detail_tof_[key3]->Fill(tof);
247  me_detail_eloss_[key3]->Fill(energy_loss);
248 
249  me_detail_occ_zr_[region_id]->Fill(simhit_g_abs_z, simhit_g_r);
250  me_detail_occ_det_[key2]->Fill(bin_x, ieta);
251  me_detail_occ_xy_[key3]->Fill(simhit_g_x, simhit_g_y);
252 
253  if (is_muon_simhit) {
254  me_detail_tof_mu_[key3]->Fill(tof);
255  me_detail_eloss_mu_[key3]->Fill(energy_loss);
256  me_detail_occ_det_mu_[key2]->Fill(bin_x, ieta);
257  }
258 
259  } // detail_plot
260  } // simhit loop
261 }

References GEMBaseValidation::detail_plot_, PV3DBase< T, PVType, FrameType >::eta(), geomToken_, GEMBaseValidation::getDetOccBinX(), GEMBaseValidation::getPidIdx(), LEDCalibrationChannels::ieta, GEMBaseValidation::isMuonSimHit(), edm::HandleBase::isValid(), kEnergyCF_, GEMBaseValidation::kLogCategory_, me_detail_eloss_, me_detail_eloss_mu_, me_detail_occ_det_, me_detail_occ_det_mu_, me_detail_occ_xy_, me_detail_occ_zr_, me_detail_tof_, me_detail_tof_mu_, me_eloss_mu_, me_eloss_others_, me_occ_eta_mu_, me_occ_phi_mu_, me_occ_pid_, me_tof_mu_, me_tof_others_, PV3DBase< T, PVType, FrameType >::perp(), PV3DBase< T, PVType, FrameType >::phi(), edm::Handle< T >::product(), singleTopDQM_cfi::setup, simhit_token_, GEMBaseValidation::toDegree(), PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().

◆ bookHistograms()

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

Implements DQMEDAnalyzer.

Definition at line 18 of file GEMSimHitValidation.cc.

18  {
19  const GEMGeometry* gem = &setup.getData(geomTokenBeginRun_);
20 
21  // NOTE Time of flight
22  booker.setCurrentFolder("MuonGEMHitsV/GEMHitsTask/TimeOfFlight");
23 
24  TString tof_xtitle = "Time of flight [ns]";
25  TString tof_ytitle = "Entries";
26 
27  for (const auto& region : gem->regions()) {
28  Int_t region_id = region->region();
29 
30  for (const auto& station : region->stations()) {
31  Int_t station_id = station->station();
32 
33  const auto [tof_min, tof_max] = getTOFRange(station_id);
34  ME2IdsKey key2{region_id, station_id};
35 
36  me_tof_mu_[key2] =
37  bookHist1D(booker, key2, "tof_muon", "SimHit TOF (Muon only)", 20, tof_min, tof_max, tof_xtitle, tof_ytitle);
38 
39  me_tof_others_[key2] = bookHist1D(
40  booker, key2, "tof_others", "SimHit TOF (Other Particles)", 20, tof_min, tof_max, tof_xtitle, tof_ytitle);
41  } // station loop
42  } // region loop
43 
44  if (detail_plot_) {
45  for (const auto& region : gem->regions()) {
46  Int_t region_id = region->region();
47 
48  for (const auto& station : region->stations()) {
49  Int_t station_id = station->station();
50 
51  const auto [tof_min, tof_max] = getTOFRange(station_id);
52  const auto& superChamberVec = station->superChambers();
53  if (superChamberVec.empty() || superChamberVec.front() == nullptr) {
54  edm::LogError(kLogCategory_) << "Super chambers missing or null for region = " << region_id
55  << " and station = " << station_id;
56  } else {
57  const GEMSuperChamber* super_chamber = superChamberVec.front();
58 
59  for (const auto& chamber : super_chamber->chambers()) {
60  Int_t layer_id = chamber->id().layer();
61  ME3IdsKey key3{region_id, station_id, layer_id};
62 
63  me_detail_tof_[key3] = bookHist1D(
64  booker, key3, "tof", "Time of Flight of Muon SimHits", 40, tof_min, tof_max, tof_xtitle, tof_ytitle);
65 
67  booker, key3, "tof_muon", "SimHit TOF (Muon only)", 40, tof_min, tof_max, tof_xtitle, tof_ytitle);
68  } // chamber loop
69  } // end else
70  } // station loop
71  } // region loop
72  } // detail plot
73 
74  // NOTE Energy Loss
75  booker.setCurrentFolder("MuonGEMHitsV/GEMHitsTask/EnergyLoss");
76 
77  TString eloss_xtitle = "Energy loss [eV]";
78  TString eloss_ytitle = "Entries / 0.5 keV";
79 
80  for (const auto& station : gem->regions()[0]->stations()) {
81  Int_t station_id = station->station();
82 
83  auto eloss_mu_name = TString::Format("eloss_muon_st%d", station_id);
84  auto eloss_mu_title = TString::Format("SimHit Energy Loss (Muon only) : Station %d", station_id);
85 
86  me_eloss_mu_[station_id] =
87  booker.book1D(eloss_mu_name, eloss_mu_title + ";" + eloss_xtitle + ";" + eloss_ytitle, 20, 0.0, 10.0);
88 
89  auto eloss_others_name = TString::Format("eloss_others_st%d", station_id);
90  auto eloss_others_title = TString::Format("SimHit Energy Loss (Other Particles) : Station %d", station_id);
91 
92  me_eloss_others_[station_id] =
93  booker.book1D(eloss_others_name, eloss_others_title + ";" + eloss_xtitle + ";" + eloss_ytitle, 20, 0.0, 10.0);
94  } // station loop
95 
96  if (detail_plot_) {
97  for (const auto& region : gem->regions()) {
98  Int_t region_id = region->region();
99  for (const auto& station : region->stations()) {
100  Int_t station_id = station->station();
101  const auto& superChamberVec = station->superChambers();
102  if (superChamberVec.empty() || superChamberVec.front() == nullptr) {
103  edm::LogError(kLogCategory_) << "Super chambers missing or null for region = " << region_id
104  << " and station = " << station_id;
105  } else {
106  for (const auto& chamber : superChamberVec.front()->chambers()) {
107  Int_t layer_id = chamber->id().layer();
108  ME3IdsKey key3{region_id, station_id, layer_id};
109 
110  me_detail_eloss_[key3] =
111  bookHist1D(booker, key3, "eloss", "SimHit Energy Loss", 60, 0.0, 6000.0, eloss_xtitle, eloss_ytitle);
112 
113  me_detail_eloss_mu_[key3] = bookHist1D(booker,
114  key3,
115  "eloss_muon",
116  "SimHit Energy Loss (Muon Only)",
117  60,
118  0.0,
119  6000.0,
120  eloss_xtitle,
121  eloss_ytitle);
122 
123  } // chamber loop
124  } // end else
125  } // station loop
126  } // region loop
127  } // detail plot
128 
129  // NOTE Occupancy
130  booker.setCurrentFolder("MuonGEMHitsV/GEMHitsTask/Occupancy");
131 
132  for (const auto& region : gem->regions()) {
133  Int_t region_id = region->region();
134 
135  if (detail_plot_)
136  me_detail_occ_zr_[region_id] = bookZROccupancy(booker, region_id, "simhit", "SimHit");
137 
138  for (const auto& station : region->stations()) {
139  Int_t station_id = station->station();
140  ME2IdsKey key2{region_id, station_id};
141 
142  if (detail_plot_) {
143  me_detail_occ_det_[key2] = bookDetectorOccupancy(booker, key2, station, "simhit", "SimHit");
144  me_detail_occ_det_mu_[key2] = bookDetectorOccupancy(booker, key2, station, "muon_simhit", "Muon SimHit");
145  }
146 
147  const auto& superChamberVec = station->superChambers();
148  if (superChamberVec.empty() || superChamberVec.front() == nullptr) {
149  edm::LogError(kLogCategory_) << "Super chambers missing or null for region = " << region_id
150  << " and station = " << station_id;
151  } else {
152  const GEMSuperChamber* super_chamber = superChamberVec.front();
153  for (const auto& chamber : super_chamber->chambers()) {
154  Int_t layer_id = chamber->id().layer();
155  ME3IdsKey key3{region_id, station_id, layer_id};
156 
157  me_occ_eta_mu_[key3] = bookHist1D(booker,
158  key3,
159  "muon_simhit_occ_eta",
160  "Muon SimHit Eta Occupancy",
161  16,
162  eta_range_[station_id * 2 + 0],
163  eta_range_[station_id * 2 + 1],
164  "#eta");
165 
166  me_occ_phi_mu_[key3] = bookHist1D(
167  booker, key3, "muon_simhit_occ_phi", "Muon SimHit Phi Occupancy", 36, -5, 355, "#phi [degrees]");
168 
169  me_occ_pid_[key3] = bookPIDHist(booker, key3, "simhit_occ_pid", "Number of entries for each paritcle");
170 
171  if (detail_plot_)
172  me_detail_occ_xy_[key3] = bookXYOccupancy(booker, key3, "simhit", "SimHit");
173  } // layer loop
174  } // end else
175  } // station loop
176  } // region loop
177 }

References dqm::implementation::IBooker::book1D(), GEMBaseValidation::bookDetectorOccupancy(), GEMBaseValidation::bookHist1D(), GEMBaseValidation::bookPIDHist(), GEMBaseValidation::bookXYOccupancy(), GEMBaseValidation::bookZROccupancy(), relativeConstraints::chamber, GEMSuperChamber::chambers(), GEMBaseValidation::detail_plot_, GEMBaseValidation::eta_range_, geomTokenBeginRun_, getTOFRange(), GEMBaseValidation::kLogCategory_, me_detail_eloss_, me_detail_eloss_mu_, me_detail_occ_det_, me_detail_occ_det_mu_, me_detail_occ_xy_, me_detail_occ_zr_, me_detail_tof_, me_detail_tof_mu_, me_eloss_mu_, me_eloss_others_, me_occ_eta_mu_, me_occ_phi_mu_, me_occ_pid_, me_tof_mu_, me_tof_others_, HLT_FULL_cff::region, dqm::implementation::NavigatorBase::setCurrentFolder(), singleTopDQM_cfi::setup, and relativeConstraints::station.

◆ getTOFRange()

std::tuple< Double_t, Double_t > GEMSimHitValidation::getTOFRange ( Int_t  station_id)
private

Definition at line 179 of file GEMSimHitValidation.cc.

179  {
180  UInt_t start_index = station_id * 2;
181  Double_t tof_min = tof_range_[start_index];
182  Double_t tof_max = tof_range_[start_index + 1];
183  return std::make_tuple(tof_min, tof_max);
184 }

References tof_range_.

Referenced by bookHistograms().

Member Data Documentation

◆ geomToken_

edm::ESGetToken<GEMGeometry, MuonGeometryRecord> GEMSimHitValidation::geomToken_
private

Definition at line 23 of file GEMSimHitValidation.h.

Referenced by analyze(), and GEMSimHitValidation().

◆ geomTokenBeginRun_

edm::ESGetToken<GEMGeometry, MuonGeometryRecord> GEMSimHitValidation::geomTokenBeginRun_
private

Definition at line 24 of file GEMSimHitValidation.h.

Referenced by bookHistograms(), and GEMSimHitValidation().

◆ kEnergyCF_

const Float_t GEMSimHitValidation::kEnergyCF_ = 1e6f
private

Definition at line 47 of file GEMSimHitValidation.h.

Referenced by analyze().

◆ me_detail_eloss_

MEMap3Ids GEMSimHitValidation::me_detail_eloss_
private

Definition at line 35 of file GEMSimHitValidation.h.

Referenced by analyze(), and bookHistograms().

◆ me_detail_eloss_mu_

MEMap3Ids GEMSimHitValidation::me_detail_eloss_mu_
private

Definition at line 36 of file GEMSimHitValidation.h.

Referenced by analyze(), and bookHistograms().

◆ me_detail_occ_det_

MEMap2Ids GEMSimHitValidation::me_detail_occ_det_
private

Definition at line 42 of file GEMSimHitValidation.h.

Referenced by analyze(), and bookHistograms().

◆ me_detail_occ_det_mu_

MEMap2Ids GEMSimHitValidation::me_detail_occ_det_mu_
private

Definition at line 43 of file GEMSimHitValidation.h.

Referenced by analyze(), and bookHistograms().

◆ me_detail_occ_xy_

MEMap3Ids GEMSimHitValidation::me_detail_occ_xy_
private

Definition at line 44 of file GEMSimHitValidation.h.

Referenced by analyze(), and bookHistograms().

◆ me_detail_occ_zr_

MEMap1Ids GEMSimHitValidation::me_detail_occ_zr_
private

Definition at line 41 of file GEMSimHitValidation.h.

Referenced by analyze(), and bookHistograms().

◆ me_detail_tof_

MEMap3Ids GEMSimHitValidation::me_detail_tof_
private

Definition at line 30 of file GEMSimHitValidation.h.

Referenced by analyze(), and bookHistograms().

◆ me_detail_tof_mu_

MEMap3Ids GEMSimHitValidation::me_detail_tof_mu_
private

Definition at line 31 of file GEMSimHitValidation.h.

Referenced by analyze(), and bookHistograms().

◆ me_eloss_mu_

MEMap1Ids GEMSimHitValidation::me_eloss_mu_
private

Definition at line 33 of file GEMSimHitValidation.h.

Referenced by analyze(), and bookHistograms().

◆ me_eloss_others_

MEMap1Ids GEMSimHitValidation::me_eloss_others_
private

Definition at line 34 of file GEMSimHitValidation.h.

Referenced by analyze(), and bookHistograms().

◆ me_occ_eta_mu_

MEMap3Ids GEMSimHitValidation::me_occ_eta_mu_
private

Definition at line 38 of file GEMSimHitValidation.h.

Referenced by analyze(), and bookHistograms().

◆ me_occ_phi_mu_

MEMap3Ids GEMSimHitValidation::me_occ_phi_mu_
private

Definition at line 39 of file GEMSimHitValidation.h.

Referenced by analyze(), and bookHistograms().

◆ me_occ_pid_

MEMap3Ids GEMSimHitValidation::me_occ_pid_
private

Definition at line 40 of file GEMSimHitValidation.h.

Referenced by analyze(), and bookHistograms().

◆ me_tof_mu_

MEMap2Ids GEMSimHitValidation::me_tof_mu_
private

Definition at line 28 of file GEMSimHitValidation.h.

Referenced by analyze(), and bookHistograms().

◆ me_tof_others_

MEMap2Ids GEMSimHitValidation::me_tof_others_
private

Definition at line 29 of file GEMSimHitValidation.h.

Referenced by analyze(), and bookHistograms().

◆ simhit_token_

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

Definition at line 22 of file GEMSimHitValidation.h.

Referenced by analyze(), and GEMSimHitValidation().

◆ tof_range_

std::vector<Double_t> GEMSimHitValidation::tof_range_
private

Definition at line 25 of file GEMSimHitValidation.h.

Referenced by GEMSimHitValidation(), and getTOFRange().

ME2IdsKey
std::tuple< Int_t, Int_t > ME2IdsKey
Definition: GEMValidationUtils.h:16
GEMSimHitValidation::tof_range_
std::vector< Double_t > tof_range_
Definition: GEMSimHitValidation.h:25
GEMSimHitValidation::me_tof_others_
MEMap2Ids me_tof_others_
Definition: GEMSimHitValidation.h:29
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:240
GEMSuperChamber::chambers
const std::vector< const GEMChamber * > & chambers() const
Return the chambers in the super chamber.
Definition: GEMSuperChamber.cc:23
edm::Handle::product
T const * product() const
Definition: Handle.h:70
GEMBaseValidation::detail_plot_
Bool_t detail_plot_
Definition: GEMBaseValidation.h:95
GEMSuperChamber
Definition: GEMSuperChamber.h:19
PV3DBase::x
T x() const
Definition: PV3DBase.h:59
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:168
relativeConstraints.station
station
Definition: relativeConstraints.py:67
GEMSimHitValidation::geomToken_
edm::ESGetToken< GEMGeometry, MuonGeometryRecord > geomToken_
Definition: GEMSimHitValidation.h:23
GEMSimHitValidation::me_detail_occ_xy_
MEMap3Ids me_detail_occ_xy_
Definition: GEMSimHitValidation.h:44
GEMSimHitValidation::me_occ_phi_mu_
MEMap3Ids me_occ_phi_mu_
Definition: GEMSimHitValidation.h:39
dqm::implementation::NavigatorBase::setCurrentFolder
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:32
GEMSimHitValidation::me_detail_eloss_
MEMap3Ids me_detail_eloss_
Definition: GEMSimHitValidation.h:35
GEMSimHitValidation::me_detail_tof_mu_
MEMap3Ids me_detail_tof_mu_
Definition: GEMSimHitValidation.h:31
edm::Handle< edm::PSimHitContainer >
singleTopDQM_cfi.setup
setup
Definition: singleTopDQM_cfi.py:37
GEMSimHitValidation::me_eloss_others_
MEMap1Ids me_eloss_others_
Definition: GEMSimHitValidation.h:34
PV3DBase::z
T z() const
Definition: PV3DBase.h:61
GEMSimHitValidation::me_tof_mu_
MEMap2Ids me_tof_mu_
Definition: GEMSimHitValidation.h:28
GEMBaseValidation::isMuonSimHit
Bool_t isMuonSimHit(const PSimHit &)
Definition: GEMBaseValidation.cc:28
GEMBaseValidation::bookZROccupancy
dqm::impl::MonitorElement * bookZROccupancy(DQMStore::IBooker &booker, Int_t region_id, const char *name_prfix, const char *title_prefix)
Definition: GEMBaseValidation.cc:42
GEMSimHitValidation::me_detail_occ_det_mu_
MEMap2Ids me_detail_occ_det_mu_
Definition: GEMSimHitValidation.h:43
GEMSimHitValidation::me_detail_occ_det_
MEMap2Ids me_detail_occ_det_
Definition: GEMSimHitValidation.h:42
GEMBaseValidation::bookXYOccupancy
dqm::impl::MonitorElement * bookXYOccupancy(DQMStore::IBooker &booker, const T &key, const char *name_prefix, const char *title_prefix)
Definition: GEMBaseValidation.h:141
Point3DBase< float, GlobalTag >
GEMSimHitValidation::geomTokenBeginRun_
edm::ESGetToken< GEMGeometry, MuonGeometryRecord > geomTokenBeginRun_
Definition: GEMSimHitValidation.h:24
GEMSimHitValidation::me_detail_eloss_mu_
MEMap3Ids me_detail_eloss_mu_
Definition: GEMSimHitValidation.h:36
LEDCalibrationChannels.ieta
ieta
Definition: LEDCalibrationChannels.py:63
GEMBaseValidation::GEMBaseValidation
GEMBaseValidation(const edm::ParameterSet &, std::string)
Definition: GEMBaseValidation.cc:10
GEMBaseValidation::eta_range_
std::vector< Double_t > eta_range_
Definition: GEMBaseValidation.h:94
GEMDetId
Definition: GEMDetId.h:18
PV3DBase::eta
T eta() const
Definition: PV3DBase.h:73
PV3DBase::y
T y() const
Definition: PV3DBase.h:60
HLT_FULL_cff.region
region
Definition: HLT_FULL_cff.py:88286
GEMSimHitValidation::me_occ_pid_
MEMap3Ids me_occ_pid_
Definition: GEMSimHitValidation.h:40
GEMBaseValidation::getPidIdx
Int_t getPidIdx(Int_t pid)
Definition: GEMBaseValidation.cc:38
GEMSimHitValidation::me_occ_eta_mu_
MEMap3Ids me_occ_eta_mu_
Definition: GEMSimHitValidation.h:38
edm::LogError
Log< level::Error, false > LogError
Definition: MessageLogger.h:123
gem
Definition: AMC13Event.h:6
GEMSimHitValidation::getTOFRange
std::tuple< Double_t, Double_t > getTOFRange(Int_t station_id)
Definition: GEMSimHitValidation.cc:179
GEMBaseValidation::bookPIDHist
dqm::impl::MonitorElement * bookPIDHist(DQMStore::IBooker &booker, const T &key, const char *name, const char *title)
Definition: GEMBaseValidation.h:217
GEMSimHitValidation::me_detail_occ_zr_
MEMap1Ids me_detail_occ_zr_
Definition: GEMSimHitValidation.h:41
GEMBaseValidation::toDegree
Float_t toDegree(Float_t radian)
Definition: GEMBaseValidation.cc:30
GEMSimHitValidation::me_detail_tof_
MEMap3Ids me_detail_tof_
Definition: GEMSimHitValidation.h:30
relativeConstraints.chamber
chamber
Definition: relativeConstraints.py:53
ME3IdsKey
std::tuple< Int_t, Int_t, Int_t > ME3IdsKey
Definition: GEMValidationUtils.h:19
GEMSimHitValidation::simhit_token_
edm::EDGetTokenT< edm::PSimHitContainer > simhit_token_
Definition: GEMSimHitValidation.h:22
GEMGeometry
Definition: GEMGeometry.h:24
edm::HandleBase::isValid
bool isValid() const
Definition: HandleBase.h:70
PV3DBase::perp
T perp() const
Definition: PV3DBase.h:69
edm::InputTag
Definition: InputTag.h:15
GEMBaseValidation::getDetOccBinX
Int_t getDetOccBinX(Int_t num_layers, Int_t chamber_id, Int_t layer_id)
Definition: GEMBaseValidation.cc:24
PV3DBase::phi
Geom::Phi< T > phi() const
Definition: PV3DBase.h:66
GEMSimHitValidation::kEnergyCF_
const Float_t kEnergyCF_
Definition: GEMSimHitValidation.h:47
muonDTDigis_cfi.pset
pset
Definition: muonDTDigis_cfi.py:27
dqm::implementation::IBooker::book1D
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98
GEMBaseValidation::kLogCategory_
const std::string kLogCategory_
Definition: GEMBaseValidation.h:99
GEMSimHitValidation::me_eloss_mu_
MEMap1Ids me_eloss_mu_
Definition: GEMSimHitValidation.h:33