44 show_mechanical_structure_view(
true),
45 show_readout_view(
false),
46 show_control_view(
false),
47 select_all_detectors(
false),
48 reset_each_run(
false),
51 trackerTopologyRunToken_{esConsumes<TrackerTopology, TrackerTopologyRcd, edm::Transition::BeginRun>()},
52 tkDetMapToken_{esConsumes<TkDetMap, TrackerTopologyRcd, edm::Transition::BeginRun>()},
53 siStripDetCablingRunToken_{esConsumes<SiStripDetCabling, SiStripDetCablingRcd, edm::Transition::BeginRun>()},
54 trackerTopologyEventToken_{esConsumes<TrackerTopology, TrackerTopologyRcd>()},
55 siStripNoisesToken_{esConsumes<SiStripNoises, SiStripNoisesRcd>()},
56 siStripGainToken_{esConsumes<SiStripGain, SiStripGainRcd>()},
57 siStripQualityToken_{esConsumes<SiStripQuality, SiStripQualityRcd>(
edm::ESInputTag(
"", qualityLabel_))},
58 siStripDetCablingEventToken_{esConsumes<SiStripDetCabling, SiStripDetCablingRcd>()} {
60 passBPTXfilter_ =
true;
64 genTriggerEventFlagBPTXfilter_ =
67 iConfig.getParameter<
edm::ParameterSet>(
"PixelDCSfilter"), consumesCollector(), *
this);
69 iConfig.getParameter<
edm::ParameterSet>(
"StripDCSfilter"), consumesCollector(), *
this);
75 SubDetPhasePartMap[
"TIB"] =
"TI";
76 SubDetPhasePartMap[
"TID__MINUS"] =
"TI";
77 SubDetPhasePartMap[
"TID__PLUS"] =
"TI";
78 SubDetPhasePartMap[
"TOB"] =
"TO";
79 SubDetPhasePartMap[
"TEC__MINUS"] =
"TM";
80 SubDetPhasePartMap[
"TEC__PLUS"] =
"TP";
84 layerswitchncluson = ParametersnClusters.
getParameter<
bool>(
"layerswitchon");
85 moduleswitchncluson = ParametersnClusters.
getParameter<
bool>(
"moduleswitchon");
88 layerswitchcluschargeon = ParametersClusterCharge.
getParameter<
bool>(
"layerswitchon");
89 moduleswitchcluschargeon = ParametersClusterCharge.getParameter<
bool>(
"moduleswitchon");
90 subdetswitchcluschargeon = ParametersClusterCharge.getParameter<
bool>(
"subdetswitchon");
93 layerswitchclusstonon = ParametersClusterStoN.
getParameter<
bool>(
"layerswitchon");
94 moduleswitchclusstonon = ParametersClusterStoN.getParameter<
bool>(
"moduleswitchon");
97 layerswitchclusstonVsposon = ParametersClusterStoNVsPos.
getParameter<
bool>(
"layerswitchon");
98 moduleswitchclusstonVsposon = ParametersClusterStoNVsPos.getParameter<
bool>(
"moduleswitchon");
101 layerswitchclusposon = ParametersClusterPos.
getParameter<
bool>(
"layerswitchon");
102 moduleswitchclusposon = ParametersClusterPos.getParameter<
bool>(
"moduleswitchon");
105 layerswitchclusdigiposon = ParametersClusterDigiPos.
getParameter<
bool>(
"layerswitchon");
106 moduleswitchclusdigiposon = ParametersClusterDigiPos.getParameter<
bool>(
"moduleswitchon");
109 layerswitchclusnoiseon = ParametersClusterNoise.
getParameter<
bool>(
"layerswitchon");
110 moduleswitchclusnoiseon = ParametersClusterNoise.getParameter<
bool>(
"moduleswitchon");
113 layerswitchcluswidthon = ParametersClusterWidth.
getParameter<
bool>(
"layerswitchon");
114 moduleswitchcluswidthon = ParametersClusterWidth.getParameter<
bool>(
"moduleswitchon");
115 subdetswitchcluswidthon = ParametersClusterWidth.getParameter<
bool>(
"subdetswitchon");
118 layerswitchlocaloccupancy = ParametersModuleLocalOccupancy.
getParameter<
bool>(
"layerswitchon");
119 moduleswitchlocaloccupancy = ParametersModuleLocalOccupancy.getParameter<
bool>(
"moduleswitchon");
122 layerswitchnrclusterizedstrip = ParametersNrOfClusterizedStrips.
getParameter<
bool>(
"layerswitchon");
123 moduleswitchnrclusterizedstrip = ParametersNrOfClusterizedStrips.getParameter<
bool>(
"moduleswitchon");
126 layerswitchnumclusterprofon = ParametersClusterProf.
getParameter<
bool>(
"layerswitchon");
129 layerswitchclusterwidthprofon = ParametersClusterWidthProf.
getParameter<
bool>(
"layerswitchon");
132 subdetswitchtotclusprofon = ParametersTotClusterProf.
getParameter<
bool>(
"subdetswitchon");
135 subdetswitchtotclusth1on = ParametersTotClusterTH1.
getParameter<
bool>(
"subdetswitchon");
138 subdetswitchapvcycleprofon = ParametersClusterApvProf.
getParameter<
bool>(
"subdetswitchon");
141 subdetswitchapvcycleth2on = ParametersClustersApvTH2.
getParameter<
bool>(
"subdetswitchon");
144 subdetswitchapvcycledbxprof2on = ParametersApvCycleDBxProf2.
getParameter<
bool>(
"subdetswitchon");
147 subdetswitchdbxcycleprofon = ParametersDBxCycleProf.
getParameter<
bool>(
"subdetswitchon");
150 globalswitchcstripvscpix = ParametersCStripVsCPix.
getParameter<
bool>(
"globalswitchon");
153 globalswitchMultiRegions = ParametersMultiplicityRegionsTH1.
getParameter<
bool>(
"globalswitchon");
156 globalswitchapvcycledbxth2on = ParametersApvCycleVsDBxGlobalTH2.
getParameter<
bool>(
"globalswitchon");
159 globalswitchstripnoise2apvcycle = ParametersNoiseStrip2ApvCycle.
getParameter<
bool>(
"globalswitchon");
162 globalswitchstripnoise3apvcycle = ParametersNoiseStrip3ApvCycle.
getParameter<
bool>(
"globalswitchon");
165 globalswitchmaindiagonalposition = ParametersMainDiagonalPosition.
getParameter<
bool>(
"globalswitchon");
168 k0 = ClusterMultiplicityRegions.getParameter<
double>(
"k0");
169 q0 = ClusterMultiplicityRegions.getParameter<
double>(
"q0");
170 dk0 = ClusterMultiplicityRegions.getParameter<
double>(
"dk0");
171 maxClus = ClusterMultiplicityRegions.getParameter<
double>(
"MaxClus");
172 minPix = ClusterMultiplicityRegions.getParameter<
double>(
"MinPix");
175 globalswitchnclusvscycletimeprof2don = ParametersNclusVsCycleTimeProf2D.
getParameter<
bool>(
"globalswitchon");
178 globalswitchFEDCluster = ParametersFEDCluster.
getParameter<
bool>(
"globalswitchon");
181 clusterWidth_vs_amplitude_on = ParametersClusWidthVsAmpTH2.
getParameter<
bool>(
"globalswitchon");
182 layer_clusterWidth_vs_amplitude_on = ParametersClusWidthVsAmpTH2.getParameter<
bool>(
"layerswitchon");
183 subdet_clusterWidth_vs_amplitude_on = ParametersClusWidthVsAmpTH2.getParameter<
bool>(
"subdetswitchon");
184 module_clusterWidth_vs_amplitude_on = ParametersClusWidthVsAmpTH2.getParameter<
bool>(
"moduleswitchon");
186 clustertkhistomapon = conf_.getParameter<
bool>(
"TkHistoMap_On");
187 clusterchtkhistomapon = conf_.getParameter<
bool>(
"ClusterChTkHistoMap_On");
188 createTrendMEs = conf_.getParameter<
bool>(
"CreateTrendMEs");
189 trendVs10Ls_ = conf_.getParameter<
bool>(
"TrendVs10LS");
190 Mod_On_ = conf_.getParameter<
bool>(
"Mod_On");
191 ClusterHisto_ = conf_.getParameter<
bool>(
"ClusterHisto");
193 topFolderName_ = conf_.getParameter<
std::string>(
"TopFolderName");
196 clusterProducerStripToken_ =
197 consumes<edmNew::DetSetVector<SiStripCluster> >(conf_.getParameter<
edm::InputTag>(
"ClusterProducerStrip"));
198 clusterProducerPixToken_ =
199 consumes<edmNew::DetSetVector<SiPixelCluster> >(conf_.getParameter<
edm::InputTag>(
"ClusterProducerPix"));
207 applyClusterQuality_ = cluster_condition.
getParameter<
bool>(
"On");
208 sToNLowerLimit_ = cluster_condition.
getParameter<
double>(
"minStoN");
209 sToNUpperLimit_ = cluster_condition.
getParameter<
double>(
"maxStoN");
210 widthLowerLimit_ = cluster_condition.
getParameter<
double>(
"minWidth");
211 widthUpperLimit_ = cluster_condition.
getParameter<
double>(
"maxWidth");
215 historyProducerToken_ = consumes<EventWithHistory>(conf_.getParameter<
edm::InputTag>(
"HistoryProducer"));
218 apvPhaseProducerToken_ = consumes<APVCyclePhaseCollection>(conf_.getParameter<
edm::InputTag>(
"ApvPhaseProducer"));
220 bool checkDCS = conf_.getParameter<
bool>(
"UseDCSFiltering");
224 dcsStatus_ =
nullptr;
257 std::vector<uint32_t> activeDets;
270 std::make_unique<TkHistoMap>(tkDetMap, ibooker,
topFolderName_,
"TkHMap_NumberOfCluster", 0.,
true);
273 tkDetMap, ibooker,
topFolderName_ +
"/TkHistoMap",
"TkHMap_NumberOfCluster", 0.,
false);
278 std::make_unique<TkHistoMap>(tkDetMap, ibooker,
topFolderName_,
"TkHMap_ClusterCharge", 0.,
true);
281 tkDetMap, ibooker,
topFolderName_ +
"/TkHistoMap",
"TkHMap_ClusterCharge", 0.,
false);
285 edm::LogInfo(
"SiStripTkDQM|SiStripMonitorCluster") <<
"nr. of activeDets: " << activeDets.size();
286 for (std::vector<uint32_t>::iterator detid_iterator = activeDets.begin(); detid_iterator != activeDets.end();
288 uint32_t detid = (*detid_iterator);
292 activeDets.erase(detid_iterator);
308 std::pair<std::string, int32_t> det_layer_pair = folder_organizer.
GetSubDetAndLayer(detid, tTopo);
312 std::map<std::string, LayerMEs>::iterator iLayerME =
LayerMEsMap.find(
label);
315 int32_t lnumber = det_layer_pair.second;
316 std::vector<uint32_t> layerDetIds;
317 if (det_layer_pair.first ==
"TIB") {
319 }
else if (det_layer_pair.first ==
"TOB") {
321 }
else if (det_layer_pair.first ==
"TID" && lnumber > 0) {
323 }
else if (det_layer_pair.first ==
"TID" && lnumber < 0) {
325 }
else if (det_layer_pair.first ==
"TEC" && lnumber > 0) {
327 }
else if (det_layer_pair.first ==
"TEC" && lnumber < 0) {
438 HistoName =
"MainDiagonalPosition_vs_BX";
452 HistoName =
"TH2MainDiagonalPosition_vs_BX";
503 const char*
HistoName =
"StripClusVsBXandOrbit";
504 const char* HistoTitle =
505 "Strip cluster multiplicity vs BX mod(70) and Orbit;Event 1 BX " 506 "mod(70);time [Orb#]";
511 ParametersNclusVsCycleTimeProf2D.
getParameter<int32_t>(
"Nbins"),
512 ParametersNclusVsCycleTimeProf2D.
getParameter<
double>(
"xmin"),
513 ParametersNclusVsCycleTimeProf2D.
getParameter<
double>(
"xmax"),
514 ParametersNclusVsCycleTimeProf2D.
getParameter<int32_t>(
"Nbinsy"),
515 ParametersNclusVsCycleTimeProf2D.
getParameter<
double>(
"ymin"),
516 ParametersNclusVsCycleTimeProf2D.
getParameter<
double>(
"ymax"),
525 const char*
HistoName =
"ClusterWidths_vs_Amplitudes";
526 const char* HistoTitle =
527 "Cluster widths vs amplitudes;Amplitudes (integrated ADC " 528 "counts);Cluster widths";
531 ParametersClusWidthVsAmpTH2.
getParameter<int32_t>(
"Nbinsx"),
532 ParametersClusWidthVsAmpTH2.
getParameter<
double>(
"xmin"),
533 ParametersClusWidthVsAmpTH2.
getParameter<
double>(
"xmax"),
534 ParametersClusWidthVsAmpTH2.
getParameter<int32_t>(
"Nbinsy"),
535 ParametersClusWidthVsAmpTH2.
getParameter<
double>(
"ymin"),
536 ParametersClusWidthVsAmpTH2.
getParameter<
double>(
"ymax"));
563 HistoName =
"NumberOfClustersInStrip_vs_BX";
578 HistoName =
"NumberOfClustersInPixel_vs_BX";
594 HistoName =
"NumberOfClustersinFED_v_FEDID";
619 edm::LogInfo(
"SiStripMonitorCluster") <<
"SiStripMonitorCluster::bookHistograms: " 620 <<
" Creating MEs for new Cabling ";
625 edm::LogInfo(
"SiStripMonitorCluster") <<
"SiStripMonitorCluster::bookHistograms: " 626 <<
" Resetting MEs ";
656 if (!
iEvent.isRealData()) {
658 :
iEvent.eventAuxiliary().luminosityBlock();
662 :
iEvent.orbitNumber() / (1 * 262144.0);
665 int NPixClusters = 0, NStripClusters = 0, MultiplicityRegion = 0;
666 bool isPixValid =
false;
681 if (!cluster_detsetvektor.
isValid())
685 NStripClusters = StrC->
data().
size();
687 if (cluster_detsetvektor_pix.
isValid()) {
691 MultiplicityRegion =
FindRegion(NStripClusters, NPixClusters);
713 iSubdet->second.totNClusters = 0;
717 bool found_layer_me =
false;
719 std::map<int, int> FEDID_v_clustersum;
726 int ncluster_layer = 0;
727 std::map<std::string, LayerMEs>::iterator iLayerME =
LayerMEsMap.find(layer_label);
732 layer_single = iLayerME->second;
733 found_layer_me =
true;
736 int ncluster_ring[20] = {0};
738 bool found_module_me =
false;
742 for (std::vector<uint32_t>::const_iterator iterDets = iterLayer->second.begin();
743 iterDets != iterLayer->second.end();
747 uint32_t detid = (*iterDets);
750 if (subdet_label.empty())
756 std::map<uint32_t, ModMEs>::iterator imodME =
ModuleMEsMap.find(detid);
758 mod_single = imodME->second;
759 found_module_me =
true;
762 found_module_me =
false;
765 cluster_detsetvektor->find(detid);
767 if (isearch == cluster_detsetvektor->end() and passDCSFilter_) {
781 if (isearch == cluster_detsetvektor->end()) {
797 std::vector<const FedChannelConnection*> fedConnections = siStripDetCabling.
getConnections(detid);
801 int good_fcc_index = -999;
802 for (
unsigned int x = 0;
x < fedConnections.size();
x++) {
803 if (fedConnections[
x] !=
nullptr) {
808 if (good_fcc_index != -999 && fedConnections[good_fcc_index] !=
nullptr) {
809 int temp_fedid = fedConnections[good_fcc_index]->fedId();
810 if (FEDID_v_clustersum.find(temp_fedid) != FEDID_v_clustersum.end()) {
811 if (cluster_detset.
size() < 1000 && !cluster_detset.
empty()) {
812 FEDID_v_clustersum[temp_fedid] = FEDID_v_clustersum.find(temp_fedid)->second + cluster_detset.
size();
815 if (cluster_detset.
size() < 1000 && !cluster_detset.
empty()) {
816 FEDID_v_clustersum[temp_fedid] = cluster_detset.
size();
820 edm::LogInfo(
"SiStripMonitorCluster") <<
"SiStripMonitorCluster::analyze WARNING! no good connections " 838 ncluster_layer += cluster_detset.
size();
840 short total_clusterized_strips = 0;
847 clusterIter != cluster_detset.
end();
849 const auto& ampls = clusterIter->amplitudes();
851 float cluster_position = clusterIter->barycenter();
853 short cluster_start = clusterIter->firstStrip();
855 short cluster_width = ampls.size();
857 total_clusterized_strips = total_clusterized_strips + cluster_width;
860 tkmapclusterch->fill(detid, static_cast<float>(clusterIter->charge()));
863 float cluster_signal = 0.0;
864 float cluster_noise = 0.0;
865 int nrnonzeroamplitudes = 0;
868 for (
uint iamp = 0; iamp < ampls.size(); iamp++) {
869 if (ampls[iamp] > 0) {
870 cluster_signal += ampls[iamp];
871 if (!siStripQuality.
IsStripBad(qualityRange, clusterIter->firstStrip() + iamp)) {
872 noise = siStripNoises.
getNoise(clusterIter->firstStrip() + iamp, detNoiseRange) /
873 siStripGain.
getStripGain(clusterIter->firstStrip() + iamp, detGainRange);
876 nrnonzeroamplitudes++;
880 if (nrnonzeroamplitudes > 0)
881 cluster_noise =
sqrt(noise2 / nrnonzeroamplitudes);
884 (cluster_signal / cluster_noise < sToNLowerLimit_ || cluster_signal / cluster_noise >
sToNUpperLimit_ ||
889 cluster_properties.
charge = cluster_signal;
890 cluster_properties.
position = cluster_position;
891 cluster_properties.
start = cluster_start;
892 cluster_properties.
width = cluster_width;
893 cluster_properties.
noise = cluster_noise;
896 if (found_module_me and passDCSFilter_)
900 if (found_layer_me and passDCSFilter_) {
907 std::map<std::string, SubDetMEs>::iterator iSubdet =
SubDetMEsMap.find(subdet_label);
910 iSubdet->second.SubDetClusterChargeTH1->Fill(cluster_signal);
912 iSubdet->second.SubDetClusterWidthTH1->Fill(cluster_width);
917 std::map<std::string, SubDetMEs>::iterator iSubdet =
SubDetMEsMap.find(subdet_label);
919 iSubdet->second.SubDetClusWidthVsAmpTH2->Fill(cluster_signal, cluster_width);
927 (subdet_label.find(
"TID") != std::string::npos || subdet_label.find(
"TEC") != std::string::npos)) {
928 std::pair<std::string, int32_t> det_ring_pair = folder_organizer.
GetSubDetAndLayer(detid, tTopo,
true);
929 ncluster_ring[
std::abs(det_ring_pair.second)]++;
935 std::map<std::string, SubDetMEs>::iterator iSubdet =
SubDetMEsMap.find(subdet_label);
936 std::pair<std::string, int32_t> det_layer_pair = folder_organizer.
GetSubDetAndLayer(detid, tTopo);
937 iSubdet->second.SubDetNumberOfClusterPerLayerTrend->Fill(
942 (subdet_label.find(
"TID") != std::string::npos || subdet_label.find(
"TEC") != std::string::npos)) {
943 std::pair<std::string, int32_t> det_ring_pair = folder_organizer.
GetSubDetAndLayer(detid, tTopo,
true);
948 short total_nr_strips = siStripDetCabling.
nApvPairs(detid) * 2 * 128;
949 float local_occupancy =
static_cast<float>(total_clusterized_strips) / static_cast<float>(total_nr_strips);
950 if (found_module_me and passDCSFilter_) {
969 std::map<std::string, SubDetMEs>::iterator iSubdet =
SubDetMEsMap.find(subdet_label);
971 iSubdet->second.totNClusters += ncluster_layer;
984 long long dbx = event_history->
deltaBX();
987 bool global_histo_filled =
false;
988 bool MultiplicityRegion_Vs_APVcycle_filled =
false;
1003 long long tbx_corr = tbx;
1013 tbx_corr -= the_phase;
1021 global_histo_filled =
true;
1025 if (cluster_detsetvektor_pix.
isValid()) {
1040 map<int, int>::iterator
it;
1043 for (
auto const& fedidEntry : FEDID_v_clustersum) {
1051 FEDID_v_clustersum.clear();
1055 if (isPixValid && !MultiplicityRegion_Vs_APVcycle_filled && passDCSFilter_) {
1062 MultiplicityRegion_Vs_APVcycle_filled =
true;
1081 long long tbx_corr = tbx;
1082 int the_phase = apv_phase_collection->
getPhase(
"All");
1088 tbx_corr -= the_phase;
1137 hid = hidmanager.
createHistoId(
"NumberOfClusters",
"det", detid);
1145 short total_nr_strips = siStripDetCabling.
nApvPairs(detid) * 2 * 128;
1146 hid = hidmanager.
createHistoId(
"ClusterPosition",
"det", detid);
1153 short total_nr_strips = siStripDetCabling.
nApvPairs(detid) * 2 * 128;
1154 hid = hidmanager.
createHistoId(
"ClusterDigiPosition",
"det", detid);
1161 hid = hidmanager.
createHistoId(
"ClusterWidth",
"det", detid);
1168 hid = hidmanager.
createHistoId(
"ClusterCharge",
"det", detid);
1175 hid = hidmanager.
createHistoId(
"ClusterNoise",
"det", detid);
1182 hid = hidmanager.
createHistoId(
"ClusterSignalOverNoise",
"det", detid);
1189 hid = hidmanager.
createHistoId(
"ClusterSignalOverNoiseVsPos",
"det", detid);
1204 hid = hidmanager.
createHistoId(
"ClusterLocalOccupancy",
"det", detid);
1211 hid = hidmanager.
createHistoId(
"NrOfClusterizedStrips",
"det", detid);
1217 hid = hidmanager.
createHistoId(
"ClusterWidths_vs_Amplitudes",
"det", detid);
1262 "TH1ClusterWidth", hidmanager.
createHistoLayer(
"Summary_ClusterWidth",
"layer",
label,
"").c_str(), ibooker);
1271 "TH1ClusterNoise", hidmanager.
createHistoLayer(
"Summary_ClusterNoise",
"layer",
label,
"").c_str(), ibooker);
1280 "TH1ClusterCharge", hidmanager.
createHistoLayer(
"Summary_ClusterCharge",
"layer",
label,
"").c_str(), ibooker);
1300 bookME1D(
"TH1ModuleLocalOccupancy",
1319 if (
label.find(
"TID") != std::string::npos ||
label.find(
"TEC") != std::string::npos) {
1323 "NumberOfClusterPerRingVsTrendVar",
1452 double h2ymax = 9999.0;
1454 if (
label.find(
"TIB") != std::string::npos)
1455 h2ymax = (6984. * 256.) * yfact;
1456 else if (
label.find(
"TID") != std::string::npos)
1457 h2ymax = (2208. * 256.) * yfact;
1458 else if (
label.find(
"TOB") != std::string::npos)
1459 h2ymax = (12906. * 256.) * yfact;
1460 else if (
label.find(
"TEC") != std::string::npos)
1461 h2ymax = (7552. * 2. * 256.) * yfact;
1536 for (
int ipos = cluster.
start + 1; ipos <= cluster.
start + cluster.
width; ipos++) {
1545 if (cluster.
noise > 0)
1550 if (cluster.
noise > 0)
1620 me->setCanExtend(TH1::kAllAxes);
1652 double kplus =
k0 * (1 +
dk0 / 100);
1653 double kminus =
k0 * (1 -
dk0 / 100);
1656 if (nstrip != 0 && npix >= (nstrip * kminus -
q0) && npix <= (nstrip * kplus +
q0))
1658 else if (nstrip != 0 && npix < (nstrip * kminus -
q0) && nstrip <=
maxClus)
1660 else if (nstrip != 0 && npix < (nstrip * kminus -
q0) && nstrip >
maxClus)
1662 else if (nstrip != 0 && npix > (nstrip * kplus +
q0))
1664 else if (npix >
minPix && nstrip == 0)
MonitorElement * GlobalABXTH1_CSCP
void ResetModuleMEs(uint32_t idet)
uint32_t second(const DetId &id) const
MonitorElement * LayerNumberOfClusterTrend
int FindRegion(int nstrip, int npixel)
T getParameter(std::string const &) const
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 * bookProfile2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, double lowZ, double highZ, char const *option="s", FUNC onbooking=NOOP())
edm::ESGetToken< SiStripDetCabling, SiStripDetCablingRcd > siStripDetCablingRunToken_
MonitorElement * NumberOfPixelClus_vs_BX
virtual DQM_DEPRECATED void setCanExtend(unsigned int value)
void setSiStripFolderName(std::string name)
MonitorElement * ClusterDigiPosition
T const & getData(const ESGetToken< T, R > &iToken) const noexcept(false)
MonitorElement * PixVsStripMultiplicityRegions
const std::vector< const FedChannelConnection * > & getConnections(uint32_t det_id) const
std::pair< const std::string, const char * > getSubDetFolderAndTag(const uint32_t &detid, const TrackerTopology *tTopo)
virtual void setCurrentFolder(std::string const &fullpath)
MonitorElement * GlobalTH2MainDiagonalPosition_vs_BX
bool moduleswitchclusstonon
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > trackerTopologyEventToken_
edm::ESGetToken< SiStripQuality, SiStripQualityRcd > siStripQualityToken_
MonitorElement * GlobalCStripVsCpix
T const * product() const
MonitorElement * SubDetClusterWidthTH1
MonitorElement * LayerLocalOccupancyTrend
Kind kind() const
Get the type of the monitor element.
data_type const * data(size_t cell) 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)
MonitorElement * ClusterSignalOverNoiseVsPos
const SiStripApvGain::Range getRange(uint32_t detID) const
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
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
const Range getRange(const uint32_t detID) const
MonitorElement * SubDetClusterApvTH2
void analyze(const edm::Event &, const edm::EventSetup &) override
MonitorElement * LayerClusterPosition
bool moduleswitchclusposon
bool layerswitchclusstonon
bool layerswitchnumclusterprofon
bool subdetswitchcluswidthon
long long absoluteBX(const unsigned int ev1) const
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)
virtual void Reset()
Remove all data from the ME, keept the empty histogram with all its settings.
std::map< uint32_t, ModMEs > ModuleMEsMap
bool getStatus(edm::Event const &e, edm::EventSetup const &eSetup)
MonitorElement * SubDetClusterApvProf
long long deltaBX(const unsigned int ev2, const unsigned int ev1) const
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
bool globalswitchnclusvscycletimeprof2don
MonitorElement * bookProfile(TString const &name, TString const &title, int nchX, double lowX, double highX, int, double lowY, double highY, char const *option="s", FUNC onbooking=NOOP())
static float getStripGain(const uint16_t &strip, const SiStripApvGain::Range &range)
MonitorElement * LayerLocalOccupancy
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
edm::ParameterSet Parameters
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
MonitorElement * bookMETrend(const char *, DQMStore::IBooker &ibooker)
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > trackerTopologyRunToken_
bool layerswitchclusposon
bool moduleswitchclusnoiseon
bool layerswitchcluschargeon
edm::ESGetToken< SiStripDetCabling, SiStripDetCablingRcd > siStripDetCablingEventToken_
bool globalswitchcstripvscpix
Abs< T >::type abs(const T &t)
std::pair< ContainerIterator, ContainerIterator > Range
bool subdetswitchtotclusprofon
MonitorElement * NumberOfClusters
MonitorElement * SubDetTotClusterProf
MonitorElement * ClusterCharge
bool globalswitchstripnoise2apvcycle
bool moduleswitchclusstonVsposon
MonitorElement * NumberOfStripClus
void createModuleMEs(ModMEs &mod_single, uint32_t detid, DQMStore::IBooker &ibooker, const SiStripDetCabling &)
std::string getSubdetid(uint32_t id, const TrackerTopology *tTopo, bool flag_ring)
bool globalswitchFEDCluster
MonitorElement * GlobalMainDiagonalPosition_vs_BX
MonitorElement * SubDetClusterChargeTH1
MonitorElement * NumberOfStripClus_vs_BX
virtual 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)
edm::EDGetTokenT< EventWithHistory > historyProducerToken_
MonitorElement * bookME2D(const char *ParameterSetLabel, const char *HistoName, DQMStore::IBooker &ibooker)
MonitorElement * ClusWidthVsAmpTH2
MonitorElement * LayerClusterStoNTrend
edm::ESGetToken< SiStripNoises, SiStripNoisesRcd > siStripNoisesToken_
MonitorElement * GlobalMainDiagonalPosition
std::string topFolderName_
Log< level::Info, false > LogInfo
MonitorElement * SubDetClusterDBxCycleProf
boost::transform_iterator< IterHelp, const_IdIter > const_iterator
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
bool IsStripBad(uint32_t detid, short strip) const
bool layerswitchclusterwidthprofon
std::string createHistoId(std::string description, std::string id_type, uint32_t component_id)
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
bool subdetswitchcluschargeon
virtual DQM_DEPRECATED void setStatOverflows(bool value)
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)
const Range getRange(const uint32_t detID) const
edm::ESGetToken< SiStripGain, SiStripGainRcd > siStripGainToken_
const int getPhase(const std::string partition) const
bool layerswitchcluswidthon
edm::EDGetTokenT< edmNew::DetSetVector< SiPixelCluster > > clusterProducerPixToken_
std::map< std::string, SubDetMEs > SubDetMEsMap
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
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
std::map< std::string, std::vector< uint32_t > > LayerDetMap
edm::ESGetToken< TkDetMap, TrackerTopologyRcd > tkDetMapToken_
bool globalswitchMultiRegions
bool moduleswitchlocaloccupancy
std::unique_ptr< TkHistoMap > tkmapclusterch
MonitorElement * GlobalDBxCycleTH1
edm::EDGetTokenT< APVCyclePhaseCollection > apvPhaseProducerToken_
MonitorElement * Module_ClusWidthVsAmpTH2
void dqmBeginRun(const edm::Run &, const edm::EventSetup &) override
GenericTriggerEventFlag * genTriggerEventFlagStripDCSfilter_
bool globalswitchmaindiagonalposition
MonitorElement * NclusVsCycleTimeProf2D
bool globalswitchapvcycledbxth2on
const uint16_t nApvPairs(uint32_t det_id) const
long long deltaBXinCycle(const unsigned int ev2, const unsigned int ev1, const int bx0) const
MonitorElement * bookME1D(const char *ParameterSetLabel, const char *HistoName, DQMStore::IBooker &ibooker)
void fillModuleMEs(ModMEs &mod_mes, ClusterProperties &cluster)
MonitorElement * SubDetNumberOfClusterPerLayerTrend
bool clusterchtkhistomapon
void addActiveDetectorsRawIds(std::vector< uint32_t > &) const
bool clusterWidth_vs_amplitude_on
MonitorElement * LayerClusterNoiseTrend
bool moduleswitchnrclusterizedstrip
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
bool subdetswitchapvcycleth2on
bool moduleswitchclusdigiposon