46 : conf_(iConfig), show_mechanical_structure_view(
true), show_readout_view(
false), show_control_view(
false), select_all_detectors(
false), reset_each_run(
false), m_cacheID_(0)
156 k0 = ClusterMultiplicityRegions.getParameter<
double>(
"k0");
157 q0 = ClusterMultiplicityRegions.getParameter<
double>(
"q0");
158 dk0 = ClusterMultiplicityRegions.getParameter<
double>(
"dk0");
159 maxClus = ClusterMultiplicityRegions.getParameter<
double>(
"MaxClus");
160 minPix = ClusterMultiplicityRegions.getParameter<
double>(
"MinPix");
248 std::vector<uint32_t> activeDets;
272 edm::LogInfo(
"SiStripTkDQM|SiStripMonitorCluster")<<
"nr. of activeDets: "<<activeDets.size();
273 for(std::vector<uint32_t>::iterator detid_iterator = activeDets.begin(); detid_iterator!=activeDets.end(); detid_iterator++){
274 uint32_t detid = (*detid_iterator);
277 activeDets.erase(detid_iterator);
288 ModuleMEsMap.insert( std::make_pair(detid, mod_single));
292 std::pair<std::string,int32_t> det_layer_pair = folder_organizer.
GetSubDetAndLayer(detid, tTopo);
296 std::map<std::string, LayerMEs>::iterator iLayerME =
LayerMEsMap.find(label);
300 int32_t lnumber = det_layer_pair.second;
301 std::vector<uint32_t> layerDetIds;
302 if (det_layer_pair.first ==
"TIB") {
304 }
else if (det_layer_pair.first ==
"TOB") {
306 }
else if (det_layer_pair.first ==
"TID" && lnumber > 0) {
308 }
else if (det_layer_pair.first ==
"TID" && lnumber < 0) {
310 }
else if (det_layer_pair.first ==
"TEC" && lnumber > 0) {
312 }
else if (det_layer_pair.first ==
"TEC" && lnumber < 0) {
318 folder_organizer.
setLayerFolder(detid,tTopo,det_layer_pair.second);
347 HistoName =
"DeltaBx";
358 HistoName =
"DeltaBxCycle";
384 HistoName =
"AbsoluteBx_CStripVsCpixel";
420 HistoName =
"MainDiagonalPosition_vs_BX";
434 HistoName =
"TH2MainDiagonalPosition_vs_BX";
484 const char*
HistoName =
"StripClusVsBXandOrbit";
485 const char* HistoTitle =
"Strip cluster multiplicity vs BX mod(70) and Orbit;Event 1 BX mod(70);time [Orb#]";
488 ParametersNclusVsCycleTimeProf2D.
getParameter<int32_t>(
"Nbins"),
489 ParametersNclusVsCycleTimeProf2D.
getParameter<
double>(
"xmin"),
490 ParametersNclusVsCycleTimeProf2D.
getParameter<
double>(
"xmax"),
491 ParametersNclusVsCycleTimeProf2D.
getParameter<int32_t>(
"Nbinsy"),
492 ParametersNclusVsCycleTimeProf2D.
getParameter<
double>(
"ymin"),
493 ParametersNclusVsCycleTimeProf2D.
getParameter<
double>(
"ymax"),
500 const char*
HistoName =
"ClusterWidths_vs_Amplitudes";
501 const char* HistoTitle =
"Cluster widths vs amplitudes;Amplitudes (integrated ADC counts);Cluster widths";
503 ParametersClusWidthVsAmpTH2.
getParameter<int32_t>(
"Nbinsx"),
504 ParametersClusWidthVsAmpTH2.
getParameter<
double>(
"xmin"),
505 ParametersClusWidthVsAmpTH2.
getParameter<
double>(
"xmax"),
506 ParametersClusWidthVsAmpTH2.
getParameter<int32_t>(
"Nbinsy"),
507 ParametersClusWidthVsAmpTH2.
getParameter<
double>(
"ymin"),
508 ParametersClusWidthVsAmpTH2.
getParameter<
double>(
"ymax"));
523 HistoName =
"NumberOfClustersInStrip";
533 HistoName =
"NumberOfClustersInStrip_vs_BX";
547 HistoName =
"NumberOfClustersInPixel_vs_BX";
562 HistoName =
"NumberOfClustersinFED_v_FEDID";
588 edm::LogInfo(
"SiStripMonitorCluster") <<
"SiStripMonitorCluster::bookHistograms: " 589 <<
" Creating MEs for new Cabling ";
594 edm::LogInfo(
"SiStripMonitorCluster") <<
"SiStripMonitorCluster::bookHistograms: " 595 <<
" Resetting MEs ";
624 int NPixClusters=0, NStripClusters=0, MultiplicityRegion=0;
625 bool isPixValid=
false;
646 if (!cluster_detsetvektor.
isValid())
return;
649 NStripClusters= StrC->
data().size();
651 if (cluster_detsetvektor_pix.
isValid()){
655 MultiplicityRegion=
FindRegion(NStripClusters,NPixClusters);
672 for (std::map<std::string, SubDetMEs>::iterator iSubdet =
SubDetMEsMap.begin();
674 iSubdet->second.totNClusters = 0;
678 bool found_layer_me =
false;
680 std::map<int,int> FEDID_v_clustersum;
687 int ncluster_layer = 0;
688 std::map<std::string, LayerMEs>::iterator iLayerME =
LayerMEsMap.find(layer_label);
693 layer_single = iLayerME->second;
694 found_layer_me =
true;
698 int ncluster_ring[20] = {0};
700 bool found_module_me =
false;
704 for (std::vector< uint32_t >::const_iterator iterDets = iterLayer->second.begin() ;
705 iterDets != iterLayer->second.end() ; iterDets++) {
708 uint32_t detid = (*iterDets);
711 if (subdet_label.empty()) subdet_label = folder_organizer.
getSubDetFolderAndTag(detid, tTopo).second;
716 std::map<uint32_t, ModMEs >::iterator imodME =
ModuleMEsMap.find(detid);
718 mod_single = imodME->second;
719 found_module_me =
true;
721 }
else found_module_me =
false;
725 if(isearch==cluster_detsetvektor->end()){
748 int good_fcc_index = -999;
749 for(
unsigned int x=0;
x<fedConnections.size();
x++){
750 if(fedConnections[
x]!=
nullptr){
755 if(good_fcc_index!=-999 && fedConnections[good_fcc_index]!=
nullptr){
756 int temp_fedid = fedConnections[good_fcc_index]->fedId();
757 if(FEDID_v_clustersum.find(temp_fedid) != FEDID_v_clustersum.end()){
758 if(cluster_detset.
size() < 1000 && !cluster_detset.
empty()){
759 FEDID_v_clustersum[temp_fedid] = FEDID_v_clustersum.find(temp_fedid)->second + cluster_detset.
size();
763 if(cluster_detset.
size() < 1000 && !cluster_detset.
empty()){
764 FEDID_v_clustersum[temp_fedid] = cluster_detset.
size();
769 edm::LogInfo(
"SiStripMonitorCluster") <<
"SiStripMonitorCluster::analyze WARNING! no good connections for detid = " << detid << endl;
785 ncluster_layer += cluster_detset.
size();
787 short total_clusterized_strips = 0;
795 const auto & ampls = clusterIter->amplitudes();
797 float cluster_position = clusterIter->barycenter();
799 short cluster_start = clusterIter->firstStrip();
801 short cluster_width = ampls.size();
803 total_clusterized_strips = total_clusterized_strips + cluster_width;
808 float cluster_signal = 0.0;
809 float cluster_noise = 0.0;
810 int nrnonzeroamplitudes = 0;
813 for(uint iamp=0; iamp<ampls.size(); iamp++){
815 cluster_signal += ampls[iamp];
816 if(!qualityHandle->
IsStripBad(qualityRange, clusterIter->firstStrip()+iamp)){
817 noise = noiseHandle->
getNoise(clusterIter->firstStrip()+iamp,detNoiseRange)/gainHandle->
getStripGain(clusterIter->firstStrip()+iamp, detGainRange);
819 noise2 += noise*noise;
820 nrnonzeroamplitudes++;
824 if (nrnonzeroamplitudes > 0) cluster_noise =
sqrt(noise2/nrnonzeroamplitudes);
833 cluster_properties.
charge = cluster_signal;
834 cluster_properties.
position = cluster_position;
835 cluster_properties.
start = cluster_start;
836 cluster_properties.
width = cluster_width;
837 cluster_properties.
noise = cluster_noise;
840 if (found_module_me)
fillModuleMEs(mod_single, cluster_properties);
843 if (found_layer_me) {
851 std::map<std::string, SubDetMEs>::iterator iSubdet =
SubDetMEsMap.find(subdet_label);
861 std::map<std::string, SubDetMEs>::iterator iSubdet =
SubDetMEsMap.find(subdet_label);
862 if(iSubdet !=
SubDetMEsMap.end()) iSubdet->second.SubDetClusWidthVsAmpTH2->Fill(cluster_signal, cluster_width);
869 if (
subdetswitchtotclusprofon && (subdet_label.find(
"TID")!=std::string::npos || subdet_label.find(
"TEC")!=std::string::npos)){
870 std::pair<std::string,int32_t> det_ring_pair = folder_organizer.
GetSubDetAndLayer(detid,tTopo,
true);
871 ncluster_ring[
std::abs(det_ring_pair.second)] ++ ;
877 std::map<std::string, SubDetMEs>::iterator iSubdet =
SubDetMEsMap.find(subdet_label);
878 std::pair<std::string,int32_t> det_layer_pair = folder_organizer.
GetSubDetAndLayer(detid, tTopo);
879 iSubdet->second.SubDetNumberOfClusterPerLayerTrend->Fill(
trendVar,
std::abs(det_layer_pair.second), ncluster_layer);
882 if (
subdetswitchtotclusprofon && (subdet_label.find(
"TID")!=std::string::npos || subdet_label.find(
"TEC")!=std::string::npos)){
883 std::pair<std::string,int32_t> det_ring_pair = folder_organizer.
GetSubDetAndLayer(detid,tTopo,
true);
888 float local_occupancy =
static_cast<float>(total_clusterized_strips)/static_cast<float>(total_nr_strips);
889 if (found_module_me) {
908 std::map<std::string, SubDetMEs>::iterator iSubdet =
SubDetMEsMap.find(subdet_label);
909 if(iSubdet !=
SubDetMEsMap.end()) iSubdet->second.totNClusters += ncluster_layer;
927 && apv_phase_collection.
isValid()
931 long long dbx = event_history->
deltaBX();
934 bool global_histo_filled =
false;
935 bool MultiplicityRegion_Vs_APVcycle_filled=
false;
943 for (std::map<std::string, SubDetMEs>::iterator it =
SubDetMEsMap.begin();
950 long long tbx_corr = tbx;
960 tbx_corr -= the_phase;
968 global_histo_filled =
true;
973 if (cluster_detsetvektor_pix.
isValid()){
988 map<int,int>::iterator it;
990 for (
auto const & fedidEntry : FEDID_v_clustersum ) {
997 FEDID_v_clustersum.clear();
1002 if (isPixValid && !MultiplicityRegion_Vs_APVcycle_filled){
1005 MultiplicityRegion_Vs_APVcycle_filled=
true;
1025 long long tbx_corr = tbx;
1026 int the_phase = apv_phase_collection->
getPhase(
"All");
1033 tbx_corr -= the_phase;
1044 ModMEs mod_me = pos->second;
1069 hid = hidmanager.
createHistoId(
"NumberOfClusters",
"det",detid);
1079 hid = hidmanager.
createHistoId(
"ClusterPosition",
"det",detid);
1088 hid = hidmanager.
createHistoId(
"ClusterDigiPosition",
"det",detid);
1104 hid = hidmanager.
createHistoId(
"ClusterCharge",
"det",detid);
1120 hid = hidmanager.
createHistoId(
"ClusterSignalOverNoise",
"det",detid);
1128 hid = hidmanager.
createHistoId(
"ClusterSignalOverNoiseVsPos",
"det",detid);
1144 hid = hidmanager.
createHistoId(
"ClusterLocalOccupancy",
"det",detid);
1152 hid = hidmanager.
createHistoId(
"NrOfClusterizedStrips",
"det",detid);
1159 hid = hidmanager.
createHistoId(
"ClusterWidths_vs_Amplitudes",
"det",detid);
1247 if (label.find(
"TID")!=std::string::npos || label.find(
"TEC")!=std::string::npos){
1301 HistoName =
"ClusterCharge__" +
label;
1308 HistoName =
"ClusterWidth__" +
label;
1315 HistoName =
"TotalNumberOfCluster__" +
label;
1323 HistoName =
"TotalNumberOfClusterProfile__" +
label;
1333 HistoName =
"TotalNumberOfClusterPerLayer__" +
label;
1348 HistoName =
"Cluster_vs_ApvCycle__" +
label;
1363 HistoName =
"Cluster_vs_ApvCycle_2D__" +
label;
1365 double h2ymax = 9999.0;
1366 double yfact = Parameters.
getParameter<
double>(
"yfactor");
1367 if(label.find(
"TIB") != std::string::npos) h2ymax = (6984.*256.)*yfact;
1368 else if (label.find(
"TID") != std::string::npos) h2ymax = (2208.*256.)*yfact;
1369 else if (label.find(
"TOB") != std::string::npos) h2ymax = (12906.*256.)*yfact;
1370 else if (label.find(
"TEC") != std::string::npos) h2ymax = (7552.*2.*256.)*yfact;
1387 HistoName =
"ClusterWidths_vs_Amplitudes__" +
label;
1405 HistoName =
"Cluster_vs_DeltaBxCycle__" +
label;
1419 HistoName =
"DeltaBx_vs_ApvCycle__" +
label;
1446 for(
int ipos=cluster.
start+1; ipos<=cluster.
start+cluster.
width; ipos++){
1455 if (cluster.
noise > 0)
1460 if (cluster.
noise > 0)
1532 return ibooker.
book1D(HistoName,HistoName,
1543 return ibooker.
book2D(HistoName,HistoName,
1556 double kplus=
k0*(1+
dk0/100);
1557 double kminus=
k0*(1-
dk0/100);
1560 if (nstrip!=0 && npix >= (nstrip*kminus-
q0) && npix <=(nstrip*kplus+
q0)) region=1;
1561 else if (nstrip!=0 && npix < (nstrip*kminus-
q0) && nstrip <=
maxClus) region=2;
1562 else if (nstrip!=0 && npix < (nstrip*kminus-
q0) && nstrip >
maxClus) region=3;
1563 else if (nstrip!=0 && npix > (nstrip*kplus+
q0)) region=4;
1564 else if (npix >
minPix && nstrip==0) region=5;
MonitorElement * GlobalABXTH1_CSCP
void ResetModuleMEs(uint32_t idet)
T getParameter(std::string const &) const
TkHistoMap * tkmapclusterch
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
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
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
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
std::map< std::string, std::vector< uint32_t > > LayerDetMap
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 getTOBDetectors(const std::vector< uint32_t > &inputDetRawIds, std::vector< uint32_t > &tobDetRawIds, uint32_t layer=0, uint32_t bkw_frw=0, uint32_t rod=0) const
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_
ConsumesCollector consumesCollector()
Use a ConsumesCollector to gather consumes information from helper functions.
void fill(uint32_t &detid, float value)
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
TkHistoMap * tkmapcluster
MonitorElement * NumberOfClusters
MonitorElement * SubDetTotClusterProf
MonitorElement * ClusterCharge
bool globalswitchstripnoise2apvcycle
bool moduleswitchclusstonVsposon
MonitorElement * NumberOfStripClus
Kind kind(void) const
Get the type of the monitor element.
std::string getSubdetid(uint32_t id, const TrackerTopology *tTopo, bool flag_ring)
bool globalswitchFEDCluster
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 &)
void setCurrentFolder(const std::string &fullpath)
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)
void getTECDetectors(const std::vector< uint32_t > &inputDetRawIds, std::vector< uint32_t > &tecDetRawIds, 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) const
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
void getTIBDetectors(const std::vector< uint32_t > &inputDetRawIds, std::vector< uint32_t > &tibDetRawIds, uint32_t layer=0, uint32_t bkw_frw=0, uint32_t int_ext=0, uint32_t string=0) const
MonitorElement * LayerClusterCharge
MonitorElement * SubDetTotClusterTH1
bool applyClusterQuality_
MonitorElement * ClusterWidth
edm::EDGetTokenT< edmNew::DetSetVector< SiStripCluster > > clusterProducerStripToken_
void getTIDDetectors(const std::vector< uint32_t > &inputDetRawIds, std::vector< uint32_t > &tidDetRawIds, uint32_t side=0, uint32_t wheel=0, uint32_t ring=0, uint32_t ster=0) const
MonitorElement * LayerClusterChargeTrend
void initRun(const edm::Run &run, const edm::EventSetup &setup)
To be called from beginRun() methods.
std::string createHistoLayer(std::string description, std::string id_type, std::string path, std::string flag)
std::pair< ContainerIterator, ContainerIterator > Range
bool globalswitchMultiRegions
bool moduleswitchlocaloccupancy
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)
void Reset(void)
reset ME (ie. contents, errors, etc)
T const * product() const
bool globalswitchmaindiagonalposition
MonitorElement * NclusVsCycleTimeProf2D
bool globalswitchapvcycledbxth2on
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