32 if(SummaryOnLayerLevel_On_ && SummaryOnStringLevel_On_){
34 <<
"[SiStripBaseCondObjDQM::SiStripBaseCondObjDQMs] PLEASE CHECK : String and layer level options can not be activated together"
75 filename.insert(filename.find(
"."),sRun);
88 uint32_t requestedSide,
89 uint32_t requestedLayer){
94 std::vector<uint32_t> requestedDetIds_;
95 requestedDetIds_.clear();
99 if(requestedSubDetector==
"TIB"){
102 else if(requestedSubDetector==
"TID"){
105 else if(requestedSubDetector==
"TOB"){
108 else if(requestedSubDetector==
"TEC"){
127 std::vector<uint32_t> vdetIdsOnDemand_;
128 vdetIdsOnDemand_.push_back(detIdOnDemand);
153 std::vector<uint32_t> cabledDetIds_;
157 return cabledDetIds_;
170 edm::LogInfo(
"SiStripBaseCondObjDQM") <<
"[SiStripBaseCondObjDQM::selectModules] input detIds_: " << detIds_.size() << std::endl;
174 std::map<unsigned int, std::string> m_included_subdets;
175 std::map<unsigned int, DetIdSelector> m_included_subdetsels;
176 std::vector<edm::ParameterSet> included_subdets =
fPSet_.
getParameter<std::vector<edm::ParameterSet> >(
"ModulesToBeIncluded_DetIdSelector");
177 for(std::vector<edm::ParameterSet>::const_iterator wsdps = included_subdets.begin();wsdps!=included_subdets.end();++wsdps) {
178 m_included_subdets [wsdps->getParameter<
unsigned int>(
"detSelection")] = wsdps->getParameter<
std::string>(
"detLabel");
179 m_included_subdetsels[wsdps->getParameter<
unsigned int>(
"detSelection")] =
180 DetIdSelector(wsdps->getUntrackedParameter<std::vector<std::string> >(
"selection",std::vector<std::string>()));
183 std::vector<uint32_t> modulesToBeIncluded;
184 for(std::vector<uint32_t>::const_iterator
detid=detIds_.begin();
detid!=detIds_.end();++
detid) {
185 for(std::map<unsigned int,DetIdSelector>::const_iterator detidsel=m_included_subdetsels.begin();detidsel!=m_included_subdetsels.end();++detidsel) {
188 modulesToBeIncluded.push_back(*
detid);
196 std::map<unsigned int, std::string> m_excluded_subdets;
197 std::map<unsigned int, DetIdSelector> m_excluded_subdetsels;
198 std::vector<edm::ParameterSet> excluded_subdets =
fPSet_.
getParameter<std::vector<edm::ParameterSet> >(
"ModulesToBeExcluded_DetIdSelector");
199 for(std::vector<edm::ParameterSet>::const_iterator wsdps = excluded_subdets.begin();wsdps!=excluded_subdets.end();++wsdps) {
200 m_excluded_subdets [wsdps->getParameter<
unsigned int>(
"detSelection")] = wsdps->getParameter<
std::string>(
"detLabel");
201 m_excluded_subdetsels[wsdps->getParameter<
unsigned int>(
"detSelection")] =
202 DetIdSelector(wsdps->getUntrackedParameter<std::vector<std::string> >(
"selection",std::vector<std::string>()));
205 std::vector<uint32_t> modulesToBeExcluded;
206 for(std::vector<uint32_t>::const_iterator
detid=detIds_.begin();
detid!=detIds_.end();++
detid) {
207 for(std::map<unsigned int,DetIdSelector>::const_iterator detidsel=m_excluded_subdetsels.begin();detidsel!=m_excluded_subdetsels.end();++detidsel) {
210 modulesToBeExcluded.push_back(*
detid);
222 std::sort(ModulesToBeIncluded_.begin(),ModulesToBeIncluded_.end());
224 if (modulesToBeExcluded.size()==0 && modulesToBeIncluded.size()==0 &&
227 <<
"[SiStripBaseCondObjDQM::selectModules] PLEASE CHECK : no modules to be exclude/included in your cfg"
231 modulesToBeIncluded.insert(modulesToBeIncluded.end(),ModulesToBeIncluded_.begin(),ModulesToBeIncluded_.end());
232 edm::LogInfo(
"SiStripBaseCondObjDQM") <<
"[SiStripBaseCondObjDQM::selectModules] modulesToBeIncluded: " << modulesToBeIncluded.size() << std::endl;
234 edm::LogInfo(
"SiStripBaseCondObjDQM") <<
"[SiStripBaseCondObjDQM::selectModules] modulesToBeExcluded: " << modulesToBeExcluded.size() << std::endl;
237 if( modulesToBeIncluded.size()>0 ){
238 std::vector<uint32_t>
tmp;
240 set_intersection( detIds_.begin(), detIds_.end(),
241 modulesToBeIncluded.begin(), modulesToBeIncluded.end(),
242 inserter(tmp,tmp.begin()));
246 std::sort(detIds_.begin(),detIds_.end());
247 if(modulesToBeExcluded.size()>0) {
248 for( std::vector<uint32_t>::const_iterator
mod = modulesToBeExcluded.begin();
249 mod != modulesToBeExcluded.end();
mod++){
251 std::vector<uint32_t>::iterator
detid=std::lower_bound(detIds_.begin(),detIds_.end(),*
mod);
252 if (detid!=detIds_.end())
253 detIds_.erase(detid);
261 if( *(SubDetectorsToBeExcluded_.begin()) !=
"none" ){
263 std::vector<uint32_t>
tmp;
267 for( std::vector<std::string>::const_iterator modIter_ = SubDetectorsToBeExcluded_.begin();
268 modIter_ != SubDetectorsToBeExcluded_.end(); modIter_++){
271 if (*modIter_==
"TIB") { substructure_.
getTIBDetectors(detIds_, tmp, 0,0,0,0);}
272 else if (*modIter_==
"TOB") { substructure_.
getTOBDetectors(detIds_, tmp, 0,0,0);}
273 else if (*modIter_==
"TID") { substructure_.
getTIDDetectors(detIds_, tmp, 0,0,0,0);}
274 else if (*modIter_==
"TEC") { substructure_.
getTECDetectors(detIds_, tmp, 0,0,0,0,0,0);}
277 <<
"[SiStripBaseCondObjDQM::selectModules] PLEASE CHECK : no correct (name) subdetector to be excluded in your cfg"
281 std::vector<uint32_t>::iterator iterBegin_=std::lower_bound(detIds_.begin(),
283 *min_element(tmp.begin(), tmp.end()));
285 std::vector<uint32_t>::iterator iterEnd_=std::lower_bound(detIds_.begin(),
287 *max_element(tmp.begin(), tmp.end()));
289 for(std::vector<uint32_t>::iterator detIter_ = iterEnd_;
290 detIter_!= iterBegin_-1;detIter_--){
291 detIds_.erase(detIter_);
298 edm::LogInfo(
"SiStripBaseCondObjDQM") <<
"[SiStripBaseCondObjDQM::selectModules] output detIds_: " << detIds_.size() << std::endl;
305 std::vector<uint32_t>
tmp;
306 std::vector<uint32_t> layerDetIds;
310 for(
unsigned int i=1;
i<5 ;
i++){
313 if(tmp.size() !=0) { layerDetIds.push_back(*(tmp.begin()));}
315 for(
unsigned int i=1;
i<7 ;
i++){
318 if(tmp.size() !=0) { layerDetIds.push_back(*(tmp.begin()));}
320 for(
unsigned int i=1;
i<4 ;
i++){
323 if(tmp.size() !=0) { layerDetIds.push_back(*(tmp.begin()));}
325 if(tmp.size() !=0) { layerDetIds.push_back(*(tmp.begin()));}
327 for(
unsigned int i=1;
i<10 ;
i++){
330 if(tmp.size() !=0) { layerDetIds.push_back(*(tmp.begin()));}
332 if(tmp.size() !=0) { layerDetIds.push_back(*(tmp.begin()));}
350 std::map< uint32_t, ModMEs >::const_iterator ModMEsMap_iter =
ModMEsMap_.find(detId_);
354 CondObj_ME=ModMEsMap_iter->second;
365 <<
"[SiStripBaseCondObjDQM::getModMEs] PLEASE CHECK : CondObj_fillId option mispelled";
381 ModMEsMap_.insert( std::make_pair(detId_,CondObj_ME) );
391 std::map<uint32_t, ModMEs>::const_iterator SummaryMEsMap_iter;
462 int hProfile_NchX = 0;
463 double hProfile_LowX = 0;
464 double hProfile_HighX = 0;
477 hProfile_NchX = nStrip;
479 hProfile_HighX = nStrip+0.5;
485 hProfile_NchX = nApv;
487 hProfile_HighX = nApv+0.5;
496 hProfile = hProfile_Name ;
512 double hCumul_LowX = 0;
513 double hCumul_HighX = 0;
532 hCumul_title = hCumul_name ;
552 std::vector<uint32_t> sameLayerDetIds_;
554 int hSummaryOfProfile_NchX = 0;
555 double hSummaryOfProfile_LowX = 0;
556 double hSummaryOfProfile_HighX = 0;
561 std::string hSummaryOfProfile_xTitle, hSummaryOfProfile_yTitle;
565 int hSummaryOfProfile_NchY;
566 double hSummaryOfProfile_LowY, hSummaryOfProfile_HighY;
571 int nStrip, nApv, layerId_;
580 if( (layerId_ > 610 && layerId_ < 620) ||
581 (layerId_ > 620 && layerId_ < 630) ||
582 (layerId_ > 410 && layerId_ < 414) ||
583 (layerId_ > 420 && layerId_ < 424) ){ nStrip =768;}
586 hSummaryOfProfile_NchX = nStrip;
587 hSummaryOfProfile_LowX = 0.5;
588 hSummaryOfProfile_HighX = nStrip+0.5;
596 uint32_t subDetId_ = ((detId_>>25)&0x7);
599 sameLayerDetIds_.clear();
604 else if(subDetId_==4){
607 else if(subDetId_==5){
610 else if(subDetId_==6){
614 hSummaryOfProfile_NchX = sameLayerDetIds_.size();
615 hSummaryOfProfile_LowX = 0.5;
616 hSummaryOfProfile_HighX = sameLayerDetIds_.size()+0.5;
624 uint32_t subDetId_ = ((detId_>>25)&0x7);
627 sameLayerDetIds_.clear();
635 else if(subDetId_==4){
638 else if(subDetId_==5){
641 else if(subDetId_==6){
646 hSummaryOfProfile_NchX = sameLayerDetIds_.size();
647 hSummaryOfProfile_LowX = 0.5;
648 hSummaryOfProfile_HighX = sameLayerDetIds_.size()+0.5;
653 if( (layerId_ > 610 && layerId_ < 620) ||
654 (layerId_ > 620 && layerId_ < 630) ||
655 (layerId_ > 410 && layerId_ < 414) ||
656 (layerId_ > 420 && layerId_ < 424) ){ nApv =6;}
659 hSummaryOfProfile_NchX = nApv;
660 hSummaryOfProfile_LowX = 0.5;
661 hSummaryOfProfile_HighX = nApv+0.5;
666 <<
"[SiStripBaseCondObjDQM::bookSummaryProfileMEs] PLEASE CHECK : x-axis label in your cfg"
679 int subdetectorId_ = ((detId_>>25)&0x7);
682 if( subdetectorId_<3 || subdetectorId_>6 ){
684 <<
"[SiStripBaseCondObjDQM::bookSummaryProfileMEs] WRONG INPUT : no such subdetector type : "
685 << subdetectorId_ <<
" no folder set!"
699 hSummaryOfProfile_title = hSummaryOfProfile_name ;
702 hSummaryOfProfile_title,
703 hSummaryOfProfile_NchX,
704 hSummaryOfProfile_LowX,
705 hSummaryOfProfile_HighX,
706 hSummaryOfProfile_NchY,
722 for(
unsigned int i=0;
i< sameLayerDetIds_.size();
i++){
725 char sameLayerDetIds_Name[1024];
726 sprintf(sameLayerDetIds_Name,
"%u",sameLayerDetIds_[
i]);
734 reverse(sameLayerDetIds_.begin(), sameLayerDetIds_.begin()+sameLayerDetIds_.size()/2);
737 for(
unsigned int i=0;
i< sameLayerDetIds_.size();
i++){
746 char sameLayerDetIds_Name[1024];
747 if(subdetectorId_==3){
749 sprintf(sameLayerDetIds_Name,
"%i",tTopo->
tibModule(sameLayerDetIds_[i]));}
751 sprintf(sameLayerDetIds_Name,
"%i",-tTopo->
tibModule(sameLayerDetIds_[i]));}
754 else if(subdetectorId_==5){
755 if(tTopo->
tobIsZPlusSide(sameLayerDetIds_[
i])) { sprintf(sameLayerDetIds_Name,
"%i",tTopo->
tobModule(sameLayerDetIds_[i]));}
756 else if(tTopo->
tobIsZMinusSide(sameLayerDetIds_[i])) { sprintf(sameLayerDetIds_Name,
"%i",-tTopo->
tobModule(sameLayerDetIds_[i]));}
779 int hSummaryOfCumul_NchX = 0;
780 double hSummaryOfCumul_LowX = 0;
781 double hSummaryOfCumul_HighX = 0;
786 std::string hSummaryOfCumul_xTitle, hSummaryOfCumul_yTitle;
803 int subdetectorId_ = ((detId_>>25)&0x7);
805 if( subdetectorId_<3 || subdetectorId_>6 ){
807 <<
"[SiStripBaseCondObjDQM::bookSummaryCumulMEs] WRONG INPUT : no such subdetector type : "
808 << subdetectorId_ <<
" no folder set!"
824 hSummaryOfCumul_title = hSummaryOfCumul_name ;
827 hSummaryOfCumul_title,
828 hSummaryOfCumul_NchX,
829 hSummaryOfCumul_LowX,
830 hSummaryOfCumul_HighX);
845 std::vector<uint32_t> sameLayerDetIds_;
847 int hSummary_NchX = 0;
848 double hSummary_LowX = 0;
849 double hSummary_HighX = 0;
859 double hSummary_LowY, hSummary_HighY;
869 sameLayerDetIds_.clear();
873 hSummary_NchX = sameLayerDetIds_.size();
875 hSummary_HighX = sameLayerDetIds_.size()+0.5;
886 int subdetectorId_ = ((detId_>>25)&0x7);
889 if( subdetectorId_<3 || subdetectorId_>6 ){
891 <<
"[SiStripBaseCondObjDQM::bookSummaryMEs] WRONG INPUT : no such subdetector type : "
892 << subdetectorId_ <<
" no folder set!"
904 hSummary_title = hSummary_name ;
924 for(
unsigned int i=0;
i< sameLayerDetIds_.size();
i++){
927 char sameLayerDetIds_Name[1024];
928 sprintf(sameLayerDetIds_Name,
"%u",sameLayerDetIds_[
i]);
944 int subdetectorId_ = ((detId_>>25)&0x7);
947 std::stringstream layerName;
949 if( subdetectorId_ == 3 ){
951 for(
unsigned int i = 1;
i < 5;
i++ ){
953 layerName <<
"TIB__layer__" <<
i;
960 else if( subdetectorId_ == 4 ){
962 if( tTopo->
tidSide( detId_ ) == 1 ) {
964 for(
unsigned int i = 1;
i < 4;
i++ ){
966 layerName <<
"TID__side__1__wheel__" <<
i;
973 else if( tTopo->
tidSide( detId_ ) == 2 ) {
975 for(
unsigned int i = 1;
i < 4;
i++ ) {
977 layerName <<
"TID__side__2__wheel__" <<
i;
987 else if( subdetectorId_ == 5 ){
989 for(
unsigned int i = 1;
i < 7;
i++ ) {
991 layerName <<
"TOB__layer__" <<
i;
998 else if( subdetectorId_ == 6 ){
1000 if( tTopo->
tecSide( detId_ ) == 1) {
1002 for(
unsigned int i = 1;
i < 10;
i++ ) {
1004 layerName <<
"TEC__side__1__wheel__" <<
i;
1011 else if( tTopo->
tecSide( detId_ ) == 2 ) {
1013 for(
unsigned int i = 1;
i < 10;
i++ ) {
1015 layerName <<
"TEC__side__2__wheel__" <<
i;
1023 return std::make_pair( layerName.str(), layerId_ );
1033 int subdetectorId_ = ((detId_>>25)&0x7);
1034 int layerStringId_=0;
1036 std::stringstream layerStringName;
1038 if( subdetectorId_==3 ){
1040 for(
unsigned int i=1;
i < 27 ;
i++){
1042 layerStringName <<
"TIB_L1_Int_Str_" <<
i;
1043 layerStringId_ = 30110+
i;
1048 for(
unsigned int i=1;
i < 31 ;
i++){
1050 layerStringName <<
"TIB_L1_Ext_Str_" <<
i;
1051 layerStringId_ = 301200+
i;
1056 for(
unsigned int i=1;
i < 35 ;
i++){
1058 layerStringName <<
"TIB_L2_Int_Str_" <<
i;
1059 layerStringId_ = 302100+
i;
1064 for(
unsigned int i=1;
i < 39 ;
i++){
1066 layerStringName <<
"TIB_L2_Ext_Str_" <<
i;
1067 layerStringId_ = 302200+
i;
1072 for(
unsigned int i=1;
i < 45 ;
i++){
1074 layerStringName <<
"TIB_L3_Int_Str_" <<
i;
1075 layerStringId_ = 303100+
i;
1080 for(
unsigned int i=1;
i < 47 ;
i++){
1082 layerStringName <<
"TIB_L3_Ext_Str_" <<
i;
1083 layerStringId_ = 303200+
i;
1088 for(
unsigned int i=1;
i < 53 ;
i++){
1090 layerStringName <<
"TIB_L4_Int_Str_" <<
i;
1091 layerStringId_ = 304100+
i;
1096 for(
unsigned int i=1;
i < 57 ;
i++){
1098 layerStringName <<
"TIB_L4_Ext_Str_" <<
i;
1099 layerStringId_ = 304200+
i;
1106 else if( subdetectorId_==5 ){
1108 for(
unsigned int i=1;
i < 43 ;
i++){
1110 layerStringName <<
"TOB_L1_Rod_" <<
i;
1111 layerStringId_ = 50100+
i;
1115 else if(tTopo->
tobLayer(detId_)==2){
1116 for(
unsigned int i=1;
i < 49 ;
i++){
1118 layerStringName <<
"TOB_L2_Rod_" <<
i;
1119 layerStringId_ = 50200+
i;
1123 else if(tTopo->
tobLayer(detId_)==3){
1124 for(
unsigned int i=1;
i < 55 ;
i++){
1126 layerStringName <<
"TOB_L3_Rod_" <<
i;
1127 layerStringId_ = 50300+
i;
1131 else if(tTopo->
tobLayer(detId_)==4){
1132 for(
unsigned int i=1;
i < 61 ;
i++){
1134 layerStringName <<
"TOB_L4_Rod_" <<
i;
1135 layerStringId_ = 50400+
i;
1139 else if(tTopo->
tobLayer(detId_)==5){
1140 for(
unsigned int i=1;
i < 67 ;
i++){
1142 layerStringName <<
"TOB_L5_Rod_" <<
i;
1143 layerStringId_ = 50500+
i;
1147 else if(tTopo->
tobLayer(detId_)==6){
1148 for(
unsigned int i=1;
i < 75 ;
i++){
1150 layerStringName <<
"TOB_L6_Rod_" <<
i;
1151 layerStringId_ = 50600+
i;
1157 return std::make_pair( layerStringName.str(), layerStringId_ );
1167 std::vector<uint32_t> sameLayerDetIds;
1168 sameLayerDetIds.clear();
1172 uint32_t subselDetId_ = ((selDetId>>25)&0x7);
1174 if(subselDetId_==3){
1177 else if(subselDetId_==4){
1180 else if(subselDetId_==5){
1183 else if(subselDetId_==6){
1187 return sameLayerDetIds;
1209 size_t imin=0,imax=0;
1233 edm::LogInfo(
"SiStripBaseCondObjDQM") <<
"Resetting TkMap maxValue from " << maxValue <<
" to " << imax;
1238 edm::LogInfo(
"SiStripBaseCondObjDQM") <<
"Resetting TkMap minValue from " << minValue <<
" to " << imin;
1243 tkMap->
save(
false, minValue, maxValue, TkMapname.c_str(),4500,2400);
1251 edm::LogInfo(
"SiStripBaseCondObjDQM") <<
"SiStripBaseCondObjDQM::end" << std::endl;
1264 for(std::vector<uint32_t>::const_iterator detIter_=selectedDetIds.begin();
1265 detIter_!=selectedDetIds.end();++detIter_){
1278 for(std::vector<uint32_t>::const_iterator detIter_ = selectedDetIds.begin();
1279 detIter_!= selectedDetIds.end();detIter_++){
1283 for (std::map<uint32_t, ModMEs>::iterator iter=
SummaryMEsMap_.begin();
1287 selME = iter->second;
1298 c1.Print(name.c_str());
1308 c1.Print(name.c_str());
1319 c1.Print(name.c_str());
std::map< uint32_t, ModMEs > ModMEsMap_
void swap(ora::Record &rh, ora::Record &lh)
T getParameter(std::string const &) const
static const char layer_[]
std::vector< uint32_t > ModulesToBeExcluded_
void selectModules(std::vector< uint32_t > &detIds_)
unsigned int tibLayer(const DetId &id) const
unsigned int tibString(const DetId &id) const
std::string CondObj_name_
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
const EventID & eventID() const
void bookSummaryMEs(SiStripBaseCondObjDQM::ModMEs &CondObj_ME, const uint32_t &detId_, const TrackerTopology *tTopo)
SiStripBaseCondObjDQM(const edm::EventSetup &eSetup, edm::ParameterSet const &hPSet, edm::ParameterSet const &fPSet)
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 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)
std::pair< std::string, int32_t > GetSubDetAndLayer(const uint32_t &detid, const TrackerTopology *tTopo, bool ring_flag=0)
bool SummaryOnStringLevel_On_
unsigned int tidWheel(const DetId &id) const
SiStripFolderOrganizer folder_organizer
std::vector< int > tkMapScaler
void saveTkMap(const std::string &TkMapname, double minValue, double maxValue)
void getSummaryMEs(ModMEs &CondObj_ME, const uint32_t &detId_, const TrackerTopology *tTopo)
virtual void fillMEsForLayer(uint32_t selDetId_, const TrackerTopology *tTopo)=0
bool isSelected(const DetId &detid) const
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
void getTOBDetectors(const std::vector< uint32_t > &inputDetRawIds, std::vector< uint32_t > &tobDetRawIds, uint32_t layer=0, uint32_t bkw_frw=0, uint32_t rod=0) const
bool tibIsZMinusSide(const DetId &id) const
const T & max(const T &a, const T &b)
unsigned long long cacheID_memory
void analysisOnDemand(const edm::EventSetup &eSetup_, uint32_t detIdOnDemand)
void setPalette(int numpalette)
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)
MonitorElement * bookProfile(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, const char *option="s")
MonitorElement * SummaryOfProfileDistr
MonitorElement * CumulDistr
unsigned int tibModule(const DetId &id) const
virtual void getConditionObject(const edm::EventSetup &eSetup_)=0
tuple SiStripDetInfoFileReader
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)
void setLayerFolder(uint32_t rawdetid, const TrackerTopology *tTopo, int32_t layer=0, bool ring_flag=0)
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)
T const * product() const
unsigned int tobModule(const DetId &id) const
void getTECDetectors(const std::vector< uint32_t > &inputDetRawIds, std::vector< uint32_t > &tecDetRawIds, uint32_t side=0, uint32_t wheel=0, uint32_t petal_bkw_frw=0, uint32_t petal=0, uint32_t ring=0, uint32_t ster=0) const
const IOVSyncValue & iovSyncValue() const
std::vector< std::vector< double > > tmp
std::pair< std::string, uint32_t > getLayerNameAndId(const uint32_t &detId_, const TrackerTopology *tTopo)
TProfile * getTProfile(void) const
void getTIBDetectors(const std::vector< uint32_t > &inputDetRawIds, std::vector< uint32_t > &tibDetRawIds, uint32_t layer=0, uint32_t bkw_frw=0, uint32_t int_ext=0, uint32_t string=0) const
MonitorElement * SummaryDistr
std::vector< uint32_t > activeDetIds
void getTIDDetectors(const std::vector< uint32_t > &inputDetRawIds, std::vector< uint32_t > &tidDetRawIds, uint32_t side=0, uint32_t wheel=0, uint32_t ring=0, uint32_t ster=0) const
void bookSummaryCumulMEs(SiStripBaseCondObjDQM::ModMEs &CondObj_ME, const uint32_t &detId_, const TrackerTopology *tTopo)
unsigned long long cacheID_current
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)
void Reset(void)
reset ME (ie. contents, errors, etc)
std::vector< std::string > SubDetectorsToBeExcluded_
SiStripHistoId hidmanager
void fill(int layer, int ring, int nmod, float x)
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)