8 : topFolderName_(conf.getParameter<
std::
string>(
"TopFolderName")),
9 hcalDDDRecConstantsToken_{esConsumes<HcalDDDRecConstants, HcalRecNumberingRecord, edm::Transition::BeginRun>()},
10 caloGeometryRunToken_{esConsumes<CaloGeometry, CaloGeometryRecord, edm::Transition::BeginRun>()},
11 caloGeometryEventToken_{esConsumes<CaloGeometry, CaloGeometryRecord>()},
12 hcalTopologyToken_{esConsumes<HcalTopology, HcalRecNumberingRecord>()},
13 hcalChannelQualityToken_{esConsumes<HcalChannelQuality, HcalChannelQualityRcd>(
edm::ESInputTag(
"",
"withTopo"))},
14 hcalSeverityLevelComputerToken_{esConsumes<HcalSeverityLevelComputer, HcalSeverityLevelComputerRcd>()} {
16 outputFile_ = conf.getUntrackedParameter<
std::string>(
"outputFile",
"myfile.root");
18 if (!outputFile_.empty()) {
19 edm::LogInfo(
"OutputInfo") <<
" Hcal RecHit Task histograms will be saved to '" << outputFile_.c_str() <<
"'";
21 edm::LogInfo(
"OutputInfo") <<
" Hcal RecHit Task histograms will NOT be saved";
26 hcalselector_ = conf.getUntrackedParameter<
std::string>(
"hcalselector",
"all");
27 ecalselector_ = conf.getUntrackedParameter<
std::string>(
"ecalselector",
"yes");
28 eventype_ = conf.getUntrackedParameter<
std::string>(
"eventype",
"single");
29 sign_ = conf.getUntrackedParameter<
std::string>(
"sign",
"*");
33 hep17_ = conf.getUntrackedParameter<
bool>(
"hep17");
36 tok_hbhe_ = consumes<HBHERecHitCollection>(conf.getUntrackedParameter<
edm::InputTag>(
"HBHERecHitCollectionLabel"));
37 tok_hf_ = consumes<HFRecHitCollection>(conf.getUntrackedParameter<
edm::InputTag>(
"HFRecHitCollectionLabel"));
38 tok_ho_ = consumes<HORecHitCollection>(conf.getUntrackedParameter<
edm::InputTag>(
"HORecHitCollectionLabel"));
45 if (hcalselector_ ==
"noise")
47 if (hcalselector_ ==
"HB")
49 if (hcalselector_ ==
"HE")
51 if (hcalselector_ ==
"HO")
53 if (hcalselector_ ==
"HF")
55 if (hcalselector_ ==
"all")
57 if (hcalselector_ ==
"ZS")
61 if (eventype_ ==
"multi")
108 int NphiMax = hcons.
getNPhi(0);
110 NphiMax = (hcons.
getNPhi(1) > NphiMax ? hcons.
getNPhi(1) : NphiMax);
111 NphiMax = (hcons.
getNPhi(2) > NphiMax ? hcons.
getNPhi(2) : NphiMax);
112 NphiMax = (hcons.
getNPhi(3) > NphiMax ? hcons.
getNPhi(3) : NphiMax);
151 sprintf(
histo,
"N_HB");
160 sprintf(
histo,
"N_HE");
169 sprintf(
histo,
"N_HO");
178 sprintf(
histo,
"N_HF");
196 sprintf(
histo,
"emap_HO");
205 sprintf(
histo,
"emean_vs_ieta_M0_HB%d",
depth);
209 sprintf(
histo,
"emean_vs_ieta_M3_HB%d",
depth);
217 sprintf(
histo,
"emean_vs_ieta_M0_HE%d",
depth);
221 sprintf(
histo,
"emean_vs_ieta_M3_HE%d",
depth);
228 sprintf(
histo,
"emean_vs_ieta_HEP17_depth%d",
depth);
232 sprintf(
histo,
"emean_vs_ieta_M0_HEP17_depth%d",
depth);
236 sprintf(
histo,
"emean_vs_ieta_M3_HEP17_depth%d",
depth);
246 sprintf(
histo,
"emean_vs_ieta_HO");
264 sprintf(
histo,
"occupancy_map_HO");
275 sprintf(
histo,
"occupancy_vs_ieta_HB%d",
depth);
277 sprintf(
histo,
"nrechits_vs_iphi_HBP_d%d",
depth);
279 sprintf(
histo,
"nrechits_vs_iphi_HBM_d%d",
depth);
284 sprintf(
histo,
"occupancy_vs_ieta_HE%d",
depth);
286 sprintf(
histo,
"nrechits_vs_iphi_HEP_d%d",
depth);
288 sprintf(
histo,
"nrechits_vs_iphi_HEM_d%d",
depth);
292 sprintf(
histo,
"occupancy_vs_ieta_HO");
294 sprintf(
histo,
"nrechits_vs_iphi_HOP");
296 sprintf(
histo,
"nrechits_vs_iphi_HOM");
300 sprintf(
histo,
"occupancy_vs_ieta_HF%d",
depth);
302 sprintf(
histo,
"nrechits_vs_iphi_HFP_d%d",
depth);
304 sprintf(
histo,
"nrechits_vs_iphi_HFM_d%d",
depth);
309 sprintf(
histo,
"HcalRecHitTask_RecHit_StatusWord_HB");
312 sprintf(
histo,
"HcalRecHitTask_RecHit_StatusWord_HE");
315 sprintf(
histo,
"HcalRecHitTask_RecHit_StatusWord_HF");
318 sprintf(
histo,
"HcalRecHitTask_RecHit_StatusWord_HO");
322 sprintf(
histo,
"HcalRecHitTask_RecHit_Aux_StatusWord_HB");
325 sprintf(
histo,
"HcalRecHitTask_RecHit_Aux_StatusWord_HE");
328 sprintf(
histo,
"HcalRecHitTask_RecHit_Aux_StatusWord_HF");
331 sprintf(
histo,
"HcalRecHitTask_RecHit_Aux_StatusWord_HO");
337 sprintf(
histo,
"HcalRecHitTask_RecHit_StatusWordCorr_HB");
340 sprintf(
histo,
"HcalRecHitTask_RecHit_StatusWordCorr_HE");
347 sprintf(
histo,
"HcalRecHitTask_En_rechits_cone_profile_vs_ieta_all_depths");
350 sprintf(
histo,
"HcalRecHitTask_En_rechits_cone_profile_vs_ieta_all_depths_E");
353 sprintf(
histo,
"HcalRecHitTask_En_rechits_cone_profile_vs_ieta_all_depths_EH");
362 sprintf(
histo,
"HcalRecHitTask_severityLevel_HB");
365 sprintf(
histo,
"HcalRecHitTask_energy_of_rechits_HB");
368 sprintf(
histo,
"HcalRecHitTask_cleaned_energy_of_rechits_HB");
371 sprintf(
histo,
"HcalRecHitTask_energy_of_rechits_M0_HB");
374 sprintf(
histo,
"HcalRecHitTask_energy_of_rechits_M3_HB");
377 sprintf(
histo,
"HcalRecHitTask_energy_of_rechits_M2vM0_HB");
380 sprintf(
histo,
"HcalRecHitTask_energy_of_rechits_M3vM0_HB");
383 sprintf(
histo,
"HcalRecHitTask_energy_of_rechits_M3vM2_HB");
386 sprintf(
histo,
"HcalRecHitTask_M2Log10Chi2_of_rechits_HB");
389 sprintf(
histo,
"HcalRecHitTask_timing_HB");
393 sprintf(
histo,
"HcalRecHitTask_timing_vs_energy_Low_HB");
396 sprintf(
histo,
"HcalRecHitTask_timing_vs_energy_HB");
399 sprintf(
histo,
"HcalRecHitTask_timing_vs_energy_High_HB");
402 sprintf(
histo,
"HcalRecHitTask_timing_vs_energy_profile_Low_HB");
405 sprintf(
histo,
"HcalRecHitTask_timing_vs_energy_profile_HB");
408 sprintf(
histo,
"HcalRecHitTask_Log10Chi2_vs_energy_profile_HB");
411 sprintf(
histo,
"HcalRecHitTask_timing_vs_energy_profile_High_HB");
419 sprintf(
histo,
"HcalRecHitTask_severityLevel_HE");
422 sprintf(
histo,
"HcalRecHitTask_energy_of_rechits_HE");
425 sprintf(
histo,
"HcalRecHitTask_cleaned_energy_of_rechits_HE");
428 sprintf(
histo,
"HcalRecHitTask_energy_of_rechits_M0_HE");
431 sprintf(
histo,
"HcalRecHitTask_energy_of_rechits_M3_HE");
435 sprintf(
histo,
"HcalRecHitTask_energy_of_rechits_HEP17");
438 sprintf(
histo,
"HcalRecHitTask_energy_of_rechits_M0_HEP17");
441 sprintf(
histo,
"HcalRecHitTask_energy_of_rechits_M3_HEP17");
444 sprintf(
histo,
"HcalRecHitTask_energy_of_rechits_HEP17_depth%d",
depth);
447 sprintf(
histo,
"HcalRecHitTask_energy_of_rechits_M0_HEP17_depth%d",
depth);
450 sprintf(
histo,
"HcalRecHitTask_energy_of_rechits_M3_HEP17_depth%d",
depth);
455 sprintf(
histo,
"HcalRecHitTask_energy_of_rechits_M2vM0_HE");
458 sprintf(
histo,
"HcalRecHitTask_energy_of_rechits_M3vM0_HE");
461 sprintf(
histo,
"HcalRecHitTask_energy_of_rechits_M3vM2_HE");
464 sprintf(
histo,
"HcalRecHitTask_M2Log10Chi2_of_rechits_HE");
467 sprintf(
histo,
"HcalRecHitTask_timing_HE");
470 sprintf(
histo,
"HcalRecHitTask_timing_vs_energy_Low_HE");
473 sprintf(
histo,
"HcalRecHitTask_timing_vs_energy_HE");
476 sprintf(
histo,
"HcalRecHitTask_timing_vs_energy_profile_Low_HE");
479 sprintf(
histo,
"HcalRecHitTask_timing_vs_energy_profile_HE");
482 sprintf(
histo,
"HcalRecHitTask_Log10Chi2_vs_energy_profile_HE");
491 sprintf(
histo,
"HcalRecHitTask_severityLevel_HO");
494 sprintf(
histo,
"HcalRecHitTask_energy_of_rechits_HO");
497 sprintf(
histo,
"HcalRecHitTask_cleaned_energy_of_rechits_HO");
500 sprintf(
histo,
"HcalRecHitTask_timing_HO");
503 sprintf(
histo,
"HcalRecHitTask_timing_vs_energy_HO");
506 sprintf(
histo,
"HcalRecHitTask_timing_vs_energy_High_HO");
509 sprintf(
histo,
"HcalRecHitTask_timing_vs_energy_profile_HO");
512 sprintf(
histo,
"HcalRecHitTask_timing_vs_energy_profile_High_HO");
521 sprintf(
histo,
"HcalRecHitTask_severityLevel_HF");
524 sprintf(
histo,
"HcalRecHitTask_energy_of_rechits_HF");
527 sprintf(
histo,
"HcalRecHitTask_cleaned_energy_of_rechits_HF");
530 sprintf(
histo,
"HcalRecHitTask_timing_HF");
533 sprintf(
histo,
"HcalRecHitTask_timing_vs_energy_Low_HF");
536 sprintf(
histo,
"HcalRecHitTask_timing_vs_energy_HF");
539 sprintf(
histo,
"HcalRecHitTask_timing_vs_energy_profile_Low_HF");
542 sprintf(
histo,
"HcalRecHitTask_timing_vs_energy_profile_HF");
555 int nrechitsThresh = 0;
558 double eEcalCone = 0.;
565 double etaHot = 99999.;
566 double phiHot = 99999.;
618 for (
unsigned int i = 0;
i <
cen.size();
i++) {
633 bool isHEP17 = (sub == 2) && (
iphi >= 63) && (iphi <= 66) && (ieta > 0) && (
hep17_);
741 unsigned int sw27 = 27;
742 unsigned int sw13 = 13;
744 uint32_t statadd27 = 0x1 << sw27;
745 uint32_t statadd13 = 0x1 << sw13;
750 if (stwd & statadd27)
752 if (stwd & statadd13)
757 }
else if (sub == 2) {
761 for (
unsigned int isw = 0; isw < 32; isw++) {
762 statadd = 0x1 << (isw);
763 if (stwd & statadd) {
776 for (
unsigned int isw = 0; isw < 32; isw++) {
777 statadd = 0x1 << (isw);
778 if (auxstwd & statadd) {
805 double clusEta = 999.;
806 double clusPhi = 999.;
809 double HcalCone = 0.;
821 for (
unsigned int i = 0;
i <
cen.size();
i++) {
831 double chi2_log10 = 9.99;
833 chi2_log10 = log10(
chi2);
838 bool isHEP17 = (sub == 2) && (
iphi >= 63) && (iphi <= 66) && (ieta > 0) && (
hep17_);
842 double rhot =
dR(etaHot, phiHot,
eta,
phi);
843 if (rhot < partR && en > 1.) {
844 clusEta = (clusEta * clusEn +
eta * en) / (clusEn + en);
845 clusPhi =
phi12(clusPhi, clusEn,
phi, en);
980 double eta = cellGeometry->getPosition(cell).eta();
981 double phi = cellGeometry->getPosition(cell).phi();
982 double zc = cellGeometry->getPosition(cell).z();
983 int sub = cell.subdet();
984 int depth = cell.depth();
985 int inteta = cell.ieta();
986 int intphi = cell.iphi();
987 double en =
j->energy();
988 double enM0 =
j->eraw();
989 double enM3 =
j->eaux();
990 double chi2 =
j->chi2();
991 double t =
j->time();
992 int stwd =
j->flags();
993 int auxstwd =
j->aux();
1002 if ((
iz > 0 &&
eta > 0.) || (
iz < 0 &&
eta < 0.) ||
iz == 0) {
1003 csub.push_back(sub);
1005 cenM0.push_back(enM0);
1006 cenM3.push_back(enM3);
1011 cieta.push_back(inteta);
1012 ciphi.push_back(intphi);
1015 cstwd.push_back(stwd);
1029 auto cellGeometry = (
geometry->getSubdetectorGeometry(cell))->getGeometry(cell);
1030 double eta = cellGeometry->getPosition().eta();
1031 double phi = cellGeometry->getPosition().phi();
1032 double zc = cellGeometry->getPosition().z();
1033 int sub = cell.subdet();
1034 int depth = cell.depth();
1035 int inteta = cell.ieta();
1036 int intphi = cell.iphi();
1037 double en =
j->energy();
1041 double t =
j->time();
1042 int stwd =
j->flags();
1043 int auxstwd =
j->aux();
1050 if ((
iz > 0 &&
eta > 0.) || (
iz < 0 &&
eta < 0.) ||
iz == 0) {
1051 csub.push_back(sub);
1053 cenM0.push_back(enM0);
1054 cenM3.push_back(enM3);
1059 cieta.push_back(inteta);
1060 ciphi.push_back(intphi);
1063 cstwd.push_back(stwd);
1077 auto cellGeometry = (
geometry->getSubdetectorGeometry(cell))->getGeometry(cell);
1078 double eta = cellGeometry->getPosition().eta();
1079 double phi = cellGeometry->getPosition().phi();
1080 double zc = cellGeometry->getPosition().z();
1081 int sub = cell.subdet();
1082 int depth = cell.depth();
1083 int inteta = cell.ieta();
1084 int intphi = cell.iphi();
1085 double t =
j->time();
1086 double en =
j->energy();
1090 int stwd =
j->flags();
1091 int auxstwd =
j->aux();
1098 if ((
iz > 0 &&
eta > 0.) || (
iz < 0 &&
eta < 0.) ||
iz == 0) {
1099 csub.push_back(sub);
1101 cenM0.push_back(enM0);
1102 cenM3.push_back(enM3);
1107 cieta.push_back(inteta);
1108 ciphi.push_back(intphi);
1111 cstwd.push_back(stwd);
1121 double PI = 3.1415926535898;
1122 double deltaphi = phi1 - phi2;
1124 deltaphi = phi2 - phi1;
1126 if (deltaphi >
PI) {
1127 deltaphi = 2. *
PI - deltaphi;
1130 double tmp =
sqrt(deltaeta * deltaeta + deltaphi * deltaphi);
1138 double PI = 3.1415926535898;
1142 if (a1 > 0.5 *
PI &&
a2 < 0.)
1144 if (
a2 > 0.5 *
PI && a1 < 0.)
1146 tmp = (a1 * en1 +
a2 * en2) / (en1 + en2);
1157 double PI = 3.1415926535898;
1160 double tmp =
a2 - a1;
1176 const uint32_t recHitFlag =
hit->flags();
MonitorElement * nrechits_vs_iphi_HOP
MonitorElement * sevLvl_HF
std::vector< MonitorElement * > emean_vs_ieta_HEP17M3
bool getMergePositionFlag() const
MonitorElement * meTEprofileHB_High
MonitorElement * RecHit_StatusWord_HE
std::vector< int > csevlev
MonitorElement * meRecHitsM2Chi2HB
std::pair< int, int > getEtaRange(const int &i) const
MonitorElement * meTimeHF
std::vector< double > cphi
std::vector< int > hcalHOSevLvlVec
double dR(double eta1, double phi1, double eta2, double phi2)
MonitorElement * RecHit_StatusWord_HF
MonitorElement * meRecHitsEnergyM3vM2HE
std::vector< MonitorElement * > Nho
T const & getData(const ESGetToken< T, R > &iToken) const noexcept(false)
std::vector< MonitorElement * > emean_vs_ieta_HBM3
MonitorElement * sevLvl_HE
std::vector< MonitorElement * > occupancy_vs_ieta_HB
virtual void setCurrentFolder(std::string const &fullpath)
MonitorElement * RecHit_Aux_StatusWord_HO
double dPhiWsign(double phi1, double phi2)
MonitorElement * meTE_Low_HE
int getNPhi(const int &type) const
MonitorElement * meRecHitsEnergyHEM3
std::vector< int > cdepth
std::vector< MonitorElement * > occupancy_map_HE
const HcalTopology * theHcalTopology
int hcalSevLvl(const CaloRecHit *hit)
std::vector< T >::const_iterator const_iterator
edm::ESGetToken< HcalChannelQuality, HcalChannelQualityRcd > hcalChannelQualityToken_
std::vector< int > hcalHBSevLvlVec
MonitorElement * occupancy_map_HO
std::vector< MonitorElement * > occupancy_map_HF
std::vector< double > ceta
MonitorElement * meEnConeEtaProfile_EH
void analyze(edm::Event const &ev, edm::EventSetup const &) override
std::vector< int > hcalHESevLvlVec
double phi12(double phi1, double en1, double phi2, double en2)
MonitorElement * meRecHitsEnergyM3vM0HE
std::vector< MonitorElement * > Nhe
MonitorElement * meTE_Low_HB
MonitorElement * meTEprofileHF_Low
const HcalSeverityLevelComputer * theHcalSevLvlComputer
std::vector< MonitorElement * > Nhf
const Item * getValues(DetId fId, bool throwOnFail=true) const
MonitorElement * meRecHitsEnergyM2vM0HB
std::vector< MonitorElement * > nrechits_vs_iphi_HEP
MonitorElement * sevLvl_HO
virtual void fillRecHitsTmp(int subdet_, edm::Event const &ev)
std::vector< MonitorElement * > emean_vs_ieta_HEP17
std::vector< MonitorElement * > emean_vs_ieta_HBM0
MonitorElement * meRecHitsEnergyM2vM0HE
MonitorElement * book1DD(TString const &name, TString const &title, int nchX, double lowX, double highX, FUNC onbooking=NOOP())
std::vector< MonitorElement * > occupancy_vs_ieta_HF
std::vector< MonitorElement * > occupancy_vs_ieta_HE
std::vector< MonitorElement * > emean_vs_ieta_HB
edm::ESGetToken< CaloGeometry, CaloGeometryRecord > caloGeometryRunToken_
HcalDetId idFront(const HcalDetId &id) const
MonitorElement * bookProfile(TString const &name, TString const &title, int nchX, double lowX, double highX, int, double lowY, double highY, char const *option="s", FUNC onbooking=NOOP())
const HcalChannelQuality * theHcalChStatus
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
std::vector< MonitorElement * > occupancy_map_HB
MonitorElement * meEnConeEtaProfile_E
edm::ESGetToken< CaloGeometry, CaloGeometryRecord > caloGeometryEventToken_
std::vector< MonitorElement * > emap
std::vector< MonitorElement * > nrechits_vs_iphi_HFP
MonitorElement * meTEprofileHO
MonitorElement * meTEprofileHB
edm::EDGetTokenT< HORecHitCollection > tok_ho_
std::vector< double > cchi2
MonitorElement * meLog10Chi2profileHE
std::vector< MonitorElement * > nrechits_vs_iphi_HFM
MonitorElement * meRecHitsEnergyHBM0
MonitorElement * meTE_High_HO
MonitorElement * meRecHitsEnergyHO
MonitorElement * meRecHitsM2Chi2HE
std::vector< uint32_t > cauxstwd
MonitorElement * meRecHitsEnergyHEM0
MonitorElement * occupancy_vs_ieta_HO
#define DEFINE_FWK_MODULE(type)
MonitorElement * meTEprofileHE_Low
MonitorElement * RecHit_StatusWord_HO
const_iterator begin() const
MonitorElement * meRecHitsEnergyHB
std::vector< MonitorElement * > emean_vs_ieta_HE
MonitorElement * nrechits_vs_iphi_HOM
MonitorElement * emean_vs_ieta_HO
int getMaxDepth(const int &type) const
MonitorElement * sevLvl_HB
std::vector< MonitorElement * > emean_vs_ieta_HEP17M0
void dqmBeginRun(const edm::Run &run, const edm::EventSetup &) override
uint32_t getValue() const
edm::EDGetTokenT< HBHERecHitCollection > tok_hbhe_
const_iterator end() const
std::vector< MonitorElement * > nrechits_vs_iphi_HBP
MonitorElement * meTimeHE
std::vector< MonitorElement * > nrechits_vs_iphi_HEM
Log< level::Info, false > LogInfo
MonitorElement * meTimeHO
MonitorElement * meRecHitsEnergyHF
std::vector< double > cenM3
HcalRecHitsAnalyzer(edm::ParameterSet const &conf)
MonitorElement * meEnConeEtaProfile
std::vector< MonitorElement * > emean_vs_ieta_HEM3
std::string topFolderName_
MonitorElement * meRecHitsCleanedEnergyHF
MonitorElement * meTEprofileHE
std::vector< uint32_t > cstwd
std::vector< MonitorElement * > meRecHitsEnergyHEP17
MonitorElement * RecHit_Aux_StatusWord_HB
unsigned int getHxSize(const int type) const
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
std::vector< MonitorElement * > emean_vs_ieta_HF
MonitorElement * meRecHitsEnergyM3vM2HB
edm::EDGetTokenT< HFRecHitCollection > tok_hf_
std::vector< MonitorElement * > meRecHitsEnergyHEP17M0
MonitorElement * meLog10Chi2profileHB
std::vector< MonitorElement * > nrechits_vs_iphi_HBM
edm::ESGetToken< HcalDDDRecConstants, HcalRecNumberingRecord > hcalDDDRecConstantsToken_
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
MonitorElement * meRecHitsCleanedEnergyHB
MonitorElement * meTE_High_HB
std::vector< int > hcalHFSevLvlVec
MonitorElement * RecHit_StatusWord_HB
MonitorElement * meTEprofileHO_High
MonitorElement * meTEprofileHB_Low
int getSeverityLevel(const DetId &myid, const uint32_t &myflag, const uint32_t &mystatus) const
std::vector< MonitorElement * > Nhb
MonitorElement * meRecHitsCleanedEnergyHE
std::vector< double > ctime
std::vector< double > cen
MonitorElement * meRecHitsEnergyM3vM0HB
MonitorElement * meRecHitsEnergyHBM3
std::vector< double > cenM0
MonitorElement * RecHit_StatusWordCorr_HE
MonitorElement * meTimeHB
MonitorElement * meTEprofileHF
MonitorElement * RecHit_Aux_StatusWord_HF
MonitorElement * RecHit_Aux_StatusWord_HE
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
edm::ESGetToken< HcalSeverityLevelComputer, HcalSeverityLevelComputerRcd > hcalSeverityLevelComputerToken_
const CaloSubdetectorGeometry * getSubdetectorGeometry(const DetId &id) const
access the subdetector geometry for the given subdetector directly
MonitorElement * RecHit_StatusWordCorr_HB
std::vector< MonitorElement * > meRecHitsEnergyHEP17M3
edm::ESGetToken< HcalTopology, HcalRecNumberingRecord > hcalTopologyToken_
MonitorElement * meRecHitsCleanedEnergyHO
std::vector< MonitorElement * > emean_vs_ieta_HEM0
MonitorElement * meRecHitsEnergyHE
MonitorElement * meTE_Low_HF