18 getAllProvenances(
false),
19 printProvenanceInfo(
false),
20 theCSCStripPedestalSum(0),
21 theCSCStripPedestalCount(0),
23 std::string MsgLoggerCat =
"GlobalDigisProducer_GlobalDigisProducer";
75 produces<PGlobalDigi>(
label);
79 edm::LogInfo(MsgLoggerCat) <<
"\n===============================\n"
80 <<
"Initialized as EDProducer with parameter values:\n"
81 <<
" Name = " <<
fName <<
"\n"
82 <<
" Verbosity = " << verbosity <<
"\n"
83 <<
" Frequency = " << frequency <<
"\n"
84 <<
" Label = " << label <<
"\n"
85 <<
" GetProv = " << getAllProvenances <<
"\n"
86 <<
" PrintProv = " << printProvenanceInfo <<
"\n"
87 <<
" ECalEBSrc = " << ECalEBSrc_.label() <<
":" << ECalEBSrc_.instance() <<
"\n"
88 <<
" ECalEESrc = " << ECalEESrc_.
label() <<
":" << ECalEESrc_.
instance() <<
"\n"
89 <<
" ECalESSrc = " << ECalESSrc_.
label() <<
":" << ECalESSrc_.
instance() <<
"\n"
90 <<
" HCalSrc = " << HCalSrc_.
label() <<
":" << HCalSrc_.
instance() <<
"\n"
91 <<
" HCalDigi = " << HCalDigi_.
label() <<
":" << HCalDigi_.
instance() <<
"\n"
92 <<
" SiStripSrc = " << SiStripSrc_.
label() <<
":" << SiStripSrc_.
instance() <<
"\n"
93 <<
" SiPixelSrc = " << SiPxlSrc_.
label() <<
":" << SiPxlSrc_.
instance() <<
"\n"
94 <<
" MuDTSrc = " << MuDTSrc_.
label() <<
":" << MuDTSrc_.
instance() <<
"\n"
95 <<
" MuCSCStripSrc = " << MuCSCStripSrc_.
label() <<
":" << MuCSCStripSrc_.
instance()
97 <<
" MuCSCWireSrc = " << MuCSCWireSrc_.
label() <<
":" << MuCSCWireSrc_.
instance()
99 <<
"===============================\n";
115 std::string MsgLoggerCat =
"GlobalDigisProducer_beginJob";
124 delete defaultRatios;
141 std::string MsgLoggerCat =
"GlobalDigisProducer_endJob";
143 edm::LogInfo(MsgLoggerCat) <<
"Terminating having processed " <<
count <<
" events.";
148 std::string MsgLoggerCat =
"GlobalDigisProducer_produce";
168 edm::LogInfo(MsgLoggerCat) <<
"Processing run " << nrun <<
", event " << nevt <<
" (" <<
count <<
" events total)";
170 if (nevt %
frequency == 0 || nevt == 1) {
171 edm::LogInfo(MsgLoggerCat) <<
"Processing run " << nrun <<
", event " << nevt <<
" (" <<
count
181 std::vector<const edm::StableProvenance *> AllProv;
185 edm::LogInfo(MsgLoggerCat) <<
"Number of Provenances = " << AllProv.size();
188 TString eventout(
"\nProvenance info:\n");
190 for (
unsigned int i = 0;
i < AllProv.size(); ++
i) {
191 eventout +=
"\n ******************************";
192 eventout +=
"\n Module : ";
194 eventout += AllProv[
i]->moduleLabel();
195 eventout +=
"\n ProductID : ";
197 eventout += AllProv[
i]->productID().id();
198 eventout +=
"\n ClassName : ";
200 eventout += AllProv[
i]->className();
201 eventout +=
"\n InstanceName : ";
203 eventout += AllProv[
i]->productInstanceName();
204 eventout +=
"\n BranchName : ";
206 eventout += AllProv[
i]->branchName();
208 eventout +=
"\n ******************************\n";
226 edm::LogInfo(MsgLoggerCat) <<
"Done gathering data from event.";
229 std::unique_ptr<PGlobalDigi> pOut(
new PGlobalDigi);
251 std::string MsgLoggerCat =
"GlobalDigisProducer_fillECal";
255 eventout =
"\nGathering info:";
274 edm::LogWarning(MsgLoggerCat) <<
"Unable to find EcalDigiEB in event!";
277 if (EcalDigiEB->empty())
283 if (!crossingFrame.
isValid()) {
284 edm::LogWarning(MsgLoggerCat) <<
"Unable to find cal barrel crossingFrame in event!";
297 uint32_t crystid = ebid.
rawId();
298 ebSimMap[crystid] += hitItr->energy();
304 std::vector<double> ebAnalogSignal;
305 std::vector<double> ebADCCounts;
306 std::vector<double> ebADCGains;
312 for (
unsigned int digis = 0; digis < EcalDigiEB->size(); ++digis) {
321 int nrSamples = ebdf.
size();
328 double pedestalPreSample = 0.;
329 double pedestalPreSampleAnalog = 0.;
333 ebAnalogSignal[
sample] = 0.;
343 ebADCCounts[
sample] = (thisSample.
adc());
346 if (Emax < ebAnalogSignal[
sample]) {
347 Emax = ebAnalogSignal[
sample];
351 pedestalPreSample += ebADCCounts[
sample];
352 pedestalPreSampleAnalog += ebADCCounts[
sample] *
ECalgainConv_[(int)ebADCGains[sample]] * ECalbarrelADCtoGeV_;
355 pedestalPreSample /= 3.;
356 pedestalPreSampleAnalog /= 3.;
359 double Erec = Emax - pedestalPreSampleAnalog *
ECalgainConv_[(int)ebADCGains[Pmax]];
368 eventout +=
"\n Number of EBDigis collected:.............. ";
376 bool isEndCap =
true;
380 edm::LogWarning(MsgLoggerCat) <<
"Unable to find EcalDigiEE in event!";
383 if (EcalDigiEE->empty())
389 if (!crossingFrame.
isValid()) {
390 edm::LogWarning(MsgLoggerCat) <<
"Unable to find cal endcap crossingFrame in event!";
403 uint32_t crystid = eeid.
rawId();
404 eeSimMap[crystid] += hitItr->energy();
410 std::vector<double> eeAnalogSignal;
411 std::vector<double> eeADCCounts;
412 std::vector<double> eeADCGains;
422 for (
unsigned int digis = 0; digis < EcalDigiEE->size(); ++digis) {
426 int nrSamples = eedf.
size();
433 double pedestalPreSample = 0.;
434 double pedestalPreSampleAnalog = 0.;
438 eeAnalogSignal[
sample] = 0.;
449 eeADCCounts[
sample] = (thisSample.
adc());
452 if (Emax < eeAnalogSignal[
sample]) {
453 Emax = eeAnalogSignal[
sample];
457 pedestalPreSample += eeADCCounts[
sample];
458 pedestalPreSampleAnalog += eeADCCounts[
sample] *
ECalgainConv_[(int)eeADCGains[sample]] * ECalbarrelADCtoGeV_;
461 pedestalPreSample /= 3.;
462 pedestalPreSampleAnalog /= 3.;
465 double Erec = Emax - pedestalPreSampleAnalog *
ECalgainConv_[(int)eeADCGains[Pmax]];
474 eventout +=
"\n Number of EEDigis collected:.............. ";
482 bool isPreshower =
true;
486 edm::LogWarning(MsgLoggerCat) <<
"Unable to find EcalDigiES in event!";
489 if (EcalDigiES->empty())
495 if (!crossingFrame.
isValid()) {
496 edm::LogWarning(MsgLoggerCat) <<
"Unable to find cal preshower crossingFrame in event!";
509 uint32_t crystid = esid.
rawId();
510 esSimMap[crystid] += hitItr->energy();
516 std::vector<double> esADCCounts;
520 for (
unsigned int digis = 0; digis < EcalDigiES->size(); ++digis) {
529 int nrSamples = esdf.
size();
543 esADCCounts[
sample] = (thisSample.
adc());
553 eventout +=
"\n Number of ESDigis collected:.............. ";
565 std::string MsgLoggerCat =
"GlobalDigisProducer_storeECal";
568 TString eventout(
"\n nEBDigis = ");
571 eventout +=
"\n (maxPos, AEE, SHE) = (";
579 eventout +=
"\n nEEDigis = ";
582 eventout +=
"\n (maxPos, AEE, SHE) = (";
590 eventout +=
"\n nESDigis = ";
593 eventout +=
"\n (ADC0, ADC1, ADC2, SHE) = (";
614 std::string MsgLoggerCat =
"GlobalDigisProducer_fillHCal";
618 eventout =
"\nGathering info:";
622 if (!HCalconditions.isValid()) {
623 edm::LogWarning(MsgLoggerCat) <<
"Unable to find HCalconditions in event!";
644 for (std::vector<PCaloHit>::const_iterator simhits = simhitResult->begin(); simhits != simhitResult->end();
647 uint32_t cellid = detId.
rawId();
650 fHBEnergySimHits[cellid] += simhits->energy();
653 fHEEnergySimHits[cellid] += simhits->energy();
656 fHOEnergySimHits[cellid] += simhits->energy();
659 fHFEnergySimHits[cellid] += simhits->energy();
669 edm::LogWarning(MsgLoggerCat) <<
"Unable to find HBHEDataFrame in event!";
676 for (ihbhe = hbhe->begin(); ihbhe != hbhe->end(); ++ihbhe) {
681 const HcalCalibrations &calibrations = HCalconditions->getHcalCalibrations(cell);
682 const HcalQIECoder *channelCoder = HCalconditions->getHcalCoder(cell);
683 const HcalQIEShape *shape = HCalconditions->getHcalShape(channelCoder);
686 coder.
adc2fC(*ihbhe, tool);
691 float fDigiSum = 0.0;
694 int capid = (*ihbhe)[
ii].capid();
695 fDigiSum += (tool[
ii] - calibrations.
pedestal(capid));
699 HBCalSHE.push_back(fHBEnergySimHits[cell.rawId()]);
705 float fDigiSum = 0.0;
707 int capid = (*ihbhe)[
ii].capid();
708 fDigiSum += (tool[
ii] - calibrations.
pedestal(capid));
712 HECalSHE.push_back(fHEEnergySimHits[cell.rawId()]);
718 eventout +=
"\n Number of HBDigis collected:.............. ";
723 eventout +=
"\n Number of HEDigis collected:.............. ";
733 edm::LogWarning(MsgLoggerCat) <<
"Unable to find HODataFrame in event!";
739 for (iho = ho->begin(); iho != ho->end(); ++iho) {
744 const HcalCalibrations &calibrations = HCalconditions->getHcalCalibrations(cell);
745 const HcalQIECoder *channelCoder = HCalconditions->getHcalCoder(cell);
746 const HcalQIEShape *shape = HCalconditions->getHcalShape(channelCoder);
752 float fDigiSum = 0.0;
755 int capid = (*iho)[
ii].capid();
756 fDigiSum += (tool[
ii] - calibrations.
pedestal(capid));
760 HOCalSHE.push_back(fHOEnergySimHits[cell.rawId()]);
765 eventout +=
"\n Number of HODigis collected:.............. ";
775 edm::LogWarning(MsgLoggerCat) <<
"Unable to find HFDataFrame in event!";
781 for (ihf = hf->begin(); ihf != hf->end(); ++
ihf) {
786 const HcalCalibrations &calibrations = HCalconditions->getHcalCalibrations(cell);
787 const HcalQIECoder *channelCoder = HCalconditions->getHcalCoder(cell);
788 const HcalQIEShape *shape = HCalconditions->getHcalShape(channelCoder);
794 float fDigiSum = 0.0;
797 int capid = (*ihf)[
ii].capid();
798 fDigiSum += (tool[
ii] - calibrations.
pedestal(capid));
802 HFCalSHE.push_back(fHFEnergySimHits[cell.rawId()]);
807 eventout +=
"\n Number of HFDigis collected:.............. ";
818 std::string MsgLoggerCat =
"GlobalDigisProducer_storeHCal";
821 TString eventout(
"\n nHBDigis = ");
823 for (
unsigned int i = 0;
i <
HBCalAEE.size(); ++
i) {
824 eventout +=
"\n (AEE, SHE) = (";
830 eventout +=
"\n nHEDigis = ";
832 for (
unsigned int i = 0;
i <
HECalAEE.size(); ++
i) {
833 eventout +=
"\n (AEE, SHE) = (";
839 eventout +=
"\n nHODigis = ";
841 for (
unsigned int i = 0;
i <
HOCalAEE.size(); ++
i) {
842 eventout +=
"\n (AEE, SHE) = (";
848 eventout +=
"\n nHFDigis = ";
850 for (
unsigned int i = 0;
i <
HFCalAEE.size(); ++
i) {
851 eventout +=
"\n (AEE, SHE) = (";
873 std::string MsgLoggerCat =
"GlobalDigisProducer_fillTrk";
877 eventout =
"\nGathering info:";
883 edm::LogWarning(MsgLoggerCat) <<
"Unable to find stripDigis in event!";
887 int nStripBrl = 0, nStripFwd = 0;
889 for (DSViter = stripDigis->begin(); DSViter != stripDigis->end(); ++DSViter) {
890 unsigned int id = DSViter->id;
898 for (iter = begin; iter !=
end; ++iter) {
921 for (iter = begin; iter !=
end; ++iter) {
944 for (iter = begin; iter !=
end; ++iter) {
963 for (iter = begin; iter !=
end; ++iter) {
1002 eventout +=
"\n Number of BrlStripDigis collected:........ ";
1003 eventout += nStripBrl;
1007 eventout +=
"\n Number of FrwdStripDigis collected:....... ";
1008 eventout += nStripFwd;
1015 edm::LogWarning(MsgLoggerCat) <<
"Unable to find pixelDigis in event!";
1019 int nPxlBrl = 0, nPxlFwd = 0;
1021 for (DPViter = pixelDigis->begin(); DPViter != pixelDigis->end(); ++DPViter) {
1022 unsigned int id = DPViter->id;
1030 for (iter = begin; iter !=
end; ++iter) {
1033 BRL1ADC.push_back((*iter).adc());
1034 BRL1Row.push_back((*iter).row());
1035 BRL1Col.push_back((*iter).column());
1038 BRL2ADC.push_back((*iter).adc());
1039 BRL2Row.push_back((*iter).row());
1040 BRL2Col.push_back((*iter).column());
1043 BRL3ADC.push_back((*iter).adc());
1044 BRL3Row.push_back((*iter).row());
1045 BRL3Col.push_back((*iter).column());
1052 for (iter = begin; iter !=
end; ++iter) {
1054 if (tTopo->
pxfDisk(
id) == 1) {
1055 if (tTopo->
pxfSide(
id) == 1) {
1058 FWD1nCol.push_back((*iter).column());
1060 if (tTopo->
pxfSide(
id) == 2) {
1063 FWD1pCol.push_back((*iter).column());
1066 if (tTopo->
pxfDisk(
id) == 2) {
1067 if (tTopo->
pxfSide(
id) == 1) {
1070 FWD2nCol.push_back((*iter).column());
1072 if (tTopo->
pxfSide(
id) == 2) {
1075 FWD2pCol.push_back((*iter).column());
1083 eventout +=
"\n Number of BrlPixelDigis collected:........ ";
1084 eventout += nPxlBrl;
1088 eventout +=
"\n Number of FrwdPixelDigis collected:....... ";
1089 eventout += nPxlFwd;
1099 std::string MsgLoggerCat =
"GlobalDigisProducer_storeTrk";
1103 TString eventout(
"\n nTIBL1 = ");
1105 for (
unsigned int i = 0;
i <
TIBL1ADC.size(); ++
i) {
1106 eventout +=
"\n (ADC, strip) = (";
1112 eventout +=
"\n nTIBL2 = ";
1114 for (
unsigned int i = 0;
i <
TIBL2ADC.size(); ++
i) {
1115 eventout +=
"\n (ADC, strip) = (";
1121 eventout +=
"\n nTIBL3 = ";
1123 for (
unsigned int i = 0;
i <
TIBL3ADC.size(); ++
i) {
1124 eventout +=
"\n (ADC, strip) = (";
1130 eventout +=
"\n nTIBL4 = ";
1132 for (
unsigned int i = 0;
i <
TIBL4ADC.size(); ++
i) {
1133 eventout +=
"\n (ADC, strip) = (";
1139 eventout +=
"\n nTOBL1 = ";
1141 for (
unsigned int i = 0;
i <
TOBL1ADC.size(); ++
i) {
1142 eventout +=
"\n (ADC, strip) = (";
1148 eventout +=
"\n nTOBL2 = ";
1150 for (
unsigned int i = 0;
i <
TOBL2ADC.size(); ++
i) {
1151 eventout +=
"\n (ADC, strip) = (";
1157 eventout +=
"\n nTOBL3 = ";
1159 for (
unsigned int i = 0;
i <
TOBL3ADC.size(); ++
i) {
1160 eventout +=
"\n (ADC, strip) = (";
1166 eventout +=
"\n nTOBL4 = ";
1168 for (
unsigned int i = 0;
i <
TOBL4ADC.size(); ++
i) {
1169 eventout +=
"\n (ADC, strip) = (";
1175 eventout +=
"\n nTIDW1 = ";
1177 for (
unsigned int i = 0;
i <
TIDW1ADC.size(); ++
i) {
1178 eventout +=
"\n (ADC, strip) = (";
1184 eventout +=
"\n nTIDW2 = ";
1186 for (
unsigned int i = 0;
i <
TIDW2ADC.size(); ++
i) {
1187 eventout +=
"\n (ADC, strip) = (";
1193 eventout +=
"\n nTIDW3 = ";
1195 for (
unsigned int i = 0;
i <
TIDW3ADC.size(); ++
i) {
1196 eventout +=
"\n (ADC, strip) = (";
1202 eventout +=
"\n nTECW1 = ";
1204 for (
unsigned int i = 0;
i <
TECW1ADC.size(); ++
i) {
1205 eventout +=
"\n (ADC, strip) = (";
1211 eventout +=
"\n nTECW2 = ";
1213 for (
unsigned int i = 0;
i <
TECW2ADC.size(); ++
i) {
1214 eventout +=
"\n (ADC, strip) = (";
1220 eventout +=
"\n nTECW3 = ";
1222 for (
unsigned int i = 0;
i <
TECW3ADC.size(); ++
i) {
1223 eventout +=
"\n (ADC, strip) = (";
1229 eventout +=
"\n nTECW4 = ";
1231 for (
unsigned int i = 0;
i <
TECW4ADC.size(); ++
i) {
1232 eventout +=
"\n (ADC, strip) = (";
1238 eventout +=
"\n nTECW5 = ";
1240 for (
unsigned int i = 0;
i <
TECW5ADC.size(); ++
i) {
1241 eventout +=
"\n (ADC, strip) = (";
1247 eventout +=
"\n nTECW6 = ";
1249 for (
unsigned int i = 0;
i <
TECW6ADC.size(); ++
i) {
1250 eventout +=
"\n (ADC, strip) = (";
1256 eventout +=
"\n nTECW7 = ";
1258 for (
unsigned int i = 0;
i <
TECW7ADC.size(); ++
i) {
1259 eventout +=
"\n (ADC, strip) = (";
1265 eventout +=
"\n nTECW8 = ";
1267 for (
unsigned int i = 0;
i <
TECW8ADC.size(); ++
i) {
1268 eventout +=
"\n (ADC, strip) = (";
1276 eventout +=
"\n nBRL1 = ";
1278 for (
unsigned int i = 0;
i <
BRL1ADC.size(); ++
i) {
1279 eventout +=
"\n (ADC, row, column) = (";
1287 eventout +=
"\n nBRL2 = ";
1289 for (
unsigned int i = 0;
i <
BRL2ADC.size(); ++
i) {
1290 eventout +=
"\n (ADC, row, column) = (";
1298 eventout +=
"\n nBRL3 = ";
1300 for (
unsigned int i = 0;
i <
BRL3ADC.size(); ++
i) {
1301 eventout +=
"\n (ADC, row, column) = (";
1309 eventout +=
"\n nFWD1p = ";
1311 for (
unsigned int i = 0;
i <
FWD1pADC.size(); ++
i) {
1312 eventout +=
"\n (ADC, row, column) = (";
1320 eventout +=
"\n nFWD1p = ";
1322 for (
unsigned int i = 0;
i <
FWD1nADC.size(); ++
i) {
1323 eventout +=
"\n (ADC, row, column) = (";
1331 eventout +=
"\n nFWD1p = ";
1333 for (
unsigned int i = 0;
i <
FWD2pADC.size(); ++
i) {
1334 eventout +=
"\n (ADC, row, column) = (";
1342 eventout +=
"\n nFWD2p = ";
1344 for (
unsigned int i = 0;
i <
FWD2nADC.size(); ++
i) {
1345 eventout +=
"\n (ADC, row, column) = (";
1391 std::string MsgLoggerCat =
"GlobalDigisProducer_fillMuon";
1395 eventout =
"\nGathering info:";
1407 for (detUnitIt = dtDigis->begin(); detUnitIt != dtDigis->end(); ++detUnitIt) {
1408 const DTLayerId &
id = (*detUnitIt).first;
1414 DTWireId wireId(
id, (*digiIt).wire());
1415 if (wireId.station() == 1) {
1417 MB1Time.push_back((*digiIt).time());
1420 if (wireId.station() == 2) {
1422 MB2Time.push_back((*digiIt).time());
1425 if (wireId.station() == 3) {
1427 MB3Time.push_back((*digiIt).time());
1430 if (wireId.station() == 4) {
1432 MB4Time.push_back((*digiIt).time());
1439 eventout +=
"\n Number of DtMuonDigis collected:.......... ";
1447 edm::LogWarning(MsgLoggerCat) <<
"Unable to find muon strips in event!";
1453 std::vector<CSCStripDigi>::const_iterator digiItr = (*j).second.first;
1454 std::vector<CSCStripDigi>::const_iterator
last = (*j).second.second;
1456 for (; digiItr !=
last; ++digiItr) {
1460 std::vector<int> adcCounts = digiItr->getADCCounts();
1468 if (adcCounts[5] > (pedestal + 100))
1475 eventout +=
"\n Number of CSCStripDigis collected:........ ";
1483 edm::LogWarning(MsgLoggerCat) <<
"Unable to find muon wires in event!";
1489 std::vector<CSCWireDigi>::const_iterator digiItr = (*j).second.first;
1490 std::vector<CSCWireDigi>::const_iterator endDigi = (*j).second.second;
1492 for (; digiItr != endDigi; ++digiItr) {
1500 eventout +=
"\n Number of CSCWireDigis collected:......... ";
1511 std::string MsgLoggerCat =
"GlobalDigisProducer_storeMuon";
1515 TString eventout(
"\n nMB1 = ");
1518 eventout +=
"\n (slayer, time, layer) = (";
1526 eventout +=
"\n nMB2 = ";
1529 eventout +=
"\n (slayer, time, layer) = (";
1537 eventout +=
"\n nMB3 = ";
1540 eventout +=
"\n (slayer, time, layer) = (";
1548 eventout +=
"\n nMB2 = ";
1551 eventout +=
"\n (slayer, time, layer) = (";
1561 eventout +=
"\n nCSCStrip = ";
1564 eventout +=
"\n (adc) = (";
1570 eventout +=
"\n nCSCWire = ";
1573 eventout +=
"\n (time) = (";
1594 std::string MsgLoggerCat =
"GlobalDigisProducer_clear";
1597 edm::LogInfo(MsgLoggerCat) <<
"Clearing event holders";
void putTECW7Digis(const std::vector< float > &adc, const std::vector< int > &strip)
void putTOBL4Digis(const std::vector< float > &adc, const std::vector< int > &strip)
EventNumber_t event() const
T getUntrackedParameter(std::string const &, T const &) const
void putFWD2pDigis(const std::vector< float > &adc, const std::vector< int > &row, const std::vector< int > &column)
void putTOBL1Digis(const std::vector< float > &adc, const std::vector< int > &strip)
std::vector< PCaloHit > PCaloHitContainer
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
edm::ESGetToken< HcalDbService, HcalDbRecord > hcaldbToken_
unsigned int tibLayer(const DetId &id) const
edm::EDGetTokenT< CSCStripDigiCollection > MuCSCStripSrc_Token_
edm::EDGetTokenT< CrossingFrame< PCaloHit > > EEHits_Token_
void putBRL3Digis(const std::vector< float > &adc, const std::vector< int > &row, const std::vector< int > &column)
static const int sdHcalOut
edm::InputTag MuCSCStripSrc_
edm::EDGetTokenT< edm::SortedCollection< HBHEDataFrame > > HBHEDigi_Token_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
const ESDetId & id() const
unsigned int pxfDisk(const DetId &id) const
constexpr uint32_t rawId() const
get the raw id
void putMB1Digis(const std::vector< int > &slayer, const std::vector< float > &time, const std::vector< int > &layer)
std::vector< T >::const_iterator const_iterator
unsigned long long EventNumber_t
unsigned int tidWheel(const DetId &id) const
std::map< uint32_t, float, std::less< uint32_t > > MapType
void fillTrk(edm::Event &, const edm::EventSetup &)
void putHOCalDigis(const std::vector< float > &aee, const std::vector< float > &she)
edm::EDGetTokenT< edm::DetSetVector< SiStripDigi > > SiStripSrc_Token_
edm::EDGetTokenT< edm::PCaloHitContainer > HCalSrc_Token_
void putFWD2nDigis(const std::vector< float > &adc, const std::vector< int > &row, const std::vector< int > &column)
void storeECal(PGlobalDigi &)
edm::EDGetTokenT< EEDigiCollection > ECalEESrc_Token_
void putFWD1nDigis(const std::vector< float > &adc, const std::vector< int > &row, const std::vector< int > &column)
int gainId() const
get the gainId (2 bits)
void putTECW8Digis(const std::vector< float > &adc, const std::vector< int > &strip)
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...
void putFWD1pDigis(const std::vector< float > &adc, const std::vector< int > &row, const std::vector< int > &column)
~GlobalDigisProducer() override
float theCSCStripPedestalSum
constexpr std::array< uint8_t, layerIndexSize > layer
void putTIDW3Digis(const std::vector< float > &adc, const std::vector< int > &strip)
void putTECW3Digis(const std::vector< float > &adc, const std::vector< int > &strip)
const uint16_t range(const Frame &aFrame)
void putBRL1Digis(const std::vector< float > &adc, const std::vector< int > &row, const std::vector< int > &column)
bool getData(T &iHolder) const
void fillMuon(edm::Event &, const edm::EventSetup &)
void adc2fC(const HBHEDataFrame &df, CaloSamples &lf) const override
GlobalDigisProducer(const edm::ParameterSet &)
void putTECW6Digis(const std::vector< float > &adc, const std::vector< int > &strip)
double ECalendcapADCtoGeV_
edm::EDGetTokenT< DTDigiCollection > MuDTSrc_Token_
void putHBCalDigis(const std::vector< float > &aee, const std::vector< float > &she)
void putTECW2Digis(const std::vector< float > &adc, const std::vector< int > &strip)
void putEBCalDigis(const std::vector< int > &maxpos, const std::vector< double > &aee, const std::vector< float > &she)
static const int sdPxlBrl
void putTECW1Digis(const std::vector< float > &adc, const std::vector< int > &strip)
edm::EDGetTokenT< edm::DetSetVector< PixelDigi > > SiPxlSrc_Token_
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
void produce(edm::Event &, const edm::EventSetup &) override
void beginJob(void) override
void putHFCalDigis(const std::vector< float > &aee, const std::vector< float > &she)
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum) ...
void putTECW4Digis(const std::vector< float > &adc, const std::vector< int > &strip)
void putTOBL2Digis(const std::vector< float > &adc, const std::vector< int > &strip)
void storeTrk(PGlobalDigi &)
double ECalbarrelADCtoGeV_
void storeHCal(PGlobalDigi &)
edm::EDGetTokenT< EBDigiCollection > ECalEBSrc_Token_
void putESCalDigis(const std::vector< float > &adc0, const std::vector< float > &adc1, const std::vector< float > &adc2, const std::vector< float > &she)
edm::InputTag SiStripSrc_
edm::EDGetTokenT< edm::SortedCollection< HODataFrame > > HODigi_Token_
edm::EDGetTokenT< ESDigiCollection > ECalESSrc_Token_
void putTECW5Digis(const std::vector< float > &adc, const std::vector< int > &strip)
void putMB4Digis(const std::vector< int > &slayer, const std::vector< float > &time, const std::vector< int > &layer)
iterator end()
Return the off-the-end iterator.
edm::EDGetTokenT< CrossingFrame< PCaloHit > > ESHits_Token_
void putBRL2Digis(const std::vector< float > &adc, const std::vector< int > &row, const std::vector< int > &column)
unsigned int pxbLayer(const DetId &id) const
Log< level::Info, false > LogInfo
edm::EDGetTokenT< edm::SortedCollection< HFDataFrame > > HFDigi_Token_
constexpr double pedestal(int fCapId) const
get pedestal for capid=0..3
std::map< int, double, std::less< int > > ECalgainConv_
void putHECalDigis(const std::vector< float > &aee, const std::vector< float > &she)
T const * product() const
int size() const
get the size
int theCSCStripPedestalCount
std::pair< const_iterator, const_iterator > Range
T getParameter(std::string const &) const
void putEECalDigis(const std::vector< int > &maxpos, const std::vector< double > &aee, const std::vector< float > &she)
static const int sdHcalFwd
float gain12Over6() const
std::vector< DigiType >::const_iterator const_iterator
edm::ESGetToken< EcalADCToGeVConstant, EcalADCToGeVConstantRcd > ecalADCtoGevToken_
void putTIBL1Digis(const std::vector< float > &adc, const std::vector< int > &strip)
static const int sdHcalBrl
void putMB2Digis(const std::vector< int > &slayer, const std::vector< float > &time, const std::vector< int > &layer)
void putTIDW2Digis(const std::vector< float > &adc, const std::vector< int > &strip)
void storeMuon(PGlobalDigi &)
void putMB3Digis(const std::vector< int > &slayer, const std::vector< float > &time, const std::vector< int > &layer)
unsigned int pxfSide(const DetId &id) const
int adc() const
get the ADC sample (singed 16 bits)
void fillHCal(edm::Event &, const edm::EventSetup &)
iterator begin()
Return an iterator to the first DetSet.
static const int sdPxlFwd
static constexpr int MAXSAMPLES
void fillECal(edm::Event &, const edm::EventSetup &)
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const
Log< level::Warning, false > LogWarning
void putCSCwireDigis(const std::vector< float > &time)
collection_type::const_iterator const_iterator
collection_type::const_iterator const_iterator
void putTIBL4Digis(const std::vector< float > &adc, const std::vector< int > &strip)
edm::EDGetTokenT< CSCWireDigiCollection > MuCSCWireSrc_Token_
void putTIBL2Digis(const std::vector< float > &adc, const std::vector< int > &strip)
void putTIBL3Digis(const std::vector< float > &adc, const std::vector< int > &strip)
unsigned int tecWheel(const DetId &id) const
edm::EDGetTokenT< CrossingFrame< PCaloHit > > EBHits_Token_
static const int sdHcalEC
void putTOBL3Digis(const std::vector< float > &adc, const std::vector< int > &strip)
edm::InputTag MuCSCWireSrc_
void putCSCstripDigis(const std::vector< float > &adc)
unsigned int tobLayer(const DetId &id) const
int adc() const
get the ADC sample (12 bits)
void getAllStableProvenance(std::vector< StableProvenance const * > &provenances) const
void putTIDW1Digis(const std::vector< float > &adc, const std::vector< int > &strip)
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > tTopoToken_