15 printProvenanceInfo(
false), hitsProducer(
""), theCSCStripPedestalSum(0),
16 theCSCStripPedestalCount(0),
count(0)
18 std::string MsgLoggerCat =
"GlobalDigisAnalyzer_GlobalDigisAnalyzer";
27 m_Prov.getUntrackedParameter<
bool>(
"GetAllProvenances");
29 m_Prov.getUntrackedParameter<
bool>(
"PrintProvenanceInfo");
59 const std::string barrelHitsName(hitsProducer+
"EcalHitsEB");
60 const std::string endcapHitsName(hitsProducer+
"EcalHitsEE");
61 const std::string preshowerHitsName(hitsProducer+
"EcalHitsES");
74 <<
"\n===============================\n"
75 <<
"Initialized as EDAnalyzer with parameter values:\n"
76 <<
" Name = " <<
fName <<
"\n"
77 <<
" Verbosity = " << verbosity <<
"\n"
78 <<
" Frequency = " << frequency <<
"\n"
79 <<
" GetProv = " << getAllProvenances <<
"\n"
80 <<
" PrintProv = " << printProvenanceInfo <<
"\n"
81 <<
" ECalEBSrc = " << ECalEBSrc_.label()
82 <<
":" << ECalEBSrc_.instance() <<
"\n"
83 <<
" ECalEESrc = " << ECalEESrc_.
label()
84 <<
":" << ECalEESrc_.
instance() <<
"\n"
85 <<
" ECalESSrc = " << ECalESSrc_.
label()
86 <<
":" << ECalESSrc_.
instance() <<
"\n"
87 <<
" HCalSrc = " << HCalSrc_.
label()
88 <<
":" << HCalSrc_.
instance() <<
"\n"
89 <<
" HCalDigi = " << HCalDigi_.
label()
90 <<
":" << HCalDigi_.
instance() <<
"\n"
91 <<
" SiStripSrc = " << SiStripSrc_.
label()
92 <<
":" << SiStripSrc_.
instance() <<
"\n"
93 <<
" SiPixelSrc = " << SiPxlSrc_.
label()
94 <<
":" << SiPxlSrc_.
instance() <<
"\n"
95 <<
" MuDTSrc = " << MuDTSrc_.
label()
96 <<
":" << MuDTSrc_.
instance() <<
"\n"
97 <<
" MuCSCStripSrc = " << MuCSCStripSrc_.
label()
98 <<
":" << MuCSCStripSrc_.
instance() <<
"\n"
99 <<
" MuCSCWireSrc = " << MuCSCWireSrc_.
label()
100 <<
":" << MuCSCWireSrc_.
instance() <<
"\n"
101 <<
" MuRPCSrc = " << MuRPCSrc_.
label()
102 <<
":" << MuRPCSrc_.
instance() <<
"\n"
103 <<
"===============================\n";
111 if (verbosity > 0 ) {
125 std::string SiStripString[19] = {
"TECW1",
"TECW2",
"TECW3",
"TECW4",
126 "TECW5",
"TECW6",
"TECW7",
"TECW8",
127 "TIBL1",
"TIBL2",
"TIBL3",
"TIBL4",
128 "TIDW1",
"TIDW2",
"TIDW3",
"TOBL1",
129 "TOBL2",
"TOBL3",
"TOBL4"};
130 for(
int i = 0;
i<19; ++
i) {
137 for(
int amend = 0; amend < 19; ++amend) {
138 hcharname =
"hSiStripn_"+SiStripString[amend];
139 hchartitle= SiStripString[amend]+
" Digis";
144 hcharname =
"hSiStripADC_"+SiStripString[amend];
145 hchartitle= SiStripString[amend]+
" ADC";
150 hcharname =
"hSiStripStripADC_"+SiStripString[amend];
151 hchartitle= SiStripString[amend]+
" Strip";
158 std::string HCalString[4] = {
"HB",
"HE",
"HO",
"HF"};
159 float calnUpper[4] = {30000.,30000.,30000.,20000.};
160 float calnLower[4]={0.,0.,0.,0.};
161 float SHEUpper[4]={1.,1.,1.,1.};
162 float SHEvAEEUpper[4] = {5000, 5000, 5000, 5000};
163 float SHEvAEELower[4] = {-5000, -5000, -5000, -5000};
164 int SHEvAEEnBins[4] = {200,200,200,200};
165 double ProfileUpper[4] = {1.,1.,1.,1.};
167 for(
int i =0;
i<4; ++
i) {
176 for(
int amend = 0; amend < 4; ++amend) {
177 hcharname =
"hHcaln_"+HCalString[amend];
178 hchartitle= HCalString[amend]+
" digis";
184 hcharname =
"hHcalAEE_"+HCalString[amend];
185 hchartitle= HCalString[amend]+
"Cal AEE";
190 hcharname =
"hHcalSHE_"+HCalString[amend];
191 hchartitle= HCalString[amend]+
"Cal SHE";
197 hcharname =
"hHcalAEESHE_"+HCalString[amend];
198 hchartitle= HCalString[amend]+
"Cal AEE/SHE";
201 SHEvAEEUpper[amend]);
205 hcharname =
"hHcalSHEvAEE_"+HCalString[amend];
206 hchartitle= HCalString[amend]+
"Cal SHE vs. AEE";
209 (
float)ProfileUpper[amend],
"");
218 for(
int i =0;
i<2; ++
i) {
228 for(
int amend = 0; amend < 2; ++amend) {
229 hcharname =
"hEcaln_"+ECalString[amend];
230 hchartitle= ECalString[amend]+
" digis";
235 hcharname =
"hEcalAEE_"+ECalString[amend];
236 hchartitle= ECalString[amend]+
"Cal AEE";
241 hcharname =
"hEcalSHE_"+ECalString[amend];
242 hchartitle= ECalString[amend]+
"Cal SHE";
247 hcharname =
"hEcalMaxPos_"+ECalString[amend];
248 hchartitle= ECalString[amend]+
"Cal MaxPos";
253 hcharname =
"hEcalSHEvAEESHE_"+ECalString[amend];
254 hchartitle= ECalString[amend]+
"Cal SHE vs. AEE/SHE";
260 hcharname =
"hEcalMultvAEE_"+ECalString[amend];
261 hchartitle= ECalString[amend]+
"Cal Multi vs. AEE";
263 4000, 0., 40000.,
"");
269 hcharname =
"hEcaln_ES";
270 hchartitle=
"ESCAL digis";
276 for(
int i =0;
i<3; ++
i) {
278 hcharname =
"hEcalADC"+ADCNumber[
i]+
"_ES";
279 hchartitle=
"ESCAL ADC"+ADCNumber[
i];
286 std::string SiPixelString[7] = {
"BRL1",
"BRL2",
"BRL3",
"FWD1n",
"FWD1p",
288 for(
int j =0;
j<7; ++
j) {
296 for(
int amend = 0; amend < 7; ++amend) {
297 hcharname =
"hSiPixeln_"+SiPixelString[amend];
298 hchartitle= SiPixelString[amend]+
" Digis";
304 hcharname =
"hSiPixelADC_"+SiPixelString[amend];
305 hchartitle= SiPixelString[amend]+
" ADC";
310 hcharname =
"hSiPixelRow_"+SiPixelString[amend];
311 hchartitle= SiPixelString[amend]+
" Row";
316 hcharname =
"hSiPixelColumn_"+SiPixelString[amend];
317 hchartitle= SiPixelString[amend]+
" Column";
327 std::string MuonString[4] = {
"MB1",
"MB2",
"MB3",
"MB4"};
329 for(
int i =0;
i < 4; ++
i) {
336 for(
int j = 0;
j < 4; ++
j) {
337 hcharname =
"hDtMuonn_"+MuonString[
j];
338 hchartitle= MuonString[
j]+
" digis";
343 hcharname =
"hDtLayer_"+MuonString[
j];
344 hchartitle= MuonString[
j]+
" Layer";
349 hcharname =
"hDtMuonTime_"+MuonString[
j];
350 hchartitle= MuonString[
j]+
" Time";
355 hcharname =
"hDtMuonTimevLayer_"+MuonString[
j];
356 hchartitle= MuonString[
j]+
" Time vs. Layer";
365 hcharname =
"hCSCStripn";
366 hchartitle =
"CSC Strip digis";
372 hcharname =
"hCSCStripADC";
373 hchartitle =
"CSC Strip ADC";
379 hcharname =
"hCSCWiren";
380 hchartitle =
"CSC Wire digis";
386 hcharname =
"hCSCWireTime";
387 hchartitle =
"CSC Wire Time";
394 hcharname =
"hRPCMuonn";
395 hchartitle =
"RPC digis";
400 std::string MuonRPCString[5] = {
"Wmin2",
"Wmin1",
"W0",
"Wpu1",
"Wpu2"};
401 for(
int i =0;
i < 5; ++
i) {
405 for(
int j = 0;
j < 5; ++
j) {
406 hcharname =
"hRPCRes_"+MuonRPCString[
j];
407 hchartitle= MuonRPCString[
j]+
" Digi - Sim";
429 std::string MsgLoggerCat =
"GlobalDigisAnalyzer_beginJob";
438 delete defaultRatios;
442 <<
"Modified Calorimeter gain constants: g0 = " <<
ECalgainConv_[0]
453 std::string MsgLoggerCat =
"GlobalDigisAnalyzer_endJob";
456 <<
"Terminating having processed " <<
count <<
" events.";
463 std::string MsgLoggerCat =
"GlobalDigisAnalyzer_analyze";
479 <<
"Modified Calorimeter ADCtoGeV constants: barrel = "
486 int nrun = iEvent.
id().
run();
491 <<
"Processing run " << nrun <<
", event " << nevt
492 <<
" (" <<
count <<
" events total)";
496 <<
"Processing run " << nrun <<
", event " << nevt
497 <<
" (" <<
count <<
" events total)";
504 std::vector<const edm::Provenance*> AllProv;
509 <<
"Number of Provenances = " << AllProv.size();
512 TString eventout(
"\nProvenance info:\n");
514 for (
unsigned int i = 0;
i < AllProv.size(); ++
i) {
515 eventout +=
"\n ******************************";
516 eventout +=
"\n Module : ";
517 eventout += AllProv[
i]->moduleLabel();
518 eventout +=
"\n ProductID : ";
519 eventout += AllProv[
i]->productID().id();
520 eventout +=
"\n ClassName : ";
521 eventout += AllProv[
i]->className();
522 eventout +=
"\n InstanceName : ";
523 eventout += AllProv[
i]->productInstanceName();
524 eventout +=
"\n BranchName : ";
525 eventout += AllProv[
i]->branchName();
527 eventout +=
"\n ******************************\n";
546 <<
"Done gathering data from event.";
550 <<
"Saving event contents:";
558 std::string MsgLoggerCat =
"GlobalDigisAnalyzer_fillECal";
562 eventout =
"\nGathering info:";
570 bool isBarrel =
true;
573 bool validDigiEB =
true;
576 <<
"Unable to find EcalDigiEB in event!";
580 if ( EcalDigiEB->size() == 0) isBarrel =
false;
587 bool validXFrame =
true;
588 if (!crossingFrame.
isValid()) {
590 <<
"Unable to find cal barrel crossingFrame in event!";
594 std::auto_ptr<MixCollection<PCaloHit> >
599 = barrelHits->begin();
600 hitItr != barrelHits->end();
605 uint32_t crystid = ebid.
rawId();
606 ebSimMap[crystid] += hitItr->energy();
613 std::vector<double> ebAnalogSignal;
614 std::vector<double> ebADCCounts;
615 std::vector<double> ebADCGains;
621 for (
unsigned int digis=0; digis<EcalDigiEB->size(); ++digis) {
626 int nrSamples = ebdf.
size();
632 double pedestalPreSample = 0.;
633 double pedestalPreSampleAnalog = 0.;
636 ebAnalogSignal[
sample] = 0.;
645 ebADCCounts[
sample] = (thisSample.
adc());
650 if (Emax < ebAnalogSignal[
sample]) {
651 Emax = ebAnalogSignal[
sample];
655 pedestalPreSample += ebADCCounts[
sample] ;
656 pedestalPreSampleAnalog +=
658 * ECalbarrelADCtoGeV_ ;
662 pedestalPreSample /= 3. ;
663 pedestalPreSampleAnalog /= 3. ;
666 double Erec = Emax - pedestalPreSampleAnalog
674 if (ebSimMap[ebid.
rawId()]!=0) {
676 ebSimMap[ebid.
rawId()]);
686 eventout +=
"\n Number of EBDigis collected:.............. ";
696 bool isEndCap =
true;
699 bool validDigiEE =
true;
702 <<
"Unable to find EcalDigiEE in event!";
706 if (EcalDigiEE->size() == 0) isEndCap =
false;
713 bool validXFrame =
true;
714 if (!crossingFrame.
isValid()) {
716 <<
"Unable to find cal endcap crossingFrame in event!";
720 std::auto_ptr<MixCollection<PCaloHit> >
725 = endcapHits->begin();
726 hitItr != endcapHits->end();
731 uint32_t crystid = eeid.
rawId();
732 eeSimMap[crystid] += hitItr->energy();
739 std::vector<double> eeAnalogSignal;
740 std::vector<double> eeADCCounts;
741 std::vector<double> eeADCGains;
747 for (
unsigned int digis=0; digis<EcalDigiEE->size(); ++digis){
752 int nrSamples = eedf.
size();
758 double pedestalPreSample = 0.;
759 double pedestalPreSampleAnalog = 0.;
762 eeAnalogSignal[
sample] = 0.;
772 eeADCCounts[
sample] = (thisSample.
adc());
777 if (Emax < eeAnalogSignal[
sample]) {
778 Emax = eeAnalogSignal[
sample];
782 pedestalPreSample += eeADCCounts[
sample] ;
783 pedestalPreSampleAnalog +=
785 * ECalbarrelADCtoGeV_ ;
789 pedestalPreSample /= 3. ;
790 pedestalPreSampleAnalog /= 3. ;
793 double Erec = Emax - pedestalPreSampleAnalog
801 if (eeSimMap[eeid.
rawId()]!=0){
803 eeSimMap[eeid.
rawId()]);
813 eventout +=
"\n Number of EEDigis collected:.............. ";
824 bool isPreshower =
true;
827 bool validDigiES =
true;
830 <<
"Unable to find EcalDigiES in event!";
838 if (EcalDigiES->size() == 0) isPreshower =
false;
844 bool validXFrame =
true;
845 if (!crossingFrame.
isValid()) {
847 <<
"Unable to find cal preshower crossingFrame in event!";
851 std::auto_ptr<MixCollection<PCaloHit> >
857 = preshowerHits->begin();
858 hitItr != preshowerHits->end();
863 uint32_t crystid = esid.
rawId();
864 esSimMap[crystid] += hitItr->energy();
871 std::vector<double> esADCCounts;
875 for (
unsigned int digis=0; digis<EcalDigiES->size(); ++digis) {
881 int nrSamples = esdf.
size();
891 esADCCounts[
sample] = (thisSample.
adc());
901 eventout +=
"\n Number of ESDigis collected:.............. ";
918 std::string MsgLoggerCat =
"GlobalDigisAnalyzer_fillHCal";
922 eventout =
"\nGathering info:";
927 if (!HCalconditions.
isValid()) {
929 <<
"Unable to find HCalconditions in event!";
940 bool validhcalHits =
true;
943 <<
"Unable to find hcalHits in event!";
944 validhcalHits =
false;
953 for (std::vector<PCaloHit>::const_iterator simhits = simhitResult->begin();
954 simhits != simhitResult->end();
958 uint32_t cellid = detId.
rawId();
961 fHBEnergySimHits[cellid] += simhits->energy();
964 fHEEnergySimHits[cellid] += simhits->energy();
967 fHOEnergySimHits[cellid] += simhits->energy();
970 fHFEnergySimHits[cellid] += simhits->energy();
980 bool validHBHE =
true;
983 <<
"Unable to find HBHEDataFrame in event!";
992 for (ihbhe = hbhe->begin(); ihbhe != hbhe->end(); ++ihbhe) {
999 HCalconditions->getHcalCalibrations(cell);
1000 const HcalQIECoder *channelCoder = HCalconditions->getHcalCoder(cell);
1001 const HcalQIEShape *shape = HCalconditions->getHcalShape(channelCoder);
1003 coder.
adc2fC(*ihbhe, tool);
1009 float fDigiSum = 0.0;
1012 int capid = (*ihbhe)[
ii].capid();
1013 fDigiSum += (tool[
ii] - calibrations.
pedestal(capid));
1019 if (fHFEnergySimHits[cell.rawId()]!=0){
1032 float fDigiSum = 0.0;
1034 int capid = (*ihbhe)[
ii].capid();
1035 fDigiSum += (tool[
ii]-calibrations.
pedestal(capid));
1041 if (fHFEnergySimHits[cell.rawId()]!=0){
1053 eventout +=
"\n Number of HBDigis collected:.............. ";
1059 eventout +=
"\n Number of HEDigis collected:.............. ";
1070 bool validHO =
true;
1073 <<
"Unable to find HODataFrame in event!";
1080 for (iho = ho->begin(); iho != ho->end(); ++iho) {
1087 HCalconditions->getHcalCalibrations(cell);
1088 const HcalQIECoder *channelCoder = HCalconditions->getHcalCoder(cell);
1089 const HcalQIEShape *shape = HCalconditions->getHcalShape(channelCoder);
1091 coder.
adc2fC(*iho, tool);
1094 float fDigiSum = 0.0;
1097 int capid = (*iho)[
ii].capid();
1098 fDigiSum += (tool[
ii] - calibrations.
pedestal(capid));
1104 if (fHFEnergySimHits[cell.rawId()]!=0){
1115 eventout +=
"\n Number of HODigis collected:.............. ";
1126 bool validHF =
true;
1129 <<
"Unable to find HFDataFrame in event!";
1136 for (ihf = hf->begin(); ihf != hf->end(); ++
ihf) {
1143 HCalconditions->getHcalCalibrations(cell);
1144 const HcalQIECoder *channelCoder = HCalconditions->getHcalCoder(cell);
1145 const HcalQIEShape *shape = HCalconditions->getHcalShape(channelCoder);
1147 coder.
adc2fC(*ihf, tool);
1150 float fDigiSum = 0.0;
1153 int capid = (*ihf)[
ii].capid();
1154 fDigiSum += (tool[
ii] - calibrations.
pedestal(capid));
1160 if (fHFEnergySimHits[cell.rawId()]!=0){
1171 eventout +=
"\n Number of HFDigis collected:.............. ";
1192 std::string MsgLoggerCat =
"GlobalDigisAnalyzer_fillTrk";
1196 eventout =
"\nGathering info:";
1201 bool validstripDigis =
true;
1204 <<
"Unable to find stripDigis in event!";
1205 validstripDigis =
false;
1208 if (validstripDigis) {
1209 int nStripBrl = 0, nStripFwd = 0;
1211 for (DSViter = stripDigis->begin(); DSViter != stripDigis->end();
1213 unsigned int id = DSViter->id;
1222 for (iter = begin; iter !=
end; ++
iter) {
1246 for (iter = begin; iter !=
end; ++
iter) {
1270 for (iter = begin; iter !=
end; ++
iter) {
1290 for (iter = begin; iter !=
end; ++
iter) {
1329 eventout +=
"\n Number of BrlStripDigis collected:........ ";
1330 eventout += nStripBrl;
1332 for(
int i = 0;
i < 8; ++
i) {
1337 eventout +=
"\n Number of FrwdStripDigis collected:....... ";
1338 eventout += nStripFwd;
1340 for(
int i = 8;
i < 19; ++
i) {
1348 bool validpixelDigis =
true;
1351 <<
"Unable to find pixelDigis in event!";
1352 validpixelDigis =
false;
1354 if (validpixelDigis) {
1355 int nPxlBrl = 0, nPxlFwd = 0;
1357 for (DPViter = pixelDigis->begin(); DPViter != pixelDigis->end();
1359 unsigned int id = DPViter->id;
1368 for (iter = begin; iter !=
end; ++
iter) {
1391 for (iter = begin; iter !=
end; ++
iter) {
1393 if (tTopo->
pxfDisk(
id) == 1) {
1394 if (tTopo->
pxfSide(
id) == 1) {
1399 if (tTopo->
pxfSide(
id) == 2) {
1405 if (tTopo->
pxfDisk(
id) == 2) {
1406 if (tTopo->
pxfSide(
id) == 1) {
1412 if (tTopo->
pxfSide(
id) == 2) {
1423 eventout +=
"\n Number of BrlPixelDigis collected:........ ";
1424 eventout += nPxlBrl;
1426 for(
int i = 0;
i < 3; ++
i) {
1431 eventout +=
"\n Number of FrwdPixelDigis collected:....... ";
1432 eventout += nPxlFwd;
1435 for(
int i = 3;
i < 7; ++
i) {
1449 std::string MsgLoggerCat =
"GlobalDigisAnalyzer_fillMuon";
1453 eventout =
"\nGathering info:";
1458 bool validdtDigis =
true;
1461 <<
"Unable to find dtDigis in event!";
1462 validdtDigis =
false;
1465 int nDt0 = 0;
int nDt1 = 0;
int nDt2 = 0;
int nDt3 = 0;
1468 for (detUnitIt = dtDigis->begin(); detUnitIt != dtDigis->end();
1471 const DTLayerId&
id = (*detUnitIt).first;
1474 digiIt != range.second;
1479 DTWireId wireId(
id,(*digiIt).wire());
1480 if (wireId.station() == 1) {
1486 if (wireId.station() == 2) {
1492 if (wireId.station() == 3) {
1498 if (wireId.station() == 4) {
1513 eventout +=
"\n Number of DtMuonDigis collected:.......... ";
1521 bool validstrips =
true;
1524 <<
"Unable to find muon strips in event!";
1525 validstrips =
false;
1534 std::vector<CSCStripDigi>::const_iterator digiItr = (*j).second.first;
1535 std::vector<CSCStripDigi>::const_iterator
last = (*j).second.second;
1537 for ( ; digiItr !=
last; ++digiItr) {
1541 std::vector<int> adcCounts = digiItr->getADCCounts();
1549 if (adcCounts[5] > (pedestal + 100))
1556 eventout +=
"\n Number of CSCStripDigis collected:........ ";
1557 eventout += nStrips;
1565 bool validwires =
true;
1568 <<
"Unable to find muon wires in event!";
1578 std::vector<CSCWireDigi>::const_iterator digiItr = (*j).second.first;
1579 std::vector<CSCWireDigi>::const_iterator endDigi = (*j).second.second;
1581 for ( ; digiItr != endDigi; ++digiItr) {
1588 eventout +=
"\n Number of CSCWireDigis collected:......... ";
1600 <<
"Unable to find RPCGeometryRecord in event!";
1606 bool validrpcsim =
true;
1609 <<
"Unable to find rpcsimHit in event!";
1610 validrpcsim =
false;
1615 bool validrpcdigi =
true;
1618 <<
"Unable to find rpcDigis in event!";
1619 validrpcdigi =
false;
1623 validrpcdigi =
false;
1626 edm::PSimHitContainer::const_iterator rpcsimIt;
1627 std::map<RPCDetId, std::vector<double> > allsims;
1630 for (rpcsimIt = rpcsimHit->begin(); rpcsimIt != rpcsimHit->end();
1633 int ptype = rpcsimIt->particleType();
1635 if (ptype == 13 || ptype == -13) {
1636 std::vector<double> buff;
1637 if (allsims.find(Rsid) != allsims.end() ){
1638 buff= allsims[Rsid];
1640 buff.push_back(rpcsimIt->localPosition().x());
1651 for (rpcdetUnitIt = rpcDigis->begin(); rpcdetUnitIt != rpcDigis->end();
1654 const RPCDetId Rsid = (*rpcdetUnitIt).first;
1656 dynamic_cast<const RPCRoll*
>( rpcGeom->roll(Rsid));
1659 std::vector<double> sims;
1660 if (allsims.find(Rsid) != allsims.end() ){
1661 sims = allsims[Rsid];
1666 rpcdigiIt != range.second;
1673 if (sims.size() == 1 && ndigi == 1){
1674 double dis = roll->
centreOfStrip(range.first->strip()).
x()-sims[0];
1676 if (Rsid.
region() == 0 ){
1677 if (Rsid.
ring() == -2)
1679 else if (Rsid.
ring() == -1)
1681 else if (Rsid.
ring() == 0)
1683 else if (Rsid.
ring() == 1)
1685 else if (Rsid.
ring() == 2)
1692 eventout +=
"\n Number of RPCDigis collected:.............. ";
GlobalDigisAnalyzer(const edm::ParameterSet &)
T getParameter(std::string const &) const
EventNumber_t event() const
T getUntrackedParameter(std::string const &, T const &) const
void getAllProvenance(std::vector< Provenance const * > &provenances) 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
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
static const int sdHcalOut
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
std::vector< T >::const_iterator const_iterator
MonitorElement * mehSiPixelRow[7]
MonitorElement * mehRPCRes[5]
unsigned int tidWheel(const DetId &id) const
edm::EDGetTokenT< CSCStripDigiCollection > MuCSCStripSrc_Token_
double pedestal(int fCapId) const
get pedestal for capid=0..3
int theCSCStripPedestalCount
MonitorElement * mehSiStripADC[19]
MonitorElement * mehDtMuonTimevLayer[4]
MonitorElement * mehSiStripn[19]
int gainId() const
get the gainId (2 bits)
MonitorElement * mehCSCWireTime
edm::EDGetTokenT< EEDigiCollection > ECalEESrc_Token_
virtual void beginJob(void)
uint32_t rawId() const
get the raw id
MonitorElement * mehEcalMaxPos[2]
edm::EDGetTokenT< CrossingFrame< PCaloHit > > ESHits_Token_
edm::EDGetTokenT< edm::PSimHitContainer > RPCSimHit_Token_
MonitorElement * mehDtMuonTime[4]
static const int sdPxlBrl
double ECalendcapADCtoGeV_
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
virtual void adc2fC(const HBHEDataFrame &df, CaloSamples &lf) const
edm::InputTag MuCSCStripSrc_
static const int MAXSAMPLES
edm::EDGetTokenT< edm::SortedCollection< HFDataFrame > > HFDigi_Token_
MonitorElement * mehHcalAEE[4]
std::map< uint32_t, float, std::less< uint32_t > > MapType
MonitorElement * bookProfile(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, const char *option="s")
void setVerbose(unsigned level)
edm::EDGetTokenT< CSCWireDigiCollection > MuCSCWireSrc_Token_
std::map< int, double, std::less< int > > ECalgainConv_
int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum) ...
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
void fillMuon(const edm::Event &, const edm::EventSetup &)
MonitorElement * mehEcalAEE[2]
edm::EDGetTokenT< EBDigiCollection > ECalEBSrc_Token_
MonitorElement * mehHcalSHEvAEE[4]
virtual ~GlobalDigisAnalyzer()
MonitorElement * mehCSCStripn
int size() const
get the size
edm::EDGetTokenT< ESDigiCollection > ECalESSrc_Token_
MonitorElement * mehCSCStripADC
edm::EDGetTokenT< CrossingFrame< PCaloHit > > EEHits_Token_
T const * product() const
static const int sdHcalFwd
float gain12Over6() const
std::vector< DTDigi >::const_iterator const_iterator
T const * product() const
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]
unsigned int pxfSide(const DetId &id) const
MonitorElement * mehCSCWiren
edm::EDGetTokenT< RPCDigiCollection > MuRPCSrc_Token_
std::pair< const_iterator, const_iterator > Range
int adc() const
get the ADC sample (singed 16 bits)
iterator begin()
Return an iterator to the first DetSet.
static const int sdPxlFwd
volatile std::atomic< bool > shutdown_flag false
void showDirStructure(void) const
MonitorElement * mehEcalMultvAEE[2]
MonitorElement * mehSiPixeln[7]
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 setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
void fillTrk(const edm::Event &, const edm::EventSetup &)
edm::InputTag MuCSCWireSrc_
edm::EDGetTokenT< DTDigiCollection > MuDTSrc_Token_
static const int sdHcalEC
static const int MAXSAMPLES
MonitorElement * mehSiPixelADC[7]
void setCurrentFolder(const std::string &fullpath)
unsigned int tobLayer(const DetId &id) const
edm::InputTag SiStripSrc_
int adc() const
get the ADC sample (12 bits)
MonitorElement * mehDtMuonn[4]
int region() const
Region id: 0 for Barrel, +/-1 For +/- Endcap.
virtual void analyze(const edm::Event &, const edm::EventSetup &)