19 getAllProvenances(
false),
20 printProvenanceInfo(
false),
22 theCSCStripPedestalSum(0),
23 theCSCStripPedestalCount(0),
25 std::string MsgLoggerCat =
"GlobalDigisAnalyzer_GlobalDigisAnalyzer";
63 const std::string barrelHitsName(hitsProducer +
"EcalHitsEB");
64 const std::string endcapHitsName(hitsProducer +
"EcalHitsEE");
65 const std::string preshowerHitsName(hitsProducer +
"EcalHitsES");
85 edm::LogInfo(MsgLoggerCat) <<
"\n===============================\n"
86 <<
"Initialized as EDAnalyzer with parameter values:\n"
87 <<
" Name = " <<
fName <<
"\n"
88 <<
" Verbosity = " << verbosity <<
"\n"
89 <<
" Frequency = " << frequency <<
"\n"
90 <<
" GetProv = " << getAllProvenances <<
"\n"
91 <<
" PrintProv = " << printProvenanceInfo <<
"\n"
92 <<
" ECalEBSrc = " << ECalEBSrc_.label() <<
":" << ECalEBSrc_.instance() <<
"\n"
93 <<
" ECalEESrc = " << ECalEESrc_.
label() <<
":" << ECalEESrc_.
instance() <<
"\n"
94 <<
" ECalESSrc = " << ECalESSrc_.
label() <<
":" << ECalESSrc_.
instance() <<
"\n"
95 <<
" HCalSrc = " << HCalSrc_.
label() <<
":" << HCalSrc_.
instance() <<
"\n"
96 <<
" HCalDigi = " << HCalDigi_.
label() <<
":" << HCalDigi_.
instance() <<
"\n"
97 <<
" SiStripSrc = " << SiStripSrc_.
label() <<
":" << SiStripSrc_.
instance() <<
"\n"
98 <<
" SiPixelSrc = " << SiPxlSrc_.
label() <<
":" << SiPxlSrc_.
instance() <<
"\n"
99 <<
" MuDTSrc = " << MuDTSrc_.
label() <<
":" << MuDTSrc_.
instance() <<
"\n"
100 <<
" MuCSCStripSrc = " << MuCSCStripSrc_.
label() <<
":" << MuCSCStripSrc_.
instance()
102 <<
" MuCSCWireSrc = " << MuCSCWireSrc_.
label() <<
":" << MuCSCWireSrc_.
instance()
104 <<
" MuRPCSrc = " << MuRPCSrc_.
label() <<
":" << MuRPCSrc_.
instance() <<
"\n"
105 <<
"===============================\n";
120 if (verbosity >= 0) {
150 for (
int i = 0;
i < 19; ++
i) {
157 for (
int amend = 0; amend < 19; ++amend) {
158 hcharname =
"hSiStripn_" + SiStripString[amend];
159 hchartitle = SiStripString[amend] +
" Digis";
164 hcharname =
"hSiStripADC_" + SiStripString[amend];
165 hchartitle = SiStripString[amend] +
" ADC";
170 hcharname =
"hSiStripStripADC_" + SiStripString[amend];
171 hchartitle = SiStripString[amend] +
" Strip";
178 std::string HCalString[4] = {
"HB",
"HE",
"HO",
"HF"};
179 float calnUpper[4] = {30000., 30000., 30000., 20000.};
180 float calnLower[4] = {0., 0., 0., 0.};
181 float SHEUpper[4] = {1., 1., 1., 1.};
182 float SHEvAEEUpper[4] = {5000, 5000, 5000, 5000};
183 float SHEvAEELower[4] = {-5000, -5000, -5000, -5000};
184 int SHEvAEEnBins[4] = {200, 200, 200, 200};
185 double ProfileUpper[4] = {1., 1., 1., 1.};
187 for (
int i = 0;
i < 4; ++
i) {
196 for (
int amend = 0; amend < 4; ++amend) {
197 hcharname =
"hHcaln_" + HCalString[amend];
198 hchartitle = HCalString[amend] +
" digis";
199 mehHcaln[amend] = iBooker.
book1D(hcharname, hchartitle, 10000, calnLower[amend], calnUpper[amend]);
203 hcharname =
"hHcalAEE_" + HCalString[amend];
204 hchartitle = HCalString[amend] +
"Cal AEE";
209 hcharname =
"hHcalSHE_" + HCalString[amend];
210 hchartitle = HCalString[amend] +
"Cal SHE";
211 mehHcalSHE[amend] = iBooker.
book1D(hcharname, hchartitle, 1000, 0.0, SHEUpper[amend]);
215 hcharname =
"hHcalAEESHE_" + HCalString[amend];
216 hchartitle = HCalString[amend] +
"Cal AEE/SHE";
218 iBooker.
book1D(hcharname, hchartitle, SHEvAEEnBins[amend], SHEvAEELower[amend], SHEvAEEUpper[amend]);
222 hcharname =
"hHcalSHEvAEE_" + HCalString[amend];
223 hchartitle = HCalString[amend] +
"Cal SHE vs. AEE";
225 iBooker.
bookProfile(hcharname, hchartitle, 60, -10., 50., 100, 0., (
float)ProfileUpper[amend],
"");
233 for (
int i = 0;
i < 2; ++
i) {
243 for (
int amend = 0; amend < 2; ++amend) {
244 hcharname =
"hEcaln_" + ECalString[amend];
245 hchartitle = ECalString[amend] +
" digis";
246 mehEcaln[amend] = iBooker.
book1D(hcharname, hchartitle, 3000, 0., 40000.);
250 hcharname =
"hEcalAEE_" + ECalString[amend];
251 hchartitle = ECalString[amend] +
"Cal AEE";
256 hcharname =
"hEcalSHE_" + ECalString[amend];
257 hchartitle = ECalString[amend] +
"Cal SHE";
262 hcharname =
"hEcalMaxPos_" + ECalString[amend];
263 hchartitle = ECalString[amend] +
"Cal MaxPos";
268 hcharname =
"hEcalSHEvAEESHE_" + ECalString[amend];
269 hchartitle = ECalString[amend] +
"Cal SHE vs. AEE/SHE";
274 hcharname =
"hEcalMultvAEE_" + ECalString[amend];
275 hchartitle = ECalString[amend] +
"Cal Multi vs. AEE";
282 hcharname =
"hEcaln_ES";
283 hchartitle =
"ESCAL digis";
289 for (
int i = 0;
i < 3; ++
i) {
291 hcharname =
"hEcalADC" + ADCNumber[
i] +
"_ES";
292 hchartitle =
"ESCAL ADC" + ADCNumber[
i];
299 std::string SiPixelString[7] = {
"BRL1",
"BRL2",
"BRL3",
"FWD1n",
"FWD1p",
"FWD2n",
"FWD2p"};
300 for (
int j = 0;
j < 7; ++
j) {
308 for (
int amend = 0; amend < 7; ++amend) {
309 hcharname =
"hSiPixeln_" + SiPixelString[amend];
310 hchartitle = SiPixelString[amend] +
" Digis";
318 hcharname =
"hSiPixelADC_" + SiPixelString[amend];
319 hchartitle = SiPixelString[amend] +
" ADC";
324 hcharname =
"hSiPixelRow_" + SiPixelString[amend];
325 hchartitle = SiPixelString[amend] +
" Row";
330 hcharname =
"hSiPixelColumn_" + SiPixelString[amend];
331 hchartitle = SiPixelString[amend] +
" Column";
341 std::string MuonString[4] = {
"MB1",
"MB2",
"MB3",
"MB4"};
343 for (
int i = 0;
i < 4; ++
i) {
350 for (
int j = 0;
j < 4; ++
j) {
351 hcharname =
"hDtMuonn_" + MuonString[
j];
352 hchartitle = MuonString[
j] +
" digis";
357 hcharname =
"hDtLayer_" + MuonString[
j];
358 hchartitle = MuonString[
j] +
" Layer";
363 hcharname =
"hDtMuonTime_" + MuonString[
j];
364 hchartitle = MuonString[
j] +
" Time";
369 hcharname =
"hDtMuonTimevLayer_" + MuonString[
j];
370 hchartitle = MuonString[
j] +
" Time vs. Layer";
378 hcharname =
"hCSCStripn";
379 hchartitle =
"CSC Strip digis";
385 hcharname =
"hCSCStripADC";
386 hchartitle =
"CSC Strip ADC";
392 hcharname =
"hCSCWiren";
393 hchartitle =
"CSC Wire digis";
399 hcharname =
"hCSCWireTime";
400 hchartitle =
"CSC Wire Time";
407 hcharname =
"hRPCMuonn";
408 hchartitle =
"RPC digis";
413 std::string MuonRPCString[5] = {
"Wmin2",
"Wmin1",
"W0",
"Wpu1",
"Wpu2"};
414 for (
int i = 0;
i < 5; ++
i) {
418 for (
int j = 0;
j < 5; ++
j) {
419 hcharname =
"hRPCRes_" + MuonRPCString[
j];
420 hchartitle = MuonRPCString[
j] +
" Digi - Sim";
428 std::string MsgLoggerCat =
"GlobalDigisAnalyzer_analyze";
448 edm::LogInfo(MsgLoggerCat) <<
"Processing run " << nrun <<
", event " << nevt <<
" (" <<
count <<
" events total)";
450 if (nevt %
frequency == 0 || nevt == 1) {
451 edm::LogInfo(MsgLoggerCat) <<
"Processing run " << nrun <<
", event " << nevt <<
" (" <<
count
458 std::vector<const edm::StableProvenance *> AllProv;
462 edm::LogInfo(MsgLoggerCat) <<
"Number of Provenances = " << AllProv.size();
465 TString eventout(
"\nProvenance info:\n");
467 for (
unsigned int i = 0;
i < AllProv.size(); ++
i) {
468 eventout +=
"\n ******************************";
469 eventout +=
"\n Module : ";
470 eventout += AllProv[
i]->moduleLabel();
471 eventout +=
"\n ProductID : ";
472 eventout += AllProv[
i]->productID().id();
473 eventout +=
"\n ClassName : ";
474 eventout += AllProv[
i]->className();
475 eventout +=
"\n InstanceName : ";
476 eventout += AllProv[
i]->productInstanceName();
477 eventout +=
"\n BranchName : ";
478 eventout += AllProv[
i]->branchName();
480 eventout +=
"\n ******************************\n";
498 edm::LogInfo(MsgLoggerCat) <<
"Done gathering data from event.";
507 std::string MsgLoggerCat =
"GlobalDigisAnalyzer_fillECal";
511 eventout =
"\nGathering info:";
522 bool validDigiEB =
true;
524 LogDebug(MsgLoggerCat) <<
"Unable to find EcalDigiEB in event!";
528 if (EcalDigiEB->empty())
535 bool validXFrame =
true;
536 if (!crossingFrame.
isValid()) {
537 LogDebug(MsgLoggerCat) <<
"Unable to find cal barrel crossingFrame in event!";
547 uint32_t crystid = ebid.
rawId();
548 ebSimMap[crystid] += iHit.energy();
555 std::vector<double> ebAnalogSignal;
556 std::vector<double> ebADCCounts;
557 std::vector<double> ebADCGains;
563 for (
unsigned int digis = 0; digis < EcalDigiEB->size(); ++digis) {
567 int nrSamples = ebdf.
size();
573 double pedestalPreSample = 0.;
574 double pedestalPreSampleAnalog = 0.;
577 ebAnalogSignal[
sample] = 0.;
585 ebADCCounts[
sample] = (thisSample.
adc());
588 if (Emax < ebAnalogSignal[
sample]) {
589 Emax = ebAnalogSignal[
sample];
593 pedestalPreSample += ebADCCounts[
sample];
594 pedestalPreSampleAnalog +=
598 pedestalPreSample /= 3.;
599 pedestalPreSampleAnalog /= 3.;
602 double Erec = Emax - pedestalPreSampleAnalog *
ECalgainConv_[(int)ebADCGains[Pmax]];
609 if (ebSimMap[ebid.
rawId()] != 0) {
621 eventout +=
"\n Number of EBDigis collected:.............. ";
631 bool isEndCap =
true;
634 bool validDigiEE =
true;
636 LogDebug(MsgLoggerCat) <<
"Unable to find EcalDigiEE in event!";
640 if (EcalDigiEE->empty())
647 bool validXFrame =
true;
648 if (!crossingFrame.
isValid()) {
649 LogDebug(MsgLoggerCat) <<
"Unable to find cal endcap crossingFrame in event!";
659 uint32_t crystid = eeid.
rawId();
660 eeSimMap[crystid] += iHit.energy();
667 std::vector<double> eeAnalogSignal;
668 std::vector<double> eeADCCounts;
669 std::vector<double> eeADCGains;
675 for (
unsigned int digis = 0; digis < EcalDigiEE->size(); ++digis) {
679 int nrSamples = eedf.
size();
685 double pedestalPreSample = 0.;
686 double pedestalPreSampleAnalog = 0.;
689 eeAnalogSignal[
sample] = 0.;
698 eeADCCounts[
sample] = (thisSample.
adc());
701 if (Emax < eeAnalogSignal[
sample]) {
702 Emax = eeAnalogSignal[
sample];
706 pedestalPreSample += eeADCCounts[
sample];
707 pedestalPreSampleAnalog +=
711 pedestalPreSample /= 3.;
712 pedestalPreSampleAnalog /= 3.;
715 double Erec = Emax - pedestalPreSampleAnalog *
ECalgainConv_[(int)eeADCGains[Pmax]];
722 if (eeSimMap[eeid.
rawId()] != 0) {
733 eventout +=
"\n Number of EEDigis collected:.............. ";
744 bool isPreshower =
true;
747 bool validDigiES =
true;
749 LogDebug(MsgLoggerCat) <<
"Unable to find EcalDigiES in event!";
757 if (EcalDigiES->empty())
763 bool validXFrame =
true;
764 if (!crossingFrame.
isValid()) {
765 LogDebug(MsgLoggerCat) <<
"Unable to find cal preshower crossingFrame in event!";
776 uint32_t crystid = esid.
rawId();
777 esSimMap[crystid] += iHit.energy();
784 std::vector<double> esADCCounts;
788 for (
unsigned int digis = 0; digis < EcalDigiES->size(); ++digis) {
792 int nrSamples = esdf.
size();
801 esADCCounts[
sample] = (thisSample.
adc());
810 eventout +=
"\n Number of ESDigis collected:.............. ";
824 std::string MsgLoggerCat =
"GlobalDigisAnalyzer_fillHCal";
828 eventout =
"\nGathering info:";
832 if (!HCalconditions.isValid()) {
833 edm::LogWarning(MsgLoggerCat) <<
"Unable to find HCalconditions in event!";
844 bool validhcalHits =
true;
846 LogDebug(MsgLoggerCat) <<
"Unable to find hcalHits in event!";
847 validhcalHits =
false;
856 for (std::vector<PCaloHit>::const_iterator simhits = simhitResult->begin(); simhits != simhitResult->end();
859 uint32_t cellid = detId.
rawId();
862 fHBEnergySimHits[cellid] += simhits->energy();
865 fHEEnergySimHits[cellid] += simhits->energy();
868 fHOEnergySimHits[cellid] += simhits->energy();
871 fHFEnergySimHits[cellid] += simhits->energy();
881 bool validHBHE =
true;
883 LogDebug(MsgLoggerCat) <<
"Unable to find HBHEDataFrame in event!";
892 for (ihbhe = hbhe->begin(); ihbhe != hbhe->end(); ++ihbhe) {
897 const HcalCalibrations &calibrations = HCalconditions->getHcalCalibrations(cell);
898 const HcalQIECoder *channelCoder = HCalconditions->getHcalCoder(cell);
899 const HcalQIEShape *shape = HCalconditions->getHcalShape(channelCoder);
901 coder.
adc2fC(*ihbhe, tool);
906 float fDigiSum = 0.0;
909 int capid = (*ihbhe)[
ii].capid();
910 fDigiSum += (tool[
ii] - calibrations.
pedestal(capid));
916 if (fHFEnergySimHits[cell.rawId()] != 0) {
929 float fDigiSum = 0.0;
931 int capid = (*ihbhe)[
ii].capid();
932 fDigiSum += (tool[
ii] - calibrations.
pedestal(capid));
938 if (fHFEnergySimHits[cell.rawId()] != 0) {
951 eventout +=
"\n Number of HBDigis collected:.............. ";
957 eventout +=
"\n Number of HEDigis collected:.............. ";
970 LogDebug(MsgLoggerCat) <<
"Unable to find HODataFrame in event!";
977 for (iho = ho->begin(); iho != ho->end(); ++iho) {
982 const HcalCalibrations &calibrations = HCalconditions->getHcalCalibrations(cell);
983 const HcalQIECoder *channelCoder = HCalconditions->getHcalCoder(cell);
984 const HcalQIEShape *shape = HCalconditions->getHcalShape(channelCoder);
989 float fDigiSum = 0.0;
992 int capid = (*iho)[
ii].capid();
993 fDigiSum += (tool[
ii] - calibrations.
pedestal(capid));
999 if (fHFEnergySimHits[cell.rawId()] != 0) {
1011 eventout +=
"\n Number of HODigis collected:.............. ";
1022 bool validHF =
true;
1024 LogDebug(MsgLoggerCat) <<
"Unable to find HFDataFrame in event!";
1031 for (ihf = hf->begin(); ihf != hf->end(); ++
ihf) {
1036 const HcalCalibrations &calibrations = HCalconditions->getHcalCalibrations(cell);
1037 const HcalQIECoder *channelCoder = HCalconditions->getHcalCoder(cell);
1038 const HcalQIEShape *shape = HCalconditions->getHcalShape(channelCoder);
1040 coder.
adc2fC(*ihf, tool);
1043 float fDigiSum = 0.0;
1046 int capid = (*ihf)[
ii].capid();
1047 fDigiSum += (tool[
ii] - calibrations.
pedestal(capid));
1053 if (fHFEnergySimHits[cell.rawId()] != 0) {
1065 eventout +=
"\n Number of HFDigis collected:.............. ";
1080 std::string MsgLoggerCat =
"GlobalDigisAnalyzer_fillTrk";
1083 eventout =
"\nGathering info:";
1088 bool validstripDigis =
true;
1090 LogDebug(MsgLoggerCat) <<
"Unable to find stripDigis in event!";
1091 validstripDigis =
false;
1094 if (validstripDigis) {
1095 int nStripBrl = 0, nStripFwd = 0;
1097 for (DSViter = stripDigis->begin(); DSViter != stripDigis->end(); ++DSViter) {
1098 unsigned int id = DSViter->id;
1106 for (iter = begin; iter !=
end; ++iter) {
1129 for (iter = begin; iter !=
end; ++iter) {
1152 for (iter = begin; iter !=
end; ++iter) {
1171 for (iter = begin; iter !=
end; ++iter) {
1210 eventout +=
"\n Number of BrlStripDigis collected:........ ";
1211 eventout += nStripBrl;
1213 for (
int i = 0;
i < 8; ++
i) {
1218 eventout +=
"\n Number of FrwdStripDigis collected:....... ";
1219 eventout += nStripFwd;
1221 for (
int i = 8;
i < 19; ++
i) {
1229 bool validpixelDigis =
true;
1231 LogDebug(MsgLoggerCat) <<
"Unable to find pixelDigis in event!";
1232 validpixelDigis =
false;
1234 if (validpixelDigis) {
1235 int nPxlBrl = 0, nPxlFwd = 0;
1237 for (DPViter = pixelDigis->begin(); DPViter != pixelDigis->end(); ++DPViter) {
1238 unsigned int id = DPViter->id;
1246 for (iter = begin; iter !=
end; ++iter) {
1268 for (iter = begin; iter !=
end; ++iter) {
1270 if (tTopo->
pxfDisk(
id) == 1) {
1271 if (tTopo->
pxfSide(
id) == 1) {
1276 if (tTopo->
pxfSide(
id) == 2) {
1282 if (tTopo->
pxfDisk(
id) == 2) {
1283 if (tTopo->
pxfSide(
id) == 1) {
1288 if (tTopo->
pxfSide(
id) == 2) {
1299 eventout +=
"\n Number of BrlPixelDigis collected:........ ";
1300 eventout += nPxlBrl;
1302 for (
int i = 0;
i < 3; ++
i) {
1307 eventout +=
"\n Number of FrwdPixelDigis collected:....... ";
1308 eventout += nPxlFwd;
1311 for (
int i = 3;
i < 7; ++
i) {
1323 std::string MsgLoggerCat =
"GlobalDigisAnalyzer_fillMuon";
1327 eventout =
"\nGathering info:";
1332 bool validdtDigis =
true;
1334 LogDebug(MsgLoggerCat) <<
"Unable to find dtDigis in event!";
1335 validdtDigis =
false;
1344 for (detUnitIt = dtDigis->begin(); detUnitIt != dtDigis->end(); ++detUnitIt) {
1345 const DTLayerId &
id = (*detUnitIt).first;
1350 DTWireId wireId(
id, (*digiIt).wire());
1351 if (wireId.station() == 1) {
1357 if (wireId.station() == 2) {
1363 if (wireId.station() == 3) {
1369 if (wireId.station() == 4) {
1383 eventout +=
"\n Number of DtMuonDigis collected:.......... ";
1391 bool validstrips =
true;
1393 LogDebug(MsgLoggerCat) <<
"Unable to find muon strips in event!";
1394 validstrips =
false;
1400 std::vector<CSCStripDigi>::const_iterator digiItr = (*j).second.first;
1401 std::vector<CSCStripDigi>::const_iterator
last = (*j).second.second;
1403 for (; digiItr !=
last; ++digiItr) {
1407 std::vector<int> adcCounts = digiItr->getADCCounts();
1415 if (adcCounts[5] > (pedestal + 100))
1422 eventout +=
"\n Number of CSCStripDigis collected:........ ";
1431 bool validwires =
true;
1433 LogDebug(MsgLoggerCat) <<
"Unable to find muon wires in event!";
1440 std::vector<CSCWireDigi>::const_iterator digiItr = (*j).second.first;
1441 std::vector<CSCWireDigi>::const_iterator endDigi = (*j).second.second;
1443 for (; digiItr != endDigi; ++digiItr) {
1450 eventout +=
"\n Number of CSCWireDigis collected:......... ";
1459 if (!rpcGeom.isValid()) {
1460 edm::LogWarning(MsgLoggerCat) <<
"Unable to find RPCGeometryRecord in event!";
1466 bool validrpcsim =
true;
1468 LogDebug(MsgLoggerCat) <<
"Unable to find rpcsimHit in event!";
1469 validrpcsim =
false;
1474 bool validrpcdigi =
true;
1476 LogDebug(MsgLoggerCat) <<
"Unable to find rpcDigis in event!";
1477 validrpcdigi =
false;
1481 validrpcdigi =
false;
1484 edm::PSimHitContainer::const_iterator rpcsimIt;
1485 std::map<RPCDetId, std::vector<double>> allsims;
1488 for (rpcsimIt = rpcsimHit->begin(); rpcsimIt != rpcsimHit->end(); rpcsimIt++) {
1490 int ptype = rpcsimIt->particleType();
1492 if (ptype == 13 || ptype == -13) {
1493 std::vector<double> buff;
1494 if (allsims.find(Rsid) != allsims.end()) {
1495 buff = allsims[Rsid];
1497 buff.push_back(rpcsimIt->localPosition().x());
1498 allsims[Rsid] = buff;
1508 for (rpcdetUnitIt = rpcDigis->begin(); rpcdetUnitIt != rpcDigis->end(); ++rpcdetUnitIt) {
1509 const RPCDetId Rsid = (*rpcdetUnitIt).first;
1510 const RPCRoll *roll =
dynamic_cast<const RPCRoll *
>(rpcGeom->roll(Rsid));
1513 std::vector<double> sims;
1514 if (allsims.find(Rsid) != allsims.end()) {
1515 sims = allsims[Rsid];
1524 if (sims.size() == 1 && ndigi == 1) {
1525 double dis = roll->
centreOfStrip(range.first->strip()).
x() - sims[0];
1527 if (Rsid.
region() == 0) {
1528 if (Rsid.
ring() == -2)
1530 else if (Rsid.
ring() == -1)
1532 else if (Rsid.
ring() == 0)
1534 else if (Rsid.
ring() == 1)
1536 else if (Rsid.
ring() == 2)
1543 eventout +=
"\n Number of RPCDigis collected:.............. ";
GlobalDigisAnalyzer(const edm::ParameterSet &)
edm::ESGetToken< HcalDbService, HcalDbRecord > hcaldbToken_
EventNumber_t event() const
T getUntrackedParameter(std::string const &, T const &) const
LocalPoint centreOfStrip(int strip) const
edm::EDGetTokenT< CrossingFrame< PCaloHit > > EBHits_Token_
std::vector< PCaloHit > PCaloHitContainer
MonitorElement * mehEScalADC[3]
double ECalbarrelADCtoGeV_
MonitorElement * mehDtMuonLayer[4]
unsigned int tibLayer(const DetId &id) const
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > tTopoToken_
static const int sdHcalOut
virtual void setCurrentFolder(std::string const &fullpath)
float theCSCStripPedestalSum
bool getByToken(EDGetToken token, Handle< PROD > &result) const
MonitorElement * mehEcaln[2]
unsigned int pxfDisk(const DetId &id) const
edm::EDGetTokenT< edm::PCaloHitContainer > HCalSrc_Token_
void fillECal(const edm::Event &, const edm::EventSetup &)
MonitorElement * mehEScaln
constexpr uint32_t rawId() const
get the raw id
std::vector< T >::const_iterator const_iterator
unsigned long long EventNumber_t
MonitorElement * mehSiPixelRow[7]
MonitorElement * mehRPCRes[5]
unsigned int tidWheel(const DetId &id) const
edm::EDGetTokenT< CSCStripDigiCollection > MuCSCStripSrc_Token_
int theCSCStripPedestalCount
MonitorElement * mehSiStripADC[19]
MonitorElement * mehDtMuonTimevLayer[4]
MonitorElement * mehSiStripn[19]
int gainId() const
get the gainId (2 bits)
tuple nStrips
1.2 is to make the matching window safely the two nearest strips 0.35 is the size of an ME0 chamber i...
MonitorElement * mehCSCWireTime
constexpr std::array< uint8_t, layerIndexSize > layer
const uint16_t range(const Frame &aFrame)
edm::EDGetTokenT< EEDigiCollection > ECalEESrc_Token_
bool getData(T &iHolder) const
MonitorElement * mehEcalMaxPos[2]
edm::EDGetTokenT< CrossingFrame< PCaloHit > > ESHits_Token_
void adc2fC(const HBHEDataFrame &df, CaloSamples &lf) const override
edm::EDGetTokenT< edm::PSimHitContainer > RPCSimHit_Token_
MonitorElement * mehDtMuonTime[4]
static const int sdPxlBrl
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())
double ECalendcapADCtoGeV_
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
edm::InputTag MuCSCStripSrc_
static const int MAXSAMPLES
tuple strips
#turn off noise in all subdetectors simHcalUnsuppressedDigis.doNoise = False mix.digitizers.hcal.doNoise = False simEcalUnsuppressedDigis.doNoise = False mix.digitizers.ecal.doNoise = False simEcalUnsuppressedDigis.doESNoise = False simSiPixelDigis.AddNoise = False mix.digitizers.pixel.AddNoise = False simSiStripDigis.Noise = False mix.digitizers.strip.AddNoise = False
edm::EDGetTokenT< edm::SortedCollection< HFDataFrame > > HFDigi_Token_
MonitorElement * mehHcalAEE[4]
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum) ...
edm::EDGetTokenT< CSCWireDigiCollection > MuCSCWireSrc_Token_
std::map< int, double, std::less< int > > ECalgainConv_
edm::EDGetTokenT< edm::SortedCollection< HODataFrame > > HODigi_Token_
iterator end()
Return the off-the-end iterator.
void fillHCal(const edm::Event &, const edm::EventSetup &)
MonitorElement * mehRPCMuonn
MonitorElement * mehEcalSHE[2]
edm::EDGetTokenT< edm::DetSetVector< SiStripDigi > > SiStripSrc_Token_
unsigned int pxbLayer(const DetId &id) const
std::map< uint32_t, float, std::less< uint32_t > > MapType
Log< level::Info, false > LogInfo
void fillMuon(const edm::Event &, const edm::EventSetup &)
MonitorElement * mehEcalAEE[2]
constexpr double pedestal(int fCapId) const
get pedestal for capid=0..3
edm::EDGetTokenT< EBDigiCollection > ECalEBSrc_Token_
MonitorElement * mehHcalSHEvAEE[4]
T const * product() const
MonitorElement * mehCSCStripn
int size() const
get the size
edm::EDGetTokenT< ESDigiCollection > ECalESSrc_Token_
MonitorElement * mehCSCStripADC
edm::EDGetTokenT< CrossingFrame< PCaloHit > > EEHits_Token_
std::pair< const_iterator, const_iterator > Range
~GlobalDigisAnalyzer() override
T getParameter(std::string const &) const
static const int sdHcalFwd
float gain12Over6() const
std::vector< DigiType >::const_iterator const_iterator
static const int sdHcalBrl
MonitorElement * mehSiPixelCol[7]
MonitorElement * mehHcaln[4]
edm::EDGetTokenT< edm::SortedCollection< HBHEDataFrame > > HBHEDigi_Token_
MonitorElement * mehHcalAEESHE[4]
MonitorElement * mehEcalSHEvAEESHE[2]
MonitorElement * mehHcalSHE[4]
void analyze(const edm::Event &, const edm::EventSetup &) override
unsigned int pxfSide(const DetId &id) const
MonitorElement * mehCSCWiren
edm::EDGetTokenT< RPCDigiCollection > MuRPCSrc_Token_
int adc() const
get the ADC sample (singed 16 bits)
iterator begin()
Return an iterator to the first DetSet.
static const int sdPxlFwd
static constexpr int MAXSAMPLES
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const
Log< level::Warning, false > LogWarning
edm::ESGetToken< RPCGeometry, MuonGeometryRecord > rpcGeomToken_
MonitorElement * mehEcalMultvAEE[2]
MonitorElement * mehSiPixeln[7]
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
MonitorElement * mehSiStripStrip[19]
edm::EDGetTokenT< edm::DetSetVector< PixelDigi > > SiPxlSrc_Token_
collection_type::const_iterator const_iterator
collection_type::const_iterator const_iterator
unsigned int tecWheel(const DetId &id) const
void fillTrk(const edm::Event &, const edm::EventSetup &)
edm::InputTag MuCSCWireSrc_
edm::EDGetTokenT< DTDigiCollection > MuDTSrc_Token_
static const int sdHcalEC
MonitorElement * mehSiPixelADC[7]
unsigned int tobLayer(const DetId &id) const
edm::InputTag SiStripSrc_
int adc() const
get the ADC sample (12 bits)
MonitorElement * mehDtMuonn[4]
void getAllStableProvenance(std::vector< StableProvenance const * > &provenances) const
int region() const
Region id: 0 for Barrel, +/-1 For +/- Endcap.
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
edm::ESGetToken< EcalADCToGeVConstant, EcalADCToGeVConstantRcd > ecalADCtoGevToken_