47 show_mechanical_structure_view(
true),
48 show_readout_view(
false),
49 show_control_view(
false),
50 select_all_detectors(
false),
51 reset_each_run(
false),
165 k0 = ClusterMultiplicityRegions.getParameter<
double>(
"k0");
166 q0 = ClusterMultiplicityRegions.getParameter<
double>(
"q0");
167 dk0 = ClusterMultiplicityRegions.getParameter<
double>(
"dk0");
168 maxClus = ClusterMultiplicityRegions.getParameter<
double>(
"MaxClus");
169 minPix = ClusterMultiplicityRegions.getParameter<
double>(
"MinPix");
264 std::vector<uint32_t> activeDets;
277 std::make_unique<TkHistoMap>(tkDetMap, ibooker,
topFolderName_,
"TkHMap_NumberOfCluster", 0.,
true);
280 tkDetMap, ibooker, topFolderName_ +
"/TkHistoMap",
"TkHMap_NumberOfCluster", 0.,
false);
285 std::make_unique<TkHistoMap>(tkDetMap, ibooker,
topFolderName_,
"TkHMap_ClusterCharge", 0.,
true);
288 tkDetMap, ibooker, topFolderName_ +
"/TkHistoMap",
"TkHMap_ClusterCharge", 0.,
false);
292 edm::LogInfo(
"SiStripTkDQM|SiStripMonitorCluster") <<
"nr. of activeDets: " << activeDets.size();
293 for (std::vector<uint32_t>::iterator detid_iterator = activeDets.begin(); detid_iterator != activeDets.end();
295 uint32_t detid = (*detid_iterator);
299 activeDets.erase(detid_iterator);
315 std::pair<std::string, int32_t> det_layer_pair = folder_organizer.
GetSubDetAndLayer(detid, tTopo);
319 std::map<std::string, LayerMEs>::iterator iLayerME =
LayerMEsMap.find(label);
322 int32_t lnumber = det_layer_pair.second;
323 std::vector<uint32_t> layerDetIds;
324 if (det_layer_pair.first ==
"TIB") {
326 }
else if (det_layer_pair.first ==
"TOB") {
328 }
else if (det_layer_pair.first ==
"TID" && lnumber > 0) {
330 }
else if (det_layer_pair.first ==
"TID" && lnumber < 0) {
332 }
else if (det_layer_pair.first ==
"TEC" && lnumber > 0) {
334 }
else if (det_layer_pair.first ==
"TEC" && lnumber < 0) {
340 folder_organizer.
setLayerFolder(detid, tTopo, det_layer_pair.second);
370 HistoName =
"DeltaBx";
380 HistoName =
"DeltaBxCycle";
406 HistoName =
"AbsoluteBx_CStripVsCpixel";
445 HistoName =
"MainDiagonalPosition_vs_BX";
459 HistoName =
"TH2MainDiagonalPosition_vs_BX";
510 const char*
HistoName =
"StripClusVsBXandOrbit";
511 const char* HistoTitle =
512 "Strip cluster multiplicity vs BX mod(70) and Orbit;Event 1 BX " 513 "mod(70);time [Orb#]";
518 ParametersNclusVsCycleTimeProf2D.
getParameter<int32_t>(
"Nbins"),
519 ParametersNclusVsCycleTimeProf2D.
getParameter<
double>(
"xmin"),
520 ParametersNclusVsCycleTimeProf2D.
getParameter<
double>(
"xmax"),
521 ParametersNclusVsCycleTimeProf2D.
getParameter<int32_t>(
"Nbinsy"),
522 ParametersNclusVsCycleTimeProf2D.
getParameter<
double>(
"ymin"),
523 ParametersNclusVsCycleTimeProf2D.
getParameter<
double>(
"ymax"),
527 NclusVsCycleTimeProf2D->getTH1()->SetCanExtend(TH1::kAllAxes);
532 const char*
HistoName =
"ClusterWidths_vs_Amplitudes";
533 const char* HistoTitle =
534 "Cluster widths vs amplitudes;Amplitudes (integrated ADC " 535 "counts);Cluster widths";
538 ParametersClusWidthVsAmpTH2.
getParameter<int32_t>(
"Nbinsx"),
539 ParametersClusWidthVsAmpTH2.
getParameter<
double>(
"xmin"),
540 ParametersClusWidthVsAmpTH2.
getParameter<
double>(
"xmax"),
541 ParametersClusWidthVsAmpTH2.
getParameter<int32_t>(
"Nbinsy"),
542 ParametersClusWidthVsAmpTH2.
getParameter<
double>(
"ymin"),
543 ParametersClusWidthVsAmpTH2.
getParameter<
double>(
"ymax"));
559 HistoName =
"NumberOfClustersInStrip";
570 HistoName =
"NumberOfClustersInStrip_vs_BX";
585 HistoName =
"NumberOfClustersInPixel_vs_BX";
601 HistoName =
"NumberOfClustersinFED_v_FEDID";
626 edm::LogInfo(
"SiStripMonitorCluster") <<
"SiStripMonitorCluster::bookHistograms: " 627 <<
" Creating MEs for new Cabling ";
632 edm::LogInfo(
"SiStripMonitorCluster") <<
"SiStripMonitorCluster::bookHistograms: " 633 <<
" Resetting MEs ";
667 int NPixClusters = 0, NStripClusters = 0, MultiplicityRegion = 0;
668 bool isPixValid =
false;
689 if (!cluster_detsetvektor.
isValid())
693 NStripClusters = StrC->
data().size();
695 if (cluster_detsetvektor_pix.
isValid()) {
699 MultiplicityRegion =
FindRegion(NStripClusters, NPixClusters);
721 iSubdet->second.totNClusters = 0;
725 bool found_layer_me =
false;
727 std::map<int, int> FEDID_v_clustersum;
734 int ncluster_layer = 0;
735 std::map<std::string, LayerMEs>::iterator iLayerME =
LayerMEsMap.find(layer_label);
740 layer_single = iLayerME->second;
741 found_layer_me =
true;
744 int ncluster_ring[20] = {0};
746 bool found_module_me =
false;
750 for (std::vector<uint32_t>::const_iterator iterDets = iterLayer->second.begin();
751 iterDets != iterLayer->second.end();
755 uint32_t detid = (*iterDets);
758 if (subdet_label.empty())
764 std::map<uint32_t, ModMEs>::iterator imodME =
ModuleMEsMap.find(detid);
766 mod_single = imodME->second;
767 found_module_me =
true;
770 found_module_me =
false;
773 cluster_detsetvektor->find(detid);
775 if (isearch == cluster_detsetvektor->end() and passDCSFilter_) {
789 if (isearch == cluster_detsetvektor->end()) {
809 int good_fcc_index = -999;
810 for (
unsigned int x = 0;
x < fedConnections.size();
x++) {
811 if (fedConnections[
x] !=
nullptr) {
816 if (good_fcc_index != -999 && fedConnections[good_fcc_index] !=
nullptr) {
817 int temp_fedid = fedConnections[good_fcc_index]->fedId();
818 if (FEDID_v_clustersum.find(temp_fedid) != FEDID_v_clustersum.end()) {
819 if (cluster_detset.
size() < 1000 && !cluster_detset.
empty()) {
820 FEDID_v_clustersum[temp_fedid] = FEDID_v_clustersum.find(temp_fedid)->second + cluster_detset.
size();
823 if (cluster_detset.
size() < 1000 && !cluster_detset.
empty()) {
824 FEDID_v_clustersum[temp_fedid] = cluster_detset.
size();
828 edm::LogInfo(
"SiStripMonitorCluster") <<
"SiStripMonitorCluster::analyze WARNING! no good connections " 846 ncluster_layer += cluster_detset.
size();
848 short total_clusterized_strips = 0;
855 clusterIter != cluster_detset.
end();
857 const auto& ampls = clusterIter->amplitudes();
859 float cluster_position = clusterIter->barycenter();
861 short cluster_start = clusterIter->firstStrip();
863 short cluster_width = ampls.size();
865 total_clusterized_strips = total_clusterized_strips + cluster_width;
868 tkmapclusterch->fill(detid, static_cast<float>(clusterIter->charge()));
871 float cluster_signal = 0.0;
872 float cluster_noise = 0.0;
873 int nrnonzeroamplitudes = 0;
876 for (
uint iamp = 0; iamp < ampls.size(); iamp++) {
877 if (ampls[iamp] > 0) {
878 cluster_signal += ampls[iamp];
879 if (!qualityHandle->
IsStripBad(qualityRange, clusterIter->firstStrip() + iamp)) {
880 noise = noiseHandle->
getNoise(clusterIter->firstStrip() + iamp, detNoiseRange) /
881 gainHandle->
getStripGain(clusterIter->firstStrip() + iamp, detGainRange);
883 noise2 += noise *
noise;
884 nrnonzeroamplitudes++;
888 if (nrnonzeroamplitudes > 0)
889 cluster_noise =
sqrt(noise2 / nrnonzeroamplitudes);
892 (cluster_signal / cluster_noise < sToNLowerLimit_ || cluster_signal / cluster_noise >
sToNUpperLimit_ ||
897 cluster_properties.
charge = cluster_signal;
898 cluster_properties.
position = cluster_position;
899 cluster_properties.
start = cluster_start;
900 cluster_properties.
width = cluster_width;
901 cluster_properties.
noise = cluster_noise;
904 if (found_module_me and passDCSFilter_)
908 if (found_layer_me and passDCSFilter_) {
915 std::map<std::string, SubDetMEs>::iterator iSubdet =
SubDetMEsMap.find(subdet_label);
918 iSubdet->second.SubDetClusterChargeTH1->Fill(cluster_signal);
920 iSubdet->second.SubDetClusterWidthTH1->Fill(cluster_width);
925 std::map<std::string, SubDetMEs>::iterator iSubdet =
SubDetMEsMap.find(subdet_label);
927 iSubdet->second.SubDetClusWidthVsAmpTH2->Fill(cluster_signal, cluster_width);
935 (subdet_label.find(
"TID") != std::string::npos || subdet_label.find(
"TEC") != std::string::npos)) {
936 std::pair<std::string, int32_t> det_ring_pair = folder_organizer.
GetSubDetAndLayer(detid, tTopo,
true);
937 ncluster_ring[
std::abs(det_ring_pair.second)]++;
943 std::map<std::string, SubDetMEs>::iterator iSubdet =
SubDetMEsMap.find(subdet_label);
944 std::pair<std::string, int32_t> det_layer_pair = folder_organizer.
GetSubDetAndLayer(detid, tTopo);
945 iSubdet->second.SubDetNumberOfClusterPerLayerTrend->Fill(
950 (subdet_label.find(
"TID") != std::string::npos || subdet_label.find(
"TEC") != std::string::npos)) {
951 std::pair<std::string, int32_t> det_ring_pair = folder_organizer.
GetSubDetAndLayer(detid, tTopo,
true);
957 float local_occupancy =
static_cast<float>(total_clusterized_strips) / static_cast<float>(total_nr_strips);
958 if (found_module_me and passDCSFilter_) {
977 std::map<std::string, SubDetMEs>::iterator iSubdet =
SubDetMEsMap.find(subdet_label);
979 iSubdet->second.totNClusters += ncluster_layer;
992 long long dbx = event_history->
deltaBX();
995 bool global_histo_filled =
false;
996 bool MultiplicityRegion_Vs_APVcycle_filled =
false;
1011 long long tbx_corr = tbx;
1021 tbx_corr -= the_phase;
1029 global_histo_filled =
true;
1033 if (cluster_detsetvektor_pix.
isValid()) {
1048 map<int, int>::iterator it;
1051 for (
auto const& fedidEntry : FEDID_v_clustersum) {
1059 FEDID_v_clustersum.clear();
1063 if (isPixValid && !MultiplicityRegion_Vs_APVcycle_filled && passDCSFilter_) {
1070 MultiplicityRegion_Vs_APVcycle_filled =
true;
1089 long long tbx_corr = tbx;
1090 int the_phase = apv_phase_collection->
getPhase(
"All");
1096 tbx_corr -= the_phase;
1107 ModMEs mod_me = pos->second;
1142 hid = hidmanager.
createHistoId(
"NumberOfClusters",
"det", detid);
1151 hid = hidmanager.
createHistoId(
"ClusterPosition",
"det", detid);
1159 hid = hidmanager.
createHistoId(
"ClusterDigiPosition",
"det", detid);
1166 hid = hidmanager.
createHistoId(
"ClusterWidth",
"det", detid);
1173 hid = hidmanager.
createHistoId(
"ClusterCharge",
"det", detid);
1180 hid = hidmanager.
createHistoId(
"ClusterNoise",
"det", detid);
1187 hid = hidmanager.
createHistoId(
"ClusterSignalOverNoise",
"det", detid);
1194 hid = hidmanager.
createHistoId(
"ClusterSignalOverNoiseVsPos",
"det", detid);
1209 hid = hidmanager.
createHistoId(
"ClusterLocalOccupancy",
"det", detid);
1216 hid = hidmanager.
createHistoId(
"NrOfClusterizedStrips",
"det", detid);
1222 hid = hidmanager.
createHistoId(
"ClusterWidths_vs_Amplitudes",
"det", detid);
1225 Nbinsx = Nbinsx / 2;
1267 "TH1ClusterWidth", hidmanager.
createHistoLayer(
"Summary_ClusterWidth",
"layer", label,
"").c_str(), ibooker);
1276 "TH1ClusterNoise", hidmanager.
createHistoLayer(
"Summary_ClusterNoise",
"layer", label,
"").c_str(), ibooker);
1285 "TH1ClusterCharge", hidmanager.
createHistoLayer(
"Summary_ClusterCharge",
"layer", label,
"").c_str(), ibooker);
1295 hidmanager.
createHistoLayer(
"Summary_ClusterSignalOverNoise",
"layer", label,
"").c_str(),
1305 bookME1D(
"TH1ModuleLocalOccupancy",
1306 hidmanager.
createHistoLayer(
"Summary_ClusterLocalOccupancy",
"layer", label,
"").c_str(),
1324 if (label.find(
"TID") != std::string::npos || label.find(
"TEC") != std::string::npos) {
1328 "NumberOfClusterPerRingVsTrendVar",
1329 hidmanager.
createHistoLayer(
"NumberOfClusterPerRing_vs_TrendVar",
"layer", label,
"").c_str(),
1351 hidmanager.
createHistoLayer(
"ClusterWidths_vs_Amplitudes",
"layer", label,
"").c_str(),
1383 HistoName =
"ClusterCharge__" +
label;
1390 HistoName =
"ClusterWidth__" +
label;
1397 HistoName =
"TotalNumberOfCluster__" +
label;
1406 HistoName =
"TotalNumberOfClusterProfile__" +
label;
1420 HistoName =
"TotalNumberOfClusterPerLayer__" +
label;
1439 HistoName =
"Cluster_vs_ApvCycle__" +
label;
1455 HistoName =
"Cluster_vs_ApvCycle_2D__" +
label;
1457 double h2ymax = 9999.0;
1458 double yfact = Parameters.
getParameter<
double>(
"yfactor");
1459 if (label.find(
"TIB") != std::string::npos)
1460 h2ymax = (6984. * 256.) * yfact;
1461 else if (label.find(
"TID") != std::string::npos)
1462 h2ymax = (2208. * 256.) * yfact;
1463 else if (label.find(
"TOB") != std::string::npos)
1464 h2ymax = (12906. * 256.) * yfact;
1465 else if (label.find(
"TEC") != std::string::npos)
1466 h2ymax = (7552. * 2. * 256.) * yfact;
1483 HistoName =
"ClusterWidths_vs_Amplitudes__" +
label;
1499 HistoName =
"Cluster_vs_DeltaBxCycle__" +
label;
1514 HistoName =
"DeltaBx_vs_ApvCycle__" +
label;
1541 for (
int ipos = cluster.
start + 1; ipos <= cluster.
start + cluster.
width; ipos++) {
1550 if (cluster.
noise > 0)
1555 if (cluster.
noise > 0)
1625 me->
getTH1()->SetCanExtend(TH1::kAllAxes);
1634 return ibooker.
book1D(HistoName,
1646 return ibooker.
book2D(HistoName,
1657 double kplus =
k0 * (1 +
dk0 / 100);
1658 double kminus =
k0 * (1 -
dk0 / 100);
1661 if (nstrip != 0 && npix >= (nstrip * kminus -
q0) && npix <= (nstrip * kplus +
q0))
1663 else if (nstrip != 0 && npix < (nstrip * kminus -
q0) && nstrip <=
maxClus)
1665 else if (nstrip != 0 && npix < (nstrip * kminus -
q0) && nstrip >
maxClus)
1667 else if (nstrip != 0 && npix > (nstrip * kplus +
q0))
1669 else if (npix >
minPix && nstrip == 0)
MonitorElement * GlobalABXTH1_CSCP
void ResetModuleMEs(uint32_t idet)
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX)
T getParameter(std::string const &) const
MonitorElement * LayerNumberOfClusterTrend
int FindRegion(int nstrip, int npixel)
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 * GlobalTH2MainDiagonalPosition_vs_BX
bool getByToken(EDGetToken token, Handle< PROD > &result) const
bool moduleswitchclusstonon
MonitorElement * GlobalCStripVsCpix
void setCurrentFolder(std::string const &fullpath)
bool IsStripBad(const uint32_t &detid, const short &strip) const
MonitorElement * SubDetClusterWidthTH1
MonitorElement * LayerLocalOccupancyTrend
bool layerswitchclusdigiposon
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)
Kind kind() const
Get the type of the monitor element.
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
virtual void Reset()
reset ME (ie. contents, errors, etc)
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
static float getStripGain(const uint16_t &strip, const SiStripApvGain::Range &range)
MonitorElement * LayerLocalOccupancy
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
bool subdetswitchapvcycleprofon
GenericTriggerEventFlag * genTriggerEventFlagPixelDCSfilter_
ConsumesCollector consumesCollector()
Use a ConsumesCollector to gather consumes information from helper functions.
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)
MonitorElement * bookProfile(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, char const *option="s")
bool layerswitchclusposon
bool moduleswitchclusnoiseon
bool layerswitchcluschargeon
bool layerswitchclusstonVsposon
data_type const * data(size_t cell) const
bool globalswitchcstripvscpix
Abs< T >::type abs(const T &t)
std::pair< ContainerIterator, ContainerIterator > Range
bool subdetswitchtotclusprofon
MonitorElement * NumberOfClusters
MonitorElement * SubDetTotClusterProf
MonitorElement * ClusterCharge
bool globalswitchstripnoise2apvcycle
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")
bool moduleswitchclusstonVsposon
MonitorElement * NumberOfStripClus
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
MonitorElement * GlobalMainDiagonalPosition
std::string topFolderName_
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
T const * product() const
bool layerswitchclusterwidthprofon
std::string createHistoId(std::string description, std::string id_type, uint32_t component_id)
virtual DQM_DEPRECATED void setStatOverflows(unsigned int value)
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
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
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_
T const * product() const
bool globalswitchmaindiagonalposition
virtual TH1 * getTH1() const
MonitorElement * NclusVsCycleTimeProf2D
bool globalswitchapvcycledbxth2on
MonitorElement * bookME1D(const char *ParameterSetLabel, const char *HistoName, DQMStore::IBooker &ibooker)
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
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