CMS 3D CMS Logo

List of all members | Classes | 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 Member Functions

void analysis (const edm::EventSetup &eSetup_)
 
void analysisOnDemand (const edm::EventSetup &eSetup_, uint32_t detIdOnDemand)
 
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)
 
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 38 of file SiStripBaseCondObjDQM.h.

Constructor & Destructor Documentation

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

Definition at line 9 of file SiStripBaseCondObjDQM.cc.

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

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

Member Function Documentation

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

Definition at line 52 of file SiStripBaseCondObjDQM.cc.

References activeDetIds, cacheID_current, cacheID_memory, constexpr, corrVsCorr::filename, fillModMEs(), fillSummaryMEs(), fPSet_, edm::EventSetup::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_.

Referenced by SiStripClassToMonitorCondData::analyseCondData(), and ~SiStripBaseCondObjDQM().

52  {
53  cacheID_current = getCache(eSetup_);
54 
56  return;
57 
58  getConditionObject(eSetup_);
59 
60  // The OR of the two conditions allows to switch on this feature for all the
61  // components (if the FillConditions_PSet has the ActiveDetIds_On =true) or
62  // for single MEs (if the PSet for a ME has the ActiveDetIds_On =true)
63  if (fPSet_.getParameter<bool>("ActiveDetIds_On") || hPSet_.getParameter<bool>("ActiveDetIds_On"))
64  getActiveDetIds(eSetup_);
65  else
67 
69  eSetup_.get<TrackerTopologyRcd>().get(tTopoHandle);
70  const TrackerTopology *tTopo = tTopoHandle.product();
71 
73 
74  if (Mod_On_) {
75  fillModMEs(activeDetIds, eSetup_);
76  }
78  fillSummaryMEs(activeDetIds, eSetup_);
79  }
80 
81  if (fPSet_.getParameter<bool>("TkMap_On") || hPSet_.getParameter<bool>("TkMap_On")) {
83  if (!filename.empty()) {
84  constexpr unsigned int kSLen = 128;
85  char sRun[kSLen];
86  snprintf(sRun, kSLen, "_Run_%d", runNumber_);
87  filename.insert(filename.find("."), sRun);
88 
89  saveTkMap(filename, minValue, maxValue);
90  }
91  }
92 }
T getParameter(std::string const &) const
void selectModules(std::vector< uint32_t > &detIds_, const TrackerTopology *tTopo)
void saveTkMap(const std::string &TkMapname, double minValue, double maxValue)
const std::vector< uint32_t > & getAllDetIds() const
SiStripDetInfoFileReader * reader
unsigned long long cacheID_memory
virtual void getConditionObject(const edm::EventSetup &eSetup_)=0
virtual void getActiveDetIds(const edm::EventSetup &eSetup)=0
virtual unsigned long long getCache(const edm::EventSetup &eSetup_)=0
virtual void fillSummaryMEs(const std::vector< uint32_t > &selectedDetIds, const edm::EventSetup &es)
T get() const
Definition: EventSetup.h:71
std::vector< uint32_t > activeDetIds
unsigned long long cacheID_current
T const * product() const
Definition: ESHandle.h:86
#define constexpr
virtual void fillModMEs(const std::vector< uint32_t > &selectedDetIds, const edm::EventSetup &es)
void SiStripBaseCondObjDQM::analysisOnDemand ( const edm::EventSetup eSetup_,
uint32_t  detIdOnDemand 
)

Definition at line 128 of file SiStripBaseCondObjDQM.cc.

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

Referenced by analysisOnDemand(), SiStripClassToMonitorCondData::getLayerMEsOnDemand(), SiStripClassToMonitorCondData::getModMEsOnDemand(), and ~SiStripBaseCondObjDQM().

128  {
129  unsigned long long cacheID_current = getCache(eSetup_);
130 
131  if (cacheID_memory == cacheID_current)
132  return;
133 
134  getConditionObject(eSetup_);
135 
136  std::vector<uint32_t> vdetIdsOnDemand_;
137  vdetIdsOnDemand_.push_back(detIdOnDemand); // fillModMEs needs a vector
138 
139  fillModMEs(vdetIdsOnDemand_, eSetup_);
140 }
unsigned long long cacheID_memory
virtual void getConditionObject(const edm::EventSetup &eSetup_)=0
virtual unsigned long long getCache(const edm::EventSetup &eSetup_)=0
unsigned long long cacheID_current
virtual void fillModMEs(const std::vector< uint32_t > &selectedDetIds, const edm::EventSetup &es)
void SiStripBaseCondObjDQM::analysisOnDemand ( const edm::EventSetup eSetup_,
const std::vector< uint32_t > &  detIdsOnDemand 
)

Definition at line 144 of file SiStripBaseCondObjDQM.cc.

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

145  {
146  unsigned long long cacheID_current = getCache(eSetup_);
147 
148  if (cacheID_memory == cacheID_current)
149  return;
150 
151  getConditionObject(eSetup_);
152 
153  fillSummaryMEs(detIdsOnDemand, eSetup_);
154 }
unsigned long long cacheID_memory
virtual void getConditionObject(const edm::EventSetup &eSetup_)=0
virtual unsigned long long getCache(const edm::EventSetup &eSetup_)=0
virtual void fillSummaryMEs(const std::vector< uint32_t > &selectedDetIds, const edm::EventSetup &es)
unsigned long long cacheID_current
void SiStripBaseCondObjDQM::analysisOnDemand ( const edm::EventSetup eSetup_,
std::string  requestedSubDetector,
uint32_t  requestedSide,
uint32_t  requestedLayer 
)

Definition at line 97 of file SiStripBaseCondObjDQM.cc.

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

100  {
101  getConditionObject(eSetup_);
102  getActiveDetIds(eSetup_);
103 
104  std::vector<uint32_t> requestedDetIds_;
105  requestedDetIds_.clear();
106 
107  edm::ESHandle<TrackerTopology> tTopoHandle;
108  eSetup_.get<TrackerTopologyRcd>().get(tTopoHandle);
109  const TrackerTopology *tTopo = tTopoHandle.product();
110 
111  if (requestedSubDetector == "TIB") {
112  SiStripSubStructure::getTIBDetectors(activeDetIds, requestedDetIds_, tTopo, requestedLayer, 0, 0, 0);
113  } else if (requestedSubDetector == "TID") {
114  SiStripSubStructure::getTIDDetectors(activeDetIds, requestedDetIds_, tTopo, requestedSide, requestedLayer, 0, 0);
115  } else if (requestedSubDetector == "TOB") {
116  SiStripSubStructure::getTOBDetectors(activeDetIds, requestedDetIds_, tTopo, requestedLayer, 0, 0);
117  } else if (requestedSubDetector == "TEC") {
119  activeDetIds, requestedDetIds_, tTopo, requestedSide, requestedLayer, 0, 0, 0, 0);
120  }
121 
122  analysisOnDemand(eSetup_, requestedDetIds_);
123 }
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)
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)
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)
void analysisOnDemand(const edm::EventSetup &eSetup_, uint32_t detIdOnDemand)
virtual void getConditionObject(const edm::EventSetup &eSetup_)=0
virtual void getActiveDetIds(const edm::EventSetup &eSetup)=0
T get() const
Definition: EventSetup.h:71
std::vector< uint32_t > activeDetIds
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)
T const * product() const
Definition: ESHandle.h:86
void SiStripBaseCondObjDQM::bookCumulMEs ( SiStripBaseCondObjDQM::ModMEs CondObj_ME,
const uint32_t &  detId_,
const TrackerTopology tTopo 
)
private

Definition at line 509 of file SiStripBaseCondObjDQM.cc.

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

Referenced by getModMEs().

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  dqmStore_->tag(CondObj_ME.CumulDistr, detId_);
540 }
T getParameter(std::string const &) const
SiStripFolderOrganizer folder_organizer
MonitorElement * book1D(char_string const &name, char_string const &title, int const nchX, double const lowX, double const highX)
Book 1D histogram.
Definition: DQMStore.cc:1098
void setDetectorFolder(uint32_t rawdetid, const TrackerTopology *tTopo)
void tag(MonitorElement *me, unsigned int myTag)
Definition: DQMStore.cc:1500
std::string createHistoId(std::string description, std::string id_type, uint32_t component_id)
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
void SiStripBaseCondObjDQM::bookProfileMEs ( SiStripBaseCondObjDQM::ModMEs CondObj_ME,
const uint32_t &  detId_,
const TrackerTopology tTopo 
)
private

Definition at line 464 of file SiStripBaseCondObjDQM.cc.

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

Referenced by getModMEs().

466  {
467  int hProfile_NchX = 0;
468  double hProfile_LowX = 0;
469  double hProfile_HighX = 0;
470 
471  std::string hProfile_description;
472  hProfile_description = hPSet_.getParameter<std::string>("Profile_description");
473 
474  std::string hProfile_xTitle, hProfile_yTitle;
475  hProfile_xTitle = hPSet_.getParameter<std::string>("Profile_xTitle");
476  hProfile_yTitle = hPSet_.getParameter<std::string>("Profile_yTitle");
477 
478  if (CondObj_name_ != "apvgain") {
479  int nStrip = reader->getNumberOfApvsAndStripLength(detId_).first * 128;
480 
481  hProfile_NchX = nStrip;
482  hProfile_LowX = 0.5;
483  hProfile_HighX = nStrip + 0.5;
484  } else {
485  int nApv = reader->getNumberOfApvsAndStripLength(detId_).first;
486 
487  hProfile_NchX = nApv;
488  hProfile_LowX = 0.5;
489  hProfile_HighX = nApv + 0.5;
490  }
491 
492  folder_organizer.setDetectorFolder(detId_, tTopo);
493 
494  std::string hProfile_Name;
495  hProfile_Name = hidmanager.createHistoId(hProfile_description, "det", detId_);
496 
497  std::string hProfile;
498  hProfile = hProfile_Name;
499 
500  CondObj_ME.ProfileDistr = dqmStore_->book1D(hProfile_Name, hProfile, hProfile_NchX, hProfile_LowX, hProfile_HighX);
501  CondObj_ME.ProfileDistr->setAxisTitle(hProfile_xTitle, 1);
502  CondObj_ME.ProfileDistr->setAxisTitle(hProfile_yTitle, 2);
503  dqmStore_->tag(CondObj_ME.ProfileDistr, detId_);
504 }
T getParameter(std::string const &) const
const std::pair< unsigned short, double > getNumberOfApvsAndStripLength(uint32_t detId) const
SiStripFolderOrganizer folder_organizer
MonitorElement * book1D(char_string const &name, char_string const &title, int const nchX, double const lowX, double const highX)
Book 1D histogram.
Definition: DQMStore.cc:1098
void setDetectorFolder(uint32_t rawdetid, const TrackerTopology *tTopo)
void tag(MonitorElement *me, unsigned int myTag)
Definition: DQMStore.cc:1500
SiStripDetInfoFileReader * reader
std::string createHistoId(std::string description, std::string id_type, uint32_t component_id)
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
void SiStripBaseCondObjDQM::bookSummaryCumulMEs ( SiStripBaseCondObjDQM::ModMEs CondObj_ME,
const uint32_t &  detId_,
const TrackerTopology tTopo 
)
private

Definition at line 774 of file SiStripBaseCondObjDQM.cc.

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

Referenced by getSummaryMEs().

776  {
777  int hSummaryOfCumul_NchX = 0;
778  double hSummaryOfCumul_LowX = 0;
779  double hSummaryOfCumul_HighX = 0;
780 
781  std::string hSummaryOfCumul_description;
782  hSummaryOfCumul_description = hPSet_.getParameter<std::string>("SummaryOfCumul_description");
783 
784  std::string hSummaryOfCumul_xTitle, hSummaryOfCumul_yTitle;
785  hSummaryOfCumul_xTitle = hPSet_.getParameter<std::string>("SummaryOfCumul_xTitle");
786  hSummaryOfCumul_yTitle = hPSet_.getParameter<std::string>("SummaryOfCumul_yTitle");
787 
788  hSummaryOfCumul_NchX = hPSet_.getParameter<int>("SummaryOfCumul_NchX");
789  hSummaryOfCumul_LowX = hPSet_.getParameter<double>("SummaryOfCumul_LowX");
790  hSummaryOfCumul_HighX = hPSet_.getParameter<double>("SummaryOfCumul_HighX");
791 
792  uint32_t layer_ = 0;
793 
794  layer_ = folder_organizer.GetSubDetAndLayer(detId_, tTopo).second;
795 
796  folder_organizer.setLayerFolder(detId_, tTopo, layer_);
797 
798  std::string hSummaryOfCumul_name;
799 
800  // ---
801  int subdetectorId_ = ((detId_ >> 25) & 0x7);
802 
803  if (subdetectorId_ < 3 || subdetectorId_ > 6) {
804  edm::LogError("SiStripBaseCondObjDQM") << "[SiStripBaseCondObjDQM::bookSummaryCumulMEs] WRONG INPUT : no such "
805  "subdetector type : "
806  << subdetectorId_ << " no folder set!" << std::endl;
807  return;
808  }
809  // ---
810 
811  // LA and BP Histos are plotted for each string:
812  if ((CondObj_name_ == "lorentzangle" || CondObj_name_ == "bpcorrection") && SummaryOnStringLevel_On_) {
813  hSummaryOfCumul_name =
814  hidmanager.createHistoLayer(hSummaryOfCumul_description, "layer", getStringNameAndId(detId_, tTopo).first, "");
815  } else {
816  hSummaryOfCumul_name =
817  hidmanager.createHistoLayer(hSummaryOfCumul_description, "layer", getLayerNameAndId(detId_, tTopo).first, "");
818  }
819 
820  std::string hSummaryOfCumul_title;
821  hSummaryOfCumul_title = hSummaryOfCumul_name;
822 
823  CondObj_ME.SummaryOfCumulDistr = dqmStore_->book1D(
824  hSummaryOfCumul_name, hSummaryOfCumul_title, hSummaryOfCumul_NchX, hSummaryOfCumul_LowX, hSummaryOfCumul_HighX);
825 
826  CondObj_ME.SummaryOfCumulDistr->setAxisTitle(hSummaryOfCumul_xTitle, 1);
827  CondObj_ME.SummaryOfCumulDistr->setAxisTitle(hSummaryOfCumul_yTitle, 2);
828 
829  dqmStore_->tag(CondObj_ME.SummaryOfCumulDistr, layer_);
830 }
T getParameter(std::string const &) const
static const char layer_[]
void setLayerFolder(uint32_t rawdetid, const TrackerTopology *tTopo, int32_t layer=0, bool ring_flag=false)
SiStripFolderOrganizer folder_organizer
MonitorElement * book1D(char_string const &name, char_string const &title, int const nchX, double const lowX, double const highX)
Book 1D histogram.
Definition: DQMStore.cc:1098
void tag(MonitorElement *me, unsigned int myTag)
Definition: DQMStore.cc:1500
std::pair< std::string, uint32_t > getStringNameAndId(const uint32_t &detId_, const TrackerTopology *tTopo)
std::pair< std::string, int32_t > GetSubDetAndLayer(const uint32_t &detid, const TrackerTopology *tTopo, bool ring_flag=false)
std::pair< std::string, uint32_t > getLayerNameAndId(const uint32_t &detId_, const TrackerTopology *tTopo)
std::string createHistoLayer(std::string description, std::string id_type, std::string path, std::string flag)
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
void SiStripBaseCondObjDQM::bookSummaryMEs ( SiStripBaseCondObjDQM::ModMEs CondObj_ME,
const uint32_t &  detId_,
const TrackerTopology tTopo 
)
private

Definition at line 836 of file SiStripBaseCondObjDQM.cc.

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

Referenced by getSummaryMEs().

838  {
839  std::vector<uint32_t> sameLayerDetIds_;
840 
841  int hSummary_NchX = 0;
842  double hSummary_LowX = 0;
843  double hSummary_HighX = 0;
844 
845  std::string hSummary_description;
846  hSummary_description = hPSet_.getParameter<std::string>("Summary_description");
847 
848  std::string hSummary_xTitle, hSummary_yTitle;
849  hSummary_xTitle = hPSet_.getParameter<std::string>("Summary_xTitle");
850  hSummary_yTitle = hPSet_.getParameter<std::string>("Summary_yTitle");
851 
852  int hSummary_NchY;
853  double hSummary_LowY, hSummary_HighY;
854  hSummary_NchY = hPSet_.getParameter<int>("Summary_NchY");
855  hSummary_LowY = hPSet_.getParameter<double>("Summary_LowY");
856  hSummary_HighY = hPSet_.getParameter<double>("Summary_HighY");
857 
858  // -----
859  // get detIds belonging to same layer to fill X-axis with detId-number
860 
861  sameLayerDetIds_.clear();
862 
863  sameLayerDetIds_ = GetSameLayerDetId(activeDetIds, detId_, tTopo);
864 
865  hSummary_NchX = sameLayerDetIds_.size();
866  hSummary_LowX = 0.5;
867  hSummary_HighX = sameLayerDetIds_.size() + 0.5;
868 
869  uint32_t layer_ = 0;
870 
871  layer_ = folder_organizer.GetSubDetAndLayer(detId_, tTopo).second;
872 
873  folder_organizer.setLayerFolder(detId_, tTopo, layer_);
874 
875  std::string hSummary_name;
876 
877  // ---
878  int subdetectorId_ = ((detId_ >> 25) & 0x7);
879 
880  if (subdetectorId_ < 3 || subdetectorId_ > 6) {
881  edm::LogError("SiStripBaseCondObjDQM") << "[SiStripBaseCondObjDQM::bookSummaryMEs] WRONG INPUT : no such "
882  "subdetector type : "
883  << subdetectorId_ << " no folder set!" << std::endl;
884  return;
885  }
886  // ---
887 
888  hSummary_name =
889  hidmanager.createHistoLayer(hSummary_description, "layer", getLayerNameAndId(detId_, tTopo).first, "");
890 
891  std::string hSummary_title;
892  hSummary_title = hSummary_name;
893 
894  CondObj_ME.SummaryDistr = dqmStore_->bookProfile(
895  hSummary_name, hSummary_title, hSummary_NchX, hSummary_LowX, hSummary_HighX, hSummary_NchY, 0., 0.);
896  // hSummary_LowY,
897  // hSummary_HighY);
898  CondObj_ME.SummaryDistr->setAxisTitle(hSummary_xTitle, 1);
899  CondObj_ME.SummaryDistr->setAxisTitle(hSummary_yTitle, 2);
900  CondObj_ME.SummaryDistr->setAxisRange(hSummary_LowY, hSummary_HighY, 2);
901 
902  // -----
903  // in order to get the right detId-number labelled in right bin of x-axis
904  unsigned int iBin = 0;
905 
906  for (unsigned int i = 0; i < sameLayerDetIds_.size(); i++) {
907  iBin++;
908  char sameLayerDetIds_Name[1024];
909  sprintf(sameLayerDetIds_Name, "%u", sameLayerDetIds_[i]);
910  if (iBin % 100 == 0)
911  CondObj_ME.SummaryDistr->setBinLabel(iBin, sameLayerDetIds_Name);
912  }
913  // -----
914 
915  dqmStore_->tag(CondObj_ME.SummaryDistr, layer_);
916 }
T getParameter(std::string const &) const
static const char layer_[]
void setAxisRange(double xmin, double xmax, int axis=1)
set x-, y- or z-axis range (axis=1, 2, 3 respectively)
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)
void setLayerFolder(uint32_t rawdetid, const TrackerTopology *tTopo, int32_t layer=0, bool ring_flag=false)
SiStripFolderOrganizer folder_organizer
void tag(MonitorElement *me, unsigned int myTag)
Definition: DQMStore.cc:1500
std::vector< uint32_t > GetSameLayerDetId(const std::vector< uint32_t > &activeDetIds, uint32_t selDetId, const TrackerTopology *tTopo)
MonitorElement * bookProfile(char_string const &name, char_string const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, char const *option="s")
Definition: DQMStore.cc:1285
std::pair< std::string, int32_t > GetSubDetAndLayer(const uint32_t &detid, const TrackerTopology *tTopo, bool ring_flag=false)
std::pair< std::string, uint32_t > getLayerNameAndId(const uint32_t &detId_, const TrackerTopology *tTopo)
std::vector< uint32_t > activeDetIds
std::string createHistoLayer(std::string description, std::string id_type, std::string path, std::string flag)
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
void SiStripBaseCondObjDQM::bookSummaryProfileMEs ( SiStripBaseCondObjDQM::ModMEs CondObj_ME,
const uint32_t &  detId_,
const TrackerTopology tTopo 
)
private

Definition at line 546 of file SiStripBaseCondObjDQM.cc.

References activeDetIds, DQMStore::bookProfile(), CondObj_name_, SiStripHistoId::createHistoLayer(), dqmStore_, plotBeamSpotDB::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, MonitorElement::setAxisRange(), MonitorElement::setAxisTitle(), MonitorElement::setBinLabel(), SiStripFolderOrganizer::setLayerFolder(), AlCaHLTBitMon_QueryRunRegistry::string, SiStripBaseCondObjDQM::ModMEs::SummaryOfProfileDistr, SummaryOnLayerLevel_On_, SummaryOnStringLevel_On_, DQMStore::tag(), 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().

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

Definition at line 1148 of file SiStripBaseCondObjDQM.cc.

References tkMap.

Referenced by SiStripBaseCondObjDQM().

1148 { tkMap = new TrackerMap(TkMapname); }
void SiStripBaseCondObjDQM::end ( void  )
virtual

Definition at line 1200 of file SiStripBaseCondObjDQM.cc.

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

1200  {
1201  edm::LogInfo("SiStripBaseCondObjDQM") << "SiStripBaseCondObjDQM::end" << std::endl;
1202 }
virtual void SiStripBaseCondObjDQM::fillMEsForDet ( const ModMEs selModME_,
uint32_t  selDetId_,
const TrackerTopology tTopo 
)
protectedpure virtual
virtual void SiStripBaseCondObjDQM::fillMEsForLayer ( uint32_t  selDetId_,
const TrackerTopology tTopo 
)
protectedpure virtual
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 1205 of file SiStripBaseCondObjDQM.cc.

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

Referenced by analysis(), and analysisOnDemand().

1205  {
1206  // Retrieve tracker topology from geometry
1207  edm::ESHandle<TrackerTopology> tTopoHandle;
1208  es.get<TrackerTopologyRcd>().get(tTopoHandle);
1209  const TrackerTopology *const tTopo = tTopoHandle.product();
1210 
1211  ModMEs CondObj_ME;
1212 
1213  for (std::vector<uint32_t>::const_iterator detIter_ = selectedDetIds.begin(); detIter_ != selectedDetIds.end();
1214  ++detIter_) {
1215  fillMEsForDet(CondObj_ME, *detIter_, tTopo);
1216  }
1217 }
virtual void fillMEsForDet(const ModMEs &selModME_, uint32_t selDetId_, const TrackerTopology *tTopo)=0
T get() const
Definition: EventSetup.h:71
T const * product() const
Definition: ESHandle.h:86
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 1220 of file SiStripBaseCondObjDQM.cc.

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

Referenced by analysis(), and analysisOnDemand().

1220  {
1221  // Retrieve tracker topology from geometry
1222  edm::ESHandle<TrackerTopology> tTopoHandle;
1223  es.get<TrackerTopologyRcd>().get(tTopoHandle);
1224  const TrackerTopology *const tTopo = tTopoHandle.product();
1225 
1226  for (std::vector<uint32_t>::const_iterator detIter_ = selectedDetIds.begin(); detIter_ != selectedDetIds.end();
1227  detIter_++) {
1228  fillMEsForLayer(/*SummaryMEsMap_,*/ *detIter_, tTopo);
1229  }
1230 
1231  for (std::map<uint32_t, ModMEs>::iterator iter = SummaryMEsMap_.begin(); iter != SummaryMEsMap_.end(); iter++) {
1232  ModMEs selME;
1233  selME = iter->second;
1234 
1235  if (hPSet_.getParameter<bool>("FillSummaryProfileAtLayerLevel") &&
1236  fPSet_.getParameter<bool>("OutputSummaryProfileAtLayerLevelAsImage")) {
1237  if (CondObj_fillId_ == "onlyProfile" || CondObj_fillId_ == "ProfileAndCumul") {
1238  TCanvas c1("c1");
1239  selME.SummaryOfProfileDistr->getTProfile()->Draw();
1240  std::string name(selME.SummaryOfProfileDistr->getTProfile()->GetTitle());
1241  name += ".png";
1242  c1.Print(name.c_str());
1243  }
1244  }
1245  if (hPSet_.getParameter<bool>("FillSummaryAtLayerLevel") &&
1246  fPSet_.getParameter<bool>("OutputSummaryAtLayerLevelAsImage")) {
1247  TCanvas c1("c1");
1248  selME.SummaryDistr->getTH1()->Draw();
1249  std::string name(selME.SummaryDistr->getTH1()->GetTitle());
1250  name += ".png";
1251  c1.Print(name.c_str());
1252  }
1253  if (hPSet_.getParameter<bool>("FillCumulativeSummaryAtLayerLevel") &&
1254  fPSet_.getParameter<bool>("OutputCumulativeSummaryAtLayerLevelAsImage")) {
1255  if (CondObj_fillId_ == "onlyCumul" || CondObj_fillId_ == "ProfileAndCumul") {
1256  TCanvas c1("c1");
1257  selME.SummaryOfCumulDistr->getTH1()->Draw();
1258  std::string name(selME.SummaryOfCumulDistr->getTH1()->GetTitle());
1259  name += ".png";
1260  c1.Print(name.c_str());
1261  }
1262  }
1263  }
1264 }
T getParameter(std::string const &) const
virtual void fillMEsForLayer(uint32_t selDetId_, const TrackerTopology *tTopo)=0
std::map< uint32_t, ModMEs > SummaryMEsMap_
T get() const
Definition: EventSetup.h:71
T const * product() const
Definition: ESHandle.h:86
void SiStripBaseCondObjDQM::fillTkMap ( const uint32_t &  detid,
const float &  value 
)
protected
virtual void SiStripBaseCondObjDQM::getActiveDetIds ( const edm::EventSetup eSetup)
pure virtual
std::vector< uint32_t > SiStripBaseCondObjDQM::getCabledModules ( )

Definition at line 158 of file SiStripBaseCondObjDQM.cc.

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

Referenced by ~SiStripBaseCondObjDQM().

158  {
159  std::vector<uint32_t> cabledDetIds_;
162 
163  return cabledDetIds_;
164 }
void addActiveDetectorsRawIds(std::vector< uint32_t > &) const
edm::ESHandle< SiStripDetCabling > detCablingHandle_
T get() const
Definition: EventSetup.h:71
const edm::EventSetup & eSetup_
virtual unsigned long long SiStripBaseCondObjDQM::getCache ( const edm::EventSetup eSetup_)
pure virtual
virtual void SiStripBaseCondObjDQM::getConditionObject ( const edm::EventSetup eSetup_)
pure virtual
std::pair< std::string, uint32_t > SiStripBaseCondObjDQM::getLayerNameAndId ( const uint32_t &  detId_,
const TrackerTopology tTopo 
)
protected

Definition at line 920 of file SiStripBaseCondObjDQM.cc.

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().

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

Definition at line 362 of file SiStripBaseCondObjDQM.cc.

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

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

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

Definition at line 1121 of file SiStripBaseCondObjDQM.cc.

References 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().

1123  {
1124  std::vector<uint32_t> sameLayerDetIds;
1125  sameLayerDetIds.clear();
1126 
1127  switch (DetId(selDetId).subdetId()) {
1128  case StripSubdetector::TIB:
1129  SiStripSubStructure::getTIBDetectors(activeDetIds, sameLayerDetIds, tTopo, tTopo->tibLayer(selDetId), 0, 0, 0);
1130  break;
1131  case StripSubdetector::TID:
1133  activeDetIds, sameLayerDetIds, tTopo, tTopo->tidSide(selDetId), tTopo->tidWheel(selDetId), 0, 0);
1134  break;
1135  case StripSubdetector::TOB:
1136  SiStripSubStructure::getTOBDetectors(activeDetIds, sameLayerDetIds, tTopo, tTopo->tobLayer(selDetId), 0, 0);
1137  break;
1138  case StripSubdetector::TEC:
1140  activeDetIds, sameLayerDetIds, tTopo, tTopo->tecSide(selDetId), tTopo->tecWheel(selDetId), 0, 0, 0, 0);
1141  break;
1142  }
1143 
1144  return sameLayerDetIds;
1145 }
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)
unsigned int tibLayer(const DetId &id) const
void getTIDDetectors(const std::vector< uint32_t > &inputDetRawIds, std::vector< uint32_t > &tidDetRawIds, const TrackerTopology *trackerTopology, uint32_t side=0, uint32_t wheel=0, uint32_t ring=0, uint32_t ster=0)
unsigned int tidWheel(const DetId &id) const
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)
unsigned int tidSide(const DetId &id) const
Definition: DetId.h:18
std::vector< uint32_t > activeDetIds
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)
unsigned int tecWheel(const DetId &id) const
unsigned int tobLayer(const DetId &id) const
unsigned int tecSide(const DetId &id) const
std::pair< std::string, uint32_t > SiStripBaseCondObjDQM::getStringNameAndId ( const uint32_t &  detId_,
const TrackerTopology tTopo 
)
protected

Definition at line 1004 of file SiStripBaseCondObjDQM.cc.

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().

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

Definition at line 398 of file SiStripBaseCondObjDQM.cc.

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().

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

Definition at line 1154 of file SiStripBaseCondObjDQM.cc.

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

Referenced by analysis().

1154  {
1155  if (!tkMapScaler.empty()) {
1156  // check that saturation is below x% below minValue and above minValue, and
1157  // in case re-arrange.
1158  float th = hPSet_.getParameter<double>("saturatedFraction");
1159 
1160  size_t imin = 0, imax = 0;
1161  float entries = 0;
1162  for (size_t i = 0; i < tkMapScaler.size(); ++i)
1163  entries += tkMapScaler[i];
1164 
1165  float min = 0;
1166  for (size_t i = 0; (i < tkMapScaler.size()) && (min < th); ++i) {
1167  min += tkMapScaler[i] / entries;
1168  imin = i;
1169  }
1170 
1171  float max = 0;
1172  // for(size_t i=tkMapScaler.size()-1;(i>=0) && (max<th);--i){ // Wrong
1173  // Since i is unsigned, i >= 0 is always true,
1174  // and the loop termination condition is never reached.
1175  // We offset the loop index by one to fix this.
1176  for (size_t j = tkMapScaler.size(); (j > 0) && (max < th); --j) {
1177  size_t i = j - 1;
1178  max += tkMapScaler[i] / entries;
1179  imax = i;
1180  }
1181 
1182  // reset maxValue;
1183  if (maxValue < imax) {
1184  edm::LogInfo("SiStripBaseCondObjDQM") << "Resetting TkMap maxValue from " << maxValue << " to " << imax;
1185  maxValue = imax;
1186  }
1187  // reset minValue;
1188  if (minValue > imin) {
1189  edm::LogInfo("SiStripBaseCondObjDQM") << "Resetting TkMap minValue from " << minValue << " to " << imin;
1190  minValue = imin;
1191  }
1192  }
1193 
1194  tkMap->save(false, minValue, maxValue, TkMapname, 4500, 2400);
1195  tkMap->setPalette(1);
1196  tkMap->showPalette(true);
1197 }
T getParameter(std::string const &) const
std::vector< int > tkMapScaler
void showPalette(bool printflag1)
Definition: TrackerMap.h:131
void setPalette(int numpalette)
Definition: TrackerMap.h:129
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:699
T min(T a, T b)
Definition: MathUtil.h:58
void SiStripBaseCondObjDQM::selectModules ( std::vector< uint32_t > &  detIds_,
const TrackerTopology tTopo 
)

Definition at line 172 of file SiStripBaseCondObjDQM.cc.

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

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

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

Member Data Documentation

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

Definition at line 122 of file SiStripBaseCondObjDQM.h.

unsigned long long SiStripBaseCondObjDQM::cacheID_current
protected
unsigned long long SiStripBaseCondObjDQM::cacheID_memory
protected
std::string SiStripBaseCondObjDQM::condDataMonitoringMode_
private

Definition at line 153 of file SiStripBaseCondObjDQM.h.

std::string SiStripBaseCondObjDQM::CondObj_fillId_
protected
std::string SiStripBaseCondObjDQM::CondObj_name_
protected
edm::ESHandle<SiStripDetCabling> SiStripBaseCondObjDQM::detCablingHandle_
private

Definition at line 151 of file SiStripBaseCondObjDQM.h.

Referenced by getCabledModules().

DQMStore* SiStripBaseCondObjDQM::dqmStore_
private
const edm::EventSetup& SiStripBaseCondObjDQM::eSetup_
protected

Definition at line 102 of file SiStripBaseCondObjDQM.h.

Referenced by getCabledModules(), and ~SiStripBaseCondObjDQM().

SiStripFolderOrganizer SiStripBaseCondObjDQM::folder_organizer
private
edm::ParameterSet SiStripBaseCondObjDQM::fPSet_
protected
bool SiStripBaseCondObjDQM::GrandSummary_On_
protected

Definition at line 110 of file SiStripBaseCondObjDQM.h.

Referenced by SiStripBaseCondObjDQM().

SiStripHistoId SiStripBaseCondObjDQM::hidmanager
private
bool SiStripBaseCondObjDQM::HistoMaps_On_
protected
edm::ParameterSet SiStripBaseCondObjDQM::hPSet_
protected
double SiStripBaseCondObjDQM::maxValue
protected

Definition at line 111 of file SiStripBaseCondObjDQM.h.

Referenced by analysis(), and SiStripBaseCondObjDQM().

double SiStripBaseCondObjDQM::minValue
protected

Definition at line 111 of file SiStripBaseCondObjDQM.h.

Referenced by analysis(), and SiStripBaseCondObjDQM().

bool SiStripBaseCondObjDQM::Mod_On_
protected

Definition at line 106 of file SiStripBaseCondObjDQM.h.

Referenced by analysis(), and SiStripBaseCondObjDQM().

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

Definition at line 119 of file SiStripBaseCondObjDQM.h.

Referenced by getModMEs().

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

Definition at line 147 of file SiStripBaseCondObjDQM.h.

Referenced by selectModules().

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

Definition at line 148 of file SiStripBaseCondObjDQM.h.

Referenced by selectModules().

SiStripDetInfoFileReader* SiStripBaseCondObjDQM::reader
protected
edm::RunNumber_t SiStripBaseCondObjDQM::runNumber_
private

Definition at line 158 of file SiStripBaseCondObjDQM.h.

Referenced by analysis().

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

Definition at line 149 of file SiStripBaseCondObjDQM.h.

Referenced by selectModules().

std::map<uint32_t, ModMEs> SiStripBaseCondObjDQM::SummaryMEsMap_
protected
bool SiStripBaseCondObjDQM::SummaryOnLayerLevel_On_
protected
bool SiStripBaseCondObjDQM::SummaryOnStringLevel_On_
protected
std::unique_ptr<TkHistoMap> SiStripBaseCondObjDQM::Tk_HM_
protected
std::unique_ptr<TkHistoMap> SiStripBaseCondObjDQM::Tk_HM_H
protected
std::unique_ptr<TkHistoMap> SiStripBaseCondObjDQM::Tk_HM_L
protected
TrackerMap* SiStripBaseCondObjDQM::tkMap
protected

Definition at line 130 of file SiStripBaseCondObjDQM.h.

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

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

Definition at line 112 of file SiStripBaseCondObjDQM.h.

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