CMS 3D CMS Logo

List of all members | Classes | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes
SiStripBaseCondObjDQM Class Referenceabstract

#include <SiStripBaseCondObjDQM.h>

Inheritance diagram for SiStripBaseCondObjDQM:
SiStripApvGainsDQM SiStripBackPlaneCorrectionDQM SiStripCablingDQM SiStripLorentzAngleDQM SiStripNoisesDQM SiStripPedestalsDQM SiStripQualityDQM SiStripThresholdDQM

Classes

struct  ModMEs
 

Public Types

typedef dqm::legacy::DQMStore DQMStore
 
typedef dqm::legacy::MonitorElement MonitorElement
 

Public Member Functions

void analysis (const edm::EventSetup &eSetup_)
 
void analysisOnDemand (const edm::EventSetup &eSetup_, const std::vector< uint32_t > &detIdsOnDemand)
 
void analysisOnDemand (const edm::EventSetup &eSetup_, std::string requestedSubDetector, uint32_t requestedSide, uint32_t requestedLayer)
 
void analysisOnDemand (const edm::EventSetup &eSetup_, uint32_t detIdOnDemand)
 
virtual void end ()
 
virtual void getActiveDetIds (const edm::EventSetup &eSetup)=0
 
std::vector< uint32_t > getCabledModules ()
 
virtual unsigned long long getCache (const edm::EventSetup &eSetup_)=0
 
virtual void getConditionObject (const edm::EventSetup &eSetup_)=0
 
void selectModules (std::vector< uint32_t > &detIds_, const TrackerTopology *tTopo)
 
 SiStripBaseCondObjDQM (const edm::EventSetup &eSetup, edm::RunNumber_t iRun, edm::ParameterSet const &hPSet, edm::ParameterSet const &fPSet)
 
virtual ~SiStripBaseCondObjDQM ()
 

Protected Member Functions

virtual void fillMEsForDet (const ModMEs &selModME_, uint32_t selDetId_, const TrackerTopology *tTopo)=0
 
virtual void fillMEsForLayer (uint32_t selDetId_, const TrackerTopology *tTopo)=0
 
virtual void fillModMEs (const std::vector< uint32_t > &selectedDetIds, const edm::EventSetup &es)
 
virtual void fillSummaryMEs (const std::vector< uint32_t > &selectedDetIds, const edm::EventSetup &es)
 
void fillTkMap (const uint32_t &detid, const float &value)
 
std::pair< std::string, uint32_t > getLayerNameAndId (const uint32_t &detId_, const TrackerTopology *tTopo)
 
void getModMEs (ModMEs &CondObj_ME, const uint32_t &detId_, const TrackerTopology *tTopo)
 
std::vector< uint32_t > GetSameLayerDetId (const std::vector< uint32_t > &activeDetIds, uint32_t selDetId, const TrackerTopology *tTopo)
 
std::pair< std::string, uint32_t > getStringNameAndId (const uint32_t &detId_, const TrackerTopology *tTopo)
 
void getSummaryMEs (ModMEs &CondObj_ME, const uint32_t &detId_, const TrackerTopology *tTopo)
 

Protected Attributes

std::vector< uint32_t > activeDetIds
 
std::vector< uint32_t > all_DetIds
 
unsigned long long cacheID_current
 
unsigned long long cacheID_memory
 
std::string CondObj_fillId_
 
std::string CondObj_name_
 
const edm::EventSetupeSetup_
 
edm::ParameterSet fPSet_
 
bool GrandSummary_On_
 
bool HistoMaps_On_
 
edm::ParameterSet hPSet_
 
double maxValue
 
double minValue
 
bool Mod_On_
 
std::map< uint32_t, ModMEsModMEsMap_
 
SiStripDetInfoFileReaderreader
 
std::map< uint32_t, ModMEsSummaryMEsMap_
 
bool SummaryOnLayerLevel_On_
 
bool SummaryOnStringLevel_On_
 
std::unique_ptr< TkHistoMapTk_HM_
 
std::unique_ptr< TkHistoMapTk_HM_H
 
std::unique_ptr< TkHistoMapTk_HM_L
 
TrackerMaptkMap
 
std::vector< int > tkMapScaler
 

Private Member Functions

void bookCumulMEs (SiStripBaseCondObjDQM::ModMEs &CondObj_ME, const uint32_t &detId_, const TrackerTopology *tTopo)
 
void bookProfileMEs (SiStripBaseCondObjDQM::ModMEs &CondObj_ME, const uint32_t &detId_, const TrackerTopology *tTopo)
 
void bookSummaryCumulMEs (SiStripBaseCondObjDQM::ModMEs &CondObj_ME, const uint32_t &detId_, const TrackerTopology *tTopo)
 
void bookSummaryMEs (SiStripBaseCondObjDQM::ModMEs &CondObj_ME, const uint32_t &detId_, const TrackerTopology *tTopo)
 
void bookSummaryProfileMEs (SiStripBaseCondObjDQM::ModMEs &CondObj_ME, const uint32_t &detId_, const TrackerTopology *tTopo)
 
void bookTkMap (const std::string &TkMapname)
 
void saveTkMap (const std::string &TkMapname, double minValue, double maxValue)
 

Private Attributes

std::string condDataMonitoringMode_
 
edm::ESHandle< SiStripDetCablingdetCablingHandle_
 
DQMStoredqmStore_
 
SiStripFolderOrganizer folder_organizer
 
SiStripHistoId hidmanager
 
std::vector< uint32_t > ModulesToBeExcluded_
 
std::vector< uint32_t > ModulesToBeIncluded_
 
edm::RunNumber_t runNumber_
 
std::vector< std::string > SubDetectorsToBeExcluded_
 

Detailed Description

Definition at line 37 of file SiStripBaseCondObjDQM.h.

Member Typedef Documentation

◆ DQMStore

Definition at line 39 of file SiStripBaseCondObjDQM.h.

◆ MonitorElement

Definition at line 40 of file SiStripBaseCondObjDQM.h.

Constructor & Destructor Documentation

◆ SiStripBaseCondObjDQM()

SiStripBaseCondObjDQM::SiStripBaseCondObjDQM ( const edm::EventSetup eSetup,
edm::RunNumber_t  iRun,
edm::ParameterSet const &  hPSet,
edm::ParameterSet const &  fPSet 
)

Definition at line 10 of file SiStripBaseCondObjDQM.cc.

14  : eSetup_(eSetup),
15  hPSet_(hPSet),
16  fPSet_(fPSet),
17  cacheID_memory(0),
19  runNumber_(iRun) {
21  edm::FileInPath(std::string("CalibTracker/SiStripCommon/data/SiStripDetInfo.dat")).fullPath());
22 
23  Mod_On_ = fPSet_.getParameter<bool>("Mod_On");
24  HistoMaps_On_ = fPSet_.getParameter<bool>("HistoMaps_On");
25  SummaryOnLayerLevel_On_ = fPSet_.getParameter<bool>("SummaryOnLayerLevel_On");
26  SummaryOnStringLevel_On_ = fPSet_.getParameter<bool>("SummaryOnStringLevel_On");
27 
28  GrandSummary_On_ = fPSet_.getParameter<bool>("GrandSummary_On");
29 
30  CondObj_fillId_ = hPSet_.getParameter<std::string>("CondObj_fillId");
31  CondObj_name_ = hPSet_.getParameter<std::string>("CondObj_name");
32 
33  // Warning message from wrong input:
35  edm::LogWarning("SiStripBaseCondObjDQM") << "[SiStripBaseCondObjDQM::SiStripBaseCondObjDQMs] PLEASE CHECK : "
36  "String and layer level options can not be activated together"
37  << std::endl;
38  }
39 
40  // The OR of the two conditions allow to switch on this feature for all the
41  // components (if the FillConditions_PSet has the TkMap_On =true) or for
42  // single MEs (if the PSet for a ME has the TkMap_On =true)
43  if (fPSet_.getParameter<bool>("TkMap_On") || hPSet_.getParameter<bool>("TkMap_On"))
45 
46  minValue = hPSet_.getParameter<double>("minValue");
47  maxValue = hPSet_.getParameter<double>("maxValue");
48 }

References bookTkMap(), CondObj_fillId_, CondObj_name_, fPSet_, contentValuesFiles::fullPath, edm::ParameterSet::getParameter(), GrandSummary_On_, HistoMaps_On_, hPSet_, maxValue, minValue, Mod_On_, reader, AlCaHLTBitMon_QueryRunRegistry::string, SummaryOnLayerLevel_On_, and SummaryOnStringLevel_On_.

◆ ~SiStripBaseCondObjDQM()

virtual SiStripBaseCondObjDQM::~SiStripBaseCondObjDQM ( )
inlinevirtual

Definition at line 47 of file SiStripBaseCondObjDQM.h.

47 {};

Member Function Documentation

◆ analysis()

void SiStripBaseCondObjDQM::analysis ( const edm::EventSetup eSetup_)

Definition at line 53 of file SiStripBaseCondObjDQM.cc.

53  {
55 
57  return;
58 
60 
61  // The OR of the two conditions allows to switch on this feature for all the
62  // components (if the FillConditions_PSet has the ActiveDetIds_On =true) or
63  // for single MEs (if the PSet for a ME has the ActiveDetIds_On =true)
64  if (fPSet_.getParameter<bool>("ActiveDetIds_On") || hPSet_.getParameter<bool>("ActiveDetIds_On"))
66  else
68 
70  eSetup_.get<TrackerTopologyRcd>().get(tTopoHandle);
71  const TrackerTopology *tTopo = tTopoHandle.product();
72 
74 
75  if (Mod_On_) {
77  }
80  }
81 
82  if (fPSet_.getParameter<bool>("TkMap_On") || hPSet_.getParameter<bool>("TkMap_On")) {
84  if (!filename.empty()) {
85  constexpr unsigned int kSLen = 128;
86  char sRun[kSLen];
87  snprintf(sRun, kSLen, "_Run_%d", runNumber_);
88  filename.insert(filename.find("."), sRun);
89 
91  }
92  }
93 }

References activeDetIds, cacheID_current, cacheID_memory, eSetup_, corrVsCorr::filename, fillModMEs(), fillSummaryMEs(), fPSet_, edm::EventSetup::get(), get, getActiveDetIds(), SiStripDetInfoFileReader::getAllDetIds(), getCache(), getConditionObject(), edm::ParameterSet::getParameter(), hPSet_, maxValue, minValue, Mod_On_, edm::ESHandle< T >::product(), reader, runNumber_, saveTkMap(), selectModules(), AlCaHLTBitMon_QueryRunRegistry::string, SummaryOnLayerLevel_On_, and SummaryOnStringLevel_On_.

◆ analysisOnDemand() [1/3]

void SiStripBaseCondObjDQM::analysisOnDemand ( const edm::EventSetup eSetup_,
const std::vector< uint32_t > &  detIdsOnDemand 
)

Definition at line 145 of file SiStripBaseCondObjDQM.cc.

146  {
147  unsigned long long cacheID_current = getCache(eSetup_);
148 
150  return;
151 
153 
154  fillSummaryMEs(detIdsOnDemand, eSetup_);
155 }

References cacheID_current, cacheID_memory, eSetup_, fillSummaryMEs(), getCache(), and getConditionObject().

◆ analysisOnDemand() [2/3]

void SiStripBaseCondObjDQM::analysisOnDemand ( const edm::EventSetup eSetup_,
std::string  requestedSubDetector,
uint32_t  requestedSide,
uint32_t  requestedLayer 
)

Definition at line 98 of file SiStripBaseCondObjDQM.cc.

101  {
104 
105  std::vector<uint32_t> requestedDetIds_;
106  requestedDetIds_.clear();
107 
108  edm::ESHandle<TrackerTopology> tTopoHandle;
109  eSetup_.get<TrackerTopologyRcd>().get(tTopoHandle);
110  const TrackerTopology *tTopo = tTopoHandle.product();
111 
112  if (requestedSubDetector == "TIB") {
113  SiStripSubStructure::getTIBDetectors(activeDetIds, requestedDetIds_, tTopo, requestedLayer, 0, 0, 0);
114  } else if (requestedSubDetector == "TID") {
115  SiStripSubStructure::getTIDDetectors(activeDetIds, requestedDetIds_, tTopo, requestedSide, requestedLayer, 0, 0);
116  } else if (requestedSubDetector == "TOB") {
117  SiStripSubStructure::getTOBDetectors(activeDetIds, requestedDetIds_, tTopo, requestedLayer, 0, 0);
118  } else if (requestedSubDetector == "TEC") {
120  activeDetIds, requestedDetIds_, tTopo, requestedSide, requestedLayer, 0, 0, 0, 0);
121  }
122 
123  analysisOnDemand(eSetup_, requestedDetIds_);
124 }

References activeDetIds, analysisOnDemand(), eSetup_, edm::EventSetup::get(), get, getActiveDetIds(), getConditionObject(), SiStripSubStructure::getTECDetectors(), SiStripSubStructure::getTIBDetectors(), SiStripSubStructure::getTIDDetectors(), SiStripSubStructure::getTOBDetectors(), and edm::ESHandle< T >::product().

◆ analysisOnDemand() [3/3]

void SiStripBaseCondObjDQM::analysisOnDemand ( const edm::EventSetup eSetup_,
uint32_t  detIdOnDemand 
)

Definition at line 129 of file SiStripBaseCondObjDQM.cc.

129  {
130  unsigned long long cacheID_current = getCache(eSetup_);
131 
133  return;
134 
136 
137  std::vector<uint32_t> vdetIdsOnDemand_;
138  vdetIdsOnDemand_.push_back(detIdOnDemand); // fillModMEs needs a vector
139 
140  fillModMEs(vdetIdsOnDemand_, eSetup_);
141 }

References cacheID_current, cacheID_memory, eSetup_, fillModMEs(), getCache(), and getConditionObject().

Referenced by analysisOnDemand().

◆ bookCumulMEs()

void SiStripBaseCondObjDQM::bookCumulMEs ( SiStripBaseCondObjDQM::ModMEs CondObj_ME,
const uint32_t &  detId_,
const TrackerTopology tTopo 
)
private

Definition at line 509 of file SiStripBaseCondObjDQM.cc.

511  {
512  int hCumul_NchX = 0;
513  double hCumul_LowX = 0;
514  double hCumul_HighX = 0;
515 
516  std::string hCumul_description;
517  hCumul_description = hPSet_.getParameter<std::string>("Cumul_description");
518 
519  std::string hCumul_xTitle, hCumul_yTitle;
520  hCumul_xTitle = hPSet_.getParameter<std::string>("Cumul_xTitle");
521  hCumul_yTitle = hPSet_.getParameter<std::string>("Cumul_yTitle");
522 
523  hCumul_NchX = hPSet_.getParameter<int>("Cumul_NchX");
524  hCumul_LowX = hPSet_.getParameter<double>("Cumul_LowX");
525  hCumul_HighX = hPSet_.getParameter<double>("Cumul_HighX");
526 
527  folder_organizer.setDetectorFolder(detId_, tTopo);
528 
529  std::string hCumul_name;
530  hCumul_name = hidmanager.createHistoId(hCumul_description, "det", detId_);
531  ;
532 
533  std::string hCumul_title;
534  hCumul_title = hCumul_name;
535 
536  CondObj_ME.CumulDistr = dqmStore_->book1D(hCumul_name, hCumul_title, hCumul_NchX, hCumul_LowX, hCumul_HighX);
537  CondObj_ME.CumulDistr->setAxisTitle(hCumul_xTitle, 1);
538  CondObj_ME.CumulDistr->setAxisTitle(hCumul_yTitle, 2);
539 }

References dqm::implementation::IBooker::book1D(), SiStripHistoId::createHistoId(), SiStripBaseCondObjDQM::ModMEs::CumulDistr, dqmStore_, folder_organizer, edm::ParameterSet::getParameter(), hidmanager, hPSet_, dqm::impl::MonitorElement::setAxisTitle(), SiStripFolderOrganizer::setDetectorFolder(), and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by getModMEs().

◆ bookProfileMEs()

void SiStripBaseCondObjDQM::bookProfileMEs ( SiStripBaseCondObjDQM::ModMEs CondObj_ME,
const uint32_t &  detId_,
const TrackerTopology tTopo 
)
private

Definition at line 465 of file SiStripBaseCondObjDQM.cc.

467  {
468  int hProfile_NchX = 0;
469  double hProfile_LowX = 0;
470  double hProfile_HighX = 0;
471 
472  std::string hProfile_description;
473  hProfile_description = hPSet_.getParameter<std::string>("Profile_description");
474 
475  std::string hProfile_xTitle, hProfile_yTitle;
476  hProfile_xTitle = hPSet_.getParameter<std::string>("Profile_xTitle");
477  hProfile_yTitle = hPSet_.getParameter<std::string>("Profile_yTitle");
478 
479  if (CondObj_name_ != "apvgain") {
480  int nStrip = reader->getNumberOfApvsAndStripLength(detId_).first * 128;
481 
482  hProfile_NchX = nStrip;
483  hProfile_LowX = 0.5;
484  hProfile_HighX = nStrip + 0.5;
485  } else {
486  int nApv = reader->getNumberOfApvsAndStripLength(detId_).first;
487 
488  hProfile_NchX = nApv;
489  hProfile_LowX = 0.5;
490  hProfile_HighX = nApv + 0.5;
491  }
492 
493  folder_organizer.setDetectorFolder(detId_, tTopo);
494 
495  std::string hProfile_Name;
496  hProfile_Name = hidmanager.createHistoId(hProfile_description, "det", detId_);
497 
498  std::string hProfile;
499  hProfile = hProfile_Name;
500 
501  CondObj_ME.ProfileDistr = dqmStore_->book1D(hProfile_Name, hProfile, hProfile_NchX, hProfile_LowX, hProfile_HighX);
502  CondObj_ME.ProfileDistr->setAxisTitle(hProfile_xTitle, 1);
503  CondObj_ME.ProfileDistr->setAxisTitle(hProfile_yTitle, 2);
504 }

References dqm::implementation::IBooker::book1D(), CondObj_name_, SiStripHistoId::createHistoId(), dqmStore_, folder_organizer, SiStripDetInfoFileReader::getNumberOfApvsAndStripLength(), edm::ParameterSet::getParameter(), hidmanager, hPSet_, SiStripBaseCondObjDQM::ModMEs::ProfileDistr, reader, dqm::impl::MonitorElement::setAxisTitle(), SiStripFolderOrganizer::setDetectorFolder(), and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by getModMEs().

◆ bookSummaryCumulMEs()

void SiStripBaseCondObjDQM::bookSummaryCumulMEs ( SiStripBaseCondObjDQM::ModMEs CondObj_ME,
const uint32_t &  detId_,
const TrackerTopology tTopo 
)
private

Definition at line 771 of file SiStripBaseCondObjDQM.cc.

773  {
774  int hSummaryOfCumul_NchX = 0;
775  double hSummaryOfCumul_LowX = 0;
776  double hSummaryOfCumul_HighX = 0;
777 
778  std::string hSummaryOfCumul_description;
779  hSummaryOfCumul_description = hPSet_.getParameter<std::string>("SummaryOfCumul_description");
780 
781  std::string hSummaryOfCumul_xTitle, hSummaryOfCumul_yTitle;
782  hSummaryOfCumul_xTitle = hPSet_.getParameter<std::string>("SummaryOfCumul_xTitle");
783  hSummaryOfCumul_yTitle = hPSet_.getParameter<std::string>("SummaryOfCumul_yTitle");
784 
785  hSummaryOfCumul_NchX = hPSet_.getParameter<int>("SummaryOfCumul_NchX");
786  hSummaryOfCumul_LowX = hPSet_.getParameter<double>("SummaryOfCumul_LowX");
787  hSummaryOfCumul_HighX = hPSet_.getParameter<double>("SummaryOfCumul_HighX");
788 
789  uint32_t layer_ = 0;
790 
791  layer_ = folder_organizer.GetSubDetAndLayer(detId_, tTopo).second;
792 
793  folder_organizer.setLayerFolder(detId_, tTopo, layer_);
794 
795  std::string hSummaryOfCumul_name;
796 
797  // ---
798  int subdetectorId_ = ((detId_ >> 25) & 0x7);
799 
800  if (subdetectorId_ < 3 || subdetectorId_ > 6) {
801  edm::LogError("SiStripBaseCondObjDQM") << "[SiStripBaseCondObjDQM::bookSummaryCumulMEs] WRONG INPUT : no such "
802  "subdetector type : "
803  << subdetectorId_ << " no folder set!" << std::endl;
804  return;
805  }
806  // ---
807 
808  // LA and BP Histos are plotted for each string:
809  if ((CondObj_name_ == "lorentzangle" || CondObj_name_ == "bpcorrection") && SummaryOnStringLevel_On_) {
810  hSummaryOfCumul_name =
811  hidmanager.createHistoLayer(hSummaryOfCumul_description, "layer", getStringNameAndId(detId_, tTopo).first, "");
812  } else {
813  hSummaryOfCumul_name =
814  hidmanager.createHistoLayer(hSummaryOfCumul_description, "layer", getLayerNameAndId(detId_, tTopo).first, "");
815  }
816 
817  std::string hSummaryOfCumul_title;
818  hSummaryOfCumul_title = hSummaryOfCumul_name;
819 
820  CondObj_ME.SummaryOfCumulDistr = dqmStore_->book1D(
821  hSummaryOfCumul_name, hSummaryOfCumul_title, hSummaryOfCumul_NchX, hSummaryOfCumul_LowX, hSummaryOfCumul_HighX);
822 
823  CondObj_ME.SummaryOfCumulDistr->setAxisTitle(hSummaryOfCumul_xTitle, 1);
824  CondObj_ME.SummaryOfCumulDistr->setAxisTitle(hSummaryOfCumul_yTitle, 2);
825 }

References dqm::implementation::IBooker::book1D(), CondObj_name_, SiStripHistoId::createHistoLayer(), dqmStore_, dqmdumpme::first, folder_organizer, getLayerNameAndId(), edm::ParameterSet::getParameter(), getStringNameAndId(), SiStripFolderOrganizer::GetSubDetAndLayer(), hidmanager, hPSet_, sistrip::layer_, dqm::impl::MonitorElement::setAxisTitle(), SiStripFolderOrganizer::setLayerFolder(), AlCaHLTBitMon_QueryRunRegistry::string, SiStripBaseCondObjDQM::ModMEs::SummaryOfCumulDistr, and SummaryOnStringLevel_On_.

Referenced by getSummaryMEs().

◆ bookSummaryMEs()

void SiStripBaseCondObjDQM::bookSummaryMEs ( SiStripBaseCondObjDQM::ModMEs CondObj_ME,
const uint32_t &  detId_,
const TrackerTopology tTopo 
)
private

Definition at line 831 of file SiStripBaseCondObjDQM.cc.

833  {
834  std::vector<uint32_t> sameLayerDetIds_;
835 
836  int hSummary_NchX = 0;
837  double hSummary_LowX = 0;
838  double hSummary_HighX = 0;
839 
840  std::string hSummary_description;
841  hSummary_description = hPSet_.getParameter<std::string>("Summary_description");
842 
843  std::string hSummary_xTitle, hSummary_yTitle;
844  hSummary_xTitle = hPSet_.getParameter<std::string>("Summary_xTitle");
845  hSummary_yTitle = hPSet_.getParameter<std::string>("Summary_yTitle");
846 
847  int hSummary_NchY;
848  double hSummary_LowY, hSummary_HighY;
849  hSummary_NchY = hPSet_.getParameter<int>("Summary_NchY");
850  hSummary_LowY = hPSet_.getParameter<double>("Summary_LowY");
851  hSummary_HighY = hPSet_.getParameter<double>("Summary_HighY");
852 
853  // -----
854  // get detIds belonging to same layer to fill X-axis with detId-number
855 
856  sameLayerDetIds_.clear();
857 
858  sameLayerDetIds_ = GetSameLayerDetId(activeDetIds, detId_, tTopo);
859 
860  hSummary_NchX = sameLayerDetIds_.size();
861  hSummary_LowX = 0.5;
862  hSummary_HighX = sameLayerDetIds_.size() + 0.5;
863 
864  uint32_t layer_ = 0;
865 
866  layer_ = folder_organizer.GetSubDetAndLayer(detId_, tTopo).second;
867 
868  folder_organizer.setLayerFolder(detId_, tTopo, layer_);
869 
870  std::string hSummary_name;
871 
872  // ---
873  int subdetectorId_ = ((detId_ >> 25) & 0x7);
874 
875  if (subdetectorId_ < 3 || subdetectorId_ > 6) {
876  edm::LogError("SiStripBaseCondObjDQM") << "[SiStripBaseCondObjDQM::bookSummaryMEs] WRONG INPUT : no such "
877  "subdetector type : "
878  << subdetectorId_ << " no folder set!" << std::endl;
879  return;
880  }
881  // ---
882 
883  hSummary_name =
884  hidmanager.createHistoLayer(hSummary_description, "layer", getLayerNameAndId(detId_, tTopo).first, "");
885 
886  std::string hSummary_title;
887  hSummary_title = hSummary_name;
888 
889  CondObj_ME.SummaryDistr = dqmStore_->bookProfile(
890  hSummary_name, hSummary_title, hSummary_NchX, hSummary_LowX, hSummary_HighX, hSummary_NchY, 0., 0.);
891  // hSummary_LowY,
892  // hSummary_HighY);
893  CondObj_ME.SummaryDistr->setAxisTitle(hSummary_xTitle, 1);
894  CondObj_ME.SummaryDistr->setAxisTitle(hSummary_yTitle, 2);
895  CondObj_ME.SummaryDistr->setAxisRange(hSummary_LowY, hSummary_HighY, 2);
896 
897  // -----
898  // in order to get the right detId-number labelled in right bin of x-axis
899  unsigned int iBin = 0;
900 
901  for (unsigned int i = 0; i < sameLayerDetIds_.size(); i++) {
902  iBin++;
903  char sameLayerDetIds_Name[1024];
904  sprintf(sameLayerDetIds_Name, "%u", sameLayerDetIds_[i]);
905  if (iBin % 100 == 0)
906  CondObj_ME.SummaryDistr->setBinLabel(iBin, sameLayerDetIds_Name);
907  }
908  // -----
909 }

References activeDetIds, dqm::implementation::IBooker::bookProfile(), SiStripHistoId::createHistoLayer(), dqmStore_, dqmdumpme::first, folder_organizer, getLayerNameAndId(), edm::ParameterSet::getParameter(), GetSameLayerDetId(), SiStripFolderOrganizer::GetSubDetAndLayer(), hidmanager, hPSet_, mps_fire::i, sistrip::layer_, dqm::impl::MonitorElement::setAxisRange(), dqm::impl::MonitorElement::setAxisTitle(), dqm::impl::MonitorElement::setBinLabel(), SiStripFolderOrganizer::setLayerFolder(), AlCaHLTBitMon_QueryRunRegistry::string, and SiStripBaseCondObjDQM::ModMEs::SummaryDistr.

Referenced by getSummaryMEs().

◆ bookSummaryProfileMEs()

void SiStripBaseCondObjDQM::bookSummaryProfileMEs ( SiStripBaseCondObjDQM::ModMEs CondObj_ME,
const uint32_t &  detId_,
const TrackerTopology tTopo 
)
private

Definition at line 545 of file SiStripBaseCondObjDQM.cc.

547  {
548  std::vector<uint32_t> sameLayerDetIds_;
549 
550  int hSummaryOfProfile_NchX = 0;
551  double hSummaryOfProfile_LowX = 0;
552  double hSummaryOfProfile_HighX = 0;
553 
554  std::string hSummaryOfProfile_description;
555  hSummaryOfProfile_description = hPSet_.getParameter<std::string>("SummaryOfProfile_description");
556 
557  std::string hSummaryOfProfile_xTitle, hSummaryOfProfile_yTitle;
558  hSummaryOfProfile_xTitle = hPSet_.getParameter<std::string>("SummaryOfProfile_xTitle");
559  hSummaryOfProfile_yTitle = hPSet_.getParameter<std::string>("SummaryOfProfile_yTitle");
560 
561  int hSummaryOfProfile_NchY;
562  double hSummaryOfProfile_LowY, hSummaryOfProfile_HighY;
563  hSummaryOfProfile_NchY = hPSet_.getParameter<int>("SummaryOfProfile_NchY");
564  hSummaryOfProfile_LowY = hPSet_.getParameter<double>("SummaryOfProfile_LowY");
565  hSummaryOfProfile_HighY = hPSet_.getParameter<double>("SummaryOfProfile_HighY");
566 
567  int nStrip, nApv, layerId_;
568 
569  if (CondObj_name_ == "lorentzangle" && SummaryOnStringLevel_On_) {
570  layerId_ = getStringNameAndId(detId_, tTopo).second;
571  } else if (CondObj_name_ == "bpcorrection" && SummaryOnStringLevel_On_) {
572  layerId_ = getStringNameAndId(detId_, tTopo).second;
573  } else {
574  layerId_ = getLayerNameAndId(detId_, tTopo).second;
575  }
576 
577  if (CondObj_name_ == "pedestal" || CondObj_name_ == "noise" || CondObj_name_ == "lowthreshold" ||
578  CondObj_name_ == "highthreshold") { // plot in strip number
579 
580  if ((layerId_ > 610 && layerId_ < 620) || // TID & TEC have 768 strips at maximum
581  (layerId_ > 620 && layerId_ < 630) || (layerId_ > 410 && layerId_ < 414) ||
582  (layerId_ > 420 && layerId_ < 424)) {
583  nStrip = 768;
584  } else {
585  nStrip = reader->getNumberOfApvsAndStripLength(detId_).first * 128;
586  }
587 
588  hSummaryOfProfile_NchX = nStrip;
589  hSummaryOfProfile_LowX = 0.5;
590  hSummaryOfProfile_HighX = nStrip + 0.5;
591 
592  } else if (((CondObj_name_ == "lorentzangle" || CondObj_name_ == "bpcorrection") && SummaryOnLayerLevel_On_) ||
593  CondObj_name_ == "quality") { // plot in detId-number
594 
595  // -----
596  // get detIds belonging to same layer to fill X-axis with detId-number
597 
598  sameLayerDetIds_.clear();
599 
600  switch (DetId(detId_).subdetId()) {
603  activeDetIds, sameLayerDetIds_, tTopo, tTopo->tibLayer(detId_), 0, 0, tTopo->tibString(detId_));
604  break;
606  SiStripSubStructure::getTIDDetectors(activeDetIds, sameLayerDetIds_, tTopo, 0, 0, 0, 0);
607  break;
609  SiStripSubStructure::getTOBDetectors(activeDetIds, sameLayerDetIds_, tTopo, tTopo->tobLayer(detId_), 0, 0);
610  break;
612  SiStripSubStructure::getTECDetectors(activeDetIds, sameLayerDetIds_, tTopo, 0, 0, 0, 0, 0, 0);
613  break;
614  }
615 
616  hSummaryOfProfile_NchX = sameLayerDetIds_.size();
617  hSummaryOfProfile_LowX = 0.5;
618  hSummaryOfProfile_HighX = sameLayerDetIds_.size() + 0.5;
619 
620  } else if ((CondObj_name_ == "lorentzangle" || CondObj_name_ == "bpcorrection") &&
621  SummaryOnStringLevel_On_) { // plot in detId-number
622 
623  // -----
624  // get detIds belonging to same string to fill X-axis with detId-number
625 
626  sameLayerDetIds_.clear();
627 
628  switch (DetId(detId_).subdetId()) {
630  if (tTopo->tibIsInternalString(detId_)) {
632  activeDetIds, sameLayerDetIds_, tTopo, tTopo->tibLayer(detId_), 0, 1, tTopo->tibString(detId_));
633  } else if (tTopo->tibIsExternalString(detId_)) {
635  activeDetIds, sameLayerDetIds_, tTopo, tTopo->tibLayer(detId_), 0, 2, tTopo->tibString(detId_));
636  }
637  break;
639  SiStripSubStructure::getTIDDetectors(activeDetIds, sameLayerDetIds_, tTopo, 0, 0, 0, 0);
640  break;
643  activeDetIds, sameLayerDetIds_, tTopo, tTopo->tobLayer(detId_), 0, tTopo->tobRod(detId_));
644  break;
646  SiStripSubStructure::getTECDetectors(activeDetIds, sameLayerDetIds_, tTopo, 0, 0, 0, 0, 0, 0);
647  break;
648  }
649 
650  hSummaryOfProfile_NchX = sameLayerDetIds_.size();
651  hSummaryOfProfile_LowX = 0.5;
652  hSummaryOfProfile_HighX = sameLayerDetIds_.size() + 0.5;
653 
654  } else if (CondObj_name_ == "apvgain") {
655  if ((layerId_ > 610 && layerId_ < 620) || // TID & TEC have 6 apvs at maximum
656  (layerId_ > 620 && layerId_ < 630) || (layerId_ > 410 && layerId_ < 414) ||
657  (layerId_ > 420 && layerId_ < 424)) {
658  nApv = 6;
659  } else {
660  nApv = reader->getNumberOfApvsAndStripLength(detId_).first;
661  }
662 
663  hSummaryOfProfile_NchX = nApv;
664  hSummaryOfProfile_LowX = 0.5;
665  hSummaryOfProfile_HighX = nApv + 0.5;
666 
667  } else {
668  edm::LogWarning("SiStripBaseCondObjDQM") << "[SiStripBaseCondObjDQM::bookSummaryProfileMEs] PLEASE CHECK : "
669  "x-axis label in your cfg"
670  << std::endl;
671  }
672 
673  uint32_t layer_ = 0;
674 
675  layer_ = folder_organizer.GetSubDetAndLayer(detId_, tTopo).second;
676 
677  folder_organizer.setLayerFolder(detId_, tTopo, layer_);
678 
679  std::string hSummaryOfProfile_name;
680 
681  // ---
682  int subdetectorId_ = ((detId_ >> 25) & 0x7);
683 
684  if (subdetectorId_ < 3 || subdetectorId_ > 6) {
685  edm::LogError("SiStripBaseCondObjDQM") << "[SiStripBaseCondObjDQM::bookSummaryProfileMEs] WRONG INPUT : no "
686  "such subdetector type : "
687  << subdetectorId_ << " no folder set!" << std::endl;
688  return;
689  }
690  // ---
691 
692  if ((CondObj_name_ == "lorentzangle" || CondObj_name_ == "bpcorrection") && SummaryOnStringLevel_On_) {
693  hSummaryOfProfile_name = hidmanager.createHistoLayer(
694  hSummaryOfProfile_description, "layer", getStringNameAndId(detId_, tTopo).first, "");
695  } else {
696  hSummaryOfProfile_name =
697  hidmanager.createHistoLayer(hSummaryOfProfile_description, "layer", getLayerNameAndId(detId_, tTopo).first, "");
698  }
699 
700  std::string hSummaryOfProfile_title;
701  hSummaryOfProfile_title = hSummaryOfProfile_name;
702 
703  CondObj_ME.SummaryOfProfileDistr = dqmStore_->bookProfile(hSummaryOfProfile_name,
704  hSummaryOfProfile_title,
705  hSummaryOfProfile_NchX,
706  hSummaryOfProfile_LowX,
707  hSummaryOfProfile_HighX,
708  hSummaryOfProfile_NchY,
709  0.,
710  0.);
711  // hSummaryOfProfile_LowY,
712  // hSummaryOfProfile_HighY);
713  CondObj_ME.SummaryOfProfileDistr->setAxisTitle(hSummaryOfProfile_xTitle, 1);
714  CondObj_ME.SummaryOfProfileDistr->setAxisTitle(hSummaryOfProfile_yTitle, 2);
715  CondObj_ME.SummaryOfProfileDistr->setAxisRange(hSummaryOfProfile_LowY, hSummaryOfProfile_HighY, 2);
716 
717  // -----
718  // in order to get the right detId-number labelled in right bin of x-axis
719 
720  if (CondObj_name_ == "quality") {
721  unsigned int iBin = 0;
722 
723  for (unsigned int i = 0; i < sameLayerDetIds_.size(); i++) {
724  iBin++;
725  char sameLayerDetIds_Name[1024];
726  sprintf(sameLayerDetIds_Name, "%u", sameLayerDetIds_[i]);
727  CondObj_ME.SummaryOfProfileDistr->setBinLabel(iBin, sameLayerDetIds_Name);
728  }
729  }
730  if (CondObj_name_ == "lorentzangle" || CondObj_name_ == "bpcorrection") {
731  // Put the detIds for the -z side as following the geometrical order:
732  reverse(sameLayerDetIds_.begin(), sameLayerDetIds_.begin() + sameLayerDetIds_.size() / 2);
733 
734  unsigned int iBin = 0;
735  for (unsigned int i = 0; i < sameLayerDetIds_.size(); i++) {
736  iBin++;
738  // remove the label for detIds:
739  CondObj_ME.SummaryOfProfileDistr->setBinLabel(iBin, "");
740  }
741 
743  // Label with module position instead of detIds:
744  char sameLayerDetIds_Name[1024];
745  if (subdetectorId_ == 3) { // re-abelling for TIB
746  if (tTopo->tibIsZPlusSide(sameLayerDetIds_[i])) {
747  sprintf(sameLayerDetIds_Name, "%i", tTopo->tibModule(sameLayerDetIds_[i]));
748  } else if (tTopo->tibIsZMinusSide(sameLayerDetIds_[i])) {
749  sprintf(sameLayerDetIds_Name, "%i", -tTopo->tibModule(sameLayerDetIds_[i]));
750  }
751  CondObj_ME.SummaryOfProfileDistr->setBinLabel(iBin, sameLayerDetIds_Name);
752  } else if (subdetectorId_ == 5) { // re-abelling for TOB
753  if (tTopo->tobIsZPlusSide(sameLayerDetIds_[i])) {
754  sprintf(sameLayerDetIds_Name, "%i", tTopo->tobModule(sameLayerDetIds_[i]));
755  } else if (tTopo->tobIsZMinusSide(sameLayerDetIds_[i])) {
756  sprintf(sameLayerDetIds_Name, "%i", -tTopo->tobModule(sameLayerDetIds_[i]));
757  }
758  CondObj_ME.SummaryOfProfileDistr->setBinLabel(iBin, sameLayerDetIds_Name);
759  }
760  }
761  }
762 
763  // -----
764 
765  } // if "lorentzangle"
766 }

References activeDetIds, dqm::implementation::IBooker::bookProfile(), CondObj_name_, SiStripHistoId::createHistoLayer(), dqmStore_, dqmdumpme::first, folder_organizer, getLayerNameAndId(), SiStripDetInfoFileReader::getNumberOfApvsAndStripLength(), edm::ParameterSet::getParameter(), getStringNameAndId(), SiStripFolderOrganizer::GetSubDetAndLayer(), SiStripSubStructure::getTECDetectors(), SiStripSubStructure::getTIBDetectors(), SiStripSubStructure::getTIDDetectors(), SiStripSubStructure::getTOBDetectors(), hidmanager, hPSet_, mps_fire::i, sistrip::layer_, reader, groupFilesInBlocks::reverse, dqm::impl::MonitorElement::setAxisRange(), dqm::impl::MonitorElement::setAxisTitle(), dqm::impl::MonitorElement::setBinLabel(), SiStripFolderOrganizer::setLayerFolder(), AlCaHLTBitMon_QueryRunRegistry::string, SiStripBaseCondObjDQM::ModMEs::SummaryOfProfileDistr, SummaryOnLayerLevel_On_, SummaryOnStringLevel_On_, StripSubdetector::TEC, StripSubdetector::TIB, TrackerTopology::tibIsExternalString(), TrackerTopology::tibIsInternalString(), TrackerTopology::tibIsZMinusSide(), TrackerTopology::tibIsZPlusSide(), TrackerTopology::tibLayer(), TrackerTopology::tibModule(), TrackerTopology::tibString(), StripSubdetector::TID, StripSubdetector::TOB, TrackerTopology::tobIsZMinusSide(), TrackerTopology::tobIsZPlusSide(), TrackerTopology::tobLayer(), TrackerTopology::tobModule(), and TrackerTopology::tobRod().

Referenced by getSummaryMEs().

◆ bookTkMap()

void SiStripBaseCondObjDQM::bookTkMap ( const std::string &  TkMapname)
private

Definition at line 1141 of file SiStripBaseCondObjDQM.cc.

1141 { tkMap = new TrackerMap(TkMapname); }

References tkMap.

Referenced by SiStripBaseCondObjDQM().

◆ end()

void SiStripBaseCondObjDQM::end ( void  )
virtual

Definition at line 1193 of file SiStripBaseCondObjDQM.cc.

1193  {
1194  edm::LogInfo("SiStripBaseCondObjDQM") << "SiStripBaseCondObjDQM::end" << std::endl;
1195 }

Referenced by Types.LuminosityBlockRange::cppID(), and Types.EventRange::cppID().

◆ fillMEsForDet()

virtual void SiStripBaseCondObjDQM::fillMEsForDet ( const ModMEs selModME_,
uint32_t  selDetId_,
const TrackerTopology tTopo 
)
protectedpure virtual

◆ fillMEsForLayer()

virtual void SiStripBaseCondObjDQM::fillMEsForLayer ( uint32_t  selDetId_,
const TrackerTopology tTopo 
)
protectedpure virtual

◆ fillModMEs()

void SiStripBaseCondObjDQM::fillModMEs ( const std::vector< uint32_t > &  selectedDetIds,
const edm::EventSetup es 
)
protectedvirtual

Reimplemented in SiStripQualityDQM, SiStripCablingDQM, SiStripApvGainsDQM, SiStripBackPlaneCorrectionDQM, SiStripLorentzAngleDQM, SiStripPedestalsDQM, and SiStripThresholdDQM.

Definition at line 1198 of file SiStripBaseCondObjDQM.cc.

1198  {
1199  // Retrieve tracker topology from geometry
1200  edm::ESHandle<TrackerTopology> tTopoHandle;
1201  es.get<TrackerTopologyRcd>().get(tTopoHandle);
1202  const TrackerTopology *const tTopo = tTopoHandle.product();
1203 
1204  ModMEs CondObj_ME;
1205 
1206  for (std::vector<uint32_t>::const_iterator detIter_ = selectedDetIds.begin(); detIter_ != selectedDetIds.end();
1207  ++detIter_) {
1208  fillMEsForDet(CondObj_ME, *detIter_, tTopo);
1209  }
1210 }

References fillMEsForDet(), edm::EventSetup::get(), get, and edm::ESHandle< T >::product().

Referenced by analysis(), and analysisOnDemand().

◆ fillSummaryMEs()

void SiStripBaseCondObjDQM::fillSummaryMEs ( const std::vector< uint32_t > &  selectedDetIds,
const edm::EventSetup es 
)
protectedvirtual

Reimplemented in SiStripQualityDQM, SiStripCablingDQM, SiStripApvGainsDQM, SiStripBackPlaneCorrectionDQM, SiStripLorentzAngleDQM, SiStripPedestalsDQM, and SiStripThresholdDQM.

Definition at line 1213 of file SiStripBaseCondObjDQM.cc.

1213  {
1214  // Retrieve tracker topology from geometry
1215  edm::ESHandle<TrackerTopology> tTopoHandle;
1216  es.get<TrackerTopologyRcd>().get(tTopoHandle);
1217  const TrackerTopology *const tTopo = tTopoHandle.product();
1218 
1219  for (std::vector<uint32_t>::const_iterator detIter_ = selectedDetIds.begin(); detIter_ != selectedDetIds.end();
1220  detIter_++) {
1221  fillMEsForLayer(/*SummaryMEsMap_,*/ *detIter_, tTopo);
1222  }
1223 
1224  for (std::map<uint32_t, ModMEs>::iterator iter = SummaryMEsMap_.begin(); iter != SummaryMEsMap_.end(); iter++) {
1225  ModMEs selME;
1226  selME = iter->second;
1227 
1228  if (hPSet_.getParameter<bool>("FillSummaryProfileAtLayerLevel") &&
1229  fPSet_.getParameter<bool>("OutputSummaryProfileAtLayerLevelAsImage")) {
1230  if (CondObj_fillId_ == "onlyProfile" || CondObj_fillId_ == "ProfileAndCumul") {
1231  TCanvas c1("c1");
1232  selME.SummaryOfProfileDistr->getTProfile()->Draw();
1233  std::string name(selME.SummaryOfProfileDistr->getTProfile()->GetTitle());
1234  name += ".png";
1235  c1.Print(name.c_str());
1236  }
1237  }
1238  if (hPSet_.getParameter<bool>("FillSummaryAtLayerLevel") &&
1239  fPSet_.getParameter<bool>("OutputSummaryAtLayerLevelAsImage")) {
1240  TCanvas c1("c1");
1241  selME.SummaryDistr->getTH1()->Draw();
1242  std::string name(selME.SummaryDistr->getTH1()->GetTitle());
1243  name += ".png";
1244  c1.Print(name.c_str());
1245  }
1246  if (hPSet_.getParameter<bool>("FillCumulativeSummaryAtLayerLevel") &&
1247  fPSet_.getParameter<bool>("OutputCumulativeSummaryAtLayerLevelAsImage")) {
1248  if (CondObj_fillId_ == "onlyCumul" || CondObj_fillId_ == "ProfileAndCumul") {
1249  TCanvas c1("c1");
1250  selME.SummaryOfCumulDistr->getTH1()->Draw();
1251  std::string name(selME.SummaryOfCumulDistr->getTH1()->GetTitle());
1252  name += ".png";
1253  c1.Print(name.c_str());
1254  }
1255  }
1256  }
1257 }

References alignmentValidation::c1, CondObj_fillId_, fillMEsForLayer(), fPSet_, edm::EventSetup::get(), get, edm::ParameterSet::getParameter(), dqm::legacy::MonitorElement::getTH1(), dqm::legacy::MonitorElement::getTProfile(), hPSet_, Skims_PA_cff::name, edm::ESHandle< T >::product(), AlCaHLTBitMon_QueryRunRegistry::string, SiStripBaseCondObjDQM::ModMEs::SummaryDistr, SummaryMEsMap_, SiStripBaseCondObjDQM::ModMEs::SummaryOfCumulDistr, and SiStripBaseCondObjDQM::ModMEs::SummaryOfProfileDistr.

Referenced by analysis(), and analysisOnDemand().

◆ fillTkMap()

void SiStripBaseCondObjDQM::fillTkMap ( const uint32_t &  detid,
const float &  value 
)
protected

◆ getActiveDetIds()

virtual void SiStripBaseCondObjDQM::getActiveDetIds ( const edm::EventSetup eSetup)
pure virtual

◆ getCabledModules()

std::vector< uint32_t > SiStripBaseCondObjDQM::getCabledModules ( )

Definition at line 159 of file SiStripBaseCondObjDQM.cc.

159  {
160  std::vector<uint32_t> cabledDetIds_;
163 
164  return cabledDetIds_;
165 }

References SiStripDetCabling::addActiveDetectorsRawIds(), detCablingHandle_, eSetup_, edm::EventSetup::get(), and get.

◆ getCache()

virtual unsigned long long SiStripBaseCondObjDQM::getCache ( const edm::EventSetup eSetup_)
pure virtual

◆ getConditionObject()

virtual void SiStripBaseCondObjDQM::getConditionObject ( const edm::EventSetup eSetup_)
pure virtual

◆ getLayerNameAndId()

std::pair< std::string, uint32_t > SiStripBaseCondObjDQM::getLayerNameAndId ( const uint32_t &  detId_,
const TrackerTopology tTopo 
)
protected

Definition at line 913 of file SiStripBaseCondObjDQM.cc.

914  {
915  int subdetectorId_ = ((detId_ >> 25) & 0x7);
916  int layerId_ = 0;
917 
918  std::stringstream layerName;
919 
920  if (subdetectorId_ == 3) { // TIB
921 
922  for (unsigned int i = 1; i < 5; i++) {
923  if (tTopo->tibLayer(detId_) == i) {
924  layerName << "TIB__layer__" << i;
925  layerId_ = 300 + i;
926  }
927  }
928 
929  }
930 
931  else if (subdetectorId_ == 4) { // TIDD
932 
933  if (tTopo->tidSide(detId_) == 1) { // TIDD side 1
934 
935  for (unsigned int i = 1; i < 4; i++) {
936  if (tTopo->tidWheel(detId_) == i) {
937  layerName << "TID__side__1__wheel__" << i;
938  layerId_ = 410 + i;
939  }
940  }
941 
942  }
943 
944  else if (tTopo->tidSide(detId_) == 2) { // TIDD side 2
945 
946  for (unsigned int i = 1; i < 4; i++) {
947  if (tTopo->tidWheel(detId_) == i) {
948  layerName << "TID__side__2__wheel__" << i;
949  layerId_ = 420 + i;
950  }
951  }
952  }
953 
954  }
955 
956  else if (subdetectorId_ == 5) { // TOB
957 
958  for (unsigned int i = 1; i < 7; i++) {
959  if (tTopo->tobLayer(detId_) == i) {
960  layerName << "TOB__layer__" << i;
961  layerId_ = 500 + i;
962  }
963  }
964 
965  }
966 
967  else if (subdetectorId_ == 6) { // TEC
968 
969  if (tTopo->tecSide(detId_) == 1) { // TEC side 1
970 
971  for (unsigned int i = 1; i < 10; i++) {
972  if (tTopo->tecWheel(detId_) == i) {
973  layerName << "TEC__side__1__wheel__" << i;
974  layerId_ = 610 + i;
975  }
976  }
977 
978  }
979 
980  else if (tTopo->tecSide(detId_) == 2) { // TEC side 2
981 
982  for (unsigned int i = 1; i < 10; i++) {
983  if (tTopo->tecWheel(detId_) == i) {
984  layerName << "TEC__side__2__wheel__" << i;
985  layerId_ = 620 + i;
986  }
987  }
988  }
989  }
990 
991  return std::make_pair(layerName.str(), layerId_);
992 }

References mps_fire::i, TrackerTopology::tecSide(), TrackerTopology::tecWheel(), TrackerTopology::tibLayer(), TrackerTopology::tidSide(), TrackerTopology::tidWheel(), and TrackerTopology::tobLayer().

Referenced by bookSummaryCumulMEs(), bookSummaryMEs(), bookSummaryProfileMEs(), SiStripNoisesDQM::fillMEsForLayer(), SiStripPedestalsDQM::fillMEsForLayer(), SiStripLorentzAngleDQM::fillMEsForLayer(), SiStripBackPlaneCorrectionDQM::fillMEsForLayer(), SiStripThresholdDQM::fillMEsForLayer(), SiStripApvGainsDQM::fillMEsForLayer(), SiStripQualityDQM::fillMEsForLayer(), SiStripBackPlaneCorrectionDQM::fillSummaryMEs(), SiStripLorentzAngleDQM::fillSummaryMEs(), and getSummaryMEs().

◆ getModMEs()

void SiStripBaseCondObjDQM::getModMEs ( ModMEs CondObj_ME,
const uint32_t &  detId_,
const TrackerTopology tTopo 
)
protected

Definition at line 363 of file SiStripBaseCondObjDQM.cc.

363  {
364  std::map<uint32_t, ModMEs>::const_iterator ModMEsMap_iter = ModMEsMap_.find(detId_);
365 
366  if (ModMEsMap_iter != ModMEsMap_.end()) {
367  CondObj_ME = ModMEsMap_iter->second;
368 
369  if ((CondObj_fillId_ == "ProfileAndCumul" || CondObj_fillId_ == "onlyProfile") && CondObj_ME.ProfileDistr) {
370  CondObj_ME.ProfileDistr->Reset();
371  }
372 
373  if ((CondObj_fillId_ == "ProfileAndCumul" || CondObj_fillId_ == "onlyCumul") && CondObj_ME.CumulDistr) {
374  CondObj_ME.CumulDistr->Reset();
375  } else {
376  edm::LogWarning("SiStripBaseCondObjDQM") << "[SiStripBaseCondObjDQM::getModMEs] PLEASE CHECK : CondObj_fillId "
377  "option mispelled";
378  }
379  return;
380  }
381 
382  // --> profile defined for all CondData
383  if ((CondObj_fillId_ == "ProfileAndCumul" || CondObj_fillId_ == "onlyProfile")) {
384  bookProfileMEs(CondObj_ME, detId_, tTopo);
385  }
386 
387  // --> cumul currently only defined for noise and apvgain
388  if ((CondObj_fillId_ == "ProfileAndCumul" || CondObj_fillId_ == "onlyCumul") &&
389  (CondObj_name_ == "noise" || CondObj_name_ == "apvgain"))
390  bookCumulMEs(CondObj_ME, detId_, tTopo);
391 
392  ModMEsMap_.insert(std::make_pair(detId_, CondObj_ME));
393 }

References bookCumulMEs(), bookProfileMEs(), CondObj_fillId_, CondObj_name_, SiStripBaseCondObjDQM::ModMEs::CumulDistr, ModMEsMap_, SiStripBaseCondObjDQM::ModMEs::ProfileDistr, and dqm::impl::MonitorElement::Reset().

Referenced by SiStripNoisesDQM::fillMEsForDet(), SiStripThresholdDQM::fillMEsForDet(), SiStripPedestalsDQM::fillMEsForDet(), SiStripApvGainsDQM::fillMEsForDet(), and SiStripQualityDQM::fillMEsForDet().

◆ GetSameLayerDetId()

std::vector< uint32_t > SiStripBaseCondObjDQM::GetSameLayerDetId ( const std::vector< uint32_t > &  activeDetIds,
uint32_t  selDetId,
const TrackerTopology tTopo 
)
protected

Definition at line 1114 of file SiStripBaseCondObjDQM.cc.

1116  {
1117  std::vector<uint32_t> sameLayerDetIds;
1118  sameLayerDetIds.clear();
1119 
1120  switch (DetId(selDetId).subdetId()) {
1121  case StripSubdetector::TIB:
1122  SiStripSubStructure::getTIBDetectors(activeDetIds, sameLayerDetIds, tTopo, tTopo->tibLayer(selDetId), 0, 0, 0);
1123  break;
1124  case StripSubdetector::TID:
1126  activeDetIds, sameLayerDetIds, tTopo, tTopo->tidSide(selDetId), tTopo->tidWheel(selDetId), 0, 0);
1127  break;
1128  case StripSubdetector::TOB:
1129  SiStripSubStructure::getTOBDetectors(activeDetIds, sameLayerDetIds, tTopo, tTopo->tobLayer(selDetId), 0, 0);
1130  break;
1131  case StripSubdetector::TEC:
1133  activeDetIds, sameLayerDetIds, tTopo, tTopo->tecSide(selDetId), tTopo->tecWheel(selDetId), 0, 0, 0, 0);
1134  break;
1135  }
1136 
1137  return sameLayerDetIds;
1138 }

References activeDetIds, SiStripSubStructure::getTECDetectors(), SiStripSubStructure::getTIBDetectors(), SiStripSubStructure::getTIDDetectors(), SiStripSubStructure::getTOBDetectors(), StripSubdetector::TEC, TrackerTopology::tecSide(), TrackerTopology::tecWheel(), StripSubdetector::TIB, TrackerTopology::tibLayer(), StripSubdetector::TID, TrackerTopology::tidSide(), TrackerTopology::tidWheel(), StripSubdetector::TOB, and TrackerTopology::tobLayer().

Referenced by bookSummaryMEs(), SiStripNoisesDQM::fillMEsForLayer(), SiStripThresholdDQM::fillMEsForLayer(), SiStripPedestalsDQM::fillMEsForLayer(), SiStripLorentzAngleDQM::fillMEsForLayer(), SiStripBackPlaneCorrectionDQM::fillMEsForLayer(), SiStripApvGainsDQM::fillMEsForLayer(), and SiStripQualityDQM::fillMEsForLayer().

◆ getStringNameAndId()

std::pair< std::string, uint32_t > SiStripBaseCondObjDQM::getStringNameAndId ( const uint32_t &  detId_,
const TrackerTopology tTopo 
)
protected

Definition at line 997 of file SiStripBaseCondObjDQM.cc.

998  {
999  int subdetectorId_ = ((detId_ >> 25) & 0x7);
1000  int layerStringId_ = 0;
1001 
1002  std::stringstream layerStringName;
1003 
1004  if (subdetectorId_ == 3) { // TIB
1005  if (tTopo->tibLayer(detId_) == 1 && tTopo->tibIsInternalString(detId_)) { // 1st layer int
1006  for (unsigned int i = 1; i < 27; i++) {
1007  if (tTopo->tibString(detId_) == i) {
1008  layerStringName << "TIB_L1_Int_Str_" << i;
1009  layerStringId_ = 30110 + i;
1010  }
1011  }
1012  } else if (tTopo->tibLayer(detId_) == 1 && tTopo->tibIsExternalString(detId_)) { // 1st layer ext
1013  for (unsigned int i = 1; i < 31; i++) {
1014  if (tTopo->tibString(detId_) == i) {
1015  layerStringName << "TIB_L1_Ext_Str_" << i;
1016  layerStringId_ = 301200 + i;
1017  }
1018  }
1019  } else if (tTopo->tibLayer(detId_) == 2 && tTopo->tibIsInternalString(detId_)) { // 2nd layer int
1020  for (unsigned int i = 1; i < 35; i++) {
1021  if (tTopo->tibString(detId_) == i) {
1022  layerStringName << "TIB_L2_Int_Str_" << i;
1023  layerStringId_ = 302100 + i;
1024  }
1025  }
1026  } else if (tTopo->tibLayer(detId_) == 2 && tTopo->tibIsExternalString(detId_)) { // 2nd layer ext
1027  for (unsigned int i = 1; i < 39; i++) {
1028  if (tTopo->tibString(detId_) == i) {
1029  layerStringName << "TIB_L2_Ext_Str_" << i;
1030  layerStringId_ = 302200 + i;
1031  }
1032  }
1033  } else if (tTopo->tibLayer(detId_) == 3 && tTopo->tibIsInternalString(detId_)) { // 3rd layer int
1034  for (unsigned int i = 1; i < 45; i++) {
1035  if (tTopo->tibString(detId_) == i) {
1036  layerStringName << "TIB_L3_Int_Str_" << i;
1037  layerStringId_ = 303100 + i;
1038  }
1039  }
1040  } else if (tTopo->tibLayer(detId_) == 3 && tTopo->tibIsExternalString(detId_)) { // 3rd layer ext
1041  for (unsigned int i = 1; i < 47; i++) {
1042  if (tTopo->tibString(detId_) == i) {
1043  layerStringName << "TIB_L3_Ext_Str_" << i;
1044  layerStringId_ = 303200 + i;
1045  }
1046  }
1047  } else if (tTopo->tibLayer(detId_) == 4 && tTopo->tibIsInternalString(detId_)) { // 4th layer int
1048  for (unsigned int i = 1; i < 53; i++) {
1049  if (tTopo->tibString(detId_) == i) {
1050  layerStringName << "TIB_L4_Int_Str_" << i;
1051  layerStringId_ = 304100 + i;
1052  }
1053  }
1054  } else if (tTopo->tibLayer(detId_) == 4 && tTopo->tibIsExternalString(detId_)) { // 4th layer ext
1055  for (unsigned int i = 1; i < 57; i++) {
1056  if (tTopo->tibString(detId_) == i) {
1057  layerStringName << "TIB_L4_Ext_Str_" << i;
1058  layerStringId_ = 304200 + i;
1059  }
1060  }
1061  }
1062  } // TIB
1063 
1064  else if (subdetectorId_ == 5) { // TOB
1065  if (tTopo->tobLayer(detId_) == 1) { // 1st layer
1066  for (unsigned int i = 1; i < 43; i++) {
1067  if (tTopo->tobRod(detId_) == i) {
1068  layerStringName << "TOB_L1_Rod_" << i;
1069  layerStringId_ = 50100 + i;
1070  }
1071  }
1072  } else if (tTopo->tobLayer(detId_) == 2) { // 2nd layer
1073  for (unsigned int i = 1; i < 49; i++) {
1074  if (tTopo->tobRod(detId_) == i) {
1075  layerStringName << "TOB_L2_Rod_" << i;
1076  layerStringId_ = 50200 + i;
1077  }
1078  }
1079  } else if (tTopo->tobLayer(detId_) == 3) { // 3rd layer
1080  for (unsigned int i = 1; i < 55; i++) {
1081  if (tTopo->tobRod(detId_) == i) {
1082  layerStringName << "TOB_L3_Rod_" << i;
1083  layerStringId_ = 50300 + i;
1084  }
1085  }
1086  } else if (tTopo->tobLayer(detId_) == 4) { // 4th layer
1087  for (unsigned int i = 1; i < 61; i++) {
1088  if (tTopo->tobRod(detId_) == i) {
1089  layerStringName << "TOB_L4_Rod_" << i;
1090  layerStringId_ = 50400 + i;
1091  }
1092  }
1093  } else if (tTopo->tobLayer(detId_) == 5) { // 5th layer
1094  for (unsigned int i = 1; i < 67; i++) {
1095  if (tTopo->tobRod(detId_) == i) {
1096  layerStringName << "TOB_L5_Rod_" << i;
1097  layerStringId_ = 50500 + i;
1098  }
1099  }
1100  } else if (tTopo->tobLayer(detId_) == 6) { // 6st layer
1101  for (unsigned int i = 1; i < 75; i++) {
1102  if (tTopo->tobRod(detId_) == i) {
1103  layerStringName << "TOB_L6_Rod_" << i;
1104  layerStringId_ = 50600 + i;
1105  }
1106  }
1107  }
1108  } // TOB
1109 
1110  return std::make_pair(layerStringName.str(), layerStringId_);
1111 }

References mps_fire::i, TrackerTopology::tibIsExternalString(), TrackerTopology::tibIsInternalString(), TrackerTopology::tibLayer(), TrackerTopology::tibString(), TrackerTopology::tobLayer(), and TrackerTopology::tobRod().

Referenced by bookSummaryCumulMEs(), bookSummaryProfileMEs(), SiStripNoisesDQM::fillMEsForLayer(), SiStripBackPlaneCorrectionDQM::fillMEsForLayer(), SiStripLorentzAngleDQM::fillMEsForLayer(), SiStripBackPlaneCorrectionDQM::fillSummaryMEs(), SiStripLorentzAngleDQM::fillSummaryMEs(), and getSummaryMEs().

◆ getSummaryMEs()

void SiStripBaseCondObjDQM::getSummaryMEs ( ModMEs CondObj_ME,
const uint32_t &  detId_,
const TrackerTopology tTopo 
)
protected

Definition at line 399 of file SiStripBaseCondObjDQM.cc.

399  {
400  std::map<uint32_t, ModMEs>::const_iterator SummaryMEsMap_iter;
401 
402  if (CondObj_name_ == "lorentzangle" && SummaryOnStringLevel_On_) {
403  SummaryMEsMap_iter = SummaryMEsMap_.find(getStringNameAndId(detId_, tTopo).second);
404  } else if (CondObj_name_ == "bpcorrection" && SummaryOnStringLevel_On_) {
405  SummaryMEsMap_iter = SummaryMEsMap_.find(getStringNameAndId(detId_, tTopo).second);
406  } else {
407  SummaryMEsMap_iter = SummaryMEsMap_.find(getLayerNameAndId(detId_, tTopo).second);
408  }
409 
410  if (SummaryMEsMap_iter != SummaryMEsMap_.end()) {
411  return;
412  }
413 
414  // FIXME t's not good that the base class has to know about which derived
415  // class shoudl exist.
416  // please modify this part. implement virtual functions, esplicited in the
417  // derived classes
418  // --> currently only profile summary defined for all condition objects except
419  // quality
420  if ((CondObj_fillId_ == "ProfileAndCumul" || CondObj_fillId_ == "onlyProfile") &&
421  (CondObj_name_ == "pedestal" || CondObj_name_ == "noise" || CondObj_name_ == "lowthreshold" ||
422  CondObj_name_ == "highthreshold" || CondObj_name_ == "apvgain" || CondObj_name_ == "bpcorrection" ||
423  CondObj_name_ == "lorentzangle")) {
424  if (hPSet_.getParameter<bool>("FillSummaryProfileAtLayerLevel"))
425  if (!CondObj_ME.SummaryOfProfileDistr) {
426  bookSummaryProfileMEs(CondObj_ME, detId_, tTopo);
427  }
428  }
429 
430  // --> currently only genuine cumul LA
431  if ((CondObj_fillId_ == "ProfileAndCumul" || CondObj_fillId_ == "onlyCumul") &&
432  (CondObj_name_ == "lorentzangle" || CondObj_name_ == "bpcorrection" || CondObj_name_ == "noise")) {
433  if (hPSet_.getParameter<bool>("FillCumulativeSummaryAtLayerLevel"))
434  if (!CondObj_ME.SummaryOfCumulDistr) {
435  bookSummaryCumulMEs(CondObj_ME, detId_, tTopo);
436  }
437  }
438 
439  // --> currently only summary as a function of detId for noise, pedestal and
440  // apvgain
441  if (CondObj_name_ == "noise" || CondObj_name_ == "lowthreshold" || CondObj_name_ == "highthreshold" ||
442  CondObj_name_ == "apvgain" || CondObj_name_ == "pedestal" || CondObj_name_ == "quality") {
443  if (hPSet_.getParameter<bool>("FillSummaryAtLayerLevel"))
444  if (!CondObj_ME.SummaryDistr) {
445  bookSummaryMEs(CondObj_ME, detId_, tTopo);
446  }
447  }
448 
449  if (CondObj_name_ == "lorentzangle" && SummaryOnStringLevel_On_) {
450  // FIXME getStringNameandId takes time. not need to call it every timne. put
451  // the call at the beginning of the method and caache the string
452  SummaryMEsMap_.insert(std::make_pair(getStringNameAndId(detId_, tTopo).second, CondObj_ME));
453  } else if (CondObj_name_ == "bpcorrection" && SummaryOnStringLevel_On_) {
454  // FIXME getStringNameandId takes time. not need to call it every timne. put
455  // the call at the beginning of the method and caache the string
456  SummaryMEsMap_.insert(std::make_pair(getStringNameAndId(detId_, tTopo).second, CondObj_ME));
457  } else {
458  SummaryMEsMap_.insert(std::make_pair(getLayerNameAndId(detId_, tTopo).second, CondObj_ME));
459  }
460 }

References bookSummaryCumulMEs(), bookSummaryMEs(), bookSummaryProfileMEs(), CondObj_fillId_, CondObj_name_, getLayerNameAndId(), edm::ParameterSet::getParameter(), getStringNameAndId(), hPSet_, edm::second(), SiStripBaseCondObjDQM::ModMEs::SummaryDistr, SummaryMEsMap_, SiStripBaseCondObjDQM::ModMEs::SummaryOfCumulDistr, SiStripBaseCondObjDQM::ModMEs::SummaryOfProfileDistr, and SummaryOnStringLevel_On_.

Referenced by SiStripNoisesDQM::fillMEsForLayer(), SiStripThresholdDQM::fillMEsForLayer(), SiStripBackPlaneCorrectionDQM::fillMEsForLayer(), SiStripPedestalsDQM::fillMEsForLayer(), SiStripLorentzAngleDQM::fillMEsForLayer(), SiStripApvGainsDQM::fillMEsForLayer(), and SiStripQualityDQM::fillMEsForLayer().

◆ saveTkMap()

void SiStripBaseCondObjDQM::saveTkMap ( const std::string &  TkMapname,
double  minValue,
double  maxValue 
)
private

Definition at line 1147 of file SiStripBaseCondObjDQM.cc.

1147  {
1148  if (!tkMapScaler.empty()) {
1149  // check that saturation is below x% below minValue and above minValue, and
1150  // in case re-arrange.
1151  float th = hPSet_.getParameter<double>("saturatedFraction");
1152 
1153  size_t imin = 0, imax = 0;
1154  float entries = 0;
1155  for (size_t i = 0; i < tkMapScaler.size(); ++i)
1156  entries += tkMapScaler[i];
1157 
1158  float min = 0;
1159  for (size_t i = 0; (i < tkMapScaler.size()) && (min < th); ++i) {
1160  min += tkMapScaler[i] / entries;
1161  imin = i;
1162  }
1163 
1164  float max = 0;
1165  // for(size_t i=tkMapScaler.size()-1;(i>=0) && (max<th);--i){ // Wrong
1166  // Since i is unsigned, i >= 0 is always true,
1167  // and the loop termination condition is never reached.
1168  // We offset the loop index by one to fix this.
1169  for (size_t j = tkMapScaler.size(); (j > 0) && (max < th); --j) {
1170  size_t i = j - 1;
1171  max += tkMapScaler[i] / entries;
1172  imax = i;
1173  }
1174 
1175  // reset maxValue;
1176  if (maxValue < imax) {
1177  edm::LogInfo("SiStripBaseCondObjDQM") << "Resetting TkMap maxValue from " << maxValue << " to " << imax;
1178  maxValue = imax;
1179  }
1180  // reset minValue;
1181  if (minValue > imin) {
1182  edm::LogInfo("SiStripBaseCondObjDQM") << "Resetting TkMap minValue from " << minValue << " to " << imin;
1183  minValue = imin;
1184  }
1185  }
1186 
1187  tkMap->save(false, minValue, maxValue, TkMapname, 4500, 2400);
1188  tkMap->setPalette(1);
1189  tkMap->showPalette(true);
1190 }

References edm::ParameterSet::getParameter(), hPSet_, mps_fire::i, dqmiolumiharvest::j, SiStripPI::max, maxValue, min(), minValue, TrackerMap::save(), TrackerMap::setPalette(), TrackerMap::showPalette(), tkMap, and tkMapScaler.

Referenced by analysis().

◆ selectModules()

void SiStripBaseCondObjDQM::selectModules ( std::vector< uint32_t > &  detIds_,
const TrackerTopology tTopo 
)

Definition at line 173 of file SiStripBaseCondObjDQM.cc.

173  {
174  edm::LogInfo("SiStripBaseCondObjDQM") << "[SiStripBaseCondObjDQM::selectModules] input detIds_: " << detIds_.size()
175  << std::endl;
176 
177  if (fPSet_.getParameter<bool>("restrictModules")) {
178  std::vector<DetIdSelector> included_subdetsels;
179  std::vector<std::string> included_subdets =
180  fPSet_.getParameter<std::vector<std::string>>("ModulesToBeIncluded_DetIdSelector");
181  for (std::vector<std::string>::const_iterator wsdps = included_subdets.begin(); wsdps != included_subdets.end();
182  ++wsdps) {
183  included_subdetsels.push_back(DetIdSelector(*wsdps));
184  }
185 
186  std::vector<uint32_t> modulesToBeIncluded;
187  for (std::vector<uint32_t>::const_iterator detid = detIds_.begin(); detid != detIds_.end(); ++detid) {
188  for (std::vector<DetIdSelector>::const_iterator detidsel = included_subdetsels.begin();
189  detidsel != included_subdetsels.end();
190  ++detidsel) {
191  if (detidsel->isSelected(*detid)) {
192  modulesToBeIncluded.push_back(*detid);
193  break;
194  // std::cout << "detId: " << *detid << " is selected" <<
195  // std::endl;
196  }
197  }
198  }
199 
200  // -----
201  // *** exclude modules ***
202  std::vector<DetIdSelector> excluded_subdetsels;
203  std::vector<std::string> excluded_subdets =
204  fPSet_.getParameter<std::vector<std::string>>("ModulesToBeExcluded_DetIdSelector");
205  for (std::vector<std::string>::const_iterator wsdps = excluded_subdets.begin(); wsdps != excluded_subdets.end();
206  ++wsdps) {
207  excluded_subdetsels.push_back(DetIdSelector(*wsdps));
208  }
209 
210  std::vector<uint32_t> modulesToBeExcluded;
211  for (std::vector<uint32_t>::const_iterator detid = detIds_.begin(); detid != detIds_.end(); ++detid) {
212  for (std::vector<DetIdSelector>::const_iterator detidsel = excluded_subdetsels.begin();
213  detidsel != excluded_subdetsels.end();
214  ++detidsel) {
215  if (detidsel->isSelected(*detid)) {
216  modulesToBeExcluded.push_back(*detid);
217  break;
218  }
219  }
220  }
221 
222  ModulesToBeExcluded_ = fPSet_.getParameter<std::vector<unsigned int>>("ModulesToBeExcluded");
223  ModulesToBeIncluded_ = fPSet_.getParameter<std::vector<unsigned int>>("ModulesToBeIncluded");
224  SubDetectorsToBeExcluded_ = fPSet_.getParameter<std::vector<std::string>>("SubDetectorsToBeExcluded");
225 
226  // vectors to be sorted otherwise the intersection is non computed properly
227 
228  std::sort(ModulesToBeExcluded_.begin(), ModulesToBeExcluded_.end());
229  std::sort(ModulesToBeIncluded_.begin(), ModulesToBeIncluded_.end());
230 
231  if (modulesToBeExcluded.empty() && modulesToBeIncluded.empty() && ModulesToBeExcluded_.empty() &&
232  ModulesToBeIncluded_.empty())
233  edm::LogWarning("SiStripBaseCondObjDQM") << "[SiStripBaseCondObjDQM::selectModules] PLEASE CHECK : no modules "
234  "to be exclude/included in your cfg"
235  << std::endl;
236 
237  modulesToBeIncluded.insert(modulesToBeIncluded.end(), ModulesToBeIncluded_.begin(), ModulesToBeIncluded_.end());
238  edm::LogInfo("SiStripBaseCondObjDQM")
239  << "[SiStripBaseCondObjDQM::selectModules] modulesToBeIncluded: " << modulesToBeIncluded.size() << std::endl;
240  modulesToBeExcluded.insert(modulesToBeExcluded.end(), ModulesToBeExcluded_.begin(), ModulesToBeExcluded_.end());
241  edm::LogInfo("SiStripBaseCondObjDQM")
242  << "[SiStripBaseCondObjDQM::selectModules] modulesToBeExcluded: " << modulesToBeExcluded.size() << std::endl;
243 
244  // apply modules selection
245  if (!modulesToBeIncluded.empty()) {
246  std::vector<uint32_t> tmp;
247  // The intersection of two sets is formed only by the elements that are
248  // present in both sets
249  set_intersection(detIds_.begin(),
250  detIds_.end(),
251  modulesToBeIncluded.begin(),
252  modulesToBeIncluded.end(),
253  inserter(tmp, tmp.begin()));
254  swap(detIds_, tmp);
255  }
256 
257  std::sort(detIds_.begin(), detIds_.end());
258  if (!modulesToBeExcluded.empty()) {
259  for (std::vector<uint32_t>::const_iterator mod = modulesToBeExcluded.begin(); mod != modulesToBeExcluded.end();
260  mod++) {
261  std::vector<uint32_t>::iterator detid = std::lower_bound(detIds_.begin(), detIds_.end(), *mod);
262  if (detid != detIds_.end())
263  detIds_.erase(detid);
264  detid--;
265  }
266  }
267 
268  // -----
269  // *** restrict to a particular subdetector ***
270 
271  if (*(SubDetectorsToBeExcluded_.begin()) != "none") {
272  std::vector<uint32_t> tmp;
273 
274  for (std::vector<std::string>::const_iterator modIter_ = SubDetectorsToBeExcluded_.begin();
275  modIter_ != SubDetectorsToBeExcluded_.end();
276  modIter_++) {
277  tmp.clear();
278 
279  if (*modIter_ == "TIB") {
280  SiStripSubStructure::getTIBDetectors(detIds_, tmp, tTopo, 0, 0, 0, 0);
281  } else if (*modIter_ == "TOB") {
282  SiStripSubStructure::getTOBDetectors(detIds_, tmp, tTopo, 0, 0, 0);
283  } else if (*modIter_ == "TID") {
284  SiStripSubStructure::getTIDDetectors(detIds_, tmp, tTopo, 0, 0, 0, 0);
285  } else if (*modIter_ == "TEC") {
286  SiStripSubStructure::getTECDetectors(detIds_, tmp, tTopo, 0, 0, 0, 0, 0, 0);
287  } else {
288  edm::LogWarning("SiStripBaseCondObjDQM") << "[SiStripBaseCondObjDQM::selectModules] PLEASE CHECK : no "
289  "correct (name) subdetector to be excluded in your cfg"
290  << std::endl;
291  }
292 
293  std::vector<uint32_t>::iterator iterBegin_ =
294  std::lower_bound(detIds_.begin(), detIds_.end(), *min_element(tmp.begin(), tmp.end()));
295 
296  std::vector<uint32_t>::iterator iterEnd_ =
297  std::lower_bound(detIds_.begin(), detIds_.end(), *max_element(tmp.begin(), tmp.end()));
298 
299  for (std::vector<uint32_t>::iterator detIter_ = iterEnd_; detIter_ != iterBegin_ - 1; detIter_--) {
300  detIds_.erase(detIter_);
301  }
302 
303  } // loop SubDetectorsToBeExcluded_
304  }
305  }
306  edm::LogInfo("SiStripBaseCondObjDQM") << "[SiStripBaseCondObjDQM::selectModules] output detIds_: " << detIds_.size()
307  << std::endl;
308 
309  // -----
310  // *** fill only one Module per layer ***
311 
312  if (fPSet_.getParameter<std::string>("ModulesToBeFilled") == "onlyOneModulePerLayer") {
313  std::vector<uint32_t> tmp;
314  std::vector<uint32_t> layerDetIds;
315 
316  for (unsigned int i = 1; i < 5; i++) {
317  tmp.clear();
318  SiStripSubStructure::getTIBDetectors(detIds_, tmp, tTopo, i, 0, 0, 0);
319  if (!tmp.empty()) {
320  layerDetIds.push_back(*(tmp.begin()));
321  }
322  }
323  for (unsigned int i = 1; i < 7; i++) {
324  tmp.clear();
325  SiStripSubStructure::getTOBDetectors(detIds_, tmp, tTopo, i, 0, 0);
326  if (!tmp.empty()) {
327  layerDetIds.push_back(*(tmp.begin()));
328  }
329  }
330  for (unsigned int i = 1; i < 4; i++) {
331  tmp.clear();
332  SiStripSubStructure::getTIDDetectors(detIds_, tmp, tTopo, 1, i, 0, 0);
333  if (!tmp.empty()) {
334  layerDetIds.push_back(*(tmp.begin()));
335  }
336  SiStripSubStructure::getTIDDetectors(detIds_, tmp, tTopo, 2, i, 0, 0);
337  if (!tmp.empty()) {
338  layerDetIds.push_back(*(tmp.begin()));
339  }
340  }
341  for (unsigned int i = 1; i < 10; i++) {
342  tmp.clear();
343  SiStripSubStructure::getTECDetectors(detIds_, tmp, tTopo, 1, i, 0, 0, 0, 0);
344  if (!tmp.empty()) {
345  layerDetIds.push_back(*(tmp.begin()));
346  }
347  SiStripSubStructure::getTECDetectors(detIds_, tmp, tTopo, 2, i, 0, 0, 0, 0);
348  if (!tmp.empty()) {
349  layerDetIds.push_back(*(tmp.begin()));
350  }
351  }
352 
353  detIds_.clear();
354  detIds_ = layerDetIds;
355  }
356  // -----
357 
358 } // selectModules

References fPSet_, edm::ParameterSet::getParameter(), SiStripSubStructure::getTECDetectors(), SiStripSubStructure::getTIBDetectors(), SiStripSubStructure::getTIDDetectors(), SiStripSubStructure::getTOBDetectors(), mps_fire::i, cuda_std::lower_bound(), mod(), ModulesToBeExcluded_, ModulesToBeIncluded_, AlCaHLTBitMon_QueryRunRegistry::string, SubDetectorsToBeExcluded_, edm::swap(), and createJobs::tmp.

Referenced by analysis().

Member Data Documentation

◆ activeDetIds

std::vector<uint32_t> SiStripBaseCondObjDQM::activeDetIds
protected

◆ all_DetIds

std::vector<uint32_t> SiStripBaseCondObjDQM::all_DetIds
protected

Definition at line 124 of file SiStripBaseCondObjDQM.h.

◆ cacheID_current

unsigned long long SiStripBaseCondObjDQM::cacheID_current
protected

◆ cacheID_memory

unsigned long long SiStripBaseCondObjDQM::cacheID_memory
protected

◆ condDataMonitoringMode_

std::string SiStripBaseCondObjDQM::condDataMonitoringMode_
private

Definition at line 155 of file SiStripBaseCondObjDQM.h.

◆ CondObj_fillId_

std::string SiStripBaseCondObjDQM::CondObj_fillId_
protected

◆ CondObj_name_

std::string SiStripBaseCondObjDQM::CondObj_name_
protected

◆ detCablingHandle_

edm::ESHandle<SiStripDetCabling> SiStripBaseCondObjDQM::detCablingHandle_
private

Definition at line 153 of file SiStripBaseCondObjDQM.h.

Referenced by getCabledModules().

◆ dqmStore_

DQMStore* SiStripBaseCondObjDQM::dqmStore_
private

◆ eSetup_

const edm::EventSetup& SiStripBaseCondObjDQM::eSetup_
protected

Definition at line 104 of file SiStripBaseCondObjDQM.h.

Referenced by analysis(), analysisOnDemand(), and getCabledModules().

◆ folder_organizer

SiStripFolderOrganizer SiStripBaseCondObjDQM::folder_organizer
private

◆ fPSet_

edm::ParameterSet SiStripBaseCondObjDQM::fPSet_
protected

◆ GrandSummary_On_

bool SiStripBaseCondObjDQM::GrandSummary_On_
protected

Definition at line 112 of file SiStripBaseCondObjDQM.h.

Referenced by SiStripBaseCondObjDQM().

◆ hidmanager

SiStripHistoId SiStripBaseCondObjDQM::hidmanager
private

◆ HistoMaps_On_

bool SiStripBaseCondObjDQM::HistoMaps_On_
protected

◆ hPSet_

edm::ParameterSet SiStripBaseCondObjDQM::hPSet_
protected

◆ maxValue

double SiStripBaseCondObjDQM::maxValue
protected

Definition at line 113 of file SiStripBaseCondObjDQM.h.

Referenced by analysis(), saveTkMap(), and SiStripBaseCondObjDQM().

◆ minValue

double SiStripBaseCondObjDQM::minValue
protected

Definition at line 113 of file SiStripBaseCondObjDQM.h.

Referenced by analysis(), saveTkMap(), and SiStripBaseCondObjDQM().

◆ Mod_On_

bool SiStripBaseCondObjDQM::Mod_On_
protected

Definition at line 108 of file SiStripBaseCondObjDQM.h.

Referenced by analysis(), and SiStripBaseCondObjDQM().

◆ ModMEsMap_

std::map<uint32_t, ModMEs> SiStripBaseCondObjDQM::ModMEsMap_
protected

Definition at line 121 of file SiStripBaseCondObjDQM.h.

Referenced by getModMEs().

◆ ModulesToBeExcluded_

std::vector<uint32_t> SiStripBaseCondObjDQM::ModulesToBeExcluded_
private

Definition at line 149 of file SiStripBaseCondObjDQM.h.

Referenced by selectModules().

◆ ModulesToBeIncluded_

std::vector<uint32_t> SiStripBaseCondObjDQM::ModulesToBeIncluded_
private

Definition at line 150 of file SiStripBaseCondObjDQM.h.

Referenced by selectModules().

◆ reader

SiStripDetInfoFileReader* SiStripBaseCondObjDQM::reader
protected

◆ runNumber_

edm::RunNumber_t SiStripBaseCondObjDQM::runNumber_
private

Definition at line 160 of file SiStripBaseCondObjDQM.h.

Referenced by analysis().

◆ SubDetectorsToBeExcluded_

std::vector<std::string> SiStripBaseCondObjDQM::SubDetectorsToBeExcluded_
private

Definition at line 151 of file SiStripBaseCondObjDQM.h.

Referenced by selectModules().

◆ SummaryMEsMap_

std::map<uint32_t, ModMEs> SiStripBaseCondObjDQM::SummaryMEsMap_
protected

◆ SummaryOnLayerLevel_On_

bool SiStripBaseCondObjDQM::SummaryOnLayerLevel_On_
protected

◆ SummaryOnStringLevel_On_

bool SiStripBaseCondObjDQM::SummaryOnStringLevel_On_
protected

◆ Tk_HM_

std::unique_ptr<TkHistoMap> SiStripBaseCondObjDQM::Tk_HM_
protected

◆ Tk_HM_H

std::unique_ptr<TkHistoMap> SiStripBaseCondObjDQM::Tk_HM_H
protected

◆ Tk_HM_L

std::unique_ptr<TkHistoMap> SiStripBaseCondObjDQM::Tk_HM_L
protected

◆ tkMap

TrackerMap* SiStripBaseCondObjDQM::tkMap
protected

Definition at line 132 of file SiStripBaseCondObjDQM.h.

Referenced by bookTkMap(), fillTkMap(), and saveTkMap().

◆ tkMapScaler

std::vector<int> SiStripBaseCondObjDQM::tkMapScaler
protected

Definition at line 114 of file SiStripBaseCondObjDQM.h.

Referenced by SiStripNoisesDQM::fillMEsForLayer(), and saveTkMap().

SiStripHistoId::createHistoLayer
std::string createHistoLayer(std::string description, std::string id_type, std::string path, std::string flag)
Definition: SiStripHistoId.cc:51
edm::ESHandle::product
T const * product() const
Definition: ESHandle.h:86
SiStripDetCabling::addActiveDetectorsRawIds
void addActiveDetectorsRawIds(std::vector< uint32_t > &) const
Definition: SiStripDetCabling.cc:134
SiStripBaseCondObjDQM::hidmanager
SiStripHistoId hidmanager
Definition: SiStripBaseCondObjDQM.h:157
SiStripBaseCondObjDQM::folder_organizer
SiStripFolderOrganizer folder_organizer
Definition: SiStripBaseCondObjDQM.h:158
SiStripBaseCondObjDQM::saveTkMap
void saveTkMap(const std::string &TkMapname, double minValue, double maxValue)
Definition: SiStripBaseCondObjDQM.cc:1147
mps_fire.i
i
Definition: mps_fire.py:355
SiStripBaseCondObjDQM::getActiveDetIds
virtual void getActiveDetIds(const edm::EventSetup &eSetup)=0
TrackerTopology::tibIsInternalString
bool tibIsInternalString(const DetId &id) const
Definition: TrackerTopology.h:429
TrackerTopology::tibIsExternalString
bool tibIsExternalString(const DetId &id) const
Definition: TrackerTopology.h:431
SiStripBaseCondObjDQM::ModMEs::CumulDistr
MonitorElement * CumulDistr
Definition: SiStripBaseCondObjDQM.h:80
SiStripBaseCondObjDQM::ModMEs::ProfileDistr
MonitorElement * ProfileDistr
Definition: SiStripBaseCondObjDQM.h:79
SiStripSubStructure::getTIDDetectors
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)
SiStripBaseCondObjDQM::ModMEsMap_
std::map< uint32_t, ModMEs > ModMEsMap_
Definition: SiStripBaseCondObjDQM.h:121
SiStripSubStructure::getTIBDetectors
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)
TrackerMap::setPalette
void setPalette(int numpalette)
Definition: TrackerMap.h:155
SiStripBaseCondObjDQM::analysisOnDemand
void analysisOnDemand(const edm::EventSetup &eSetup_, uint32_t detIdOnDemand)
Definition: SiStripBaseCondObjDQM.cc:129
SiStripBaseCondObjDQM::bookSummaryProfileMEs
void bookSummaryProfileMEs(SiStripBaseCondObjDQM::ModMEs &CondObj_ME, const uint32_t &detId_, const TrackerTopology *tTopo)
Definition: SiStripBaseCondObjDQM.cc:545
min
T min(T a, T b)
Definition: MathUtil.h:58
SiStripBaseCondObjDQM::bookSummaryMEs
void bookSummaryMEs(SiStripBaseCondObjDQM::ModMEs &CondObj_ME, const uint32_t &detId_, const TrackerTopology *tTopo)
Definition: SiStripBaseCondObjDQM.cc:831
contentValuesFiles.fullPath
fullPath
Definition: contentValuesFiles.py:64
TrackerTopology
Definition: TrackerTopology.h:16
mod
T mod(const T &a, const T &b)
Definition: ecalDccMap.h:4
edm::swap
void swap(Association< C > &lhs, Association< C > &rhs)
Definition: Association.h:117
SiStripBaseCondObjDQM::activeDetIds
std::vector< uint32_t > activeDetIds
Definition: SiStripBaseCondObjDQM.h:123
edm::LogInfo
Definition: MessageLogger.h:254
SiStripBaseCondObjDQM::getConditionObject
virtual void getConditionObject(const edm::EventSetup &eSetup_)=0
SiStripBaseCondObjDQM::ModulesToBeIncluded_
std::vector< uint32_t > ModulesToBeIncluded_
Definition: SiStripBaseCondObjDQM.h:150
SiStripBaseCondObjDQM::eSetup_
const edm::EventSetup & eSetup_
Definition: SiStripBaseCondObjDQM.h:104
edm::second
U second(std::pair< T, U > const &p)
Definition: ParameterSet.cc:215
TrackerMap::fill
void fill(int layer, int ring, int nmod, float x)
Definition: TrackerMap.cc:3288
SiStripBaseCondObjDQM::ModMEs::SummaryOfProfileDistr
MonitorElement * SummaryOfProfileDistr
Definition: SiStripBaseCondObjDQM.h:81
SiStripBaseCondObjDQM::HistoMaps_On_
bool HistoMaps_On_
Definition: SiStripBaseCondObjDQM.h:109
SiStripBaseCondObjDQM::tkMapScaler
std::vector< int > tkMapScaler
Definition: SiStripBaseCondObjDQM.h:114
createJobs.tmp
tmp
align.sh
Definition: createJobs.py:716
SiStripDetInfoFileReader
Definition: SiStripDetInfoFileReader.h:30
SiStripBaseCondObjDQM::SummaryOnLayerLevel_On_
bool SummaryOnLayerLevel_On_
Definition: SiStripBaseCondObjDQM.h:110
SiStripBaseCondObjDQM::tkMap
TrackerMap * tkMap
Definition: SiStripBaseCondObjDQM.h:132
dqmdumpme.first
first
Definition: dqmdumpme.py:55
SiStripBaseCondObjDQM::SummaryMEsMap_
std::map< uint32_t, ModMEs > SummaryMEsMap_
Definition: SiStripBaseCondObjDQM.h:122
SiStripBaseCondObjDQM::ModulesToBeExcluded_
std::vector< uint32_t > ModulesToBeExcluded_
Definition: SiStripBaseCondObjDQM.h:149
SiStripBaseCondObjDQM::bookTkMap
void bookTkMap(const std::string &TkMapname)
Definition: SiStripBaseCondObjDQM.cc:1141
TrackerTopology::tobRod
unsigned int tobRod(const DetId &id) const
Definition: TrackerTopology.h:195
groupFilesInBlocks.reverse
reverse
Definition: groupFilesInBlocks.py:131
Utilities.operator
operator
Definition: Utilities.py:24
TrackerTopology::tidWheel
unsigned int tidWheel(const DetId &id) const
Definition: TrackerTopology.h:201
SiStripBaseCondObjDQM::fillMEsForLayer
virtual void fillMEsForLayer(uint32_t selDetId_, const TrackerTopology *tTopo)=0
SiStripBaseCondObjDQM::reader
SiStripDetInfoFileReader * reader
Definition: SiStripBaseCondObjDQM.h:102
SiStripFolderOrganizer::GetSubDetAndLayer
std::pair< std::string, int32_t > GetSubDetAndLayer(const uint32_t &detid, const TrackerTopology *tTopo, bool ring_flag=false)
Definition: SiStripFolderOrganizer.cc:106
SiStripBaseCondObjDQM::ModMEs::SummaryDistr
MonitorElement * SummaryDistr
Definition: SiStripBaseCondObjDQM.h:83
SiStripBaseCondObjDQM::bookProfileMEs
void bookProfileMEs(SiStripBaseCondObjDQM::ModMEs &CondObj_ME, const uint32_t &detId_, const TrackerTopology *tTopo)
Definition: SiStripBaseCondObjDQM.cc:465
SiStripBaseCondObjDQM::getLayerNameAndId
std::pair< std::string, uint32_t > getLayerNameAndId(const uint32_t &detId_, const TrackerTopology *tTopo)
Definition: SiStripBaseCondObjDQM.cc:913
DetId
Definition: DetId.h:17
edm::FileInPath
Definition: FileInPath.h:64
SiStripBaseCondObjDQM::GrandSummary_On_
bool GrandSummary_On_
Definition: SiStripBaseCondObjDQM.h:112
edm::EventSetup::get
T get() const
Definition: EventSetup.h:73
SiStripBaseCondObjDQM::Mod_On_
bool Mod_On_
Definition: SiStripBaseCondObjDQM.h:108
edm::ESHandle< TrackerTopology >
dqm::implementation::IBooker::bookProfile
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())
Definition: DQMStore.h:322
SiStripSubStructure::getTECDetectors
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)
corrVsCorr.filename
filename
Definition: corrVsCorr.py:123
StripSubdetector::TIB
static constexpr auto TIB
Definition: StripSubdetector.h:16
TrackerTopology::tobIsZPlusSide
bool tobIsZPlusSide(const DetId &id) const
Definition: TrackerTopology.h:252
SiStripBaseCondObjDQM::cacheID_memory
unsigned long long cacheID_memory
Definition: SiStripBaseCondObjDQM.h:126
TrackerMap
Definition: TrackerMap.h:76
SiStripDetCablingRcd
Definition: SiStripDependentRecords.h:19
cuda_std::lower_bound
__host__ constexpr __device__ RandomIt lower_bound(RandomIt first, RandomIt last, const T &value, Compare comp={})
Definition: cudastdAlgorithm.h:27
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
dqm::impl::MonitorElement::setAxisRange
virtual void setAxisRange(double xmin, double xmax, int axis=1)
set x-, y- or z-axis range (axis=1, 2, 3 respectively)
Definition: MonitorElement.cc:794
edm::LogWarning
Definition: MessageLogger.h:141
TrackerTopology::tibString
unsigned int tibString(const DetId &id) const
Definition: TrackerTopology.h:419
SiStripBaseCondObjDQM::CondObj_fillId_
std::string CondObj_fillId_
Definition: SiStripBaseCondObjDQM.h:118
SiStripBaseCondObjDQM::getStringNameAndId
std::pair< std::string, uint32_t > getStringNameAndId(const uint32_t &detId_, const TrackerTopology *tTopo)
Definition: SiStripBaseCondObjDQM.cc:997
edm::LogError
Definition: MessageLogger.h:183
SiStripBaseCondObjDQM::selectModules
void selectModules(std::vector< uint32_t > &detIds_, const TrackerTopology *tTopo)
Definition: SiStripBaseCondObjDQM.cc:173
TrackerTopology::tobIsZMinusSide
bool tobIsZMinusSide(const DetId &id) const
Definition: TrackerTopology.h:253
SiStripPI::max
Definition: SiStripPayloadInspectorHelper.h:169
TrackerTopology::tibModule
unsigned int tibModule(const DetId &id) const
Definition: TrackerTopology.h:172
TrackerTopology::tidSide
unsigned int tidSide(const DetId &id) const
Definition: TrackerTopology.h:190
edm::Service
Definition: Service.h:30
alignmentValidation.c1
c1
do drawing
Definition: alignmentValidation.py:1025
value
Definition: value.py:1
dqm::impl::MonitorElement::setBinLabel
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)
Definition: MonitorElement.cc:771
SiStripBaseCondObjDQM::fillMEsForDet
virtual void fillMEsForDet(const ModMEs &selModME_, uint32_t selDetId_, const TrackerTopology *tTopo)=0
TrackerMap::showPalette
void showPalette(bool printflag1)
Definition: TrackerMap.h:157
get
#define get
SiStripHistoId::createHistoId
std::string createHistoId(std::string description, std::string id_type, uint32_t component_id)
Definition: SiStripHistoId.cc:26
SiStripDetInfoFileReader::getAllDetIds
const std::vector< uint32_t > & getAllDetIds() const
Definition: SiStripDetInfoFileReader.h:52
SiStripBaseCondObjDQM::maxValue
double maxValue
Definition: SiStripBaseCondObjDQM.h:113
SiStripFolderOrganizer::setDetectorFolder
void setDetectorFolder(uint32_t rawdetid, const TrackerTopology *tTopo)
Definition: SiStripFolderOrganizer.cc:202
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
TrackerMap::save
void save(bool print_total=true, float minval=0., float maxval=0., std::string s="svgmap.svg", int width=1500, int height=800)
Definition: TrackerMap.cc:810
TrackerTopology::tobLayer
unsigned int tobLayer(const DetId &id) const
Definition: TrackerTopology.h:147
SiStripDetInfoFileReader::getNumberOfApvsAndStripLength
const std::pair< unsigned short, double > getNumberOfApvsAndStripLength(uint32_t detId) const
Definition: SiStripDetInfoFileReader.cc:101
SiStripSubStructure::getTOBDetectors
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)
StripSubdetector::TEC
static constexpr auto TEC
Definition: StripSubdetector.h:19
TrackerTopology::tobModule
unsigned int tobModule(const DetId &id) const
Definition: TrackerTopology.h:166
SiStripBaseCondObjDQM::bookSummaryCumulMEs
void bookSummaryCumulMEs(SiStripBaseCondObjDQM::ModMEs &CondObj_ME, const uint32_t &detId_, const TrackerTopology *tTopo)
Definition: SiStripBaseCondObjDQM.cc:771
SiStripBaseCondObjDQM::detCablingHandle_
edm::ESHandle< SiStripDetCabling > detCablingHandle_
Definition: SiStripBaseCondObjDQM.h:153
SiStripBaseCondObjDQM::CondObj_name_
std::string CondObj_name_
Definition: SiStripBaseCondObjDQM.h:119
SiStripFolderOrganizer::setLayerFolder
void setLayerFolder(uint32_t rawdetid, const TrackerTopology *tTopo, int32_t layer=0, bool ring_flag=false)
Definition: SiStripFolderOrganizer.cc:304
SiStripBaseCondObjDQM::SummaryOnStringLevel_On_
bool SummaryOnStringLevel_On_
Definition: SiStripBaseCondObjDQM.h:111
SiStripBaseCondObjDQM::bookCumulMEs
void bookCumulMEs(SiStripBaseCondObjDQM::ModMEs &CondObj_ME, const uint32_t &detId_, const TrackerTopology *tTopo)
Definition: SiStripBaseCondObjDQM.cc:509
SiStripBaseCondObjDQM::ModMEs::SummaryOfCumulDistr
MonitorElement * SummaryOfCumulDistr
Definition: SiStripBaseCondObjDQM.h:82
StripSubdetector::TOB
static constexpr auto TOB
Definition: StripSubdetector.h:18
SiStripBaseCondObjDQM::fPSet_
edm::ParameterSet fPSet_
Definition: SiStripBaseCondObjDQM.h:106
TrackerTopology::tibIsZPlusSide
bool tibIsZPlusSide(const DetId &id) const
Definition: TrackerTopology.h:255
Skims_PA_cff.name
name
Definition: Skims_PA_cff.py:17
SiStripBaseCondObjDQM::hPSet_
edm::ParameterSet hPSet_
Definition: SiStripBaseCondObjDQM.h:105
SiStripBaseCondObjDQM::SubDetectorsToBeExcluded_
std::vector< std::string > SubDetectorsToBeExcluded_
Definition: SiStripBaseCondObjDQM.h:151
SiStripBaseCondObjDQM::minValue
double minValue
Definition: SiStripBaseCondObjDQM.h:113
SiStripBaseCondObjDQM::fillModMEs
virtual void fillModMEs(const std::vector< uint32_t > &selectedDetIds, const edm::EventSetup &es)
Definition: SiStripBaseCondObjDQM.cc:1198
SiStripBaseCondObjDQM::getCache
virtual unsigned long long getCache(const edm::EventSetup &eSetup_)=0
SiStripBaseCondObjDQM::runNumber_
edm::RunNumber_t runNumber_
Definition: SiStripBaseCondObjDQM.h:160
TrackerTopologyRcd
Definition: TrackerTopologyRcd.h:10
SiStripBaseCondObjDQM::fillSummaryMEs
virtual void fillSummaryMEs(const std::vector< uint32_t > &selectedDetIds, const edm::EventSetup &es)
Definition: SiStripBaseCondObjDQM.cc:1213
dqmiolumiharvest.j
j
Definition: dqmiolumiharvest.py:66
sistrip::layer_
static const char layer_[]
Definition: ConstantsForGranularity.h:30
SiStripBaseCondObjDQM::dqmStore_
DQMStore * dqmStore_
Definition: SiStripBaseCondObjDQM.h:159
TrackerTopology::tibIsZMinusSide
bool tibIsZMinusSide(const DetId &id) const
Definition: TrackerTopology.h:256
TrackerTopology::tecWheel
unsigned int tecWheel(const DetId &id) const
Definition: TrackerTopology.h:198
SiStripBaseCondObjDQM::GetSameLayerDetId
std::vector< uint32_t > GetSameLayerDetId(const std::vector< uint32_t > &activeDetIds, uint32_t selDetId, const TrackerTopology *tTopo)
Definition: SiStripBaseCondObjDQM.cc:1114
dqm::impl::MonitorElement::setAxisTitle
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
Definition: MonitorElement.cc:800
DetIdSelector
Definition: DetIdSelector.h:12
StripSubdetector::TID
static constexpr auto TID
Definition: StripSubdetector.h:17
dqm::implementation::IBooker::book1D
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98
SiStripBaseCondObjDQM::cacheID_current
unsigned long long cacheID_current
Definition: SiStripBaseCondObjDQM.h:127
TrackerTopology::tibLayer
unsigned int tibLayer(const DetId &id) const
Definition: TrackerTopology.h:150
TrackerTopology::tecSide
unsigned int tecSide(const DetId &id) const
Definition: TrackerTopology.h:184