18 getAllProvenances(
false),
19 printProvenanceInfo(
false),
21 theCSCStripPedestalSum(0),
22 theCSCStripPedestalCount(0),
24 std::string MsgLoggerCat =
"GlobalDigisAnalyzer_GlobalDigisAnalyzer";
62 const std::string barrelHitsName(hitsProducer +
"EcalHitsEB");
63 const std::string endcapHitsName(hitsProducer +
"EcalHitsEE");
64 const std::string preshowerHitsName(hitsProducer +
"EcalHitsES");
78 edm::LogInfo(MsgLoggerCat) <<
"\n===============================\n" 79 <<
"Initialized as EDAnalyzer with parameter values:\n" 80 <<
" Name = " <<
fName <<
"\n" 81 <<
" Verbosity = " << verbosity <<
"\n" 82 <<
" Frequency = " << frequency <<
"\n" 83 <<
" GetProv = " << getAllProvenances <<
"\n" 84 <<
" PrintProv = " << printProvenanceInfo <<
"\n" 85 <<
" ECalEBSrc = " << ECalEBSrc_.label() <<
":" << ECalEBSrc_.instance() <<
"\n" 86 <<
" ECalEESrc = " << ECalEESrc_.
label() <<
":" << ECalEESrc_.
instance() <<
"\n" 87 <<
" ECalESSrc = " << ECalESSrc_.
label() <<
":" << ECalESSrc_.
instance() <<
"\n" 88 <<
" HCalSrc = " << HCalSrc_.
label() <<
":" << HCalSrc_.
instance() <<
"\n" 89 <<
" HCalDigi = " << HCalDigi_.
label() <<
":" << HCalDigi_.
instance() <<
"\n" 90 <<
" SiStripSrc = " << SiStripSrc_.
label() <<
":" << SiStripSrc_.
instance() <<
"\n" 91 <<
" SiPixelSrc = " << SiPxlSrc_.
label() <<
":" << SiPxlSrc_.
instance() <<
"\n" 92 <<
" MuDTSrc = " << MuDTSrc_.
label() <<
":" << MuDTSrc_.
instance() <<
"\n" 93 <<
" MuCSCStripSrc = " << MuCSCStripSrc_.
label() <<
":" << MuCSCStripSrc_.
instance()
95 <<
" MuCSCWireSrc = " << MuCSCWireSrc_.
label() <<
":" << MuCSCWireSrc_.
instance()
97 <<
" MuRPCSrc = " << MuRPCSrc_.
label() <<
":" << MuRPCSrc_.
instance() <<
"\n" 98 <<
"===============================\n";
113 if (verbosity >= 0) {
143 for (
int i = 0;
i < 19; ++
i) {
150 for (
int amend = 0; amend < 19; ++amend) {
151 hcharname =
"hSiStripn_" + SiStripString[amend];
152 hchartitle = SiStripString[amend] +
" Digis";
157 hcharname =
"hSiStripADC_" + SiStripString[amend];
158 hchartitle = SiStripString[amend] +
" ADC";
163 hcharname =
"hSiStripStripADC_" + SiStripString[amend];
164 hchartitle = SiStripString[amend] +
" Strip";
171 std::string HCalString[4] = {
"HB",
"HE",
"HO",
"HF"};
172 float calnUpper[4] = {30000., 30000., 30000., 20000.};
173 float calnLower[4] = {0., 0., 0., 0.};
174 float SHEUpper[4] = {1., 1., 1., 1.};
175 float SHEvAEEUpper[4] = {5000, 5000, 5000, 5000};
176 float SHEvAEELower[4] = {-5000, -5000, -5000, -5000};
177 int SHEvAEEnBins[4] = {200, 200, 200, 200};
178 double ProfileUpper[4] = {1., 1., 1., 1.};
180 for (
int i = 0;
i < 4; ++
i) {
189 for (
int amend = 0; amend < 4; ++amend) {
190 hcharname =
"hHcaln_" + HCalString[amend];
191 hchartitle = HCalString[amend] +
" digis";
192 mehHcaln[amend] = iBooker.
book1D(hcharname, hchartitle, 10000, calnLower[amend], calnUpper[amend]);
196 hcharname =
"hHcalAEE_" + HCalString[amend];
197 hchartitle = HCalString[amend] +
"Cal AEE";
202 hcharname =
"hHcalSHE_" + HCalString[amend];
203 hchartitle = HCalString[amend] +
"Cal SHE";
204 mehHcalSHE[amend] = iBooker.
book1D(hcharname, hchartitle, 1000, 0.0, SHEUpper[amend]);
208 hcharname =
"hHcalAEESHE_" + HCalString[amend];
209 hchartitle = HCalString[amend] +
"Cal AEE/SHE";
211 iBooker.
book1D(hcharname, hchartitle, SHEvAEEnBins[amend], SHEvAEELower[amend], SHEvAEEUpper[amend]);
215 hcharname =
"hHcalSHEvAEE_" + HCalString[amend];
216 hchartitle = HCalString[amend] +
"Cal SHE vs. AEE";
218 iBooker.
bookProfile(hcharname, hchartitle, 60, -10., 50., 100, 0., (
float)ProfileUpper[amend],
"");
226 for (
int i = 0;
i < 2; ++
i) {
236 for (
int amend = 0; amend < 2; ++amend) {
237 hcharname =
"hEcaln_" + ECalString[amend];
238 hchartitle = ECalString[amend] +
" digis";
239 mehEcaln[amend] = iBooker.
book1D(hcharname, hchartitle, 3000, 0., 40000.);
243 hcharname =
"hEcalAEE_" + ECalString[amend];
244 hchartitle = ECalString[amend] +
"Cal AEE";
249 hcharname =
"hEcalSHE_" + ECalString[amend];
250 hchartitle = ECalString[amend] +
"Cal SHE";
255 hcharname =
"hEcalMaxPos_" + ECalString[amend];
256 hchartitle = ECalString[amend] +
"Cal MaxPos";
261 hcharname =
"hEcalSHEvAEESHE_" + ECalString[amend];
262 hchartitle = ECalString[amend] +
"Cal SHE vs. AEE/SHE";
267 hcharname =
"hEcalMultvAEE_" + ECalString[amend];
268 hchartitle = ECalString[amend] +
"Cal Multi vs. AEE";
275 hcharname =
"hEcaln_ES";
276 hchartitle =
"ESCAL digis";
282 for (
int i = 0;
i < 3; ++
i) {
284 hcharname =
"hEcalADC" + ADCNumber[
i] +
"_ES";
285 hchartitle =
"ESCAL ADC" + ADCNumber[
i];
292 std::string SiPixelString[7] = {
"BRL1",
"BRL2",
"BRL3",
"FWD1n",
"FWD1p",
"FWD2n",
"FWD2p"};
293 for (
int j = 0;
j < 7; ++
j) {
301 for (
int amend = 0; amend < 7; ++amend) {
302 hcharname =
"hSiPixeln_" + SiPixelString[amend];
303 hchartitle = SiPixelString[amend] +
" Digis";
311 hcharname =
"hSiPixelADC_" + SiPixelString[amend];
312 hchartitle = SiPixelString[amend] +
" ADC";
317 hcharname =
"hSiPixelRow_" + SiPixelString[amend];
318 hchartitle = SiPixelString[amend] +
" Row";
323 hcharname =
"hSiPixelColumn_" + SiPixelString[amend];
324 hchartitle = SiPixelString[amend] +
" Column";
334 std::string MuonString[4] = {
"MB1",
"MB2",
"MB3",
"MB4"};
336 for (
int i = 0;
i < 4; ++
i) {
343 for (
int j = 0;
j < 4; ++
j) {
344 hcharname =
"hDtMuonn_" + MuonString[
j];
345 hchartitle = MuonString[
j] +
" digis";
350 hcharname =
"hDtLayer_" + MuonString[
j];
351 hchartitle = MuonString[
j] +
" Layer";
356 hcharname =
"hDtMuonTime_" + MuonString[
j];
357 hchartitle = MuonString[
j] +
" Time";
362 hcharname =
"hDtMuonTimevLayer_" + MuonString[
j];
363 hchartitle = MuonString[
j] +
" Time vs. Layer";
371 hcharname =
"hCSCStripn";
372 hchartitle =
"CSC Strip digis";
378 hcharname =
"hCSCStripADC";
379 hchartitle =
"CSC Strip ADC";
385 hcharname =
"hCSCWiren";
386 hchartitle =
"CSC Wire digis";
392 hcharname =
"hCSCWireTime";
393 hchartitle =
"CSC Wire Time";
400 hcharname =
"hRPCMuonn";
401 hchartitle =
"RPC digis";
406 std::string MuonRPCString[5] = {
"Wmin2",
"Wmin1",
"W0",
"Wpu1",
"Wpu2"};
407 for (
int i = 0;
i < 5; ++
i) {
411 for (
int j = 0;
j < 5; ++
j) {
412 hcharname =
"hRPCRes_" + MuonRPCString[
j];
413 hchartitle = MuonRPCString[
j] +
" Digi - Sim";
421 std::string MsgLoggerCat =
"GlobalDigisAnalyzer_analyze";
443 edm::LogInfo(MsgLoggerCat) <<
"Processing run " << nrun <<
", event " << nevt <<
" (" <<
count <<
" events total)";
445 if (nevt %
frequency == 0 || nevt == 1) {
446 edm::LogInfo(MsgLoggerCat) <<
"Processing run " << nrun <<
", event " << nevt <<
" (" <<
count 453 std::vector<const edm::StableProvenance *> AllProv;
457 edm::LogInfo(MsgLoggerCat) <<
"Number of Provenances = " << AllProv.size();
460 TString eventout(
"\nProvenance info:\n");
462 for (
unsigned int i = 0;
i < AllProv.size(); ++
i) {
463 eventout +=
"\n ******************************";
464 eventout +=
"\n Module : ";
465 eventout += AllProv[
i]->moduleLabel();
466 eventout +=
"\n ProductID : ";
467 eventout += AllProv[
i]->productID().id();
468 eventout +=
"\n ClassName : ";
469 eventout += AllProv[
i]->className();
470 eventout +=
"\n InstanceName : ";
471 eventout += AllProv[
i]->productInstanceName();
472 eventout +=
"\n BranchName : ";
473 eventout += AllProv[
i]->branchName();
475 eventout +=
"\n ******************************\n";
493 edm::LogInfo(MsgLoggerCat) <<
"Done gathering data from event.";
502 std::string MsgLoggerCat =
"GlobalDigisAnalyzer_fillECal";
506 eventout =
"\nGathering info:";
517 bool validDigiEB =
true;
519 LogDebug(MsgLoggerCat) <<
"Unable to find EcalDigiEB in event!";
523 if (EcalDigiEB->
empty())
530 bool validXFrame =
true;
531 if (!crossingFrame.
isValid()) {
532 LogDebug(MsgLoggerCat) <<
"Unable to find cal barrel crossingFrame in event!";
542 uint32_t crystid = ebid.
rawId();
543 ebSimMap[crystid] += iHit.energy();
550 std::vector<double> ebAnalogSignal;
551 std::vector<double> ebADCCounts;
552 std::vector<double> ebADCGains;
558 for (
unsigned int digis = 0; digis < EcalDigiEB->
size(); ++digis) {
562 int nrSamples = ebdf.
size();
568 double pedestalPreSample = 0.;
569 double pedestalPreSampleAnalog = 0.;
572 ebAnalogSignal[
sample] = 0.;
580 ebADCCounts[
sample] = (thisSample.
adc());
583 if (Emax < ebAnalogSignal[
sample]) {
584 Emax = ebAnalogSignal[
sample];
588 pedestalPreSample += ebADCCounts[
sample];
589 pedestalPreSampleAnalog +=
593 pedestalPreSample /= 3.;
594 pedestalPreSampleAnalog /= 3.;
597 double Erec = Emax - pedestalPreSampleAnalog *
ECalgainConv_[(
int)ebADCGains[Pmax]];
604 if (ebSimMap[ebid.
rawId()] != 0) {
616 eventout +=
"\n Number of EBDigis collected:.............. ";
626 bool isEndCap =
true;
629 bool validDigiEE =
true;
631 LogDebug(MsgLoggerCat) <<
"Unable to find EcalDigiEE in event!";
635 if (EcalDigiEE->
empty())
642 bool validXFrame =
true;
643 if (!crossingFrame.
isValid()) {
644 LogDebug(MsgLoggerCat) <<
"Unable to find cal endcap crossingFrame in event!";
654 uint32_t crystid = eeid.
rawId();
655 eeSimMap[crystid] += iHit.energy();
662 std::vector<double> eeAnalogSignal;
663 std::vector<double> eeADCCounts;
664 std::vector<double> eeADCGains;
670 for (
unsigned int digis = 0; digis < EcalDigiEE->
size(); ++digis) {
674 int nrSamples = eedf.
size();
680 double pedestalPreSample = 0.;
681 double pedestalPreSampleAnalog = 0.;
684 eeAnalogSignal[
sample] = 0.;
693 eeADCCounts[
sample] = (thisSample.
adc());
696 if (Emax < eeAnalogSignal[
sample]) {
697 Emax = eeAnalogSignal[
sample];
701 pedestalPreSample += eeADCCounts[
sample];
702 pedestalPreSampleAnalog +=
706 pedestalPreSample /= 3.;
707 pedestalPreSampleAnalog /= 3.;
710 double Erec = Emax - pedestalPreSampleAnalog *
ECalgainConv_[(
int)eeADCGains[Pmax]];
717 if (eeSimMap[eeid.
rawId()] != 0) {
728 eventout +=
"\n Number of EEDigis collected:.............. ";
739 bool isPreshower =
true;
742 bool validDigiES =
true;
744 LogDebug(MsgLoggerCat) <<
"Unable to find EcalDigiES in event!";
752 if (EcalDigiES->
empty())
758 bool validXFrame =
true;
759 if (!crossingFrame.
isValid()) {
760 LogDebug(MsgLoggerCat) <<
"Unable to find cal preshower crossingFrame in event!";
771 uint32_t crystid = esid.
rawId();
772 esSimMap[crystid] += iHit.energy();
779 std::vector<double> esADCCounts;
783 for (
unsigned int digis = 0; digis < EcalDigiES->
size(); ++digis) {
787 int nrSamples = esdf.
size();
796 esADCCounts[
sample] = (thisSample.
adc());
805 eventout +=
"\n Number of ESDigis collected:.............. ";
819 std::string MsgLoggerCat =
"GlobalDigisAnalyzer_fillHCal";
823 eventout =
"\nGathering info:";
828 if (!HCalconditions.
isValid()) {
829 edm::LogWarning(MsgLoggerCat) <<
"Unable to find HCalconditions in event!";
840 bool validhcalHits =
true;
842 LogDebug(MsgLoggerCat) <<
"Unable to find hcalHits in event!";
843 validhcalHits =
false;
852 for (std::vector<PCaloHit>::const_iterator
simhits = simhitResult->begin();
simhits != simhitResult->end();
855 uint32_t cellid = detId.
rawId();
858 fHBEnergySimHits[cellid] +=
simhits->energy();
861 fHEEnergySimHits[cellid] +=
simhits->energy();
864 fHOEnergySimHits[cellid] +=
simhits->energy();
867 fHFEnergySimHits[cellid] +=
simhits->energy();
877 bool validHBHE =
true;
879 LogDebug(MsgLoggerCat) <<
"Unable to find HBHEDataFrame in event!";
888 for (ihbhe = hbhe->begin(); ihbhe != hbhe->end(); ++ihbhe) {
897 coder.
adc2fC(*ihbhe, tool);
902 float fDigiSum = 0.0;
905 int capid = (*ihbhe)[
ii].capid();
906 fDigiSum += (tool[
ii] - calibrations.
pedestal(capid));
912 if (fHFEnergySimHits[cell.rawId()] != 0) {
925 float fDigiSum = 0.0;
927 int capid = (*ihbhe)[
ii].capid();
928 fDigiSum += (tool[
ii] - calibrations.
pedestal(capid));
934 if (fHFEnergySimHits[cell.rawId()] != 0) {
947 eventout +=
"\n Number of HBDigis collected:.............. ";
953 eventout +=
"\n Number of HEDigis collected:.............. ";
966 LogDebug(MsgLoggerCat) <<
"Unable to find HODataFrame in event!";
973 for (iho = ho->begin(); iho != ho->end(); ++iho) {
985 float fDigiSum = 0.0;
988 int capid = (*iho)[
ii].capid();
989 fDigiSum += (tool[
ii] - calibrations.
pedestal(capid));
995 if (fHFEnergySimHits[cell.rawId()] != 0) {
1007 eventout +=
"\n Number of HODigis collected:.............. ";
1018 bool validHF =
true;
1020 LogDebug(MsgLoggerCat) <<
"Unable to find HFDataFrame in event!";
1027 for (ihf = hf->begin(); ihf != hf->end(); ++
ihf) {
1036 coder.
adc2fC(*ihf, tool);
1039 float fDigiSum = 0.0;
1042 int capid = (*ihf)[
ii].capid();
1043 fDigiSum += (tool[
ii] - calibrations.
pedestal(capid));
1049 if (fHFEnergySimHits[cell.rawId()] != 0) {
1061 eventout +=
"\n Number of HFDigis collected:.............. ";
1079 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:......... ";
1461 edm::LogWarning(MsgLoggerCat) <<
"Unable to find RPCGeometryRecord in event!";
1467 bool validrpcsim =
true;
1469 LogDebug(MsgLoggerCat) <<
"Unable to find rpcsimHit in event!";
1470 validrpcsim =
false;
1475 bool validrpcdigi =
true;
1477 LogDebug(MsgLoggerCat) <<
"Unable to find rpcDigis in event!";
1478 validrpcdigi =
false;
1482 validrpcdigi =
false;
1485 edm::PSimHitContainer::const_iterator rpcsimIt;
1486 std::map<RPCDetId, std::vector<double>> allsims;
1489 for (rpcsimIt = rpcsimHit->begin(); rpcsimIt != rpcsimHit->end(); rpcsimIt++) {
1491 int ptype = rpcsimIt->particleType();
1493 if (ptype == 13 || ptype == -13) {
1494 std::vector<double> buff;
1495 if (allsims.find(Rsid) != allsims.end()) {
1496 buff = allsims[Rsid];
1498 buff.push_back(rpcsimIt->localPosition().x());
1499 allsims[Rsid] = buff;
1509 for (rpcdetUnitIt = rpcDigis->begin(); rpcdetUnitIt != rpcDigis->end(); ++rpcdetUnitIt) {
1510 const RPCDetId Rsid = (*rpcdetUnitIt).first;
1514 std::vector<double> sims;
1515 if (allsims.find(Rsid) != allsims.end()) {
1516 sims = allsims[Rsid];
1525 if (sims.size() == 1 && ndigi == 1) {
1526 double dis = roll->
centreOfStrip(range.first->strip()).
x() - sims[0];
1528 if (Rsid.
region() == 0) {
1529 if (Rsid.
ring() == -2)
1531 else if (Rsid.
ring() == -1)
1533 else if (Rsid.
ring() == 0)
1535 else if (Rsid.
ring() == 1)
1537 else if (Rsid.
ring() == 2)
1544 eventout +=
"\n Number of RPCDigis collected:.............. ";
GlobalDigisAnalyzer(const edm::ParameterSet &)
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX)
T getParameter(std::string const &) const
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
static const int sdHcalOut
float theCSCStripPedestalSum
bool getByToken(EDGetToken token, Handle< PROD > &result) const
MonitorElement * mehEcaln[2]
void setCurrentFolder(std::string const &fullpath)
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)
MonitorElement * mehCSCWireTime
nStrips
1.2 is to make the matching window safely the two nearest strips 0.35 is the size of an ME0 chamber i...
edm::EDGetTokenT< EEDigiCollection > ECalEESrc_Token_
MonitorElement * mehEcalMaxPos[2]
edm::EDGetTokenT< CrossingFrame< PCaloHit > > ESHits_Token_
edm::EDGetTokenT< edm::PSimHitContainer > RPCSimHit_Token_
void adc2fC(const HBHEDataFrame &df, CaloSamples &lf) const override
MonitorElement * mehDtMuonTime[4]
static const int sdPxlBrl
double ECalendcapADCtoGeV_
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
edm::InputTag MuCSCStripSrc_
static const int MAXSAMPLES
edm::EDGetTokenT< edm::SortedCollection< HFDataFrame > > HFDigi_Token_
MonitorElement * bookProfile(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, char const *option="s")
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
void reserve(size_t isize)
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
static const int sdHcalFwd
float gain12Over6() const
const HcalQIECoder * getHcalCoder(const HcalGenericDetId &fId) const
std::vector< DigiType >::const_iterator const_iterator
static const int sdHcalBrl
MonitorElement * mehSiPixelCol[7]
const HcalQIEShape * getHcalShape(const HcalGenericDetId &fId) const
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
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< 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
MonitorElement * mehEcalMultvAEE[2]
MonitorElement * mehSiPixeln[7]
MonitorElement * mehSiStripStrip[19]
edm::EDGetTokenT< edm::DetSetVector< PixelDigi > > SiPxlSrc_Token_
collection_type::const_iterator const_iterator
const HcalCalibrations & getHcalCalibrations(const HcalGenericDetId &fId) const
collection_type::const_iterator const_iterator
unsigned int tecWheel(const DetId &id) const
void fillTrk(const edm::Event &, const edm::EventSetup &)
T const * product() const
edm::InputTag MuCSCWireSrc_
edm::EDGetTokenT< DTDigiCollection > MuDTSrc_Token_
static const int sdHcalEC
MonitorElement * mehSiPixelADC[7]
const RPCRoll * roll(RPCDetId id) const
Return a roll given its id.
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)