48 show_mechanical_structure_view(
true),
49 show_readout_view(
false),
50 show_control_view(
false),
51 select_all_detectors(
false),
52 reset_each_run(
false),
64 consumesCollector(), *
this);
67 consumesCollector(), *
this);
70 consumesCollector(), *
this);
88 ParametersnClusters.
getParameter<
bool>(
"moduleswitchon");
93 ParametersClusterCharge.getParameter<
bool>(
"layerswitchon");
95 ParametersClusterCharge.getParameter<
bool>(
"moduleswitchon");
97 ParametersClusterCharge.getParameter<
bool>(
"subdetswitchon");
102 ParametersClusterStoN.getParameter<
bool>(
"layerswitchon");
104 ParametersClusterStoN.getParameter<
bool>(
"moduleswitchon");
109 ParametersClusterStoNVsPos.getParameter<
bool>(
"layerswitchon");
111 ParametersClusterStoNVsPos.getParameter<
bool>(
"moduleswitchon");
116 ParametersClusterPos.getParameter<
bool>(
"layerswitchon");
118 ParametersClusterPos.getParameter<
bool>(
"moduleswitchon");
123 ParametersClusterDigiPos.getParameter<
bool>(
"layerswitchon");
125 ParametersClusterDigiPos.getParameter<
bool>(
"moduleswitchon");
130 ParametersClusterNoise.getParameter<
bool>(
"layerswitchon");
132 ParametersClusterNoise.getParameter<
bool>(
"moduleswitchon");
137 ParametersClusterWidth.getParameter<
bool>(
"layerswitchon");
139 ParametersClusterWidth.getParameter<
bool>(
"moduleswitchon");
141 ParametersClusterWidth.getParameter<
bool>(
"subdetswitchon");
146 ParametersModuleLocalOccupancy.getParameter<
bool>(
"layerswitchon");
148 ParametersModuleLocalOccupancy.getParameter<
bool>(
"moduleswitchon");
153 ParametersNrOfClusterizedStrips.getParameter<
bool>(
"layerswitchon");
155 ParametersNrOfClusterizedStrips.getParameter<
bool>(
"moduleswitchon");
160 ParametersClusterProf.getParameter<
bool>(
"layerswitchon");
165 ParametersClusterWidthProf.getParameter<
bool>(
"layerswitchon");
170 ParametersTotClusterProf.getParameter<
bool>(
"subdetswitchon");
175 ParametersTotClusterTH1.getParameter<
bool>(
"subdetswitchon");
180 ParametersClusterApvProf.getParameter<
bool>(
"subdetswitchon");
185 ParametersClustersApvTH2.getParameter<
bool>(
"subdetswitchon");
190 ParametersApvCycleDBxProf2.getParameter<
bool>(
"subdetswitchon");
195 ParametersDBxCycleProf.getParameter<
bool>(
"subdetswitchon");
200 ParametersCStripVsCPix.getParameter<
bool>(
"globalswitchon");
205 ParametersMultiplicityRegionsTH1.getParameter<
bool>(
"globalswitchon");
210 ParametersApvCycleVsDBxGlobalTH2.getParameter<
bool>(
"globalswitchon");
215 ParametersNoiseStrip2ApvCycle.getParameter<
bool>(
"globalswitchon");
220 ParametersNoiseStrip3ApvCycle.getParameter<
bool>(
"globalswitchon");
225 ParametersMainDiagonalPosition.getParameter<
bool>(
"globalswitchon");
229 k0 = ClusterMultiplicityRegions.getParameter<
double>(
"k0");
230 q0 = ClusterMultiplicityRegions.getParameter<
double>(
"q0");
231 dk0 = ClusterMultiplicityRegions.getParameter<
double>(
"dk0");
232 maxClus = ClusterMultiplicityRegions.getParameter<
double>(
"MaxClus");
233 minPix = ClusterMultiplicityRegions.getParameter<
double>(
"MinPix");
238 ParametersNclusVsCycleTimeProf2D.getParameter<
bool>(
"globalswitchon");
243 ParametersFEDCluster.getParameter<
bool>(
"globalswitchon");
248 ParametersClusWidthVsAmpTH2.getParameter<
bool>(
"globalswitchon");
250 ParametersClusWidthVsAmpTH2.getParameter<
bool>(
"layerswitchon");
252 ParametersClusWidthVsAmpTH2.getParameter<
bool>(
"subdetswitchon");
254 ParametersClusWidthVsAmpTH2.getParameter<
bool>(
"moduleswitchon");
340 std::vector<uint32_t> activeDets;
355 "TkHMap_NumberOfCluster", 0.,
true);
358 tkDetMap, ibooker, topFolderName_ +
"/TkHistoMap",
359 "TkHMap_NumberOfCluster", 0.,
false);
366 "TkHMap_ClusterCharge", 0.,
true);
369 tkDetMap, ibooker, topFolderName_ +
"/TkHistoMap",
370 "TkHMap_ClusterCharge", 0.,
false);
375 <<
"nr. of activeDets: " << activeDets.size();
376 for (std::vector<uint32_t>::iterator detid_iterator = activeDets.begin();
377 detid_iterator != activeDets.end(); detid_iterator++) {
378 uint32_t detid = (*detid_iterator);
382 activeDets.erase(detid_iterator);
398 std::pair<std::string, int32_t> det_layer_pair =
403 std::map<std::string, LayerMEs>::iterator iLayerME =
407 int32_t lnumber = det_layer_pair.second;
408 std::vector<uint32_t> layerDetIds;
409 if (det_layer_pair.first ==
"TIB") {
412 }
else if (det_layer_pair.first ==
"TOB") {
415 }
else if (det_layer_pair.first ==
"TID" && lnumber > 0) {
418 }
else if (det_layer_pair.first ==
"TID" && lnumber < 0) {
421 }
else if (det_layer_pair.first ==
"TEC" && lnumber > 0) {
423 activeDets, layerDetIds, tTopo, 2,
std::abs(lnumber), 0, 0, 0, 0);
424 }
else if (det_layer_pair.first ==
"TEC" && lnumber < 0) {
426 activeDets, layerDetIds, tTopo, 1,
std::abs(lnumber), 0, 0, 0, 0);
431 folder_organizer.
setLayerFolder(detid, tTopo, det_layer_pair.second);
450 ibooker.
book2D(HistoName, HistoName,
458 "APV Cycle (Corrected Absolute Bx % 70)", 1);
464 HistoName =
"DeltaBx";
466 ibooker.
book1D(HistoName, HistoName,
475 HistoName =
"DeltaBxCycle";
477 HistoName, HistoName, DBxCycle.
getParameter<int32_t>(
"Nbinsx"),
489 ibooker.
book2D(HistoName, HistoName,
502 HistoName =
"AbsoluteBx_CStripVsCpixel";
504 ibooker.
book1D(HistoName, HistoName,
517 ibooker.
book1D(HistoName, HistoName,
535 ibooker.
book1D(HistoName, HistoName,
544 HistoName =
"MainDiagonalPosition_vs_BX";
546 HistoName, HistoName,
560 HistoName =
"TH2MainDiagonalPosition_vs_BX";
562 ibooker.
book2D(HistoName, HistoName,
571 "tan^{-1}(NPix/k*NStrip))", 2);
593 ibooker.
book1D(HistoName, HistoName,
606 ibooker.
book1D(HistoName, HistoName,
614 const char*
HistoName =
"StripClusVsBXandOrbit";
615 const char* HistoTitle =
616 "Strip cluster multiplicity vs BX mod(70) and Orbit;Event 1 BX " 617 "mod(70);time [Orb#]";
621 HistoName, HistoTitle,
622 ParametersNclusVsCycleTimeProf2D.
getParameter<int32_t>(
"Nbins"),
623 ParametersNclusVsCycleTimeProf2D.
getParameter<
double>(
"xmin"),
624 ParametersNclusVsCycleTimeProf2D.
getParameter<
double>(
"xmax"),
625 ParametersNclusVsCycleTimeProf2D.
getParameter<int32_t>(
"Nbinsy"),
626 ParametersNclusVsCycleTimeProf2D.
getParameter<
double>(
"ymin"),
627 ParametersNclusVsCycleTimeProf2D.
getParameter<
double>(
"ymax"), 0, 0);
629 NclusVsCycleTimeProf2D->getTH1()->SetCanExtend(TH1::kAllAxes);
635 const char*
HistoName =
"ClusterWidths_vs_Amplitudes";
636 const char* HistoTitle =
637 "Cluster widths vs amplitudes;Amplitudes (integrated ADC " 638 "counts);Cluster widths";
640 HistoName, HistoTitle,
641 ParametersClusWidthVsAmpTH2.
getParameter<int32_t>(
"Nbinsx"),
642 ParametersClusWidthVsAmpTH2.
getParameter<
double>(
"xmin"),
643 ParametersClusWidthVsAmpTH2.
getParameter<
double>(
"xmax"),
644 ParametersClusWidthVsAmpTH2.
getParameter<int32_t>(
"Nbinsy"),
645 ParametersClusWidthVsAmpTH2.
getParameter<
double>(
"ymin"),
646 ParametersClusWidthVsAmpTH2.
getParameter<
double>(
"ymax"));
655 HistoName, HistoName, PixelCluster.
getParameter<int32_t>(
"Nbinsx"),
663 HistoName =
"NumberOfClustersInStrip";
665 HistoName, HistoName, StripCluster.
getParameter<int32_t>(
"Nbinsx"),
674 HistoName =
"NumberOfClustersInStrip_vs_BX";
676 HistoName, HistoName, StripClusterBX.
getParameter<int32_t>(
"Nbinsx"),
689 HistoName =
"NumberOfClustersInPixel_vs_BX";
691 HistoName, HistoName, PixelClusterBX.
getParameter<int32_t>(
"Nbinsx"),
705 HistoName =
"NumberOfClustersinFED_v_FEDID";
707 HistoName, HistoName, FEDCluster.
getParameter<int32_t>(
"Nbinsx"),
727 unsigned long long cacheID =
732 <<
"SiStripMonitorCluster::bookHistograms: " 733 <<
" Creating MEs for new Cabling ";
739 <<
"SiStripMonitorCluster::bookHistograms: " 740 <<
" Resetting MEs ";
741 for (std::map<uint32_t, ModMEs>::const_iterator idet =
ModuleMEsMap.begin();
780 int NPixClusters = 0, NStripClusters = 0, MultiplicityRegion = 0;
781 bool isPixValid =
false;
802 if (!cluster_detsetvektor.
isValid())
return;
805 cluster_detsetvektor.
product();
806 NStripClusters = StrC->
data().size();
808 if (cluster_detsetvektor_pix.
isValid()) {
810 cluster_detsetvektor_pix.
product();
813 MultiplicityRegion =
FindRegion(NStripClusters, NPixClusters);
821 atan(NPixClusters / (
k0 * NStripClusters)));
835 for (std::map<std::string, SubDetMEs>::iterator iSubdet =
838 iSubdet->second.totNClusters = 0;
842 bool found_layer_me =
false;
844 std::map<int, int> FEDID_v_clustersum;
851 int ncluster_layer = 0;
852 std::map<std::string, LayerMEs>::iterator iLayerME =
858 layer_single = iLayerME->second;
859 found_layer_me =
true;
862 int ncluster_ring[20] = {0};
864 bool found_module_me =
false;
868 for (std::vector<uint32_t>::const_iterator iterDets =
869 iterLayer->second.begin();
870 iterDets != iterLayer->second.end(); iterDets++) {
873 uint32_t detid = (*iterDets);
876 if (subdet_label.empty())
883 std::map<uint32_t, ModMEs>::iterator imodME =
ModuleMEsMap.find(detid);
885 mod_single = imodME->second;
886 found_module_me =
true;
889 found_module_me =
false;
892 cluster_detsetvektor->find(detid);
894 if (isearch == cluster_detsetvektor->end() and passDCSFilter_) {
907 if (isearch == cluster_detsetvektor->end()) {
923 std::vector<const FedChannelConnection*> fedConnections =
928 int good_fcc_index = -999;
929 for (
unsigned int x = 0;
x < fedConnections.size();
x++) {
930 if (fedConnections[
x] !=
nullptr) {
935 if (good_fcc_index != -999 && fedConnections[good_fcc_index] !=
nullptr) {
936 int temp_fedid = fedConnections[good_fcc_index]->fedId();
937 if (FEDID_v_clustersum.find(temp_fedid) != FEDID_v_clustersum.end()) {
938 if (cluster_detset.
size() < 1000 && !cluster_detset.
empty()) {
939 FEDID_v_clustersum[temp_fedid] =
940 FEDID_v_clustersum.find(temp_fedid)->second +
941 cluster_detset.
size();
944 if (cluster_detset.
size() < 1000 && !cluster_detset.
empty()) {
945 FEDID_v_clustersum[temp_fedid] = cluster_detset.
size();
950 <<
"SiStripMonitorCluster::analyze WARNING! no good connections " 965 ->
Fill(static_cast<float>(cluster_detset.
size()));
970 iDet, static_cast<float>(cluster_detset.
size()));
971 ncluster_layer += cluster_detset.
size();
973 short total_clusterized_strips = 0;
980 cluster_detset.
begin();
981 clusterIter != cluster_detset.
end(); clusterIter++) {
982 const auto& ampls = clusterIter->amplitudes();
984 float cluster_position = clusterIter->barycenter();
986 short cluster_start = clusterIter->firstStrip();
988 short cluster_width = ampls.size();
990 total_clusterized_strips = total_clusterized_strips + cluster_width;
994 static_cast<float>(clusterIter->charge()));
997 float cluster_signal = 0.0;
998 float cluster_noise = 0.0;
999 int nrnonzeroamplitudes = 0;
1002 for (
uint iamp = 0; iamp < ampls.size(); iamp++) {
1003 if (ampls[iamp] > 0) {
1004 cluster_signal += ampls[iamp];
1006 clusterIter->firstStrip() + iamp)) {
1007 noise = noiseHandle->
getNoise(clusterIter->firstStrip() + iamp,
1009 gainHandle->
getStripGain(clusterIter->firstStrip() + iamp,
1012 noise2 += noise * noise;
1013 nrnonzeroamplitudes++;
1017 if (nrnonzeroamplitudes > 0)
1018 cluster_noise =
sqrt(noise2 / nrnonzeroamplitudes);
1028 cluster_properties.
charge = cluster_signal;
1029 cluster_properties.
position = cluster_position;
1030 cluster_properties.
start = cluster_start;
1031 cluster_properties.
width = cluster_width;
1032 cluster_properties.
noise = cluster_noise;
1035 if (found_module_me and passDCSFilter_)
1039 if (found_layer_me and passDCSFilter_) {
1046 std::map<std::string, SubDetMEs>::iterator iSubdet =
1050 iSubdet->second.SubDetClusterChargeTH1->Fill(cluster_signal);
1052 iSubdet->second.SubDetClusterWidthTH1->Fill(cluster_width);
1057 std::map<std::string, SubDetMEs>::iterator iSubdet =
1060 iSubdet->second.SubDetClusWidthVsAmpTH2->Fill(cluster_signal,
1069 (subdet_label.find(
"TID") != std::string::npos ||
1070 subdet_label.find(
"TEC") != std::string::npos)) {
1071 std::pair<std::string, int32_t> det_ring_pair =
1073 ncluster_ring[
std::abs(det_ring_pair.second)]++;
1079 std::map<std::string, SubDetMEs>::iterator iSubdet =
1081 std::pair<std::string, int32_t> det_layer_pair =
1083 iSubdet->second.SubDetNumberOfClusterPerLayerTrend->Fill(
1088 (subdet_label.find(
"TID") != std::string::npos ||
1089 subdet_label.find(
"TEC") != std::string::npos)) {
1090 std::pair<std::string, int32_t> det_ring_pair =
1094 ncluster_ring[
std::abs(det_ring_pair.second)]);
1099 float local_occupancy =
static_cast<float>(total_clusterized_strips) /
1100 static_cast<float>(total_nr_strips);
1101 if (found_module_me and passDCSFilter_) {
1105 static_cast<float>(total_clusterized_strips));
1125 std::map<std::string, SubDetMEs>::iterator iSubdet =
1128 iSubdet->second.totNClusters += ncluster_layer;
1141 long long dbx = event_history->
deltaBX();
1144 bool global_histo_filled =
false;
1145 bool MultiplicityRegion_Vs_APVcycle_filled =
false;
1154 for (std::map<std::string, SubDetMEs>::iterator it =
SubDetMEsMap.begin();
1161 long long tbx_corr = tbx;
1172 tbx_corr -= the_phase;
1181 global_histo_filled =
true;
1185 if (cluster_detsetvektor_pix.
isValid()) {
1193 tbx % 3564, atan(NPixClusters / (
k0 * NStripClusters)));
1195 tbx % 3564, atan(NPixClusters / (
k0 * NStripClusters)));
1202 map<int, int>::iterator it;
1205 for (
auto const& fedidEntry : FEDID_v_clustersum) {
1213 FEDID_v_clustersum.clear();
1217 if (isPixValid && !MultiplicityRegion_Vs_APVcycle_filled &&
1225 MultiplicityRegion_Vs_APVcycle_filled =
true;
1246 long long tbx_corr = tbx;
1247 int the_phase = apv_phase_collection->
getPhase(
"All");
1254 tbx_corr -= the_phase;
1266 ModMEs mod_me = pos->second;
1292 hid = hidmanager.
createHistoId(
"NumberOfClusters",
"det", detid);
1294 bookME1D(
"TH1nClusters", hid.c_str(), ibooker);
1297 "number of clusters in one detector module");
1306 hid = hidmanager.
createHistoId(
"ClusterPosition",
"det", detid);
1308 ibooker.
book1D(hid, hid, total_nr_strips, 0.5, total_nr_strips + 0.5);
1311 "cluster position [strip number +0.5]");
1318 hid = hidmanager.
createHistoId(
"ClusterDigiPosition",
"det", detid);
1320 ibooker.
book1D(hid, hid, total_nr_strips, 0.5, total_nr_strips + 0.5);
1323 "digi in cluster position [strip number +0.5]");
1328 hid = hidmanager.
createHistoId(
"ClusterWidth",
"det", detid);
1336 hid = hidmanager.
createHistoId(
"ClusterCharge",
"det", detid);
1338 bookME1D(
"TH1ClusterCharge", hid.c_str(), ibooker);
1345 hid = hidmanager.
createHistoId(
"ClusterNoise",
"det", detid);
1353 hid = hidmanager.
createHistoId(
"ClusterSignalOverNoise",
"det", detid);
1355 bookME1D(
"TH1ClusterStoN", hid.c_str(), ibooker);
1358 "ratio of signal to noise for each cluster");
1363 hid = hidmanager.
createHistoId(
"ClusterSignalOverNoiseVsPos",
"det", detid);
1366 hid.c_str(), hid.c_str(),
Parameters.getParameter<int32_t>(
"Nbinx"),
1378 hid = hidmanager.
createHistoId(
"ClusterLocalOccupancy",
"det", detid);
1380 bookME1D(
"TH1ModuleLocalOccupancy", hid.c_str(), ibooker);
1383 "module local occupancy [% of clusterized strips]");
1388 hid = hidmanager.
createHistoId(
"NrOfClusterizedStrips",
"det", detid);
1390 bookME1D(
"TH1NrOfClusterizedStrips", hid.c_str(), ibooker);
1393 "number of clusterized strips");
1397 hid = hidmanager.
createHistoId(
"ClusterWidths_vs_Amplitudes",
"det", detid);
1400 Nbinsx = Nbinsx / 2;
1412 "Amplitudes (integrated ADC counts)", 1);
1488 .createHistoLayer(
"Summary_ClusterSignalOverNoise",
1495 .createHistoLayer(
"Trend_ClusterSignalOverNoise",
1504 bookME1D(
"TH1ModuleLocalOccupancy",
1506 .createHistoLayer(
"Summary_ClusterLocalOccupancy",
"layer",
1513 .createHistoLayer(
"Trend_ClusterLocalOccupancy",
1522 "layer", label,
"");
1524 ibooker.
bookProfile(hid, hid, ndets, 0.5, ndets + 0.5, 21, -0.5, 20.5);
1534 if (label.find(
"TID") != std::string::npos ||
1535 label.find(
"TEC") != std::string::npos) {
1537 "NumberOfClusterPerRingVsTrendVar");
1540 "NumberOfClusterPerRingVsTrendVar",
1542 .createHistoLayer(
"NumberOfClusterPerRing_vs_TrendVar",
"layer",
1559 ibooker.
bookProfile(hid, hid, ndets, 0.5, ndets + 0.5, 20, -0.5, 19.5);
1564 "ClusWidthVsAmpTH2",
1566 .createHistoLayer(
"ClusterWidths_vs_Amplitudes",
"layer", label,
"")
1576 ibooker.
book1D(hid, hid, 128 * 6, 0.5, 128 * 6 + 0.5);
1602 HistoName =
"ClusterCharge__" +
label;
1604 bookME1D(
"TH1ClusterCharge", HistoName.c_str(), ibooker);
1606 "Cluster charge [ADC counts]");
1612 HistoName =
"ClusterWidth__" +
label;
1614 bookME1D(
"TH1ClusterWidth", HistoName.c_str(), ibooker);
1621 HistoName =
"TotalNumberOfCluster__" +
label;
1623 bookME1D(
"TH1TotalNumberOfClusters", HistoName.c_str(), ibooker);
1625 "Total number of clusters in subdetector");
1634 HistoName =
"TotalNumberOfClusterProfile__" +
label;
1636 HistoName, HistoName, Parameters.
getParameter<int32_t>(
"Nbins"),
1646 "NumberOfClusterPerLayerTrendVar");
1647 HistoName =
"TotalNumberOfClusterPerLayer__" +
label;
1649 "NumberOfClusterPerLayerTrendVar", HistoName.c_str(),
1666 HistoName =
"Cluster_vs_ApvCycle__" +
label;
1668 HistoName, HistoName, Parameters.
getParameter<int32_t>(
"Nbins"),
1675 "Apv Cycle (Corrected Absolute Bx % 70)", 1);
1682 HistoName =
"Cluster_vs_ApvCycle_2D__" +
label;
1684 double h2ymax = 9999.0;
1685 double yfact = Parameters.
getParameter<
double>(
"yfactor");
1686 if (label.find(
"TIB") != std::string::npos)
1687 h2ymax = (6984. * 256.) * yfact;
1688 else if (label.find(
"TID") != std::string::npos)
1689 h2ymax = (2208. * 256.) * yfact;
1690 else if (label.find(
"TOB") != std::string::npos)
1691 h2ymax = (12906. * 256.) * yfact;
1692 else if (label.find(
"TEC") != std::string::npos)
1693 h2ymax = (7552. * 2. * 256.) * yfact;
1696 HistoName, HistoName, Parameters.
getParameter<int32_t>(
"Nbinsx"),
1702 "Apv Cycle (Corrected Absolute Bx % 70))", 1);
1710 HistoName =
"ClusterWidths_vs_Amplitudes__" +
label;
1712 HistoName, HistoName, Parameters.
getParameter<int32_t>(
"Nbinsx"),
1719 "Amplitudes (integrated ADC counts)", 1);
1727 HistoName =
"Cluster_vs_DeltaBxCycle__" +
label;
1729 HistoName, HistoName, Parameters.
getParameter<int32_t>(
"Nbins"),
1736 "Delta Bunch Crossing Cycle", 1);
1742 HistoName =
"DeltaBx_vs_ApvCycle__" +
label;
1744 HistoName, HistoName, Parameters.
getParameter<int32_t>(
"Nbinsx"),
1753 "APV Cycle (Corrected Absolute Bx % 70)", 1);
1770 for (
int ipos = cluster.
start + 1; ipos <= cluster.
start + cluster.
width;
1781 if (cluster.
noise > 0)
1787 if (cluster.
noise > 0)
1850 HistoName, HistoName, ParametersTrend.
getParameter<int32_t>(
"Nbins"),
1852 ParametersTrend.
getParameter<
double>(
"xmax"), 0, 0,
"");
1856 me->
getTH1()->SetCanExtend(TH1::kAllAxes);
1865 return ibooker.
book1D(HistoName, HistoName,
1876 return ibooker.
book2D(HistoName, HistoName,
1886 double kplus =
k0 * (1 +
dk0 / 100);
1887 double kminus =
k0 * (1 -
dk0 / 100);
1890 if (nstrip != 0 && npix >= (nstrip * kminus -
q0) &&
1891 npix <= (nstrip * kplus +
q0))
1893 else if (nstrip != 0 && npix < (nstrip * kminus -
q0) && nstrip <=
maxClus)
1895 else if (nstrip != 0 && npix < (nstrip * kminus -
q0) && nstrip >
maxClus)
1897 else if (nstrip != 0 && npix > (nstrip * kplus +
q0))
1899 else if (npix >
minPix && nstrip == 0)
MonitorElement * GlobalABXTH1_CSCP
void ResetModuleMEs(uint32_t idet)
T getParameter(std::string const &) const
MonitorElement * LayerNumberOfClusterTrend
MonitorElement * bookME1D(const char *ParameterSetLabel, const char *HistoName, DQMStore::IBooker &ibooker)
int FindRegion(int nstrip, int npixel)
boost::transform_iterator< IterHelp, const_IdIter > const_iterator
MonitorElement * ModuleLocalOccupancy
bool show_mechanical_structure_view
void getTIBDetectors(const std::vector< uint32_t > &inputDetRawIds, std::vector< uint32_t > &tibDetRawIds, const TrackerTopology *trackerTopology, uint32_t layer=0, uint32_t bkw_frw=0, uint32_t int_ext=0, uint32_t string=0)
MonitorElement * NumberOfPixelClus_vs_BX
void addActiveDetectorsRawIds(std::vector< uint32_t > &) const
void setSiStripFolderName(std::string name)
MonitorElement * ClusterDigiPosition
long long deltaBX(const unsigned int ev2, const unsigned int ev1) const
MonitorElement * PixVsStripMultiplicityRegions
std::pair< const std::string, const char * > getSubDetFolderAndTag(const uint32_t &detid, const TrackerTopology *tTopo)
MonitorElement * bookProfile(Args &&...args)
MonitorElement * GlobalTH2MainDiagonalPosition_vs_BX
bool getByToken(EDGetToken token, Handle< PROD > &result) const
bool moduleswitchclusstonon
MonitorElement * GlobalCStripVsCpix
bool IsStripBad(const uint32_t &detid, const short &strip) const
MonitorElement * SubDetClusterWidthTH1
MonitorElement * LayerLocalOccupancyTrend
bool layerswitchclusdigiposon
void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
long long absoluteBX(const unsigned int ev1) const
void getTIDDetectors(const std::vector< uint32_t > &inputDetRawIds, std::vector< uint32_t > &tidDetRawIds, const TrackerTopology *trackerTopology, uint32_t side=0, uint32_t wheel=0, uint32_t ring=0, uint32_t ster=0)
edm::ESHandle< SiStripDetCabling > SiStripDetCabling_
MonitorElement * ClusterSignalOverNoiseVsPos
void setLayerFolder(uint32_t rawdetid, const TrackerTopology *tTopo, int32_t layer=0, bool ring_flag=false)
MonitorElement * LayerClusterNoise
Provides a code based selection for trigger and DCS information in order to have no failing filters i...
bool moduleswitchcluschargeon
bool subdetswitchtotclusth1on
MonitorElement * StripNoise2Cycle
data_type const * const_iterator
MonitorElement * NrOfClusterizedStrips
MonitorElement * LayerClusterStoN
void createLayerMEs(std::string label, int ndets, DQMStore::IBooker &ibooker)
MonitorElement * ClusterPosition
bool layerswitchnrclusterizedstrip
MonitorElement * LayerNumberOfClusterProfile
bool module_clusterWidth_vs_amplitude_on
void getTECDetectors(const std::vector< uint32_t > &inputDetRawIds, std::vector< uint32_t > &tecDetRawIds, const TrackerTopology *trackerTopology, uint32_t side=0, uint32_t wheel=0, uint32_t petal_bkw_frw=0, uint32_t petal=0, uint32_t ring=0, uint32_t ster=0)
std::map< std::string, LayerMEs > LayerMEsMap
MonitorElement * SubDetClusterApvTH2
void analyze(const edm::Event &, const edm::EventSetup &) override
MonitorElement * LayerClusterPosition
bool moduleswitchclusposon
bool layerswitchclusstonon
bool layerswitchnumclusterprofon
bool subdetswitchcluswidthon
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
MonitorElement * NumberOfPixelClus
void setDetectorFolder(uint32_t rawdetid, const TrackerTopology *tTopo)
unsigned long long m_cacheID_
MonitorElement * SubDetApvDBxProf2
void createSubDetMEs(std::string label, DQMStore::IBooker &ibooker)
const std::vector< const FedChannelConnection * > & getConnections(uint32_t det_id) const
std::map< uint32_t, ModMEs > ModuleMEsMap
bool getStatus(edm::Event const &e, edm::EventSetup const &eSetup)
MonitorElement * SubDetClusterApvProf
MonitorElement * LayerClusWidthVsAmpTH2
static float getNoise(uint16_t strip, const Range &range)
MonitorElement * ClusterNoise
MonitorElement * ClusterSignalOverNoise
void createMEs(const edm::EventSetup &es, DQMStore::IBooker &ibooker)
bool moduleswitchcluswidthon
std::map< std::string, std::string > SubDetPhasePartMap
MonitorElement * GlobalApvCycleDBxTH2
const int getPhase(const std::string partition) const
bool globalswitchnclusvscycletimeprof2don
vector< ParameterSet > Parameters
void setCurrentFolder(std::string const &fullpath)
static float getStripGain(const uint16_t &strip, const SiStripApvGain::Range &range)
MonitorElement * bookProfile2D(Args &&...args)
MonitorElement * LayerLocalOccupancy
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
bool subdetswitchapvcycleprofon
GenericTriggerEventFlag * genTriggerEventFlagPixelDCSfilter_
MonitorElement * LayerClusterWidthProfile
bool accept(const edm::Event &event, const edm::EventSetup &setup)
To be called from analyze/filter() methods.
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e< void, edm::EventID const &, edm::Timestamp const & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
bool subdetswitchapvcycledbxprof2on
bool layerswitchclusposon
bool moduleswitchclusnoiseon
bool layerswitchcluschargeon
bool layerswitchclusstonVsposon
data_type const * data(size_t cell) const
MonitorElement * book1D(Args &&...args)
bool globalswitchcstripvscpix
void tag(MonitorElement *, unsigned int)
Abs< T >::type abs(const T &t)
std::pair< ContainerIterator, ContainerIterator > Range
MonitorElement * bookMETrend(const char *, DQMStore::IBooker &ibooker)
bool subdetswitchtotclusprofon
MonitorElement * NumberOfClusters
MonitorElement * SubDetTotClusterProf
MonitorElement * ClusterCharge
bool globalswitchstripnoise2apvcycle
bool moduleswitchclusstonVsposon
MonitorElement * NumberOfStripClus
std::string getSubdetid(uint32_t id, const TrackerTopology *tTopo, bool flag_ring)
bool globalswitchFEDCluster
void Reset()
reset ME (ie. contents, errors, etc)
MonitorElement * GlobalMainDiagonalPosition_vs_BX
MonitorElement * SubDetClusterChargeTH1
MonitorElement * NumberOfStripClus_vs_BX
edm::EDGetTokenT< EventWithHistory > historyProducerToken_
MonitorElement * ClusWidthVsAmpTH2
MonitorElement * LayerClusterStoNTrend
MonitorElement * GlobalMainDiagonalPosition
std::string topFolderName_
MonitorElement * bookME2D(const char *ParameterSetLabel, const char *HistoName, DQMStore::IBooker &ibooker)
MonitorElement * SubDetClusterDBxCycleProf
SiStripDCSStatus * dcsStatus_
bool subdetswitchdbxcycleprofon
GenericTriggerEventFlag * genTriggerEventFlagBPTXfilter_
MonitorElement * GlobalDBxTH1
MonitorElement * LayerNumberOfClusterPerRingTrend
bool subdet_clusterWidth_vs_amplitude_on
bool globalswitchstripnoise3apvcycle
void fillME(MonitorElement *ME, float value1)
SiStripMonitorCluster(const edm::ParameterSet &)
MonitorElement * LayerClusterWidth
MonitorElement * LayerClusterWidthTrend
MonitorElement * SubDetClusWidthVsAmpTH2
~SiStripMonitorCluster() override
bool layerswitchclusnoiseon
T const * product() const
MonitorElement * book2D(Args &&...args)
bool layerswitchclusterwidthprofon
std::string createHistoId(std::string description, std::string id_type, uint32_t component_id)
bool subdetswitchcluschargeon
bool layerswitchlocaloccupancy
bool layer_clusterWidth_vs_amplitude_on
MonitorElement * NumberOfFEDClus
MonitorElement * StripNoise3Cycle
std::pair< std::string, int32_t > GetSubDetAndLayer(const uint32_t &detid, const TrackerTopology *tTopo, bool ring_flag=false)
void createModuleMEs(ModMEs &mod_single, uint32_t detid, DQMStore::IBooker &ibooker)
long long deltaBXinCycle(const unsigned int ev2, const unsigned int ev1, const int bx0) const
const uint16_t nApvPairs(uint32_t det_id) const
const Range getRange(const uint32_t detID) const
bool layerswitchcluswidthon
edm::EDGetTokenT< edmNew::DetSetVector< SiPixelCluster > > clusterProducerPixToken_
std::map< std::string, SubDetMEs > SubDetMEsMap
const Range getRange(const uint32_t detID) const
void fillLayerMEs(LayerMEs &, ClusterProperties &cluster)
std::pair< ContainerIterator, ContainerIterator > Range
std::unique_ptr< TkHistoMap > tkmapcluster
MonitorElement * LayerClusterCharge
MonitorElement * SubDetTotClusterTH1
bool applyClusterQuality_
MonitorElement * ClusterWidth
edm::EDGetTokenT< edmNew::DetSetVector< SiStripCluster > > clusterProducerStripToken_
MonitorElement * LayerClusterChargeTrend
void initRun(const edm::Run &run, const edm::EventSetup &setup)
To be called from beginRun() methods.
void getTOBDetectors(const std::vector< uint32_t > &inputDetRawIds, std::vector< uint32_t > &tobDetRawIds, const TrackerTopology *trackerTopology, uint32_t layer=0, uint32_t bkw_frw=0, uint32_t rod=0)
std::string createHistoLayer(std::string description, std::string id_type, std::string path, std::string flag)
std::pair< ContainerIterator, ContainerIterator > Range
std::map< std::string, std::vector< uint32_t > > LayerDetMap
bool globalswitchMultiRegions
bool moduleswitchlocaloccupancy
std::unique_ptr< TkHistoMap > tkmapclusterch
MonitorElement * GlobalDBxCycleTH1
edm::EDGetTokenT< APVCyclePhaseCollection > apvPhaseProducerToken_
std::string qualityLabel_
MonitorElement * Module_ClusWidthVsAmpTH2
void dqmBeginRun(const edm::Run &, const edm::EventSetup &) override
GenericTriggerEventFlag * genTriggerEventFlagStripDCSfilter_
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
T const * product() const
bool globalswitchmaindiagonalposition
MonitorElement * NclusVsCycleTimeProf2D
bool globalswitchapvcycledbxth2on
Kind kind() const
Get the type of the monitor element.
void fillModuleMEs(ModMEs &mod_mes, ClusterProperties &cluster)
MonitorElement * SubDetNumberOfClusterPerLayerTrend
bool clusterchtkhistomapon
bool clusterWidth_vs_amplitude_on
MonitorElement * LayerClusterNoiseTrend
const SiStripApvGain::Range getRange(uint32_t detID) const
bool moduleswitchnrclusterizedstrip
bool subdetswitchapvcycleth2on
bool moduleswitchclusdigiposon