17 getAllProvenances(
false),
18 printProvenanceInfo(
false),
19 theCSCStripPedestalSum(0),
20 theCSCStripPedestalCount(0),
22 std::string MsgLoggerCat =
"GlobalDigisProducer_GlobalDigisProducer";
71 produces<PGlobalDigi>(
label);
75 edm::LogInfo(MsgLoggerCat) <<
"\n===============================\n" 76 <<
"Initialized as EDProducer with parameter values:\n" 77 <<
" Name = " <<
fName <<
"\n" 78 <<
" Verbosity = " << verbosity <<
"\n" 79 <<
" Frequency = " << frequency <<
"\n" 80 <<
" Label = " << label <<
"\n" 81 <<
" GetProv = " << getAllProvenances <<
"\n" 82 <<
" PrintProv = " << printProvenanceInfo <<
"\n" 83 <<
" ECalEBSrc = " << ECalEBSrc_.label() <<
":" << ECalEBSrc_.instance() <<
"\n" 84 <<
" ECalEESrc = " << ECalEESrc_.
label() <<
":" << ECalEESrc_.
instance() <<
"\n" 85 <<
" ECalESSrc = " << ECalESSrc_.
label() <<
":" << ECalESSrc_.
instance() <<
"\n" 86 <<
" HCalSrc = " << HCalSrc_.
label() <<
":" << HCalSrc_.
instance() <<
"\n" 87 <<
" HCalDigi = " << HCalDigi_.
label() <<
":" << HCalDigi_.
instance() <<
"\n" 88 <<
" SiStripSrc = " << SiStripSrc_.
label() <<
":" << SiStripSrc_.
instance() <<
"\n" 89 <<
" SiPixelSrc = " << SiPxlSrc_.
label() <<
":" << SiPxlSrc_.
instance() <<
"\n" 90 <<
" MuDTSrc = " << MuDTSrc_.
label() <<
":" << MuDTSrc_.
instance() <<
"\n" 91 <<
" MuCSCStripSrc = " << MuCSCStripSrc_.
label() <<
":" << MuCSCStripSrc_.
instance()
93 <<
" MuCSCWireSrc = " << MuCSCWireSrc_.
label() <<
":" << MuCSCWireSrc_.
instance()
95 <<
"===============================\n";
111 std::string MsgLoggerCat =
"GlobalDigisProducer_beginJob";
125 delete defaultRatios;
145 std::string MsgLoggerCat =
"GlobalDigisProducer_endJob";
147 edm::LogInfo(MsgLoggerCat) <<
"Terminating having processed " <<
count <<
" events.";
152 std::string MsgLoggerCat =
"GlobalDigisProducer_produce";
174 edm::LogInfo(MsgLoggerCat) <<
"Processing run " << nrun <<
", event " << nevt <<
" (" <<
count <<
" events total)";
176 if (nevt %
frequency == 0 || nevt == 1) {
177 edm::LogInfo(MsgLoggerCat) <<
"Processing run " << nrun <<
", event " << nevt <<
" (" <<
count 187 std::vector<const edm::StableProvenance *> AllProv;
191 edm::LogInfo(MsgLoggerCat) <<
"Number of Provenances = " << AllProv.size();
194 TString eventout(
"\nProvenance info:\n");
196 for (
unsigned int i = 0;
i < AllProv.size(); ++
i) {
197 eventout +=
"\n ******************************";
198 eventout +=
"\n Module : ";
200 eventout += AllProv[
i]->moduleLabel();
201 eventout +=
"\n ProductID : ";
203 eventout += AllProv[
i]->productID().id();
204 eventout +=
"\n ClassName : ";
206 eventout += AllProv[
i]->className();
207 eventout +=
"\n InstanceName : ";
209 eventout += AllProv[
i]->productInstanceName();
210 eventout +=
"\n BranchName : ";
212 eventout += AllProv[
i]->branchName();
214 eventout +=
"\n ******************************\n";
232 edm::LogInfo(MsgLoggerCat) <<
"Done gathering data from event.";
235 std::unique_ptr<PGlobalDigi> pOut(
new PGlobalDigi);
257 std::string MsgLoggerCat =
"GlobalDigisProducer_fillECal";
261 eventout =
"\nGathering info:";
280 edm::LogWarning(MsgLoggerCat) <<
"Unable to find EcalDigiEB in event!";
283 if (EcalDigiEB->
empty())
289 if (!crossingFrame.
isValid()) {
290 edm::LogWarning(MsgLoggerCat) <<
"Unable to find cal barrel crossingFrame in event!";
303 uint32_t crystid = ebid.
rawId();
304 ebSimMap[crystid] += hitItr->energy();
310 std::vector<double> ebAnalogSignal;
311 std::vector<double> ebADCCounts;
312 std::vector<double> ebADCGains;
318 for (
unsigned int digis = 0; digis < EcalDigiEB->
size(); ++digis) {
327 int nrSamples = ebdf.
size();
334 double pedestalPreSample = 0.;
335 double pedestalPreSampleAnalog = 0.;
339 ebAnalogSignal[
sample] = 0.;
349 ebADCCounts[
sample] = (thisSample.
adc());
352 if (Emax < ebAnalogSignal[
sample]) {
353 Emax = ebAnalogSignal[
sample];
357 pedestalPreSample += ebADCCounts[
sample];
358 pedestalPreSampleAnalog += ebADCCounts[
sample] *
ECalgainConv_[(
int)ebADCGains[sample]] * ECalbarrelADCtoGeV_;
361 pedestalPreSample /= 3.;
362 pedestalPreSampleAnalog /= 3.;
365 double Erec = Emax - pedestalPreSampleAnalog *
ECalgainConv_[(
int)ebADCGains[Pmax]];
374 eventout +=
"\n Number of EBDigis collected:.............. ";
382 bool isEndCap =
true;
386 edm::LogWarning(MsgLoggerCat) <<
"Unable to find EcalDigiEE in event!";
389 if (EcalDigiEE->
empty())
395 if (!crossingFrame.
isValid()) {
396 edm::LogWarning(MsgLoggerCat) <<
"Unable to find cal endcap crossingFrame in event!";
409 uint32_t crystid = eeid.
rawId();
410 eeSimMap[crystid] += hitItr->energy();
416 std::vector<double> eeAnalogSignal;
417 std::vector<double> eeADCCounts;
418 std::vector<double> eeADCGains;
428 for (
unsigned int digis = 0; digis < EcalDigiEE->
size(); ++digis) {
432 int nrSamples = eedf.
size();
439 double pedestalPreSample = 0.;
440 double pedestalPreSampleAnalog = 0.;
444 eeAnalogSignal[
sample] = 0.;
455 eeADCCounts[
sample] = (thisSample.
adc());
458 if (Emax < eeAnalogSignal[
sample]) {
459 Emax = eeAnalogSignal[
sample];
463 pedestalPreSample += eeADCCounts[
sample];
464 pedestalPreSampleAnalog += eeADCCounts[
sample] *
ECalgainConv_[(
int)eeADCGains[sample]] * ECalbarrelADCtoGeV_;
467 pedestalPreSample /= 3.;
468 pedestalPreSampleAnalog /= 3.;
471 double Erec = Emax - pedestalPreSampleAnalog *
ECalgainConv_[(
int)eeADCGains[Pmax]];
480 eventout +=
"\n Number of EEDigis collected:.............. ";
488 bool isPreshower =
true;
492 edm::LogWarning(MsgLoggerCat) <<
"Unable to find EcalDigiES in event!";
495 if (EcalDigiES->
empty())
501 if (!crossingFrame.
isValid()) {
502 edm::LogWarning(MsgLoggerCat) <<
"Unable to find cal preshower crossingFrame in event!";
515 uint32_t crystid = esid.
rawId();
516 esSimMap[crystid] += hitItr->energy();
522 std::vector<double> esADCCounts;
526 for (
unsigned int digis = 0; digis < EcalDigiES->
size(); ++digis) {
535 int nrSamples = esdf.
size();
549 esADCCounts[
sample] = (thisSample.
adc());
559 eventout +=
"\n Number of ESDigis collected:.............. ";
571 std::string MsgLoggerCat =
"GlobalDigisProducer_storeECal";
574 TString eventout(
"\n nEBDigis = ");
577 eventout +=
"\n (maxPos, AEE, SHE) = (";
585 eventout +=
"\n nEEDigis = ";
588 eventout +=
"\n (maxPos, AEE, SHE) = (";
596 eventout +=
"\n nESDigis = ";
599 eventout +=
"\n (ADC0, ADC1, ADC2, SHE) = (";
620 std::string MsgLoggerCat =
"GlobalDigisProducer_fillHCal";
624 eventout =
"\nGathering info:";
629 if (!HCalconditions.
isValid()) {
630 edm::LogWarning(MsgLoggerCat) <<
"Unable to find HCalconditions in event!";
651 for (std::vector<PCaloHit>::const_iterator
simhits = simhitResult->begin();
simhits != simhitResult->end();
654 uint32_t cellid = detId.
rawId();
657 fHBEnergySimHits[cellid] +=
simhits->energy();
660 fHEEnergySimHits[cellid] +=
simhits->energy();
663 fHOEnergySimHits[cellid] +=
simhits->energy();
666 fHFEnergySimHits[cellid] +=
simhits->energy();
676 edm::LogWarning(MsgLoggerCat) <<
"Unable to find HBHEDataFrame in event!";
683 for (ihbhe = hbhe->begin(); ihbhe != hbhe->end(); ++ihbhe) {
693 coder.
adc2fC(*ihbhe, tool);
698 float fDigiSum = 0.0;
701 int capid = (*ihbhe)[
ii].capid();
702 fDigiSum += (tool[
ii] - calibrations.
pedestal(capid));
706 HBCalSHE.push_back(fHBEnergySimHits[cell.rawId()]);
712 float fDigiSum = 0.0;
714 int capid = (*ihbhe)[
ii].capid();
715 fDigiSum += (tool[
ii] - calibrations.
pedestal(capid));
719 HECalSHE.push_back(fHEEnergySimHits[cell.rawId()]);
725 eventout +=
"\n Number of HBDigis collected:.............. ";
730 eventout +=
"\n Number of HEDigis collected:.............. ";
740 edm::LogWarning(MsgLoggerCat) <<
"Unable to find HODataFrame in event!";
746 for (iho = ho->begin(); iho != ho->end(); ++iho) {
759 float fDigiSum = 0.0;
762 int capid = (*iho)[
ii].capid();
763 fDigiSum += (tool[
ii] - calibrations.
pedestal(capid));
767 HOCalSHE.push_back(fHOEnergySimHits[cell.rawId()]);
772 eventout +=
"\n Number of HODigis collected:.............. ";
782 edm::LogWarning(MsgLoggerCat) <<
"Unable to find HFDataFrame in event!";
788 for (ihf = hf->begin(); ihf != hf->end(); ++
ihf) {
801 float fDigiSum = 0.0;
804 int capid = (*ihf)[
ii].capid();
805 fDigiSum += (tool[
ii] - calibrations.
pedestal(capid));
809 HFCalSHE.push_back(fHFEnergySimHits[cell.rawId()]);
814 eventout +=
"\n Number of HFDigis collected:.............. ";
825 std::string MsgLoggerCat =
"GlobalDigisProducer_storeHCal";
828 TString eventout(
"\n nHBDigis = ");
830 for (
unsigned int i = 0;
i <
HBCalAEE.size(); ++
i) {
831 eventout +=
"\n (AEE, SHE) = (";
837 eventout +=
"\n nHEDigis = ";
839 for (
unsigned int i = 0;
i <
HECalAEE.size(); ++
i) {
840 eventout +=
"\n (AEE, SHE) = (";
846 eventout +=
"\n nHODigis = ";
848 for (
unsigned int i = 0;
i <
HOCalAEE.size(); ++
i) {
849 eventout +=
"\n (AEE, SHE) = (";
855 eventout +=
"\n nHFDigis = ";
857 for (
unsigned int i = 0;
i <
HFCalAEE.size(); ++
i) {
858 eventout +=
"\n (AEE, SHE) = (";
882 std::string MsgLoggerCat =
"GlobalDigisProducer_fillTrk";
886 eventout =
"\nGathering info:";
892 edm::LogWarning(MsgLoggerCat) <<
"Unable to find stripDigis in event!";
896 int nStripBrl = 0, nStripFwd = 0;
898 for (DSViter = stripDigis->begin(); DSViter != stripDigis->end(); ++DSViter) {
899 unsigned int id = DSViter->id;
907 for (iter = begin; iter !=
end; ++iter) {
930 for (iter = begin; iter !=
end; ++iter) {
953 for (iter = begin; iter !=
end; ++iter) {
972 for (iter = begin; iter !=
end; ++iter) {
1011 eventout +=
"\n Number of BrlStripDigis collected:........ ";
1012 eventout += nStripBrl;
1016 eventout +=
"\n Number of FrwdStripDigis collected:....... ";
1017 eventout += nStripFwd;
1024 edm::LogWarning(MsgLoggerCat) <<
"Unable to find pixelDigis in event!";
1028 int nPxlBrl = 0, nPxlFwd = 0;
1030 for (DPViter = pixelDigis->begin(); DPViter != pixelDigis->end(); ++DPViter) {
1031 unsigned int id = DPViter->id;
1039 for (iter = begin; iter !=
end; ++iter) {
1042 BRL1ADC.push_back((*iter).adc());
1043 BRL1Row.push_back((*iter).row());
1044 BRL1Col.push_back((*iter).column());
1047 BRL2ADC.push_back((*iter).adc());
1048 BRL2Row.push_back((*iter).row());
1049 BRL2Col.push_back((*iter).column());
1052 BRL3ADC.push_back((*iter).adc());
1053 BRL3Row.push_back((*iter).row());
1054 BRL3Col.push_back((*iter).column());
1061 for (iter = begin; iter !=
end; ++iter) {
1063 if (tTopo->
pxfDisk(
id) == 1) {
1064 if (tTopo->
pxfSide(
id) == 1) {
1067 FWD1nCol.push_back((*iter).column());
1069 if (tTopo->
pxfSide(
id) == 2) {
1072 FWD1pCol.push_back((*iter).column());
1075 if (tTopo->
pxfDisk(
id) == 2) {
1076 if (tTopo->
pxfSide(
id) == 1) {
1079 FWD2nCol.push_back((*iter).column());
1081 if (tTopo->
pxfSide(
id) == 2) {
1084 FWD2pCol.push_back((*iter).column());
1092 eventout +=
"\n Number of BrlPixelDigis collected:........ ";
1093 eventout += nPxlBrl;
1097 eventout +=
"\n Number of FrwdPixelDigis collected:....... ";
1098 eventout += nPxlFwd;
1108 std::string MsgLoggerCat =
"GlobalDigisProducer_storeTrk";
1112 TString eventout(
"\n nTIBL1 = ");
1114 for (
unsigned int i = 0;
i <
TIBL1ADC.size(); ++
i) {
1115 eventout +=
"\n (ADC, strip) = (";
1121 eventout +=
"\n nTIBL2 = ";
1123 for (
unsigned int i = 0;
i <
TIBL2ADC.size(); ++
i) {
1124 eventout +=
"\n (ADC, strip) = (";
1130 eventout +=
"\n nTIBL3 = ";
1132 for (
unsigned int i = 0;
i <
TIBL3ADC.size(); ++
i) {
1133 eventout +=
"\n (ADC, strip) = (";
1139 eventout +=
"\n nTIBL4 = ";
1141 for (
unsigned int i = 0;
i <
TIBL4ADC.size(); ++
i) {
1142 eventout +=
"\n (ADC, strip) = (";
1148 eventout +=
"\n nTOBL1 = ";
1150 for (
unsigned int i = 0;
i <
TOBL1ADC.size(); ++
i) {
1151 eventout +=
"\n (ADC, strip) = (";
1157 eventout +=
"\n nTOBL2 = ";
1159 for (
unsigned int i = 0;
i <
TOBL2ADC.size(); ++
i) {
1160 eventout +=
"\n (ADC, strip) = (";
1166 eventout +=
"\n nTOBL3 = ";
1168 for (
unsigned int i = 0;
i <
TOBL3ADC.size(); ++
i) {
1169 eventout +=
"\n (ADC, strip) = (";
1175 eventout +=
"\n nTOBL4 = ";
1177 for (
unsigned int i = 0;
i <
TOBL4ADC.size(); ++
i) {
1178 eventout +=
"\n (ADC, strip) = (";
1184 eventout +=
"\n nTIDW1 = ";
1186 for (
unsigned int i = 0;
i <
TIDW1ADC.size(); ++
i) {
1187 eventout +=
"\n (ADC, strip) = (";
1193 eventout +=
"\n nTIDW2 = ";
1195 for (
unsigned int i = 0;
i <
TIDW2ADC.size(); ++
i) {
1196 eventout +=
"\n (ADC, strip) = (";
1202 eventout +=
"\n nTIDW3 = ";
1204 for (
unsigned int i = 0;
i <
TIDW3ADC.size(); ++
i) {
1205 eventout +=
"\n (ADC, strip) = (";
1211 eventout +=
"\n nTECW1 = ";
1213 for (
unsigned int i = 0;
i <
TECW1ADC.size(); ++
i) {
1214 eventout +=
"\n (ADC, strip) = (";
1220 eventout +=
"\n nTECW2 = ";
1222 for (
unsigned int i = 0;
i <
TECW2ADC.size(); ++
i) {
1223 eventout +=
"\n (ADC, strip) = (";
1229 eventout +=
"\n nTECW3 = ";
1231 for (
unsigned int i = 0;
i <
TECW3ADC.size(); ++
i) {
1232 eventout +=
"\n (ADC, strip) = (";
1238 eventout +=
"\n nTECW4 = ";
1240 for (
unsigned int i = 0;
i <
TECW4ADC.size(); ++
i) {
1241 eventout +=
"\n (ADC, strip) = (";
1247 eventout +=
"\n nTECW5 = ";
1249 for (
unsigned int i = 0;
i <
TECW5ADC.size(); ++
i) {
1250 eventout +=
"\n (ADC, strip) = (";
1256 eventout +=
"\n nTECW6 = ";
1258 for (
unsigned int i = 0;
i <
TECW6ADC.size(); ++
i) {
1259 eventout +=
"\n (ADC, strip) = (";
1265 eventout +=
"\n nTECW7 = ";
1267 for (
unsigned int i = 0;
i <
TECW7ADC.size(); ++
i) {
1268 eventout +=
"\n (ADC, strip) = (";
1274 eventout +=
"\n nTECW8 = ";
1276 for (
unsigned int i = 0;
i <
TECW8ADC.size(); ++
i) {
1277 eventout +=
"\n (ADC, strip) = (";
1285 eventout +=
"\n nBRL1 = ";
1287 for (
unsigned int i = 0;
i <
BRL1ADC.size(); ++
i) {
1288 eventout +=
"\n (ADC, row, column) = (";
1296 eventout +=
"\n nBRL2 = ";
1298 for (
unsigned int i = 0;
i <
BRL2ADC.size(); ++
i) {
1299 eventout +=
"\n (ADC, row, column) = (";
1307 eventout +=
"\n nBRL3 = ";
1309 for (
unsigned int i = 0;
i <
BRL3ADC.size(); ++
i) {
1310 eventout +=
"\n (ADC, row, column) = (";
1318 eventout +=
"\n nFWD1p = ";
1320 for (
unsigned int i = 0;
i <
FWD1pADC.size(); ++
i) {
1321 eventout +=
"\n (ADC, row, column) = (";
1329 eventout +=
"\n nFWD1p = ";
1331 for (
unsigned int i = 0;
i <
FWD1nADC.size(); ++
i) {
1332 eventout +=
"\n (ADC, row, column) = (";
1340 eventout +=
"\n nFWD1p = ";
1342 for (
unsigned int i = 0;
i <
FWD2pADC.size(); ++
i) {
1343 eventout +=
"\n (ADC, row, column) = (";
1351 eventout +=
"\n nFWD2p = ";
1353 for (
unsigned int i = 0;
i <
FWD2nADC.size(); ++
i) {
1354 eventout +=
"\n (ADC, row, column) = (";
1400 std::string MsgLoggerCat =
"GlobalDigisProducer_fillMuon";
1404 eventout =
"\nGathering info:";
1416 for (detUnitIt = dtDigis->begin(); detUnitIt != dtDigis->end(); ++detUnitIt) {
1417 const DTLayerId &
id = (*detUnitIt).first;
1423 DTWireId wireId(
id, (*digiIt).wire());
1424 if (wireId.station() == 1) {
1426 MB1Time.push_back((*digiIt).time());
1429 if (wireId.station() == 2) {
1431 MB2Time.push_back((*digiIt).time());
1434 if (wireId.station() == 3) {
1436 MB3Time.push_back((*digiIt).time());
1439 if (wireId.station() == 4) {
1441 MB4Time.push_back((*digiIt).time());
1448 eventout +=
"\n Number of DtMuonDigis collected:.......... ";
1456 edm::LogWarning(MsgLoggerCat) <<
"Unable to find muon strips in event!";
1462 std::vector<CSCStripDigi>::const_iterator digiItr = (*j).second.first;
1463 std::vector<CSCStripDigi>::const_iterator
last = (*j).second.second;
1465 for (; digiItr !=
last; ++digiItr) {
1469 std::vector<int> adcCounts = digiItr->getADCCounts();
1477 if (adcCounts[5] > (pedestal + 100))
1484 eventout +=
"\n Number of CSCStripDigis collected:........ ";
1492 edm::LogWarning(MsgLoggerCat) <<
"Unable to find muon wires in event!";
1498 std::vector<CSCWireDigi>::const_iterator digiItr = (*j).second.first;
1499 std::vector<CSCWireDigi>::const_iterator endDigi = (*j).second.second;
1501 for (; digiItr != endDigi; ++digiItr) {
1509 eventout +=
"\n Number of CSCWireDigis collected:......... ";
1520 std::string MsgLoggerCat =
"GlobalDigisProducer_storeMuon";
1524 TString eventout(
"\n nMB1 = ");
1527 eventout +=
"\n (slayer, time, layer) = (";
1535 eventout +=
"\n nMB2 = ";
1538 eventout +=
"\n (slayer, time, layer) = (";
1546 eventout +=
"\n nMB3 = ";
1549 eventout +=
"\n (slayer, time, layer) = (";
1557 eventout +=
"\n nMB2 = ";
1560 eventout +=
"\n (slayer, time, layer) = (";
1570 eventout +=
"\n nCSCStrip = ";
1573 eventout +=
"\n (adc) = (";
1579 eventout +=
"\n nCSCWire = ";
1582 eventout +=
"\n (time) = (";
1603 std::string MsgLoggerCat =
"GlobalDigisProducer_clear";
1606 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)
T getParameter(std::string const &) const
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.
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)
void putFWD1pDigis(const std::vector< float > &adc, const std::vector< int > &row, const std::vector< int > &column)
nStrips
1.2 is to make the matching window safely the two nearest strips 0.35 is the size of an ME0 chamber i...
~GlobalDigisProducer() override
float theCSCStripPedestalSum
void putTIDW3Digis(const std::vector< float > &adc, const std::vector< int > &strip)
void putTECW3Digis(const std::vector< float > &adc, const std::vector< int > &strip)
void putBRL1Digis(const std::vector< float > &adc, const std::vector< int > &row, const std::vector< int > &column)
void fillMuon(edm::Event &, const edm::EventSetup &)
GlobalDigisProducer(const edm::ParameterSet &)
void putTECW6Digis(const std::vector< float > &adc, const std::vector< int > &strip)
void adc2fC(const HBHEDataFrame &df, CaloSamples &lf) const override
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
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
void reserve(size_t isize)
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
void putEECalDigis(const std::vector< int > &maxpos, const std::vector< double > &aee, const std::vector< float > &she)
static const int sdHcalFwd
float gain12Over6() const
const HcalQIECoder * getHcalCoder(const HcalGenericDetId &fId) const
std::vector< DigiType >::const_iterator const_iterator
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)
const HcalQIEShape * getHcalShape(const HcalGenericDetId &fId) const
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
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
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 &)
void putCSCwireDigis(const std::vector< float > &time)
collection_type::const_iterator const_iterator
const HcalCalibrations & getHcalCalibrations(const HcalGenericDetId &fId) const
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_
T const * product() const
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)