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" 83 if (!filename.empty()) {
87 filename.insert(filename.find(
"."), sRun);
99 uint32_t requestedSide,
100 uint32_t requestedLayer) {
104 std::vector<uint32_t> requestedDetIds_;
105 requestedDetIds_.clear();
111 if (requestedSubDetector ==
"TIB") {
113 }
else if (requestedSubDetector ==
"TID") {
115 }
else if (requestedSubDetector ==
"TOB") {
117 }
else if (requestedSubDetector ==
"TEC") {
119 activeDetIds, requestedDetIds_, tTopo, requestedSide, requestedLayer, 0, 0, 0, 0);
136 std::vector<uint32_t> vdetIdsOnDemand_;
137 vdetIdsOnDemand_.push_back(detIdOnDemand);
145 const std::vector<uint32_t> &detIdsOnDemand) {
159 std::vector<uint32_t> cabledDetIds_;
163 return cabledDetIds_;
173 edm::LogInfo(
"SiStripBaseCondObjDQM") <<
"[SiStripBaseCondObjDQM::selectModules] input detIds_: " << detIds_.size()
177 std::vector<DetIdSelector> included_subdetsels;
178 std::vector<std::string> included_subdets =
180 for (std::vector<std::string>::const_iterator wsdps = included_subdets.begin(); wsdps != included_subdets.end();
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();
190 if (detidsel->isSelected(*detid)) {
191 modulesToBeIncluded.push_back(*detid);
201 std::vector<DetIdSelector> excluded_subdetsels;
202 std::vector<std::string> excluded_subdets =
204 for (std::vector<std::string>::const_iterator wsdps = excluded_subdets.begin(); wsdps != excluded_subdets.end();
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();
214 if (detidsel->isSelected(*detid)) {
215 modulesToBeExcluded.push_back(*detid);
228 std::sort(ModulesToBeIncluded_.begin(), ModulesToBeIncluded_.end());
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" 236 modulesToBeIncluded.insert(modulesToBeIncluded.end(), ModulesToBeIncluded_.begin(), ModulesToBeIncluded_.end());
238 <<
"[SiStripBaseCondObjDQM::selectModules] modulesToBeIncluded: " << modulesToBeIncluded.size() << std::endl;
241 <<
"[SiStripBaseCondObjDQM::selectModules] modulesToBeExcluded: " << modulesToBeExcluded.size() << std::endl;
244 if (!modulesToBeIncluded.empty()) {
245 std::vector<uint32_t>
tmp;
248 set_intersection(detIds_.begin(),
250 modulesToBeIncluded.begin(),
251 modulesToBeIncluded.end(),
252 inserter(tmp, tmp.begin()));
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();
260 std::vector<uint32_t>::iterator detid =
std::lower_bound(detIds_.begin(), detIds_.end(), *
mod);
261 if (detid != detIds_.end())
262 detIds_.erase(detid);
270 if (*(SubDetectorsToBeExcluded_.begin()) !=
"none") {
271 std::vector<uint32_t>
tmp;
273 for (std::vector<std::string>::const_iterator modIter_ = SubDetectorsToBeExcluded_.begin();
274 modIter_ != SubDetectorsToBeExcluded_.end();
278 if (*modIter_ ==
"TIB") {
280 }
else if (*modIter_ ==
"TOB") {
282 }
else if (*modIter_ ==
"TID") {
284 }
else if (*modIter_ ==
"TEC") {
287 edm::LogWarning(
"SiStripBaseCondObjDQM") <<
"[SiStripBaseCondObjDQM::selectModules] PLEASE CHECK : no " 288 "correct (name) subdetector to be excluded in your cfg" 292 std::vector<uint32_t>::iterator iterBegin_ =
293 std::lower_bound(detIds_.begin(), detIds_.end(), *min_element(tmp.begin(), tmp.end()));
295 std::vector<uint32_t>::iterator iterEnd_ =
296 std::lower_bound(detIds_.begin(), detIds_.end(), *max_element(tmp.begin(), tmp.end()));
298 for (std::vector<uint32_t>::iterator detIter_ = iterEnd_; detIter_ != iterBegin_ - 1; detIter_--) {
299 detIds_.erase(detIter_);
305 edm::LogInfo(
"SiStripBaseCondObjDQM") <<
"[SiStripBaseCondObjDQM::selectModules] output detIds_: " << detIds_.size()
312 std::vector<uint32_t>
tmp;
313 std::vector<uint32_t> layerDetIds;
315 for (
unsigned int i = 1;
i < 5;
i++) {
319 layerDetIds.push_back(*(tmp.begin()));
322 for (
unsigned int i = 1;
i < 7;
i++) {
326 layerDetIds.push_back(*(tmp.begin()));
329 for (
unsigned int i = 1;
i < 4;
i++) {
333 layerDetIds.push_back(*(tmp.begin()));
337 layerDetIds.push_back(*(tmp.begin()));
340 for (
unsigned int i = 1;
i < 10;
i++) {
344 layerDetIds.push_back(*(tmp.begin()));
348 layerDetIds.push_back(*(tmp.begin()));
353 detIds_ = layerDetIds;
363 std::map<uint32_t, ModMEs>::const_iterator ModMEsMap_iter =
ModMEsMap_.find(detId_);
366 CondObj_ME = ModMEsMap_iter->second;
375 edm::LogWarning(
"SiStripBaseCondObjDQM") <<
"[SiStripBaseCondObjDQM::getModMEs] PLEASE CHECK : CondObj_fillId " 391 ModMEsMap_.insert(std::make_pair(detId_, CondObj_ME));
399 std::map<uint32_t, ModMEs>::const_iterator SummaryMEsMap_iter;
465 const uint32_t &detId_,
467 int hProfile_NchX = 0;
468 double hProfile_LowX = 0;
469 double hProfile_HighX = 0;
481 hProfile_NchX = nStrip;
483 hProfile_HighX = nStrip + 0.5;
487 hProfile_NchX = nApv;
489 hProfile_HighX = nApv + 0.5;
498 hProfile = hProfile_Name;
510 const uint32_t &detId_,
513 double hCumul_LowX = 0;
514 double hCumul_HighX = 0;
534 hCumul_title = hCumul_name;
547 const uint32_t &detId_,
549 std::vector<uint32_t> sameLayerDetIds_;
551 int hSummaryOfProfile_NchX = 0;
552 double hSummaryOfProfile_LowX = 0;
553 double hSummaryOfProfile_HighX = 0;
558 std::string hSummaryOfProfile_xTitle, hSummaryOfProfile_yTitle;
562 int hSummaryOfProfile_NchY;
563 double hSummaryOfProfile_LowY, hSummaryOfProfile_HighY;
568 int nStrip, nApv, layerId_;
581 if ((layerId_ > 610 && layerId_ < 620) ||
582 (layerId_ > 620 && layerId_ < 630) || (layerId_ > 410 && layerId_ < 414) ||
583 (layerId_ > 420 && layerId_ < 424)) {
589 hSummaryOfProfile_NchX = nStrip;
590 hSummaryOfProfile_LowX = 0.5;
591 hSummaryOfProfile_HighX = nStrip + 0.5;
599 sameLayerDetIds_.clear();
601 switch (
DetId(detId_).subdetId()) {
617 hSummaryOfProfile_NchX = sameLayerDetIds_.size();
618 hSummaryOfProfile_LowX = 0.5;
619 hSummaryOfProfile_HighX = sameLayerDetIds_.size() + 0.5;
627 sameLayerDetIds_.clear();
629 switch (
DetId(detId_).subdetId()) {
651 hSummaryOfProfile_NchX = sameLayerDetIds_.size();
652 hSummaryOfProfile_LowX = 0.5;
653 hSummaryOfProfile_HighX = sameLayerDetIds_.size() + 0.5;
656 if ((layerId_ > 610 && layerId_ < 620) ||
657 (layerId_ > 620 && layerId_ < 630) || (layerId_ > 410 && layerId_ < 414) ||
658 (layerId_ > 420 && layerId_ < 424)) {
664 hSummaryOfProfile_NchX = nApv;
665 hSummaryOfProfile_LowX = 0.5;
666 hSummaryOfProfile_HighX = nApv + 0.5;
669 edm::LogWarning(
"SiStripBaseCondObjDQM") <<
"[SiStripBaseCondObjDQM::bookSummaryProfileMEs] PLEASE CHECK : " 670 "x-axis label in your cfg" 683 int subdetectorId_ = ((detId_ >> 25) & 0x7);
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;
697 hSummaryOfProfile_name =
702 hSummaryOfProfile_title = hSummaryOfProfile_name;
705 hSummaryOfProfile_title,
706 hSummaryOfProfile_NchX,
707 hSummaryOfProfile_LowX,
708 hSummaryOfProfile_HighX,
709 hSummaryOfProfile_NchY,
722 unsigned int iBin = 0;
724 for (
unsigned int i = 0;
i < sameLayerDetIds_.size();
i++) {
726 char sameLayerDetIds_Name[1024];
727 sprintf(sameLayerDetIds_Name,
"%u", sameLayerDetIds_[
i]);
733 reverse(sameLayerDetIds_.begin(), sameLayerDetIds_.begin() + sameLayerDetIds_.size() / 2);
735 unsigned int iBin = 0;
736 for (
unsigned int i = 0;
i < sameLayerDetIds_.size();
i++) {
745 char sameLayerDetIds_Name[1024];
746 if (subdetectorId_ == 3) {
748 sprintf(sameLayerDetIds_Name,
"%i", tTopo->
tibModule(sameLayerDetIds_[i]));
750 sprintf(sameLayerDetIds_Name,
"%i", -tTopo->
tibModule(sameLayerDetIds_[i]));
753 }
else if (subdetectorId_ == 5) {
755 sprintf(sameLayerDetIds_Name,
"%i", tTopo->
tobModule(sameLayerDetIds_[i]));
757 sprintf(sameLayerDetIds_Name,
"%i", -tTopo->
tobModule(sameLayerDetIds_[i]));
775 const uint32_t &detId_,
777 int hSummaryOfCumul_NchX = 0;
778 double hSummaryOfCumul_LowX = 0;
779 double hSummaryOfCumul_HighX = 0;
784 std::string hSummaryOfCumul_xTitle, hSummaryOfCumul_yTitle;
801 int subdetectorId_ = ((detId_ >> 25) & 0x7);
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;
813 hSummaryOfCumul_name =
816 hSummaryOfCumul_name =
821 hSummaryOfCumul_title = hSummaryOfCumul_name;
824 hSummaryOfCumul_name, hSummaryOfCumul_title, hSummaryOfCumul_NchX, hSummaryOfCumul_LowX, hSummaryOfCumul_HighX);
837 const uint32_t &detId_,
839 std::vector<uint32_t> sameLayerDetIds_;
841 int hSummary_NchX = 0;
842 double hSummary_LowX = 0;
843 double hSummary_HighX = 0;
853 double hSummary_LowY, hSummary_HighY;
861 sameLayerDetIds_.clear();
865 hSummary_NchX = sameLayerDetIds_.size();
867 hSummary_HighX = sameLayerDetIds_.size() + 0.5;
878 int subdetectorId_ = ((detId_ >> 25) & 0x7);
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;
892 hSummary_title = hSummary_name;
895 hSummary_name, hSummary_title, hSummary_NchX, hSummary_LowX, hSummary_HighX, hSummary_NchY, 0., 0.);
904 unsigned int iBin = 0;
906 for (
unsigned int i = 0;
i < sameLayerDetIds_.size();
i++) {
908 char sameLayerDetIds_Name[1024];
909 sprintf(sameLayerDetIds_Name,
"%u", sameLayerDetIds_[
i]);
922 int subdetectorId_ = ((detId_ >> 25) & 0x7);
925 std::stringstream layerName;
927 if (subdetectorId_ == 3) {
929 for (
unsigned int i = 1;
i < 5;
i++) {
931 layerName <<
"TIB__layer__" <<
i;
938 else if (subdetectorId_ == 4) {
940 if (tTopo->
tidSide(detId_) == 1) {
942 for (
unsigned int i = 1;
i < 4;
i++) {
944 layerName <<
"TID__side__1__wheel__" <<
i;
951 else if (tTopo->
tidSide(detId_) == 2) {
953 for (
unsigned int i = 1;
i < 4;
i++) {
955 layerName <<
"TID__side__2__wheel__" <<
i;
963 else if (subdetectorId_ == 5) {
965 for (
unsigned int i = 1;
i < 7;
i++) {
967 layerName <<
"TOB__layer__" <<
i;
974 else if (subdetectorId_ == 6) {
976 if (tTopo->
tecSide(detId_) == 1) {
978 for (
unsigned int i = 1;
i < 10;
i++) {
980 layerName <<
"TEC__side__1__wheel__" <<
i;
987 else if (tTopo->
tecSide(detId_) == 2) {
989 for (
unsigned int i = 1;
i < 10;
i++) {
991 layerName <<
"TEC__side__2__wheel__" <<
i;
998 return std::make_pair(layerName.str(), layerId_);
1006 int subdetectorId_ = ((detId_ >> 25) & 0x7);
1007 int layerStringId_ = 0;
1009 std::stringstream layerStringName;
1011 if (subdetectorId_ == 3) {
1013 for (
unsigned int i = 1;
i < 27;
i++) {
1015 layerStringName <<
"TIB_L1_Int_Str_" <<
i;
1016 layerStringId_ = 30110 +
i;
1020 for (
unsigned int i = 1;
i < 31;
i++) {
1022 layerStringName <<
"TIB_L1_Ext_Str_" <<
i;
1023 layerStringId_ = 301200 +
i;
1027 for (
unsigned int i = 1;
i < 35;
i++) {
1029 layerStringName <<
"TIB_L2_Int_Str_" <<
i;
1030 layerStringId_ = 302100 +
i;
1034 for (
unsigned int i = 1;
i < 39;
i++) {
1036 layerStringName <<
"TIB_L2_Ext_Str_" <<
i;
1037 layerStringId_ = 302200 +
i;
1041 for (
unsigned int i = 1;
i < 45;
i++) {
1043 layerStringName <<
"TIB_L3_Int_Str_" <<
i;
1044 layerStringId_ = 303100 +
i;
1048 for (
unsigned int i = 1;
i < 47;
i++) {
1050 layerStringName <<
"TIB_L3_Ext_Str_" <<
i;
1051 layerStringId_ = 303200 +
i;
1055 for (
unsigned int i = 1;
i < 53;
i++) {
1057 layerStringName <<
"TIB_L4_Int_Str_" <<
i;
1058 layerStringId_ = 304100 +
i;
1062 for (
unsigned int i = 1;
i < 57;
i++) {
1064 layerStringName <<
"TIB_L4_Ext_Str_" <<
i;
1065 layerStringId_ = 304200 +
i;
1071 else if (subdetectorId_ == 5) {
1072 if (tTopo->
tobLayer(detId_) == 1) {
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;
1079 }
else if (tTopo->
tobLayer(detId_) == 2) {
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;
1086 }
else if (tTopo->
tobLayer(detId_) == 3) {
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;
1093 }
else if (tTopo->
tobLayer(detId_) == 4) {
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;
1100 }
else if (tTopo->
tobLayer(detId_) == 5) {
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;
1107 }
else if (tTopo->
tobLayer(detId_) == 6) {
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;
1117 return std::make_pair(layerStringName.str(), layerStringId_);
1124 std::vector<uint32_t> sameLayerDetIds;
1125 sameLayerDetIds.clear();
1127 switch (
DetId(selDetId).subdetId()) {
1133 activeDetIds, sameLayerDetIds, tTopo, tTopo->
tidSide(selDetId), tTopo->
tidWheel(selDetId), 0, 0);
1140 activeDetIds, sameLayerDetIds, tTopo, tTopo->
tecSide(selDetId), tTopo->
tecWheel(selDetId), 0, 0, 0, 0);
1144 return sameLayerDetIds;
1160 size_t imin = 0, imax = 0;
1166 for (
size_t i = 0; (
i <
tkMapScaler.size()) && (min < th); ++
i) {
1176 for (
size_t j =
tkMapScaler.size(); (j > 0) && (max < th); --j) {
1183 if (maxValue < imax) {
1184 edm::LogInfo(
"SiStripBaseCondObjDQM") <<
"Resetting TkMap maxValue from " << maxValue <<
" to " << imax;
1188 if (minValue > imin) {
1189 edm::LogInfo(
"SiStripBaseCondObjDQM") <<
"Resetting TkMap minValue from " << minValue <<
" to " << imin;
1194 tkMap->
save(
false, minValue, maxValue, TkMapname, 4500, 2400);
1201 edm::LogInfo(
"SiStripBaseCondObjDQM") <<
"SiStripBaseCondObjDQM::end" << std::endl;
1213 for (std::vector<uint32_t>::const_iterator detIter_ = selectedDetIds.begin(); detIter_ != selectedDetIds.end();
1226 for (std::vector<uint32_t>::const_iterator detIter_ = selectedDetIds.begin(); detIter_ != selectedDetIds.end();
1233 selME = iter->second;
1242 c1.Print(name.c_str());
1251 c1.Print(name.c_str());
1260 c1.Print(name.c_str());
std::map< uint32_t, ModMEs > ModMEsMap_
static const char runNumber_[]
TProfile * getTProfile() const
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)
std::vector< uint32_t > ModulesToBeExcluded_
void addActiveDetectorsRawIds(std::vector< uint32_t > &) const
unsigned int tibLayer(const DetId &id) const
unsigned int tibString(const DetId &id) const
std::string CondObj_name_
void bookSummaryMEs(SiStripBaseCondObjDQM::ModMEs &CondObj_ME, const uint32_t &detId_, const TrackerTopology *tTopo)
void setAxisRange(double xmin, double xmax, int axis=1)
set x-, y- or z-axis range (axis=1, 2, 3 respectively)
void selectModules(std::vector< uint32_t > &detIds_, const TrackerTopology *tTopo)
const std::pair< unsigned short, double > getNumberOfApvsAndStripLength(uint32_t detId) const
void bookTkMap(const std::string &TkMapname)
bool SummaryOnLayerLevel_On_
edm::ESHandle< SiStripDetCabling > detCablingHandle_
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)
bool SummaryOnStringLevel_On_
unsigned int tidWheel(const DetId &id) const
void setLayerFolder(uint32_t rawdetid, const TrackerTopology *tTopo, int32_t layer=0, bool ring_flag=false)
SiStripFolderOrganizer folder_organizer
std::vector< int > tkMapScaler
void saveTkMap(const std::string &TkMapname, double minValue, double maxValue)
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 getSummaryMEs(ModMEs &CondObj_ME, const uint32_t &detId_, const TrackerTopology *tTopo)
virtual void fillMEsForLayer(uint32_t selDetId_, const TrackerTopology *tTopo)=0
MonitorElement * book1D(char_string const &name, char_string const &title, int const nchX, double const lowX, double const highX)
Book 1D histogram.
void swap(Association< C > &lhs, Association< C > &rhs)
void fillTkMap(const uint32_t &detid, const float &value)
void bookSummaryProfileMEs(SiStripBaseCondObjDQM::ModMEs &CondObj_ME, const uint32_t &detId_, const TrackerTopology *tTopo)
void setDetectorFolder(uint32_t rawdetid, const TrackerTopology *tTopo)
void tag(MonitorElement *me, unsigned int myTag)
U second(std::pair< T, U > const &p)
bool tibIsZPlusSide(const DetId &id) const
std::map< uint32_t, ModMEs > SummaryMEsMap_
bool tibIsExternalString(const DetId &id) const
std::vector< uint32_t > getCabledModules()
void showPalette(bool printflag1)
unsigned int tidSide(const DetId &id) const
const std::vector< uint32_t > & getAllDetIds() const
SiStripDetInfoFileReader * reader
bool tibIsZMinusSide(const DetId &id) const
unsigned long long cacheID_memory
void analysisOnDemand(const edm::EventSetup &eSetup_, uint32_t detIdOnDemand)
void setPalette(int numpalette)
SiStripBaseCondObjDQM(const edm::EventSetup &eSetup, edm::RunNumber_t iRun, edm::ParameterSet const &hPSet, edm::ParameterSet const &fPSet)
void save(bool print_total=true, float minval=0., float maxval=0., std::string s="svgmap.svg", int width=1500, int height=800)
bool tobIsZPlusSide(const DetId &id) const
std::vector< uint32_t > GetSameLayerDetId(const std::vector< uint32_t > &activeDetIds, uint32_t selDetId, const TrackerTopology *tTopo)
bool tobIsZMinusSide(const DetId &id) const
std::string CondObj_fillId_
MonitorElement * ProfileDistr
std::pair< std::string, uint32_t > getStringNameAndId(const uint32_t &detId_, const TrackerTopology *tTopo)
void Reset()
reset ME (ie. contents, errors, etc)
MonitorElement * SummaryOfProfileDistr
MonitorElement * CumulDistr
unsigned int tibModule(const DetId &id) const
virtual void getConditionObject(const edm::EventSetup &eSetup_)=0
virtual void getActiveDetIds(const edm::EventSetup &eSetup)=0
void analysis(const edm::EventSetup &eSetup_)
std::vector< uint32_t > ModulesToBeIncluded_
virtual void fillMEsForDet(const ModMEs &selModME_, uint32_t selDetId_, const TrackerTopology *tTopo)=0
virtual unsigned long long getCache(const edm::EventSetup &eSetup_)=0
void bookProfileMEs(SiStripBaseCondObjDQM::ModMEs &CondObj_ME, const uint32_t &detId_, 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")
virtual void fillSummaryMEs(const std::vector< uint32_t > &selectedDetIds, const edm::EventSetup &es)
void getModMEs(ModMEs &CondObj_ME, const uint32_t &detId_, const TrackerTopology *tTopo)
std::string createHistoId(std::string description, std::string id_type, uint32_t component_id)
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::vector< std::vector< double > > tmp
std::pair< std::string, uint32_t > getLayerNameAndId(const uint32_t &detId_, const TrackerTopology *tTopo)
MonitorElement * SummaryDistr
std::vector< uint32_t > activeDetIds
void bookSummaryCumulMEs(SiStripBaseCondObjDQM::ModMEs &CondObj_ME, const uint32_t &detId_, const TrackerTopology *tTopo)
unsigned long long cacheID_current
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
MonitorElement * SummaryOfCumulDistr
void bookCumulMEs(SiStripBaseCondObjDQM::ModMEs &CondObj_ME, const uint32_t &detId_, const TrackerTopology *tTopo)
bool tibIsInternalString(const DetId &id) const
T mod(const T &a, const T &b)
unsigned int tecWheel(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)
T const * product() const
std::vector< std::string > SubDetectorsToBeExcluded_
SiStripHistoId hidmanager
void fill(int layer, int ring, int nmod, float x)
edm::RunNumber_t runNumber_
unsigned int tobLayer(const DetId &id) const
const edm::EventSetup & eSetup_
unsigned int tecSide(const DetId &id) const
virtual void fillModMEs(const std::vector< uint32_t > &selectedDetIds, const edm::EventSetup &es)