45 : ecalRawDataColl_(iConfig.getParameter<edm::
InputTag>(
"ecalRawDataColl")),
46 ecalRecHitCollectionEB_(iConfig.getParameter<edm::
InputTag>(
"ecalRecHitCollectionEB")),
47 ecalRecHitCollectionEE_(iConfig.getParameter<edm::
InputTag>(
"ecalRecHitCollectionEE")),
48 barrelClusterCollection_(iConfig.getParameter<edm::
InputTag>(
"barrelClusterCollection")),
49 endcapClusterCollection_(iConfig.getParameter<edm::
InputTag>(
"endcapClusterCollection")),
50 l1GTReadoutRecTag_(iConfig.getUntrackedParameter<std::
string>(
"L1GlobalReadoutRecord",
"gtDigis")),
51 l1GMTReadoutRecTag_(iConfig.getUntrackedParameter<std::
string>(
"L1GlobalMuonReadoutRecord",
"gtDigis")),
69 histRangeMax_(iConfig.getUntrackedParameter<double>(
"histogramMaxRange", 1.8)),
70 histRangeMin_(iConfig.getUntrackedParameter<double>(
"histogramMinRange", 0.0)),
71 minTimingAmpEB_(iConfig.getUntrackedParameter<double>(
"MinTimingAmpEB", 0.100)),
72 minTimingAmpEE_(iConfig.getUntrackedParameter<double>(
"MinTimingAmpEE", 0.100)),
73 minRecHitAmpEB_(iConfig.getUntrackedParameter<double>(
"MinRecHitAmpEB", 0.027)),
74 minRecHitAmpEE_(iConfig.getUntrackedParameter<double>(
"MinRecHitAmpEE", 0.18)),
75 minHighEnergy_(iConfig.getUntrackedParameter<double>(
"MinHighEnergy", 2.0)),
76 fileName_(iConfig.getUntrackedParameter<std::
string>(
"fileName", std::
string(
"ecalCosmicHists"))),
77 runInFileName_(iConfig.getUntrackedParameter<bool>(
"runInFileName",
true)),
78 startTime_(iConfig.getUntrackedParameter<double>(
"TimeStampStart", 1215107133.)),
79 runTimeLength_(iConfig.getUntrackedParameter<double>(
"TimeStampLength", 3.)),
80 numTimingBins_(iConfig.getUntrackedParameter<int>(
"TimeStampBins", 1800)) {
94 string title1 =
"Seed Energy for All Feds; Seed Energy (GeV)";
95 string name1 =
"SeedEnergyAllFEDs";
110 bool hasEndcapClusters =
true;
111 int ievt = iEvent.
id().
event();
124 LogWarning(
"EcalCosmicsHists") <<
"Global EB ADC->GeV scale: " << agc.getEBValue() <<
" GeV/ADC count";
125 LogWarning(
"EcalCosmicsHists") <<
"Global EE ADC->GeV scale: " << agc.getEEValue() <<
" GeV/ADC count";
130 unsigned int timeStampLow = (0xFFFFFFFF & iEvent.
time().
value());
131 unsigned int timeStampHigh = (iEvent.
time().
value() >> 32);
132 double rawEventTime = (double)(timeStampHigh) + ((double)(timeStampLow) / 1000000.);
142 LogDebug(
"EcalCosmicsHists") <<
"event " << ievt;
147 hasEndcapClusters =
false;
167 LogWarning(
"EcalCosmicsHists") <<
"DCC headers not available";
177 headerItr->getEventSettings();
178 int myorbit = headerItr->getOrbit();
179 int mybx = headerItr->getBX();
180 int myRunType = headerItr->getRunType();
181 int FEDid = headerItr->fedId();
183 if (dccRuntypeHist ==
nullptr) {
187 dccRuntypeHist->Fill(mybx, myRunType);
191 }
else if (bx != mybx) {
192 LogWarning(
"EcalCosmicsHists") <<
"This header has a conflicting bx OTHERS were " << bx <<
" here " << mybx;
199 if (runType == -100) {
201 }
else if (runType != myRunType) {
202 LogWarning(
"EcalCosmicsHists") <<
"This header has a conflicting runType OTHERS were " << bx <<
" here " << mybx;
210 }
else if (orbit != myorbit) {
211 LogWarning(
"EcalCosmicsHists") <<
"This header has a conflicting orbit; OTHERS were " << orbit <<
" here "
222 bool isEcalL1 = l1Triggers[4];
223 bool isHCALL1 = l1Triggers[3];
224 bool isRPCL1 = l1Triggers[2];
225 bool isCSCL1 = l1Triggers[1];
226 bool isDTL1 = l1Triggers[0];
232 int numberOfCosmics = 0;
233 int numberOfCosmicsEB = 0;
234 int numberOfCosmicsEEP = 0;
235 int numberOfCosmicsEEM = 0;
236 int numberOfCosmicsTop = 0;
237 int numberOfCosmicsBottom = 0;
238 int numberOfHighEClusters = 0;
240 std::vector<EBDetId>
seeds;
245 for (reco::SuperClusterCollection::const_iterator clus = clusterCollection_p->begin();
246 clus != clusterCollection_p->end();
248 double energy = clus->energy();
249 double phi = clus->phi();
250 double eta = clus->eta();
251 double time = -1000.0;
253 double secondMin = 0.;
254 double secondTime = -1000.;
255 int numXtalsinCluster = 0;
264 double cphi = (*bclus)->phi();
265 double ceta = (*bclus)->eta();
270 std::vector<std::pair<DetId, float> > clusterDetIds = clus->hitsAndFractions();
271 for (
std::vector<std::pair<DetId, float> >::const_iterator detitr = clusterDetIds.begin();
272 detitr != clusterDetIds.end();
276 std::cout <<
" det is " << (*detitr).first.det() << std::endl;
279 if ((*detitr).first.subdetId() !=
EcalBarrel) {
280 std::cout <<
" subdet is " << (*detitr).first.subdetId() << std::endl;
284 if (thishit == hits->end())
290 double thisamp = myhit.
energy();
294 if (thisamp > secondMin) {
296 secondTime = myhit.
time();
297 secDet = (
EBDetId)(*detitr).first;
299 if (secondMin > ampli) {
306 double fullnumXtalsinCluster = clusterDetIds.size();
308 float E2 = ampli + secondMin;
310 int FEDid = 600 + elecId.
dccId();
316 seeds.push_back(maxDet);
317 int ieta = maxDet.
ieta();
318 int iphi = maxDet.
iphi();
319 int ietaSM = maxDet.
ietaSM();
320 int iphiSM = maxDet.
iphiSM();
325 if (iphi > 0 && iphi < 180) {
326 numberOfCosmicsTop++;
328 numberOfCosmicsBottom++;
347 if (uRecHist ==
nullptr) {
365 uRecHist->Fill(ampli);
366 E2uRecHist->Fill(E2);
367 E2vsE1uRecHist->Fill(ampli, E2);
368 energyuRecHist->Fill(energy);
369 energyvsE1uRecHist->Fill(ampli, energy);
377 iphiProfileHist->Fill(iphi);
378 ietaProfileHist->Fill(ieta);
399 occupHist->Fill(ietaSM, iphiSM);
400 if (fullnumXtalsinCluster == 1) {
407 if (isEcalL1 && !isDTL1 && !isRPCL1 && !isCSCL1 && !isHCALL1) {
419 if (!isEcalL1 && !isDTL1 && !isRPCL1 && !isCSCL1 && isHCALL1) {
431 if (!isEcalL1 && isDTL1 && !isRPCL1 && !isCSCL1 && !isHCALL1) {
443 if (!isEcalL1 && !isDTL1 && isRPCL1 && !isCSCL1 && !isHCALL1) {
455 if (!isEcalL1 && !isDTL1 && !isRPCL1 && isCSCL1 && !isHCALL1) {
496 if (isEcalL1 && (isCSCL1 || isRPCL1 || isDTL1) && !isHCALL1)
500 timingHist->Fill(time);
502 timingHistVsAmp->Fill(time, ampli);
506 timingHistVsPhi->Fill(time, iphiSM);
507 timingHistVsModule->Fill(time, ietaSM);
512 if (FEDid >= 610 && FEDid <= 627)
514 if (FEDid >= 628 && FEDid <= 645)
517 if (FEDid >= 610 && FEDid <= 627)
519 if (FEDid >= 628 && FEDid <= 645)
521 if (FEDid >= 613 && FEDid <= 616)
523 if (FEDid >= 631 && FEDid <= 634)
525 if (FEDid >= 622 && FEDid <= 625)
527 if (FEDid >= 640 && FEDid <= 643)
534 LogInfo(
"EcalCosmicsHists") <<
"High energy event " << iEvent.
id().
run() <<
" : " << iEvent.
id().
event() <<
" "
535 <<
naiveEvtNum_ <<
" : " << energy <<
" " << numXtalsinCluster <<
" : " << iphi <<
" "
536 << ieta <<
" : " << isEcalL1 << isHCALL1 << isDTL1 << isRPCL1 << isCSCL1;
538 numberOfHighEClusters++;
553 if (energy > 100.0) {
554 LogInfo(
"EcalCosmicsHists") <<
"Very high energy event " << iEvent.
id().
run() <<
" : " << iEvent.
id().
event()
555 <<
" " <<
naiveEvtNum_ <<
" : " << energy <<
" " << numXtalsinCluster <<
" : "
556 << iphi <<
" " << ieta <<
" : " << isEcalL1 << isHCALL1 << isDTL1 << isRPCL1
570 if (hasEndcapClusters) {
571 clusterCollection_p = escHandle.
product();
572 for (reco::SuperClusterCollection::const_iterator clus = clusterCollection_p->begin();
573 clus != clusterCollection_p->end();
575 double energy = clus->energy();
578 double time = -1000.0;
580 double secondMin = 0.;
581 double secondTime = -1000.;
582 int clusSize = clus->clustersSize();
583 int numXtalsinCluster = 0;
597 std::vector<std::pair<DetId, float> > clusterDetIds = clus->hitsAndFractions();
598 for (
std::vector<std::pair<DetId, float> >::const_iterator detitr = clusterDetIds.begin();
599 detitr != clusterDetIds.end();
605 LogError(
"EcalCosmicsHists") <<
" det is " << (*detitr).first.det();
608 if ((*detitr).first.subdetId() !=
EcalEndcap) {
609 LogError(
"EcalCosmicsHists") <<
" subdet is " << (*detitr).first.subdetId();
615 if (thishit == hitsEE->end()) {
616 LogInfo(
"EcalCosmicsHists") <<
" WARNING: EEDetId not found in the RecHit collection!";
625 double thisamp = myhit.
energy();
629 if (thisamp > secondMin) {
631 secondTime = myhit.
time();
632 secDet = (
EEDetId)(*detitr).first;
634 if (secondMin > ampli) {
643 double fullnumXtalsinCluster = clusterDetIds.size();
645 float E2 = ampli + secondMin;
654 int ix = maxDet.
ix();
655 int iy = maxDet.
iy();
656 int iz = maxDet.
zside();
663 LogWarning(
"EcalCosmicsHists") <<
"INVALID EE DetId !!!";
669 numberOfCosmicsEEM++;
671 numberOfCosmicsEEP++;
734 if (fullnumXtalsinCluster == 1) {
747 if (isEcalL1 && !isDTL1 && !isRPCL1 && !isCSCL1 && !isHCALL1) {
757 if (!isEcalL1 && !isDTL1 && !isRPCL1 && !isCSCL1 && isHCALL1) {
767 if (!isEcalL1 && isDTL1 && !isRPCL1 && !isCSCL1 && !isHCALL1) {
777 if (!isEcalL1 && !isDTL1 && isRPCL1 && !isCSCL1 && !isHCALL1) {
787 if (!isEcalL1 && !isDTL1 && !isRPCL1 && isCSCL1 && !isHCALL1) {
841 if (fullnumXtalsinCluster == 1) {
854 if (isEcalL1 && !isDTL1 && !isRPCL1 && !isCSCL1 && !isHCALL1) {
864 if (!isEcalL1 && !isDTL1 && !isRPCL1 && !isCSCL1 && isHCALL1) {
874 if (!isEcalL1 && isDTL1 && !isRPCL1 && !isCSCL1 && !isHCALL1) {
884 if (!isEcalL1 && !isDTL1 && isRPCL1 && !isCSCL1 && !isHCALL1) {
894 if (!isEcalL1 && !isDTL1 && !isRPCL1 && isCSCL1 && !isHCALL1) {
936 LogInfo(
"EcalCosmicsHists") <<
"High energy event in EE " << iEvent.
id().
run() <<
" : " << iEvent.
id().
event()
937 <<
" " <<
naiveEvtNum_ <<
" : " << energy <<
" " << numXtalsinCluster <<
" : " << ix
938 <<
" " << iy <<
" : " << isEcalL1 << isHCALL1 << isDTL1 << isRPCL1 << isCSCL1;
960 if (energy > 100.0) {
961 LogInfo(
"EcalCosmicsHists") <<
"Very high energy event in EE " << iEvent.
id().
run() <<
" : "
963 << numXtalsinCluster <<
" : " << ix <<
" " << iy <<
" : " << isEcalL1 << isHCALL1
964 << isDTL1 << isRPCL1 << isCSCL1;
983 if (numberOfCosmics > 0) {
992 if (numberOfCosmicsEB > 0)
994 if (numberOfCosmicsEEP > 0)
996 if (numberOfCosmicsEEM > 0)
999 if (numberOfCosmicsTop && numberOfCosmicsBottom) {
1011 std::map<int, std::vector<DetId> > trackDetIdMap;
1013 for (reco::TrackCollection::const_iterator recoTrack = recoTracks->begin(); recoTrack != recoTracks->end();
1015 if (fabs(recoTrack->d0()) > 70 || fabs(recoTrack->dz()) > 70)
1017 if (recoTrack->numberOfValidHits() < 20)
1056 if (thishit == hits->end())
1070 trackDetIdMap.insert(std::pair<
int, std::vector<DetId> >(tracks, info.
crossedEcalIds));
1075 int numAssocTracks = 0;
1076 int numAssocClusters = 0;
1077 edm::LogVerbatim(
"TrackAssociator") <<
"Matching cosmic clusters to tracks...";
1078 int numSeeds = seeds.size();
1079 int numTracks = trackDetIdMap.size();
1080 while (!seeds.empty() && !trackDetIdMap.empty()) {
1081 double bestDr = 1000;
1082 double bestDPhi = 1000;
1083 double bestDEta = 1000;
1084 double bestEtaTrack = 1000;
1085 double bestEtaSeed = 1000;
1086 double bestPhiTrack = 1000;
1087 double bestPhiSeed = 1000;
1091 std::map<EBDetId, EBDetId> trackDetIdToSeedMap;
1095 for (std::vector<EBDetId>::const_iterator seedItr = seeds.begin(); seedItr != seeds.end(); ++seedItr) {
1096 for (std::map<
int, std::vector<DetId> >::const_iterator mapItr = trackDetIdMap.begin();
1097 mapItr != trackDetIdMap.end();
1099 for (
unsigned int i = 0;
i < mapItr->second.size();
i++) {
1101 if (mapItr->second[
i].det() ==
DetId::Ecal && mapItr->second[
i].subdetId() == 1) {
1102 EBDetId ebDet = (mapItr->second[
i]);
1103 double seedEta = seedItr->
ieta();
1104 double deta = ebDet.
ieta() - seedEta;
1105 if (seedEta * ebDet.
ieta() < 0)
1106 deta > 0 ? (deta = deta - 1.) : (deta = deta + 1.);
1108 double dphi = ebDet.
iphi() - seedItr->iphi();
1109 if (
abs(dphi) > 180)
1110 dphi > 0 ? (dphi = 360 - dphi) : (dphi = -360 - dphi);
1111 dR =
sqrt(deta * deta + dphi * dphi);
1116 bestTrackDet = mapItr->second[
i];
1117 bestTrack = mapItr->first;
1118 bestSeed = (*seedItr);
1119 bestEtaTrack = ebDet.
ieta();
1120 bestEtaSeed = seedEta;
1121 bestPhiTrack = ebDet.
iphi();
1122 bestPhiSeed = seedItr->iphi();
1128 if (bestDr < 1000) {
1136 seeds.erase(
find(seeds.begin(), seeds.end(), bestSeed));
1137 trackDetIdMap.erase(trackDetIdMap.find(bestTrack));
1138 trackDetIdToSeedMap[bestTrackDet] = bestSeed;
1143 if (bestDPhi < 1.5 && bestDEta < 1.8) {
1148 if (Ecalhit == hits->end()) {
1151 double EcalhitEnergy = Ecalhit->energy();
1157 edm::LogVerbatim(
"TrackAssociator") <<
"could not match cluster seed to track." << bestDr;
1161 if (numSeeds > 0 && numTracks > 0) {
1165 if (numTracks > 0) {
1171 LogWarning(
"EcalCosmicsHists") <<
"!!! No TrackAssociator recoTracks !!!";
1177 if (!recoTracksBarrel.
isValid()) {
1178 edm::LogWarning(
"EcalCosmicsHists") <<
"RecoTracksBarrel not valid!! ";
1181 for (reco::TrackCollection::const_iterator recoTrack = recoTracksBarrel->begin();
1182 recoTrack != recoTracksBarrel->end();
1188 for (reco::SuperClusterCollection::const_iterator clus = clusterCollection_p->begin();
1189 clus != clusterCollection_p->end();
1191 double energy = clus->energy();
1192 double phi = clus->phi();
1193 double eta = clus->eta();
1195 if (recoTracksBarrel->empty())
1197 if (recoTracksBarrel->size() == 1)
1199 if (recoTracksBarrel->size() == 2)
1202 std::vector<std::pair<DetId, float> > clusterDetIds = clus->hitsAndFractions();
1203 for (
std::vector<std::pair<DetId, float> >::const_iterator detitr = clusterDetIds.begin();
1204 detitr != clusterDetIds.end();
1209 if ((*detitr).first.subdetId() !=
EcalBarrel) {
1213 if (thishit == hits->end()) {
1217 double rechitenergy = thishit->energy();
1218 int ieta = ((
EBDetId)(*detitr).first).ieta();
1219 int iphi = ((
EBDetId)(*detitr).first).iphi();
1221 if (recoTracksBarrel->empty())
1223 if (recoTracksBarrel->size() == 1)
1225 if (recoTracksBarrel->size() == 2)
1228 if (rechitenergy > 10)
1229 edm::LogWarning(
"EcalCosmicsHists") <<
"!!!!! Crystal with energy " << rechitenergy <<
" at (ieta,iphi) ("
1230 << ieta <<
" ," << iphi <<
"); Id: " << (*detitr).first.det();
1236 if (recoTracksBarrel->size() == 2) {
1237 reco::TrackCollection::const_iterator Track1 = recoTracksBarrel->begin();
1238 reco::TrackCollection::const_iterator Track2 = (recoTracksBarrel->begin()) + 1;
1239 float angle = (acos(
sin(Track1->theta()) *
cos(Track1->phi()) *
sin(Track2->theta()) *
cos(Track2->phi()) +
1240 sin(Track1->theta()) *
sin(Track1->phi()) *
sin(Track2->theta()) *
sin(Track2->phi()) +
1241 cos(Track1->theta()) *
cos(Track2->theta()))) /
1245 if ((Track1->innerPosition().phi()) > 0 && (Track2->innerPosition().phi()) < 0) {
1274 LogWarning(
"EcalCosmicHists") <<
" HBHE RecHits **NOT** VALID!! ";
1283 LogWarning(
"EcalCosmicHists") <<
" HF RecHits **NOT** VALID!! ";
1294 LogWarning(
"EcalCosmicHists") <<
" HO RecHits **NOT** VALID!! ";
1301 std::vector<bool> l1Triggers;
1303 l1Triggers.reserve(5);
1304 for (
int i = 0;
i < 5;
i++)
1305 l1Triggers.push_back(
false);
1311 if (!(gmtrc_handle.
isValid())) {
1312 LogWarning(
"EcalCosmicsHists") <<
"l1MuGMTReadoutCollection"
1313 <<
" not available";
1327 bool l1SingleEG1 =
menu.gtAlgorithmResult(
"L1_SingleEG1", dWord);
1328 bool l1SingleEG5 =
menu.gtAlgorithmResult(
"L1_SingleEG5", dWord);
1329 bool l1SingleEG8 =
menu.gtAlgorithmResult(
"L1_SingleEG8", dWord);
1330 bool l1SingleEG10 =
menu.gtAlgorithmResult(
"L1_SingleEG10", dWord);
1331 bool l1SingleEG12 =
menu.gtAlgorithmResult(
"L1_SingleEG12", dWord);
1332 bool l1SingleEG15 =
menu.gtAlgorithmResult(
"L1_SingleEG15", dWord);
1333 bool l1SingleEG20 =
menu.gtAlgorithmResult(
"L1_SingleEG20", dWord);
1334 bool l1SingleEG25 =
menu.gtAlgorithmResult(
"L1_SingleEG25", dWord);
1335 bool l1DoubleNoIsoEGBTBtight =
menu.gtAlgorithmResult(
"L1_DoubleNoIsoEG_BTB_tight", dWord);
1336 bool l1DoubleNoIsoEGBTBloose =
menu.gtAlgorithmResult(
"L1_DoubleNoIsoEG_BTB_loose ", dWord);
1337 bool l1DoubleNoIsoEGTopBottom =
menu.gtAlgorithmResult(
"L1_DoubleNoIsoEGTopBottom", dWord);
1338 bool l1DoubleNoIsoEGTopBottomCen =
menu.gtAlgorithmResult(
"L1_DoubleNoIsoEGTopBottomCen", dWord);
1339 bool l1DoubleNoIsoEGTopBottomCen2 =
menu.gtAlgorithmResult(
"L1_DoubleNoIsoEGTopBottomCen2", dWord);
1340 bool l1DoubleNoIsoEGTopBottomCenVert =
menu.gtAlgorithmResult(
"L1_DoubleNoIsoEGTopBottomCenVert", dWord);
1342 l1Triggers[4] = l1SingleEG1 || l1SingleEG5 || l1SingleEG8 || l1SingleEG10 || l1SingleEG12 || l1SingleEG15 ||
1343 l1SingleEG20 || l1SingleEG25 || l1DoubleNoIsoEGBTBtight || l1DoubleNoIsoEGBTBloose ||
1344 l1DoubleNoIsoEGTopBottom || l1DoubleNoIsoEGTopBottomCen || l1DoubleNoIsoEGTopBottomCen2 ||
1345 l1DoubleNoIsoEGTopBottomCenVert;
1347 std::vector<L1MuGMTReadoutRecord> gmt_records = gmtrc->
getRecords();
1348 std::vector<L1MuGMTReadoutRecord>::const_iterator igmtrr;
1349 for (igmtrr = gmt_records.begin(); igmtrr != gmt_records.end(); igmtrr++) {
1350 std::vector<L1MuRegionalCand>::const_iterator iter1;
1351 std::vector<L1MuRegionalCand> rmc;
1355 rmc = igmtrr->getDTBXCands();
1356 for (iter1 = rmc.begin(); iter1 != rmc.end(); iter1++) {
1357 if (!(*iter1).empty()) {
1363 if (igmtrr->getBxInEvent() == 0 && idt > 0)
1364 l1Triggers[0] =
true;
1368 rmc = igmtrr->getBrlRPCCands();
1369 for (iter1 = rmc.begin(); iter1 != rmc.end(); iter1++) {
1370 if (!(*iter1).empty()) {
1376 if (igmtrr->getBxInEvent() == 0 && irpcb > 0)
1377 l1Triggers[2] =
true;
1381 rmc = igmtrr->getCSCCands();
1382 for (iter1 = rmc.begin(); iter1 != rmc.end(); iter1++) {
1383 if (!(*iter1).empty()) {
1389 if (igmtrr->getBxInEvent() == 0 && icsc > 0)
1390 l1Triggers[1] =
true;
1395 for (
int ibx = -1; ibx <= 1; ibx++) {
1396 bool hcal_top =
false;
1397 bool hcal_bot =
false;
1399 std::vector<int> valid_phi;
1400 if ((psb.
aData(4) & 0x3f) >= 1) {
1401 valid_phi.push_back((psb.
aData(4) >> 10) & 0x1f);
1403 if ((psb.
bData(4) & 0x3f) >= 1) {
1404 valid_phi.push_back((psb.
bData(4) >> 10) & 0x1f);
1406 if ((psb.
aData(5) & 0x3f) >= 1) {
1407 valid_phi.push_back((psb.
aData(5) >> 10) & 0x1f);
1409 if ((psb.
bData(5) & 0x3f) >= 1) {
1410 valid_phi.push_back((psb.
bData(5) >> 10) & 0x1f);
1412 std::vector<int>::const_iterator iphi;
1413 for (iphi = valid_phi.begin(); iphi != valid_phi.end(); iphi++) {
1420 if (ibx == 0 && hcal_top && hcal_bot)
1421 l1Triggers[3] =
true;
1424 edm::LogInfo(
"EcalCosmicsHists") <<
"**** Trigger SourceSource ****";
1435 edm::LogInfo(
"EcalCosmicsHists") <<
"************************";
1442 using namespace std;
1445 string title1 =
"Energy of Seed Crystal ";
1447 title1.append(
";Seed Energy (GeV);Number of Cosmics");
1448 string name1 =
"SeedEnergyFED";
1464 TH2F* E2vsE1hist =
new TH2F(Form(
"E2vsE1_FED_%d", FED),
1465 Form(
"E2vsE1_FED_%d", FED),
1475 TH2F* energyvsE1hist =
new TH2F(Form(
"EnergyvsE1_FED_%d", FED),
1476 Form(
"EnergyvsE1_FED_%d", FED),
1486 title1 =
"Time for ";
1488 title1.append(
";Relative Time (1 clock = 25ns);Events");
1491 TH1F* timingHist =
new TH1F(name1.c_str(), title1.c_str(), 78, -7, 7);
1496 new TH1F(Form(
"Frequency_FED_%d", FED), Form(
"Frequency for FED %d;Event Number", FED), 100, 0., 100000);
1500 TH1F* iphiProfileHist =
1501 new TH1F(Form(
"iPhi_Profile_FED_%d", FED), Form(
"iPhi Profile for FED %d", FED), 360, 1., 361);
1505 TH1F* ietaProfileHist =
1506 new TH1F(Form(
"iEta_Profile_FED_%d", FED), Form(
"iEta Profile for FED %d", FED), 172, -86, 86);
1510 TH2F* timingHistVsFreq =
1511 new TH2F(Form(
"timeVsFreqFED_%d", FED), Form(
"time Vs Freq FED %d", FED), 78, -7, 7, 100, 0., 100000);
1515 TH2F* timingHistVsAmp =
new TH2F(
1520 TH1F* numXtalInClusterHist =
new TH1F(Form(
"NumXtalsInCluster_FED_%d", FED),
1521 Form(
"Num active Xtals In Cluster for FED %d;Num Active Xtals", FED),
1528 TH2F* OccupHist =
new TH2F(Form(
"occupFED_%d", FED), Form(
"Occupancy FED %d;i#eta;i#phi", FED), 85, 1, 86, 20, 1, 21);
1532 TH2F* timingHistVsPhi =
new TH2F(Form(
"timeVsPhiFED_%d", FED),
1533 Form(
"time Vs Phi FED %d;Relative Time (1 clock = 25ns);i#phi", FED),
1543 TH2F* timingHistVsModule =
new TH2F(Form(
"timeVsModuleFED_%d", FED),
1544 Form(
"time Vs Module FED %d;Relative Time (1 clock = 25ns);i#eta", FED),
1554 TH2F* dccRuntypeVsBxFED =
1555 new TH2F(Form(
"DCCRuntypeVsBxFED_%d", FED), Form(
"DCC Runtype vs. BX FED %d", FED), 3600, 0, 3600, 24, 0, 24);
1568 double ttEtaBins[36] = {-85, -80, -75, -70, -65, -60, -55, -50, -45, -40, -35, -30, -25, -20, -15, -10, -5, 0,
1569 1, 6, 11, 16, 21, 26, 31, 36, 41, 46, 51, 56, 61, 66, 71, 76, 81, 86};
1570 double modEtaBins[10] = {-85, -65, -45, -25, 0, 1, 26, 46, 66, 86};
1571 double ttPhiBins[73];
1572 double modPhiBins[19];
1573 double timingBins[79];
1574 double highEBins[11];
1575 for (
int i = 0;
i < 79; ++
i) {
1576 timingBins[
i] = -7. + double(
i) * 14. / 78.;
1578 ttPhiBins[
i] = 1 + 5 *
i;
1580 modPhiBins[
i] = 1 + 20 *
i;
1582 highEBins[
i] = 10. + double(
i) * 20.;
1591 double timingBinWidth = timingEndInSeconds / double(
numTimingBins_);
1597 new TH1F(
"energyHigh_AllClusters",
"energyHigh_AllClusters;Cluster Energy (GeV)", numBins,
histRangeMin_, 200.0);
1599 "energy of High Energy Clusters;Cluster Energy (GeV)",
1606 "E2vsE1_AllClusters;Seed Energy (GeV);Seed+highest neighbor energy (GeV)",
1614 "energyvsE1_AllClusters;Seed Energy (GeV);Energy(GeV)",
1621 allFedsTimingHist_ =
new TH1F(
"timeForAllFeds",
"timeForAllFeds;Relative Time (1 clock = 25ns)", 78, -7, 7);
1623 "time Vs Freq All events;Relative Time (1 clock = 25ns);Event Number",
1631 "time Vs Amp All Events;Relative Time (1 clock = 25ns);Amplitude (GeV)",
1638 allFedsFrequencyHist_ =
new TH1F(
"FrequencyAllEvent",
"Frequency for All events;Event Number", 2000, 0., 200000);
1642 Form(
"Time of Cosmic Events; Time (s);Passing Event rate/%5g s", timingBinWidth),
1645 timingEndInSeconds);
1647 new TH2F(
"FrequencyAllEventsInTimeVsPhi",
1648 Form(
"Time of Cosmic Events vs iPhi; iPhi;Time (s)/%5g s", timingBinWidth * 360.),
1654 timingEndInSeconds);
1656 new TH2F(
"FrequencyAllEventsInTimeVsTTPhi",
1657 Form(
"Time of Cosmic Events vs iPhi (TT bins); iPhi;Time (s)/%5g s", timingBinWidth * 72.),
1663 timingEndInSeconds);
1665 new TH2F(
"FrequencyAllEventsInTimeVsEta",
1666 Form(
"Time of Cosmic Events vs iEta; Time (s)/%5g s; iEta", timingBinWidth * 172.),
1674 new TH2F(
"FrequencyAllEventsInTimeVsTTEta",
1675 Form(
"Time of Cosmic Events vs Eta (TT bins);Time (s)/%5g s; iEta", timingBinWidth * 35.),
1686 allOccupancy_ =
new TH2F(
"OccupancyAllEvents",
"Occupancy all events;i#phi;i#eta", 360, 1., 361., 172, -86, 86);
1688 new TH2F(
"TrueOccupancyAllEvents",
"True Occupancy all events;#phi;#eta", 360, -3.14159, 3.14159, 172, -1.5, 1.5);
1690 new TH2F(
"OccupancyAllEventsCoarse",
"Occupancy all events Coarse;i#phi;i#eta", 360 / 5, 1, 361., 35, ttEtaBins);
1692 "True Occupancy all events Coarse;#phi;#eta",
1702 new TH2F(
"OccupancySingleXtal",
"Occupancy single xtal clusters;i#phi;i#eta", 360, 1., 361., 172, -86, 86);
1704 "energy_SingleXtalClusters",
"Energy single xtal clusters;Cluster Energy (GeV)", numBins,
histRangeMin_, 200.0);
1707 "time vs Phi for all FEDs (TT binning);i#phi;Relative Time (1 clock = 25ns)",
1715 "time vs Phi for FEDs in EB+ (TT binning) ;i#phi;Relative Time (1 clock = 25ns)",
1723 "time vs Phi for FEDs in EB- (TT binning);i#phi;Relative Time (1 clock = 25ns)",
1731 new TH3F(
"timePhiEtaAllFEDs",
1732 "(Phi,Eta,time) for all FEDs (SM,M binning);i#phi;i#eta;Relative Time (1 clock = 25ns)",
1740 new TH3F(
"timeTTAllFEDs",
1741 "(Phi,Eta,time) for all FEDs (SM,TT binning);i#phi;i#eta;Relative Time (1 clock = 25ns)",
1749 "timeLMAllFEDs",
"(LM,time) for all FEDs (SM,LM binning);LM;Relative Time (1 clock = 25ns)", 92, 1, 92, 78, -7, 7);
1751 allFedsTimingEbpHist_ =
new TH1F(
"timeEBP",
"time for FEDs in EB+;Relative Time (1 clock = 25ns)", 78, -7, 7);
1752 allFedsTimingEbmHist_ =
new TH1F(
"timeEBM",
"time for FEDs in EB-;Relative Time (1 clock = 25ns)", 78, -7, 7);
1754 new TH1F(
"timeEBPTop",
"time for FEDs in EB+ Top;Relative Time (1 clock = 25ns)", 78, -7, 7);
1756 new TH1F(
"timeEBMTop",
"time for FEDs in EB- Top;Relative Time (1 clock = 25ns)", 78, -7, 7);
1758 new TH1F(
"timeEBPBottom",
"time for FEDs in EB+ Bottom;Relative Time (1 clock = 25ns)", 78, -7, 7);
1760 new TH1F(
"timeEBMBottom",
"time for FEDs in EB- Bottom;Relative Time (1 clock = 25ns)", 78, -7, 7);
1763 new TH1F(
"numberofCosmicsPerEvent",
"Number of cosmics per event;Number of Cosmics", 30, 0, 30);
1765 new TH1F(
"numberofCosmicsPerEvent_EB",
"Number of cosmics per event EB;Number of Cosmics", 30, 0, 30);
1768 new TH1F(
"numberofCosmicsWTrackPerEvent",
"Number of cosmics with track per event", 30, 0, 30);
1770 "numberofCosmicsTopBottomPerEvent",
"Number of top bottom cosmics per event;Number of Cosmics", 30, 0, 30);
1772 "Number of events with cosmic vs Event;Event Number;Number of Good Events/100 Events",
1778 "Number of crossed ECAL cosmics per event;Number of Crossed Cosmics",
1784 "Occupancy all events Exclusive ECAL ;i#phi;i#eta",
1792 "Occupancy all events Coarse Exclusive ECAL;i#phi;i#eta",
1798 new TH2F(
"OccupancyAllEvents_ECAL",
"Occupancy all events ECAL;i#phi;i#eta", 360, 1., 361., 172, -86, 86);
1800 "Occupancy all events Coarse ECAL;i#phi;i#eta",
1806 new TH1F(
"timeForAllFeds_ECAL",
"timeForAllFeds ECAL;Relative Time (1 clock = 25ns)", 78, -7, 7);
1808 new TH3F(
"timePhiEtaAllFEDs_ECAL",
1809 "ECAL (Phi,Eta,time) for all FEDs (SM,M binning);i#phi;i#eta;Relative Time (1 clock = 25ns)",
1817 new TH3F(
"timeTTAllFEDs_ECAL",
1818 "ECAL (Phi,Eta,time) for all FEDs (SM,TT binning);i#phi;i#eta;Relative Time (1 clock = 25ns)",
1826 "ECAL (LM,time) for all FEDs (SM,LM binning);LM;Relative Time (1 clock = 25ns)",
1835 "OccupancyAllEvents_ExclusiveDT",
"Occupancy all events Exclusive DT;i#phi;i#eta", 360, 1., 361., 172, -86, 86);
1837 "Occupancy all events Coarse Exclusive DT;i#phi;i#eta",
1844 new TH2F(
"OccupancyAllEvents_DT",
"Occupancy all events DT;i#phi;i#eta", 360, 1., 361., 172, -86, 86);
1846 "OccupancyAllEventsCoarse_DT",
"Occupancy all events Coarse DT;i#phi;i#eta", 360 / 5, 1, 361., 35, ttEtaBins);
1847 allFedsTimingHistDT_ =
new TH1F(
"timeForAllFeds_DT",
"timeForAllFeds DT;Relative Time (1 clock = 25ns)", 78, -7, 7);
1849 new TH3F(
"timePhiEtaAllFEDs_DT",
1850 "DT (Phi,Eta,time) for all FEDs (SM,M binning);i#phi;i#eta;Relative Time (1 clock = 25ns)",
1858 new TH3F(
"timeTTAllFEDs_DT",
1859 "DT (Phi,Eta,time) for all FEDs (SM,TT binning);i#phi;i#eta;Relative Time (1 clock = 25ns)",
1867 "DT (LM,time) for all FEDs (SM,LM binning);LM;Relative Time (1 clock = 25ns)",
1876 "OccupancyAllEvents_ExclusiveRPC",
"Occupancy all events Exclusive RPC;i#phi;i#eta", 360, 1., 361., 172, -86, 86);
1878 "Occupancy all events Coarse Exclusive RPC;i#phi;i#eta",
1885 new TH2F(
"OccupancyAllEvents_RPC",
"Occupancy all events RPC;i#phi;i#eta", 360, 1., 361., 172, -86, 86);
1887 "OccupancyAllEventsCoarse_RPC",
"Occupancy all events Coarse RPC;i#phi;i#eta", 360 / 5, 1, 361., 35, ttEtaBins);
1889 new TH1F(
"timeForAllFeds_RPC",
"timeForAllFeds RPC;Relative Time (1 clock = 25ns)", 78, -7, 7);
1891 new TH3F(
"timePhiEtaAllFEDs_RPC",
1892 "RPC (Phi,Eta,time) for all FEDs (SM,M binning);i#phi;i#eta;Relative Time (1 clock = 25ns)",
1900 new TH3F(
"timeTTAllFEDs_RPC",
1901 "RPC (Phi,Eta,time) for all FEDs (SM,TT binning);i#phi;i#eta;Relative Time (1 clock = 25ns)",
1909 "RPC (LM,time) for all FEDs (SM,LM binning);LM;Relative Time (1 clock = 25ns)",
1918 "OccupancyAllEvents_ExclusiveCSC",
"Occupancy all events Exclusive CSC;i#phi;i#eta", 360, 1., 361., 172, -86, 86);
1920 "Occupancy all events Coarse Exclusive CSC;i#phi;i#eta",
1927 new TH2F(
"OccupancyAllEvents_CSC",
"Occupancy all events CSC;i#phi;i#eta", 360, 1., 361., 172, -86, 86);
1929 "OccupancyAllEventsCoarse_CSC",
"Occupancy all events Coarse CSC;i#phi;i#eta", 360 / 5, 1, 361., 35, ttEtaBins);
1931 new TH1F(
"timeForAllFeds_CSC",
"timeForAllFeds CSC;Relative Time (1 clock = 25ns)", 78, -7, 7);
1933 new TH3F(
"timePhiEtaAllFEDs_CSC",
1934 "CSC (Phi,Eta,time) for all FEDs (SM,M binning);i#phi;i#eta;Relative Time (1 clock = 25ns)",
1942 new TH3F(
"timeTTAllFEDs_CSC",
1943 "CSC (Phi,Eta,time) for all FEDs (SM,TT binning);i#phi;i#eta;Relative Time (1 clock = 25ns)",
1951 "CSC (LM,time) for all FEDs (SM,LM binning);LM;Relative Time (1 clock = 25ns)",
1960 "Occupancy all events Exclusive HCAL;i#phi;i#eta",
1968 "Occupancy all events Coarse Exclusive HCAL;i#phi;i#eta",
1975 new TH2F(
"OccupancyAllEvents_HCAL",
"Occupancy all events HCAL;i#phi;i#eta", 360, 1., 361., 172, -86, 86);
1977 "OccupancyAllEventsCoarse_HCAL",
"Occupancy all events Coarse HCAL;i#phi;i#eta", 360 / 5, 1, 361., 35, ttEtaBins);
1979 new TH1F(
"timeForAllFeds_HCAL",
"timeForAllFeds HCAL;Relative Time (1 clock = 25ns)", 78, -7, 7);
1981 new TH3F(
"timePhiEtaAllFEDs_HCAL",
1982 "HCAL (Phi,Eta,time) for all FEDs (SM,M binning);i#phi;i#eta;Relative Time (1 clock = 25ns)",
1990 new TH3F(
"timeTTAllFEDs_HCAL",
1991 "HCAL (Phi,Eta,time) for all FEDs (SM,TT binning);i#phi;i#eta;Relative Time (1 clock = 25ns)",
1999 "HCAL (LM,time) for all FEDs (SM,LM binning);LM;Relative Time (1 clock = 25ns)",
2008 "BCTrueOccupancyAllEvents",
"True SB Occupancy all events;#phi;#eta", 360, -3.14159, 3.14159, 172, -1.5, 1.5);
2010 "True BC Occupancy all events Coarse;#phi;#eta",
2019 new TH1F(
"numberofBCinSC",
"Number of Basic Clusters in Super Cluster;Num Basic Clusters", 20, 0, 20);
2021 "Number of Basic Clusters in Super Cluster;phi;Num Basic Clusters",
2030 new TH1F(
"timeForAllFeds_EcalMuon",
"timeForAllFeds Ecal+Muon;Relative Time (1 clock = 25ns)", 78, -7, 7);
2032 triggerHist_ =
new TH1F(
"triggerHist",
"Trigger Number", 5, 0, 5);
2039 triggerExclusiveHist_ =
new TH1F(
"triggerExclusiveHist",
"Trigger Number (Mutually Exclusive)", 5, 0, 5);
2046 runNumberHist_ =
new TH1F(
"runNumberHist",
"Run Number", 1, 0, 1);
2048 deltaRHist_ =
new TH1F(
"deltaRHist",
"deltaR", 500, -0.5, 499.5);
2049 deltaEtaHist_ =
new TH1F(
"deltaIEtaHist",
"deltaIEta", 170, -85.5, 84.5);
2050 deltaPhiHist_ =
new TH1F(
"deltaIPhiHist",
"deltaIPhi", 720, -360.5, 359.5);
2051 ratioAssocTracksHist_ =
new TH1F(
"ratioAssocTracks",
"num assoc. tracks/tracks through Ecal", 11, 0, 1.1);
2054 "trackAssoc_muonsEcal",
"Map of muon hits in Ecal", 360, 1., 361., 172, -86, 86);
2056 new TH2F(
"deltaEtaDeltaPhi",
"Delta ieta vs. delta iphi", 170, -85.5, 84.5, 720, -360.5, 359.5);
2057 seedTrackEtaHist_ =
new TH2F(
"seedTrackEta",
"track ieta vs. seed ieta", 170, -85.5, 84.5, 170, -85.5, 84.5);
2058 seedTrackPhiHist_ =
new TH2F(
"seedTrackPhi",
"track iphi vs. seed iphi", 720, -360.5, 359.5, 720, -360.5, 359.5);
2060 dccEventVsBxHist_ =
new TH2F(
"dccEventVsBx",
"DCC Runtype vs. bunch crossing", 3600, 0, 3600, 24, 0, 24);
2061 dccBXErrorByFEDHist_ =
new TH1F(
"dccBXErrorByFED",
"Incorrect BX number by FED", 54, 601, 655);
2064 dccRuntypeHist_ =
new TH1F(
"dccRuntype",
"DCC Runtype frequency", 24, 0, 24);
2065 dccErrorVsBxHist_ =
new TH2F(
"dccErrorVsBX",
"DCC Errors vs. BX", 3600, 0, 3600, 3, 0, 3);
2067 hcalEnergy_HBHE_ =
new TH1F(
"hcalEnergy_HBHE",
"RecHit Energy HBHE", 440, -10, 100);
2068 hcalEnergy_HF_ =
new TH1F(
"hcalEnergy_HF",
"RecHit Energy HF", 440, -10, 100);
2069 hcalEnergy_HO_ =
new TH1F(
"hcalEnergy_HO",
"RecHit Energy HO", 440, -10, 100);
2071 new TH2F(
"hcalHEHBecalEB",
"HCAL HBHE RecHit energy vs ECAL EB energy", numBins,
histRangeMin_, 300.0, 40, -5, 5);
2073 NumXtalsInClusterHist_ =
new TH1F(
"NumXtalsInClusterAllHist",
"Number of Xtals in Cluster;NumXtals", 150, 0, 150);
2075 "Number of Xtals in Cluster vs Energy;Energy (GeV);Number of Xtals in Cluster",
2083 "Number of Xtals in Cluster vs Energy;Energy (GeV);Number of Xtals in Cluster",
2093 new TH2F(
"OccupancyHighEnergyEvents",
"Occupancy high energy events;i#phi;i#eta", 360, 1., 361., 172, -86, 86);
2095 "Occupancy high energy events Coarse;i#phi;i#eta",
2101 "(Phi,Eta,energy) for all high energy events;i#phi;i#eta;energy (GeV)",
2109 new TH1F(
"NumActiveXtalsInClusterAllHist",
"Number of active Xtals in Cluster;NumXtals", 100, 0, 100);
2111 HighEnergy_NumXtal =
new TH1F(
"HighEnergy_NumXtal",
"Num crystals in high E clusters;num crystals", 150, 0, 150);
2113 "HighEnergy_NumXtalFedId",
"Num crystals in cluster vs FedId;FedId;num crystals", 36, 610., 645., 150, 0, 150);
2115 "HighEnergy_NumXtaliphi",
"Num crystals in cluster vs iphi;i#phi;num crystals", 360, 1., 361., 150, 0, 150);
2117 "(Phi,Eta,energy) for all high energy events;i#phi;i#eta;energy (GeV)",
2126 "Energy in cluster vs Num crystals in cluster;num crystals;energy",
2134 HighEnergy_bestSeed =
new TH1F(
"HighEnergy_bestSeedEnergy",
"BestSeed Energy from TrackAss", 200, 0., 200.);
2136 "HighEnergy_bestSeedOccupancy",
"Occupancy HighEn events from TrackAss;i#phi;i#eta", 360, 1., 361., 172, -86, 86);
2140 new TH1F(
"HighEnergy_ratioClusters",
"Num High Energy Clusters/Num tot Clusters", 100, 0., 1.1);
2145 new TH1F(
"HighEnergy_TopBottomTracksAngle",
"Angle between top-bottom tracks", 720, 0., 180.);
2148 "Occupancy high energy events with more than 2 GeV;i#phi;i#eta",
2154 "(iphi,ieta,energy) for all high energy events w > 10 GeV;i#phi;i#eta;energy (GeV)",
2162 "Occupancy high energy events with more than 100 GeV;i#phi;i#eta",
2168 new TH3F(
"HighEnergy_100GeV_energy3D",
2169 "(iphi,ieta,energy) for all high energy events more than 100 GeV;i#phi;i#eta;energy (GeV)",
2177 "(iphi,ieta,energy) for all events with 0 tracks;i#phi;i#eta;energy (GeV)",
2185 "(iphi,ieta,energy) for all events with 1 tracks;i#phi;i#eta;energy (GeV)",
2193 "(iphi,ieta,energy) for all events with 2 tracks;i#phi;i#eta;energy (GeV)",
2201 "(iphi,ieta,energy) for all events with 0 tracks;i#phi;i#eta;energy (GeV)",
2212 "(iphi,ieta,energy) for all events with 1 tracks;i#phi;i#eta;energy (GeV)",
2223 "(iphi,ieta,energy) for all events with 2 tracks;i#phi;i#eta;energy (GeV)",
2238 new TH1F(
"SeedEnergyAllFEDs",
"Seed Energy for EEM Feds; Seed Energy (GeV)", 200,
histRangeMin_, 10.0);
2241 new TH2F(
"OccupancyAllEventsCoarse",
"Occupancy all events Coarse EEM;ix;iy", 20, 0, 100, 20, 0, 100);
2242 EEM_AllOccupancy_ =
new TH2F(
"OccupancyAllEvents",
"Occupancy all events EEM;ix;iy", 100, 0, 100, 100, 0, 100);
2244 new TH1F(
"energy_AllClusters",
"energy_AllClusters_EEM;Cluster Energy (GeV)", numBins,
histRangeMin_, 10.0);
2246 "energyHigh_AllClusters",
"energyHigh_AllClusters in EEM;Cluster Energy (GeV)", numBins,
histRangeMin_, 200.0);
2248 "energy of High Energy Clusters in EEM;Cluster Energy (GeV)",
2253 new TH1F(
"E2_AllClusters",
"E2_AllClusters_EEM;Seed+highest neighbor energy (GeV)", numBins,
histRangeMin_, 10.0);
2255 "E2vsE1_AllClusters_EEM;Seed Energy (GeV);Seed+highest neighbor energy (GeV)",
2263 "energyvsE1_AllClusters_EEM;Seed Energy (GeV);Energy(GeV)",
2270 EEM_FedsTimingHist_ =
new TH1F(
"timeForAllFeds",
"timeForAllFeds_EEM;Relative Time (1 clock = 25ns)", 78, -7, 7);
2272 new TH1F(
"numberofCosmicsPerEvent",
"Number of cosmics per event EEM;Number of Cosmics", 30, 0, 30);
2275 "time Vs Amp All Events EEM;Relative Time (1 clock = 25ns);Amplitude (GeV)",
2283 "(ix,iy,time) for all FEDs (SM,TT binning) EEM;ix;iy;Relative Time (1 clock = 25ns)",
2295 new TH2F(
"OccupancySingleXtal",
"Occupancy single xtal clusters EEM;ix;iy", 100, 0, 100, 100, 0, 100);
2297 "Energy single xtal clusters EEM;Cluster Energy (GeV)",
2303 "OccupancyAllEvents_ExclusiveECAL",
"Occupancy all events Exclusive ECAL EEM;ix;iy", 100, 0, 100, 100, 0, 100);
2305 "Occupancy all events Coarse Exclusive ECAL EEM;ix;iy",
2313 new TH2F(
"OccupancyAllEvents_ECAL",
"Occupancy all events ECAL EEM;ix;iy", 100, 0, 100, 100, 0, 100);
2315 new TH2F(
"OccupancyAllEventsCoarse_ECAL",
"Occupancy all events Coarse ECAL EEM;ix;iy", 20, 0, 100, 20, 0, 100);
2317 new TH1F(
"timeForAllFeds_ECAL",
"timeForAllFeds ECAL EEM;Relative Time (1 clock = 25ns)", 78, -7, 7);
2319 new TH3F(
"timeTTAllFEDs_ECAL",
2320 "(ix,iy,time) for all FEDs (SM,TT binning) ECAL EEM;ix;iy;Relative Time (1 clock = 25ns)",
2332 "OccupancyAllEvents_ExclusiveDT",
"Occupancy all events Exclusive DT EEM;ix;iy", 100, 0, 100, 100, 0, 100);
2334 "Occupancy all events Coarse Exclusive DT EEM;ix;iy",
2341 EEM_OccupancyDT_ =
new TH2F(
"OccupancyAllEvents_DT",
"Occupancy all events DT EEM;ix;iy", 100, 0, 100, 100, 0, 100);
2343 new TH2F(
"OccupancyAllEventsCoarse_DT",
"Occupancy all events Coarse DT EEM;ix;iy", 20, 0, 100, 20, 0, 100);
2345 new TH1F(
"timeForAllFeds_DT",
"timeForAllFeds DT EEM;Relative Time (1 clock = 25ns)", 78, -7, 7);
2347 new TH3F(
"timeTTAllFEDs_DT",
2348 "(ix,iy,time) for all FEDs (SM,TT binning) DT EEM;ix;iy;Relative Time (1 clock = 25ns)",
2360 "OccupancyAllEvents_ExclusiveRPC",
"Occupancy all events Exclusive RPC EEM;ix;iy", 100, 0, 100, 100, 0, 100);
2362 "Occupancy all events Coarse Exclusive RPC EEM;ix;iy",
2370 new TH2F(
"OccupancyAllEvents_RPC",
"Occupancy all events RPC EEM;ix;iy", 100, 0, 100, 100, 0, 100);
2372 new TH2F(
"OccupancyAllEventsCoarse_RPC",
"Occupancy all events Coarse RPC EEM;ix;iy", 20, 0, 100, 20, 0, 100);
2374 new TH1F(
"timeForAllFeds_RPC",
"timeForAllFeds RPC EEM;Relative Time (1 clock = 25ns)", 78, -7, 7);
2376 new TH3F(
"timeTTAllFEDs_RPC",
2377 "(ix,iy,time) for all FEDs (SM,TT binning) RPC EEM;ix;iy;Relative Time (1 clock = 25ns)",
2389 "OccupancyAllEvents_ExclusiveCSC",
"Occupancy all events Exclusive CSC EEM;ix;iy", 100, 0, 100, 100, 0, 100);
2391 "Occupancy all events Coarse Exclusive CSC EEM;ix;iy",
2399 new TH2F(
"OccupancyAllEvents_CSC",
"Occupancy all events CSC EEM;ix;iy", 100, 0, 100, 100, 0, 100);
2401 new TH2F(
"OccupancyAllEventsCoarse_CSC",
"Occupancy all events Coarse CSC EEM;ix;iy", 20, 0, 100, 20, 0, 100);
2403 new TH1F(
"timeForAllFeds_CSC",
"timeForAllFeds CSC EEM;Relative Time (1 clock = 25ns)", 78, -7, 7);
2405 new TH3F(
"timeTTAllFEDs_CSC",
2406 "(ix,iy,time) for all FEDs (SM,TT binning) CSC EEM;ix;iy;Relative Time (1 clock = 25ns)",
2418 "OccupancyAllEvents_ExclusiveHCAL",
"Occupancy all events Exclusive HCAL EEM;ix;iy", 100, 0, 100, 100, 0, 100);
2420 "Occupancy all events Coarse Exclusive HCAL EEM;ix;iy",
2428 new TH2F(
"OccupancyAllEvents_HCAL",
"Occupancy all events HCAL EEM;ix;iy", 100, 0, 100, 100, 0, 100);
2430 new TH2F(
"OccupancyAllEventsCoarse_HCAL",
"Occupancy all events Coarse HCAL EEM;ix;iy", 20, 0, 100, 20, 0, 100);
2432 new TH1F(
"timeForAllFeds_HCAL",
"timeForAllFeds HCAL EEM;Relative Time (1 clock = 25ns)", 78, -7, 7);
2434 new TH3F(
"timeTTAllFEDs_HCAL",
2435 "(ix,iy,time) for all FEDs (SM,TT binning) HCAL EEM;ix;iy;Relative Time (1 clock = 25ns)",
2447 new TH1F(
"numberofBCinSC",
"Number of Basic Clusters in Super Cluster EEM;Num Basic Clusters", 20, 0, 20);
2464 new TH1F(
"NumXtalsInClusterAllHist",
"Number of Xtals in Cluster EEM;NumXtals", 150, 0, 150);
2466 "Number of Xtals in Cluster vs Energy EEM;Energy (GeV);Number of Xtals in Cluster",
2474 new TH2F(
"NumXtalsVsHighEnergy",
2475 "Number of Xtals in Cluster vs Energy EEM;Energy (GeV);Number of Xtals in Cluster",
2484 new TH2F(
"OccupancyHighEnergyEvents",
"Occupancy high energy events EEM;ix;iy", 100, 0, 100, 100, 0, 100);
2486 "OccupancyHighEnergyEventsCoarse",
"Occupancy high energy events Coarse EEM;ix;iy", 20, 0, 100, 20, 0, 100);
2489 new TH1F(
"NumActiveXtalsInClusterAllHist",
"Number of active Xtals in Cluster EEM;NumXtals", 100, 0, 100);
2493 new TH1F(
"SeedEnergyAllFEDs",
"Seed Energy for EEP Feds; Seed Energy (GeV)", 200,
histRangeMin_, 10.0);
2496 new TH2F(
"OccupancyAllEventsCoarse",
"Occupancy all events Coarse EEP;ix;iy", 20, 0, 100, 20, 0, 100);
2497 EEP_AllOccupancy_ =
new TH2F(
"OccupancyAllEvents",
"Occupancy all events EEP;ix;iy", 100, 0, 100, 100, 0, 100);
2499 new TH1F(
"energy_AllClusters",
"energy_AllClusters_EEP;Cluster Energy (GeV)", numBins,
histRangeMin_, 10.0);
2501 "energyHigh_AllClusters",
"energyHigh_AllClusters in EEP;Cluster Energy (GeV)", numBins,
histRangeMin_, 200.0);
2503 "energy of High Energy Clusters in EEP;Cluster Energy (GeV)",
2508 new TH1F(
"E2_AllClusters",
"E2_AllClusters_EEP;Seed+highest neighbor energy (GeV)", numBins,
histRangeMin_, 10.0);
2510 "E2vsE1_AllClusters_EEP;Seed Energy (GeV);Seed+highest neighbor energy (GeV)",
2518 "energyvsE1_AllClusters_EEP;Seed Energy (GeV);Energy(GeV)",
2525 EEP_FedsTimingHist_ =
new TH1F(
"timeForAllFeds",
"timeForAllFeds_EEP;Relative Time (1 clock = 25ns)", 78, -7, 7);
2527 new TH1F(
"numberofCosmicsPerEvent",
"Number of cosmics per event EEP;Number of Cosmics", 30, 0, 30);
2530 "time Vs Amp All Events EEP;Relative Time (1 clock = 25ns);Amplitude (GeV)",
2538 "(ix,iy,time) for all FEDs (SM,TT binning) EEP;ix;iy;Relative Time (1 clock = 25ns)",
2550 new TH2F(
"OccupancySingleXtal",
"Occupancy single xtal clusters EEP;ix;iy", 100, 0, 100, 100, 0, 100);
2552 "Energy single xtal clusters EEP;Cluster Energy (GeV)",
2558 "OccupancyAllEvents_ExclusiveECAL",
"Occupancy all events Exclusive ECAL EEP;ix;iy", 100, 0, 100, 100, 0, 100);
2560 "Occupancy all events Coarse Exclusive ECAL EEP;ix;iy",
2568 new TH2F(
"OccupancyAllEvents_ECAL",
"Occupancy all events ECAL EEP;ix;iy", 100, 0, 100, 100, 0, 100);
2570 new TH2F(
"OccupancyAllEventsCoarse_ECAL",
"Occupancy all events Coarse ECAL EEP;ix;iy", 20, 0, 100, 20, 0, 100);
2572 new TH1F(
"timeForAllFeds_ECAL",
"timeForAllFeds ECAL EEP;Relative Time (1 clock = 25ns)", 78, -7, 7);
2574 new TH3F(
"timeTTAllFEDs_ECAL",
2575 "(ix,iy,time) for all FEDs (SM,TT binning) ECAL EEP;ix;iy;Relative Time (1 clock = 25ns)",
2587 "OccupancyAllEvents_ExclusiveDT",
"Occupancy all events Exclusive DT EEP;ix;iy", 100, 0, 100, 100, 0, 100);
2589 "Occupancy all events Coarse Exclusive DT EEP;ix;iy",
2596 EEP_OccupancyDT_ =
new TH2F(
"OccupancyAllEvents_DT",
"Occupancy all events DT EEP;ix;iy", 100, 0, 100, 100, 0, 100);
2598 new TH2F(
"OccupancyAllEventsCoarse_DT",
"Occupancy all events Coarse DT EEP;ix;iy", 20, 0, 100, 20, 0, 100);
2600 new TH1F(
"timeForAllFeds_DT",
"timeForAllFeds DT EEP;Relative Time (1 clock = 25ns)", 78, -7, 7);
2602 new TH3F(
"timeTTAllFEDs_DT",
2603 "(ix,iy,time) for all FEDs (SM,TT binning) DT EEP;ix;iy;Relative Time (1 clock = 25ns)",
2615 "OccupancyAllEvents_ExclusiveRPC",
"Occupancy all events Exclusive RPC EEP;ix;iy", 100, 0, 100, 100, 0, 100);
2617 "Occupancy all events Coarse Exclusive RPC EEP;ix;iy",
2625 new TH2F(
"OccupancyAllEvents_RPC",
"Occupancy all events RPC EEP;ix;iy", 100, 0, 100, 100, 0, 100);
2627 new TH2F(
"OccupancyAllEventsCoarse_RPC",
"Occupancy all events Coarse RPC EEP;ix;iy", 20, 0, 100, 20, 0, 100);
2629 new TH1F(
"timeForAllFeds_RPC",
"timeForAllFeds RPC EEP;Relative Time (1 clock = 25ns)", 78, -7, 7);
2631 new TH3F(
"timeTTAllFEDs_RPC",
2632 "(ix,iy,time) for all FEDs (SM,TT binning) RPC EEP;ix;iy;Relative Time (1 clock = 25ns)",
2644 "OccupancyAllEvents_ExclusiveCSC",
"Occupancy all events Exclusive CSC EEP;ix;iy", 100, 0, 100, 100, 0, 100);
2646 "Occupancy all events Coarse Exclusive CSC EEP;ix;iy",
2654 new TH2F(
"OccupancyAllEvents_CSC",
"Occupancy all events CSC EEP;ix;iy", 100, 0, 100, 100, 0, 100);
2656 new TH2F(
"OccupancyAllEventsCoarse_CSC",
"Occupancy all events Coarse CSC EEP;ix;iy", 20, 0, 100, 20, 0, 100);
2658 new TH1F(
"timeForAllFeds_CSC",
"timeForAllFeds CSC EEP;Relative Time (1 clock = 25ns)", 78, -7, 7);
2660 new TH3F(
"timeTTAllFEDs_CSC",
2661 "(ix,iy,time) for all FEDs (SM,TT binning) CSC EEP;ix;iy;Relative Time (1 clock = 25ns)",
2673 "OccupancyAllEvents_ExclusiveHCAL",
"Occupancy all events Exclusive HCAL EEP;ix;iy", 100, 0, 100, 100, 0, 100);
2675 "Occupancy all events Coarse Exclusive HCAL EEP;ix;iy",
2683 new TH2F(
"OccupancyAllEvents_HCAL",
"Occupancy all events HCAL EEP;ix;iy", 100, 0, 100, 100, 0, 100);
2685 new TH2F(
"OccupancyAllEventsCoarse_HCAL",
"Occupancy all events Coarse HCAL EEP;ix;iy", 20, 0, 100, 20, 0, 100);
2687 new TH1F(
"timeForAllFeds_HCAL",
"timeForAllFeds HCAL EEP;Relative Time (1 clock = 25ns)", 78, -7, 7);
2689 new TH3F(
"timeTTAllFEDs_HCAL",
2690 "(ix,iy,time) for all FEDs (SM,TT binning) HCAL EEP;ix;iy;Relative Time (1 clock = 25ns)",
2702 new TH1F(
"numberofBCinSC",
"Number of Basic Clusters in Super Cluster EEP;Num Basic Clusters", 20, 0, 20);
2719 new TH1F(
"NumXtalsInClusterAllHist",
"Number of Xtals in Cluster EEP;NumXtals", 150, 0, 150);
2721 "Number of Xtals in Cluster vs Energy EEP;Energy (GeV);Number of Xtals in Cluster",
2729 new TH2F(
"NumXtalsVsHighEnergy",
2730 "Number of Xtals in Cluster vs Energy EEP;Energy (GeV);Number of Xtals in Cluster",
2739 new TH2F(
"OccupancyHighEnergyEvents",
"Occupancy high energy events EEP;ix;iy", 100, 0, 100, 100, 0, 100);
2741 "OccupancyHighEnergyEventsCoarse",
"Occupancy high energy events Coarse EEP;ix;iy", 20, 0, 100, 20, 0, 100);
2744 new TH1F(
"NumActiveXtalsInClusterAllHist",
"Number of active Xtals in Cluster EEP;NumXtals", 100, 0, 100);
2751 using namespace std;
2758 TFile root_file_(
fileName_.c_str(),
"RECREATE");
2762 TDirectory* FEDdir = gDirectory->mkdir(dir.c_str());
2765 TH1F*
hist = itr->second;
2766 if (hist !=
nullptr)
2769 cerr <<
"EcalCosmicsHists: Error: This shouldn't happen!" << endl;
2773 if (hist !=
nullptr)
2776 cerr <<
"EcalCosmicsHists: Error: This shouldn't happen!" << endl;
2819 map<int, TH2F*>::const_iterator itr2d;
2822 TH2F* hist2 = itr2d->second;
2823 hist2->GetYaxis()->SetBinLabel(1,
"COSMIC");
2824 hist2->GetYaxis()->SetBinLabel(2,
"BEAMH4");
2825 hist2->GetYaxis()->SetBinLabel(3,
"BEAMH2");
2826 hist2->GetYaxis()->SetBinLabel(4,
"MTCC");
2827 hist2->GetYaxis()->SetBinLabel(5,
"LASER_STD");
2828 hist2->GetYaxis()->SetBinLabel(6,
"LASER_POWER_SCAN");
2829 hist2->GetYaxis()->SetBinLabel(7,
"LASER_DELAY_SCAN");
2830 hist2->GetYaxis()->SetBinLabel(8,
"TESTPULSE_SCAN_MEM");
2831 hist2->GetYaxis()->SetBinLabel(9,
"TESTPULSE_MGPA");
2832 hist2->GetYaxis()->SetBinLabel(10,
"PEDESTAL_STD");
2833 hist2->GetYaxis()->SetBinLabel(11,
"PEDESTAL_OFFSET_SCAN");
2834 hist2->GetYaxis()->SetBinLabel(12,
"PEDESTAL_25NS_SCAN");
2835 hist2->GetYaxis()->SetBinLabel(13,
"LED_STD");
2836 hist2->GetYaxis()->SetBinLabel(14,
"PHYSICS_GLOBAL");
2837 hist2->GetYaxis()->SetBinLabel(15,
"COSMICS_GLOBAL");
2838 hist2->GetYaxis()->SetBinLabel(16,
"HALO_GLOBAL");
2839 hist2->GetYaxis()->SetBinLabel(17,
"LASER_GAP");
2840 hist2->GetYaxis()->SetBinLabel(18,
"TESTPULSE_GAP");
2841 hist2->GetYaxis()->SetBinLabel(19,
"PEDESTAL_GAP");
2842 hist2->GetYaxis()->SetBinLabel(20,
"LED_GAP");
2843 hist2->GetYaxis()->SetBinLabel(21,
"PHYSICS_LOCAL");
2844 hist2->GetYaxis()->SetBinLabel(22,
"COSMICS_LOCAL");
2845 hist2->GetYaxis()->SetBinLabel(23,
"HALO_LOCAL");
2846 hist2->GetYaxis()->SetBinLabel(24,
"CALIB_LOCAL");
2944 TDirectory* EEMinusDir = gDirectory->mkdir(
"EEMinus");
3002 TDirectory* EEPlusDir = gDirectory->mkdir(
"EEPlus");
3098 TDirectory* highEnergyDir = gDirectory->mkdir(
"HighEnergy");
3099 highEnergyDir->cd();
3125 TDirectory* TimeStampdir = gDirectory->mkdir(
"EventTiming");
3150 using namespace std;
3151 ostringstream myStream;
3152 myStream << num << flush;
3153 return (myStream.str());
TH3F * EEM_FedsTimingTTHistECAL_
TH2F * allOccupancyCoarseRPC_
TH2F * allFedsTimingLMHistECAL_
TH2F * allOccupancyExclusiveECAL_
TH3F * allFedsTimingTTHistRPC_
Log< level::Info, true > LogVerbatim
TH3F * HighEnergy_0tracks_occu3D
TH1F * NumXtalsInClusterHist_
const cms_uint16_t bData(int iB) const
get/set B_DATA_CH_IB
EventNumber_t event() const
TH2F * allOccupancyCoarseExclusiveCSC_
TH2F * EEM_OccupancySingleXtal_
const edm::ESGetToken< L1GtTriggerMenu, L1GtTriggerMenuRcd > l1MenuToken_
std::string intToString(int num)
std::map< int, TH1F * > FEDsAndNumXtalsInClusterHists_
TH3F * allFedsTimingTTHistCSC_
std::map< int, TH2F * > FEDsAndTimingVsAmpHists_
TH1F * EEM_FedsTimingHistDT_
TH3F * allFedsTimingTTHist_
TH2F * EEP_OccupancyECAL_
TH2F * allFedsTimingLMHist_
const double minHighEnergy_
TH2F * allFedsTimingPhiHist_
TH2F * EEP_FedsenergyvsE1Hist_
TH2F * allOccupancyExclusiveHCAL_
TH2F * HighEnergy_bestSeedOccupancy
const edm::EDGetTokenT< EcalRecHitCollection > ebRecHitToken_
TH2F * allOccupancyCoarseExclusiveECAL_
TH1F * EEP_FedsTimingHistCSC_
TH3F * allFedsTimingPhiEtaHistCSC_
const double minRecHitAmpEB_
std::map< int, TH2F * > FEDsAndE2vsE1Hists_
TH1F * EEM_FedsenergyHighHist_
TH2F * EEM_numxtalsVsHighEnergy_
TH1F * allFedsiPhiProfileHist_
TH1F * EEM_numberofCosmicsHist_
TH1F * allFedsFreqTimeHist_
TH1F * allFedsTimingEbmHist_
TH3F * EEM_FedsTimingTTHistCSC_
TH1F * EEP_FedsenergyHighHist_
TH1F * EEM_FedsTimingHistCSC_
TH2F * allOccupancyExclusiveRPC_
TH1F * allFedsiEtaProfileHist_
TH1F * allFedsTimingEbpHist_
TH3F * allFedsTimingPhiEtaHistECAL_
TH1F * numberofGoodEvtFreq_
TH2F * allOccupancyCoarseExclusiveHCAL_
EcalCosmicsHists(const edm::ParameterSet &)
TH2F * EEP_OccupancyExclusiveHCAL_
TH1F * EEP_energySingleXtalHist_
TH1F * allFedsTimingEbpTopHist_
TH1F * allFedsenergyHighHist_
TH2F * EEM_OccupancyExclusiveDT_
TH1F * EEM_FedsTimingHist_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
const double minTimingAmpEB_
std::map< int, TH2F * > FEDsAndTimingVsPhiHists_
TH2F * allFedsTimingLMHistHCAL_
Ecal readout channel identification [32:20] Unused (so far) [19:13] DCC id [12:6] tower [5:3] strip [...
const edm::ESGetToken< EcalElectronicsMapping, EcalMappingRcd > ecalMappingToken_
TH2F * deltaEtaDeltaPhiHist_
TH2F * allFedsTimingVsFreqHist_
TH1F * EEM_energySingleXtalHist_
std::vector< DetId > crossedEcalIds
TH1F * allFedsTimingHistRPC_
TH2F * EEP_numxtalsVsHighEnergy_
TH1F * allFedsTimingHist_
TH2F * EEM_FedsTimingVsAmpHist_
TH1F * EEP_FedsenergyHist_
TH1F * allFedsTimingHistHCAL_
Sin< T >::type sin(const T &t)
TH2F * EEM_OccupancyECAL_
TH1F * EEP_FedsSeedEnergyHist_
TH2F * EEM_OccupancyCoarseDT_
void useDefaultPropagator()
use the default propagator
TH1F * allFedsTimingEbpBottomHist_
std::vector< Track > TrackCollection
collection of Tracks
std::map< int, TH1F * > FEDsAndE2Hists_
std::vector< T >::const_iterator const_iterator
TH2F * HighEnergy_NumXtaliphi
TH3F * allFedsTimingPhiEtaHistDT_
TH2F * EEP_OccupancyCoarseECAL_
TH1F * numberofCosmicsHist_
TH2F * allFedsTimingLMHistDT_
void loadParameters(const edm::ParameterSet &, edm::ConsumesCollector &)
TH1F * numberofCosmicsWTrackHist_
TH1F * EEM_FedsenergyHist_
TH2F * TrueOccupancyCoarse_
const double minTimingAmpEE_
TH3F * EEP_FedsTimingTTHistRPC_
const edm::EDGetTokenT< HBHERecHitCollection > hbheRecHitToken_
TH2F * EEP_OccupancyCoarseDT_
auto const & tracks
cannot be loose
TH2F * allFedsFreqTimeVsPhiHist_
TH2F * HighEnergy_2GeV_occuCoarse
TH1F * dccRuntypeErrorByFEDHist_
TH1F * HighEnergy_NumXtal
std::map< int, TH2F * > FEDsAndTimingVsModuleHists_
TH3F * allFedsTimingPhiEtaHistRPC_
TH3F * HighEnergy_1tracks_occu3DXtal
Log< level::Error, false > LogError
void analyze(edm::Event const &, edm::EventSetup const &) override
TH1F * energySingleXtalHist_
TH2F * numberofBCinSCphi_
TH3F * allFedsTimingPhiEtaHistHCAL_
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
TH3F * EEM_FedsTimingTTHistDT_
const edm::EDGetTokenT< HFRecHitCollection > hfRecHitToken_
~EcalCosmicsHists() override
TH2F * EEM_OccupancyExclusiveECAL_
const bool runInFileName_
TH2F * EEM_OccupancyCoarseHCAL_
int iphiSM() const
get the crystal iphi (1-20)
TH3F * EEM_FedsTimingTTHistRPC_
TH2F * allOccupancyCoarseDT_
TH3F * HighEnergy_2tracks_occu3D
TH2F * HighEnergy_100GeV_occuCoarse
TH2F * allOccupancyCoarseExclusiveDT_
const edm::EDGetTokenT< reco::TrackCollection > tracksBarrelToken_
TH2F * EEP_OccupancyExclusiveCSC_
TH2F * allFedsE2vsE1Hist_
TH2F * allOccupancyHighEnergy_
edm::InputTag endcapClusterCollection_
TH2F * EEP_OccupancyExclusiveDT_
std::map< int, TH2F * > FEDsAndDCCRuntypeVsBxHists_
std::string getSliceFromFed(int)
const edm::EDGetTokenT< HORecHitCollection > hoRecHitToken_
int iphi() const
get the crystal iphi
TH2F * EEM_OccupancyCoarseExclusiveCSC_
const edm::EDGetTokenT< L1MuGMTReadoutCollection > l1MuGMTToken_
bool getData(T &iHolder) const
TH2F * HighEnergy_NumXtalFedId
TH3F * allFedsTimingTTHistECAL_
TH1F * allFedsTimingHistCSC_
TH1F * EEM_FedsTimingHistRPC_
TH1F * allFedsTimingEbmTopHist_
EcalElectronicsId getElectronicsId(const DetId &id) const
Get the electronics id for this det id.
TH1F * HighEnergy_TracksAngle
void endRun(edm::Run const &, edm::EventSetup const &) override
std::vector< bool > determineTriggers(const edm::Event &, const edm::EventSetup &eventSetup)
TH2F * EEM_OccupancyHCAL_
TH2F * allFedsFreqTimeVsEtaTTHist_
TH2F * EEM_OccupancyExclusiveRPC_
TH2F * EEM_OccupancyHighEnergy_
TH1F * EEP_FedsTimingHistHCAL_
TH2F * allFedsTimingPhiEbmHist_
const cms_uint16_t aData(int iA) const
get/set A_DATA_CH_IA
TH2F * EEM_OccupancyCoarseECAL_
std::map< int, TH1F * > FEDsAndiPhiProfileHists_
TH2F * EEM_OccupancyCoarseExclusiveRPC_
std::map< int, TH1F * > FEDsAndFrequencyHists_
const edm::ESGetToken< EcalADCToGeVConstant, EcalADCToGeVConstantRcd > ecalADCToGeVConstantToken_
const edm::EDGetTokenT< EcalRawDataCollection > ecalRawDataToken_
std::vector< SuperCluster > SuperClusterCollection
collection of SuperCluser objectr
TH1F * EEP_numberofCosmicsHist_
TH2F * allOccupancyCoarse_
TH2F * EEP_OccupancyHighEnergyCoarse_
std::vector< bool > DecisionWord
typedefs
void swap(edm::DataFrameContainer &lhs, edm::DataFrameContainer &rhs)
TH2F * trackAssoc_muonsEcal_
TH1F * EEP_FedsNumXtalsInClusterHist_
TH3F * EEP_FedsTimingTTHistHCAL_
ConsumesCollector consumesCollector()
Use a ConsumesCollector to gather consumes information from helper functions.
TH1F * allFedsTimingHistDT_
TH1F * allFedsFrequencyHist_
TH1F * EEP_FedsTimingHistRPC_
TH3F * HighEnergy_1tracks_occu3D
TH1F * allFedsenergyOnlyHighHist_
std::map< int, TH1F * > FEDsAndenergyHists_
TH1F * EEP_triggerExclusiveHist_
TH2F * EEP_OccupancyCoarseExclusiveECAL_
TH1F * EEM_FedsSeedEnergyHist_
TH3F * HighEnergy_100GeV_occu3D
std::map< int, TH2F * > FEDsAndenergyvsE1Hists_
Cos< T >::type cos(const T &t)
TH3F * EEP_FedsTimingTTHistECAL_
TH2F * HighEnergy_energyNumXtal
TH3F * allFedsTimingTTHistHCAL_
TH1F * HighEnergy_ratioClusters
TH2F * EEM_OccupancyExclusiveCSC_
TH2F * EEP_OccupancyCoarseExclusiveHCAL_
int cosmicCounterTopBottom_
Abs< T >::type abs(const T &t)
TH2F * EEM_OccupancyCoarseRPC_
TH2F * EEP_AllOccupancyCoarse_
TH2F * EEP_OccupancyCoarseCSC_
const EcalElectronicsMapping * ecalElectronicsMap_
TrackDetectorAssociator trackAssociator_
TH1F * numberofCosmicsTopBottomHist_
TH2F * EEP_OccupancySingleXtal_
TH2F * EEM_OccupancyCoarseExclusiveECAL_
TH1F * allFedsTimingHistEcalMuon_
TH2F * EEP_OccupancyHCAL_
int ieta() const
get the crystal ieta
TH2F * EEP_OccupancyExclusiveECAL_
TH1F * allFedsTimingHistECAL_
const L1GtPsbWord gtPsbWord(cms_uint16_t boardIdValue, int bxInEventValue) const
get / set PSB word (record) in the GT readout record
TH3F * HighEnergy_2GeV_occu3D
TrackAssociatorParameters trackParameters_
TH1F * EEM_triggerExclusiveHist_
TH1F * EEM_FedsTimingHistHCAL_
TH1F * HighEnergy_TracksAngleTopBottom
std::map< int, TH2F * > FEDsAndOccupancyHists_
int dccId() const
get the DCC (Ecal Local DCC value not global one) id
TH1F * EEP_FedsTimingHistECAL_
TH2F * EEM_numxtalsVsEnergy_
TH2F * allFedsTimingPhiEbpHist_
TH3F * EEM_FedsTimingTTHist_
TH2F * allOccupancyExclusiveDT_
TH2F * EEM_OccupancyCoarseExclusiveHCAL_
TH2F * allOccupancySingleXtal_
TH2F * EEP_OccupancyCoarseExclusiveCSC_
TH2F * allFedsTimingVsAmpHist_
TH3F * allFedsTimingPhiEtaHist_
const_iterator end() const
TH1F * ratioAssocClustersHist_
TH2F * EEM_FedsenergyvsE1Hist_
Log< level::Info, false > LogInfo
TH2F * EEM_OccupancyCoarseCSC_
TH3F * EEP_FedsTimingTTHist_
TH2F * allOccupancyExclusiveCSC_
TH1F * HighEnergy_numClusHighEn
TH1F * numberofCosmicsHistEB_
TH2F * numxtalsVsHighEnergy_
TH2F * allFedsFreqTimeVsEtaHist_
T const * product() const
TH2F * EEP_OccupancyExclusiveRPC_
TH2F * EEP_numxtalsVsEnergy_
static bool validDetId(int crystal_ix, int crystal_iy, int iz)
const edm::EDGetTokenT< EcalRecHitCollection > eeRecHitToken_
T getParameter(std::string const &) const
TH1F * ratioAssocTracksHist_
void beginRun(edm::Run const &, edm::EventSetup const &) override
TH1F * EEP_FedsTimingHist_
TH1F * EEM_FedsTimingHistECAL_
const double minRecHitAmpEE_
TH2F * TrueBCOccupancyCoarse_
TH2F * allFedsTimingLMHistRPC_
TH1F * allFedsenergyHist_
TH2F * EEM_FedsE2vsE1Hist_
int ietaSM() const
get the crystal ieta in the SM convention (1-85)
TH1F * HighEnergy_bestSeed
TH1F * EEM_numberofBCinSC_
TH1F * triggerExclusiveHist_
const double histRangeMin_
const edm::EDGetTokenT< reco::TrackCollection > tracksToken_
const double runTimeLength_
TH1F * dccOrbitErrorByFEDHist_
TH1F * numberofCrossedEcalIdsHist_
TH2F * allFedsTimingLMHistCSC_
TH3F * EEM_FedsTimingTTHistHCAL_
TH3F * allFedsTimingTTHistDT_
TH2F * allOccupancyCoarseECAL_
TH2F * EEP_OccupancyCoarseHCAL_
std::vector< L1MuGMTReadoutRecord > const & getRecords() const
TH1F * EEM_FedsenergyOnlyHighHist_
TH1F * EEP_NumXtalsInClusterHist_
TH1F * allFedsNumXtalsInClusterHist_
const edm::EDGetTokenT< reco::SuperClusterCollection > barrelClusterToken_
const edm::EDGetTokenT< L1GlobalTriggerReadoutRecord > l1GTReadoutToken_
TH2F * EEM_OccupancyExclusiveHCAL_
TH2F * allOccupancyCoarseExclusiveRPC_
TH2F * EEP_OccupancyCoarseExclusiveRPC_
std::map< int, TH1F * > FEDsAndiEtaProfileHists_
TH2F * EEM_OccupancyCoarseExclusiveDT_
TrackDetMatchInfo associate(const edm::Event &, const edm::EventSetup &, const FreeTrajectoryState &, const AssociatorParameters &)
std::map< int, TH1F * > FEDsAndTimingHists_
TH2F * EEP_OccupancyCoarseRPC_
TH3F * HighEnergy_2tracks_occu3DXtal
TH1F * EEM_NumXtalsInClusterHist_
TH2F * allOccupancyHighEnergyCoarse_
TH2F * allOccupancyCoarseCSC_
TH2F * EEP_OccupancyHighEnergy_
TH3F * allFedsOccupancyHighEnergyHist_
TH1F * EEP_numberofBCinSC_
TH2F * EEM_AllOccupancyCoarse_
TH2F * allFedsenergyvsE1Hist_
TH3F * EEP_FedsTimingTTHistCSC_
TH3F * EEP_FedsTimingTTHistDT_
TH2F * EEP_FedsTimingVsAmpHist_
Log< level::Warning, false > LogWarning
const edm::EDGetTokenT< L1GlobalTriggerReadoutRecord > gtRecordToken_
TH1F * dccBXErrorByFEDHist_
TH1F * EEM_FedsNumXtalsInClusterHist_
TH2F * allFedsFreqTimeVsPhiTTHist_
TH3F * HighEnergy_energy3D
edm::InputTag barrelClusterCollection_
int getLMNumber(const DetId &id) const
TH1F * EEP_FedsTimingHistDT_
TH2F * EEP_FedsE2vsE1Hist_
TH2F * EEM_OccupancyHighEnergyCoarse_
TimeValue_t value() const
edm::Timestamp time() const
TH1F * allFedsTimingEbmBottomHist_
TH1F * EEP_FedsenergyOnlyHighHist_
std::map< int, TH1F * > FEDsAndHists_
const edm::EDGetTokenT< reco::SuperClusterCollection > endcapClusterToken_
const double histRangeMax_
std::map< int, TH2F * > FEDsAndTimingVsFreqHists_
const_iterator begin() const
edm::InputTag ecalRecHitCollectionEB_
TH1F * HighEnergy_numRecoTrackBarrel
TH2F * EEP_OccupancyCoarseExclusiveDT_
TH3F * HighEnergy_0tracks_occu3DXtal
TH2F * allOccupancyCoarseHCAL_
T angle(T x1, T y1, T z1, T x2, T y2, T z2)
edm::InputTag ecalRecHitCollectionEE_