CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Classes | Public Member Functions | Private Member Functions | Private Attributes
SiStripQualityChecker Class Reference

#include <SiStripQualityChecker.h>

Classes

struct  SubDetMEs
 
struct  TrackingMEs
 

Public Member Functions

void bookStatus (DQMStore *dqm_store)
 
void fillDummyStatus ()
 
void fillFaultyModuleStatus (DQMStore *dqm_store)
 
void fillStatus (DQMStore *dqm_store, const edm::ESHandle< SiStripDetCabling > &cabling)
 
void fillStatusAtLumi (DQMStore *dqm_store)
 
void printStatusReport ()
 
void resetStatus ()
 
 SiStripQualityChecker (edm::ParameterSet const &ps)
 
virtual ~SiStripQualityChecker ()
 

Private Member Functions

void fillDetectorStatus (DQMStore *dqm_store, const edm::ESHandle< SiStripDetCabling > &cabling)
 
void fillDetectorStatusAtLumi (DQMStore *dqm_store)
 
void fillStatusHistogram (MonitorElement *, int xbin, int ybin, float val)
 
void fillSubDetStatus (DQMStore *dqm_store, const edm::ESHandle< SiStripDetCabling > &cabling, SubDetMEs &mes, unsigned int xbin, float &gflag)
 
void fillTrackingStatus (DQMStore *dqm_store)
 
void fillTrackingStatusAtLumi (DQMStore *dqm_store)
 
void getModuleStatus (DQMStore *dqm_store, std::vector< MonitorElement * > &layer_mes, int &errdet)
 
void initialiseBadModuleList ()
 

Private Attributes

std::map< uint32_t, uint16_t > badModuleList
 
bool bookedStripStatus_
 
bool bookedTrackingStatus_
 
float cutoffChi2overDoF_
 
float cutoffRecHits_
 
float cutoffTrackRate_
 
MonitorElementDetFractionReportMap
 
int globalStatusFilling_
 
edm::ParameterSet pSet_
 
MonitorElementSToNReportMap
 
std::map< std::string,
std::string > 
SubDetFolderMap
 
std::map< std::string, SubDetMEsSubDetMEsMap
 
MonitorElementSummaryReportGlobal
 
MonitorElementSummaryReportMap
 
TkDetMaptkDetMap_
 
std::map< std::string,
TrackingMEs
TrackingMEsMap
 
MonitorElementTrackSummaryReportGlobal
 
MonitorElementTrackSummaryReportMap
 
bool useGoodTracks_
 

Detailed Description

Definition at line 20 of file SiStripQualityChecker.h.

Constructor & Destructor Documentation

SiStripQualityChecker::SiStripQualityChecker ( edm::ParameterSet const &  ps)

Definition at line 28 of file SiStripQualityChecker.cc.

References badModuleList, bookedStripStatus_, bookedTrackingStatus_, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), SiStripQualityChecker::TrackingMEs::HistoName, SiStripQualityChecker::TrackingMEs::LowerCut, cppFunctionSkipper::operator, pSet_, SubDetFolderMap, tkDetMap_, SiStripQualityChecker::TrackingMEs::TrackingFlag, TrackingMEsMap, SiStripQualityChecker::TrackingMEs::UpperCut, and useGoodTracks_.

28  :pSet_(ps) {
29  edm::LogInfo("SiStripQualityChecker") <<
30  " Creating SiStripQualityChecker " << "\n" ;
31 
32  bookedStripStatus_ = false;
33  bookedTrackingStatus_ = false;
34 
35  SubDetFolderMap.insert(std::pair<std::string, std::string>("TIB", "TIB"));
36  SubDetFolderMap.insert(std::pair<std::string, std::string>("TOB", "TOB"));
37  SubDetFolderMap.insert(std::pair<std::string, std::string>("TECF", "TEC/side_2"));
38  SubDetFolderMap.insert(std::pair<std::string, std::string>("TECB", "TEC/side_1"));
39  SubDetFolderMap.insert(std::pair<std::string, std::string>("TIDF", "TID/side_2"));
40  SubDetFolderMap.insert(std::pair<std::string, std::string>("TIDB", "TID/side_1"));
41  badModuleList.clear();
42 
43  if(!edm::Service<TkDetMap>().isAvailable()){
44  edm::LogError("TkHistoMap") <<
45  "\n------------------------------------------"
46  "\nUnAvailable Service TkHistoMap: please insert in the configuration file an instance like"
47  "\n\tprocess.TkDetMap = cms.Service(\"TkDetMap\")"
48  "\n------------------------------------------";
49  }
51 
52  TrackingMEs tracking_mes;
53  edm::ParameterSet TkPSet;
54 
55  TkPSet = pSet_.getParameter<edm::ParameterSet>("TrackRatePSet");
56  tracking_mes.TrackingFlag = 0;
57  tracking_mes.HistoName = TkPSet.getParameter<std::string>("Name");
58  tracking_mes.LowerCut = TkPSet.getParameter<double>("LowerCut");
59  tracking_mes.UpperCut = TkPSet.getParameter<double>("UpperCut");
60  TrackingMEsMap.insert(std::pair<std::string, TrackingMEs>("Rate", tracking_mes));
61 
62  TkPSet = pSet_.getParameter<edm::ParameterSet>("TrackChi2PSet");
63  tracking_mes.TrackingFlag = 0;
64  tracking_mes.HistoName = TkPSet.getParameter<std::string>("Name");
65  tracking_mes.LowerCut = TkPSet.getParameter<double>("LowerCut");
66  tracking_mes.UpperCut = TkPSet.getParameter<double>("UpperCut");
67  TrackingMEsMap.insert(std::pair<std::string, TrackingMEs>("Chi2", tracking_mes));
68 
69  TkPSet = pSet_.getParameter<edm::ParameterSet>("TrackHitPSet");
70  tracking_mes.TrackingFlag = 0;
71  tracking_mes.HistoName = TkPSet.getParameter<std::string>("Name");
72  tracking_mes.LowerCut = TkPSet.getParameter<double>("LowerCut");
73  tracking_mes.UpperCut = TkPSet.getParameter<double>("UpperCut");
74  TrackingMEsMap.insert(std::pair<std::string, TrackingMEs>("RecHits", tracking_mes));
75 
76 // // LS analysis
77 // TkPSet = pSet_.getParameter<edm::ParameterSet>("TrackRateLSPSet");
78 // tracking_mes.TrackingFlag = 0;
79 // tracking_mes.HistoName = TkPSet.getParameter<std::string>("Name");
80 // tracking_mes.LowerCut = TkPSet.getParameter<double>("LowerCut");
81 // tracking_mes.UpperCut = TkPSet.getParameter<double>("UpperCut");
82 // TrackingMEsLSMap.insert(std::pair<std::string, TrackingMEs>("Rate", tracking_mes));
83 //
84 // TkPSet = pSet_.getParameter<edm::ParameterSet>("TrackChi2LSPSet");
85 // tracking_mes.TrackingFlag = 0;
86 // tracking_mes.HistoName = TkPSet.getParameter<std::string>("Name");
87 // tracking_mes.LowerCut = TkPSet.getParameter<double>("LowerCut");
88 // tracking_mes.UpperCut = TkPSet.getParameter<double>("UpperCut");
89 // TrackingMEsLSMap.insert(std::pair<std::string, TrackingMEs>("Chi2", tracking_mes));
90 //
91 // TkPSet = pSet_.getParameter<edm::ParameterSet>("TrackHitLSPSet");
92 // tracking_mes.TrackingFlag = 0;
93 // tracking_mes.HistoName = TkPSet.getParameter<std::string>("Name");
94 // tracking_mes.LowerCut = TkPSet.getParameter<double>("LowerCut");
95 // tracking_mes.UpperCut = TkPSet.getParameter<double>("UpperCut");
96 // TrackingMEsLSMap.insert(std::pair<std::string, TrackingMEs>("RecHits", tracking_mes));
97 
98  useGoodTracks_ = pSet_.getUntrackedParameter<bool>("UseGoodTracks", false);
99  if (useGoodTracks_) edm::LogInfo("SiStripQualityChecker") << " use GoodTrack histograms for certification " << "\n" ;
100 }
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
std::map< std::string, std::string > SubDetFolderMap
std::map< uint32_t, uint16_t > badModuleList
std::map< std::string, TrackingMEs > TrackingMEsMap
SiStripQualityChecker::~SiStripQualityChecker ( )
virtual

Definition at line 104 of file SiStripQualityChecker.cc.

104  {
105  edm::LogInfo("SiStripQualityChecker") <<
106  " Deleting SiStripQualityChecker " << "\n" ;
107 }

Member Function Documentation

void SiStripQualityChecker::bookStatus ( DQMStore dqm_store)

Definition at line 111 of file SiStripQualityChecker.cc.

References DQMStore::book2D(), bookedStripStatus_, bookedTrackingStatus_, DQMStore::bookFloat(), DQMStore::cd(), SiStripQualityChecker::SubDetMEs::detectorTag, SiStripQualityChecker::SubDetMEs::DetFraction, DetFractionReportMap, SiStripUtility::getTopFolderPath(), mergeVDriftHistosByStation::name, MonitorElement::setAxisTitle(), MonitorElement::setBinLabel(), DQMStore::setCurrentFolder(), SiStripQualityChecker::SubDetMEs::SToNFlag, SToNReportMap, SubDetFolderMap, SubDetMEsMap, SiStripQualityChecker::SubDetMEs::SummaryFlag, SummaryReportGlobal, SummaryReportMap, TrackingMEsMap, TrackSummaryReportGlobal, and TrackSummaryReportMap.

Referenced by SiStripActionExecutor::createStatus(), fillStatus(), and fillStatusAtLumi().

111  {
112 
113  if (!bookedStripStatus_) {
114  dqm_store->cd();
115  std::string strip_dir = "";
116  SiStripUtility::getTopFolderPath(dqm_store, "SiStrip", strip_dir);
117  if (strip_dir.size() == 0) strip_dir = "SiStrip";
118 
119  // Non Standard Plots and should be put outside EventInfo folder
120 
121  dqm_store->setCurrentFolder(strip_dir+"/MechanicalView");
122 
123  std::string hname, htitle;
124  hname = "detFractionReportMap";
125  htitle = "SiStrip Report for Good Detector Fraction";
126  DetFractionReportMap = dqm_store->book2D(hname, htitle, 6,0.5,6.5,9,0.5,9.5);
127  DetFractionReportMap->setAxisTitle("Sub Detector Type", 1);
128  DetFractionReportMap->setAxisTitle("Layer/Disc Number", 2);
129  hname = "sToNReportMap";
130  htitle = "SiStrip Report for Signal-to-Noise";
131  SToNReportMap = dqm_store->book2D(hname, htitle, 6,0.5,6.5,9,0.5,9.5);
132  SToNReportMap->setAxisTitle("Sub Detector Type", 1);
133  SToNReportMap->setAxisTitle("Layer/Disc Number", 2);
134 
135  // this is the main reportSummary 2D plot and should be in EventInfo
136  dqm_store->setCurrentFolder(strip_dir+"/EventInfo");
137 
138  hname = "reportSummaryMap";
139  htitle = "SiStrip Report Summary Map";
140  SummaryReportMap = dqm_store->book2D(hname, htitle, 6,0.5,6.5,9,0.5,9.5);
141  SummaryReportMap->setAxisTitle("Sub Detector Type", 1);
142  SummaryReportMap->setAxisTitle("Layer/Disc Number", 2);
143 
144  SummaryReportGlobal = dqm_store->bookFloat("reportSummary");
145  int ibin = 0;
146 
147  dqm_store->setCurrentFolder(strip_dir+"/EventInfo/reportSummaryContents");
148  for (std::map<std::string, std::string>::const_iterator it = SubDetFolderMap.begin();
149  it != SubDetFolderMap.end(); it++) {
150  ibin++;
151  std::string det = it->first;
153  SToNReportMap->setBinLabel(ibin,det);
154  SummaryReportMap->setBinLabel(ibin,det);
155 
156  SubDetMEs local_mes;
157 
158  if (det == "TECF") local_mes.detectorTag = "TEC+";
159  else if (det == "TECB") local_mes.detectorTag = "TEC-";
160  else if (det == "TIDF") local_mes.detectorTag = "TID+";
161  else if (det == "TIDB") local_mes.detectorTag = "TID-";
162  else local_mes.detectorTag = det;
163 
164  std::string me_name;
165  me_name = "SiStrip_" + det;
166  local_mes.SummaryFlag = dqm_store->bookFloat(me_name);
167 
168  me_name = "SiStrip_DetFraction_" + det;
169  local_mes.DetFraction = dqm_store->bookFloat(me_name);
170 
171  me_name = "SiStrip_SToNFlag_" + det;
172  local_mes.SToNFlag = dqm_store->bookFloat(me_name);
173  SubDetMEsMap.insert(std::pair<std::string, SubDetMEs>(det, local_mes));
174  }
175  bookedStripStatus_ = true;
176  }
177  if (!bookedTrackingStatus_) {
178  dqm_store->cd();
179  std::string tracking_dir = "";
180  SiStripUtility::getTopFolderPath(dqm_store, "Tracking", tracking_dir);
181  if (tracking_dir.size() == 0) tracking_dir = "Tracking";
182  dqm_store->setCurrentFolder(tracking_dir+"/EventInfo");
183 
184  TrackSummaryReportGlobal = dqm_store->bookFloat("reportSummary");
185 
186  std::string hname, htitle;
187  hname = "reportSummaryMap";
188  htitle = "Tracking Report Summary Map";
189 
190  TrackSummaryReportMap = dqm_store->book2D(hname, htitle, 3,0.5,3.5,1,0.5,1.5);
191  TrackSummaryReportMap->setAxisTitle("Track Quality Type", 1);
192  TrackSummaryReportMap->setAxisTitle("QTest Flag", 2);
195  TrackSummaryReportMap->setBinLabel(3,"RecHits");
196 
197  dqm_store->setCurrentFolder(tracking_dir+"/EventInfo/reportSummaryContents");
198  int ibin = 0;
199  for (std::map<std::string, TrackingMEs>::iterator it = TrackingMEsMap.begin();
200  it != TrackingMEsMap.end(); it++) {
201  ibin++;
202  std::string name = it->first;
203  it->second.TrackingFlag = dqm_store->bookFloat("Track"+name);
205  }
206  bookedTrackingStatus_ = true;
207  dqm_store->cd();
208  }
209 }
std::map< std::string, std::string > SubDetFolderMap
void cd(void)
go to top directory (ie. root)
Definition: DQMStore.cc:406
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)
MonitorElement * bookFloat(const char *name)
Book float.
Definition: DQMStore.cc:654
std::map< std::string, SubDetMEs > SubDetMEsMap
MonitorElement * DetFractionReportMap
MonitorElement * TrackSummaryReportGlobal
MonitorElement * SummaryReportMap
MonitorElement * SummaryReportGlobal
MonitorElement * SToNReportMap
MonitorElement * TrackSummaryReportMap
std::map< std::string, TrackingMEs > TrackingMEsMap
MonitorElement * book2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
Book 2D histogram.
Definition: DQMStore.cc:845
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:429
static void getTopFolderPath(DQMStore *dqm_store, std::string type, std::string &path)
void SiStripQualityChecker::fillDetectorStatus ( DQMStore dqm_store,
const edm::ESHandle< SiStripDetCabling > &  cabling 
)
private

Definition at line 303 of file SiStripQualityChecker.cc.

References DQMStore::cd(), DQMStore::dirExists(), RefreshWebPage::dname, MonitorElement::Fill(), fillSubDetStatus(), SiStripUtility::goToDir(), initialiseBadModuleList(), DQMStore::pwd(), SubDetFolderMap, SubDetMEsMap, and SummaryReportGlobal.

Referenced by fillStatus().

303  {
304  unsigned int xbin = 0;
305  float global_flag = 0;
306  dqm_store->cd();
307  std::string mdir = "MechanicalView";
308  if (!SiStripUtility::goToDir(dqm_store, mdir)) return;
309  std::string mechanicalview_dir = dqm_store->pwd();
310 
312  for (std::map<std::string, SubDetMEs>::const_iterator it = SubDetMEsMap.begin();
313  it != SubDetMEsMap.end(); it++) {
314  std::string det = it->first;
315  std::map<std::string, std::string>::const_iterator cPos = SubDetFolderMap.find(det);
316  if (cPos == SubDetFolderMap.end()) continue;
317  std::string dname = mechanicalview_dir + "/" + cPos->second;
318  if (!dqm_store->dirExists(dname)) continue;
319  dqm_store->cd(dname);
320  SubDetMEs local_mes = it->second;
321  xbin++;
322  float flag;
323  fillSubDetStatus(dqm_store, cabling, local_mes, xbin,flag);
324  global_flag += flag;
325  }
326  global_flag = global_flag/xbin*1.0;
327  if (SummaryReportGlobal) SummaryReportGlobal->Fill(global_flag);
328  dqm_store->cd();
329 }
long int flag
Definition: mlp_lapack.h:47
std::map< std::string, std::string > SubDetFolderMap
void cd(void)
go to top directory (ie. root)
Definition: DQMStore.cc:406
void Fill(long long x)
std::map< std::string, SubDetMEs > SubDetMEsMap
bool dirExists(const std::string &path) const
true if directory exists
Definition: DQMStore.cc:493
MonitorElement * SummaryReportGlobal
void fillSubDetStatus(DQMStore *dqm_store, const edm::ESHandle< SiStripDetCabling > &cabling, SubDetMEs &mes, unsigned int xbin, float &gflag)
static bool goToDir(DQMStore *dqm_store, std::string name)
const std::string & pwd(void) const
Definition: DQMStore.cc:401
void SiStripQualityChecker::fillDetectorStatusAtLumi ( DQMStore dqm_store)
private

Definition at line 623 of file SiStripQualityChecker.cc.

References DQMStore::cd(), MonitorElement::DQM_KIND_TH1F, MonitorElement::Fill(), DQMStore::get(), MonitorElement::getTH1F(), SiStripUtility::goToDir(), MonitorElement::kind(), diffTwoXMLs::label, DQMStore::pwd(), SubDetMEsMap, and SummaryReportGlobal.

Referenced by fillStatusAtLumi().

623  {
624  dqm_store->cd();
625  std::string rdir = "ReadoutView";
626  if (!SiStripUtility::goToDir(dqm_store, rdir)) return;
627  std::string fullpath = dqm_store->pwd()
628  + "/FedSummary/PerLumiSection/"
629  + "lumiErrorFraction";
630  MonitorElement* me = dqm_store->get(fullpath);
631  if (me && me->kind() == MonitorElement::DQM_KIND_TH1F) {
632  TH1F* th1 = me->getTH1F();
633  float global_fraction = 0.0;
634  float dets = 0.0;
635  for (int ibin = 1; ibin <= th1->GetNbinsX(); ibin++) {
636  std::string label = th1->GetXaxis()->GetBinLabel(ibin);
637  std::map<std::string, SubDetMEs>::iterator iPos = SubDetMEsMap.find(label);
638  if (iPos != SubDetMEsMap.end()) {
639  float fraction = 1.0 - th1->GetBinContent(ibin);
640  global_fraction += fraction;
641  dets++;
642  iPos->second.DetFraction->Fill(fraction);
643  iPos->second.SToNFlag->Fill(-1.0);
644  iPos->second.SummaryFlag->Fill(fraction);
645  }
646  }
647  global_fraction = global_fraction/dets;
648  if (SummaryReportGlobal) SummaryReportGlobal->Fill(global_fraction);
649  }
650  dqm_store->cd();
651 }
void cd(void)
go to top directory (ie. root)
Definition: DQMStore.cc:406
void Fill(long long x)
std::map< std::string, SubDetMEs > SubDetMEsMap
Kind kind(void) const
Get the type of the monitor element.
MonitorElement * get(const std::string &path) const
get ME from full pathname (e.g. &quot;my/long/dir/my_histo&quot;)
Definition: DQMStore.cc:1468
TH1F * getTH1F(void) const
MonitorElement * SummaryReportGlobal
static bool goToDir(DQMStore *dqm_store, std::string name)
const std::string & pwd(void) const
Definition: DQMStore.cc:401
void SiStripQualityChecker::fillDummyStatus ( )

Definition at line 213 of file SiStripQualityChecker.cc.

References bookedStripStatus_, bookedTrackingStatus_, SiStripQualityChecker::SubDetMEs::DetFraction, DetFractionReportMap, MonitorElement::Fill(), MonitorElement::getNbinsX(), MonitorElement::getNbinsY(), resetStatus(), SiStripQualityChecker::SubDetMEs::SToNFlag, SToNReportMap, SubDetMEsMap, SiStripQualityChecker::SubDetMEs::SummaryFlag, SummaryReportGlobal, SummaryReportMap, TrackingMEsMap, TrackSummaryReportGlobal, and TrackSummaryReportMap.

Referenced by SiStripActionExecutor::fillDummyStatus(), fillStatus(), and fillStatusAtLumi().

213  {
214 
215  resetStatus();
216  if (bookedStripStatus_) {
217  for (std::map<std::string, SubDetMEs>::const_iterator it = SubDetMEsMap.begin();
218  it != SubDetMEsMap.end(); it++) {
219  SubDetMEs local_mes = it->second;
220  local_mes.DetFraction->Fill(-1.0);
221  local_mes.SToNFlag->Fill(-1.0);
222  local_mes.SummaryFlag->Fill(-1.0);
223  }
224 
225  for (int xbin = 1; xbin < SummaryReportMap->getNbinsX()+1; xbin++) {
226  for (int ybin = 1; ybin < SummaryReportMap->getNbinsY()+1; ybin++) {
227  DetFractionReportMap->Fill(xbin, ybin, -1.0);
228  SToNReportMap->Fill(xbin, ybin, -1.0);
229  SummaryReportMap->Fill(xbin, ybin, -1.0);
230  }
231  }
232  SummaryReportGlobal->Fill(-1.0);
233  }
234  if (bookedTrackingStatus_) {
236  for (int xbin = 1; xbin < TrackSummaryReportMap->getNbinsX()+1; xbin++) {
237  for (int ybin = 1; ybin < TrackSummaryReportMap->getNbinsY()+1; ybin++) {
238  TrackSummaryReportMap->Fill(xbin, ybin, -1.0);
239  }
240  }
241  for (std::map<std::string, TrackingMEs>::iterator it = TrackingMEsMap.begin();
242  it != TrackingMEsMap.end(); it++) {
243  it->second.TrackingFlag->Fill(-1.0);
244  }
245  /*
246  for (std::map<std::string, TrackingMEs>::iterator it = TrackingMEsLSMap.begin();
247  it != TrackingMEsLSMap.end(); it++) {
248  it->second.TrackingFlag->Fill(-1.0);
249  }
250  */
251  }
252 }
int getNbinsY(void) const
get # of bins in Y-axis
void Fill(long long x)
std::map< std::string, SubDetMEs > SubDetMEsMap
MonitorElement * DetFractionReportMap
MonitorElement * TrackSummaryReportGlobal
MonitorElement * SummaryReportMap
MonitorElement * SummaryReportGlobal
MonitorElement * SToNReportMap
int getNbinsX(void) const
get # of bins in X-axis
MonitorElement * TrackSummaryReportMap
std::map< std::string, TrackingMEs > TrackingMEsMap
void SiStripQualityChecker::fillFaultyModuleStatus ( DQMStore dqm_store)

Definition at line 574 of file SiStripQualityChecker.cc.

References badModuleList, DQMStore::bookInt(), DQMStore::cd(), DQMStore::dirExists(), MonitorElement::Fill(), DQMStore::get(), SiStripFolderOrganizer::getSubDetFolder(), SiStripUtility::goToDir(), DQMStore::pwd(), MonitorElement::Reset(), and DQMStore::setCurrentFolder().

Referenced by fillStatus().

574  {
575  if (badModuleList.size() == 0) return;
576  dqm_store->cd();
577  std::string mdir = "MechanicalView";
578  if (!SiStripUtility::goToDir(dqm_store, mdir)) return;
579  std::string mechanical_dir = dqm_store->pwd();
580 
581  SiStripFolderOrganizer folder_organizer;
582  for (std::map<uint32_t,uint16_t>::const_iterator it = badModuleList.begin() ; it != badModuleList.end(); it++) {
583  uint32_t detId = it->first;
584  std::string subdet_folder ;
585  folder_organizer.getSubDetFolder(detId,subdet_folder);
586  if (!dqm_store->dirExists(subdet_folder)) {
587  subdet_folder = mechanical_dir + subdet_folder.substr(subdet_folder.find("MechanicalView")+14);
588  if (!dqm_store->dirExists(subdet_folder)) continue;
589  }
590  std::string bad_module_folder = subdet_folder + "/" + "BadModuleList";
591  dqm_store->setCurrentFolder(bad_module_folder);
592 
593  std::ostringstream detid_str;
594  detid_str << detId;
595  std::string full_path = bad_module_folder + "/" + detid_str.str();
596  MonitorElement* me = dqm_store->get(full_path);
597  if (me) me->Reset();
598  else me = dqm_store->bookInt(detid_str.str());
599  me->Fill(it->second);
600  }
601  dqm_store->cd();
602 }
void getSubDetFolder(const uint32_t &detid, std::string &folder_name)
void cd(void)
go to top directory (ie. root)
Definition: DQMStore.cc:406
void Fill(long long x)
MonitorElement * get(const std::string &path) const
get ME from full pathname (e.g. &quot;my/long/dir/my_histo&quot;)
Definition: DQMStore.cc:1468
bool dirExists(const std::string &path) const
true if directory exists
Definition: DQMStore.cc:493
std::map< uint32_t, uint16_t > badModuleList
MonitorElement * bookInt(const char *name)
Book int.
Definition: DQMStore.cc:624
void Reset(void)
reset ME (ie. contents, errors, etc)
static bool goToDir(DQMStore *dqm_store, std::string name)
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:429
const std::string & pwd(void) const
Definition: DQMStore.cc:401
void SiStripQualityChecker::fillStatus ( DQMStore dqm_store,
const edm::ESHandle< SiStripDetCabling > &  cabling 
)

Definition at line 290 of file SiStripQualityChecker.cc.

References bookedStripStatus_, bookedTrackingStatus_, bookStatus(), fillDetectorStatus(), fillDummyStatus(), fillFaultyModuleStatus(), fillTrackingStatus(), edm::ParameterSet::getUntrackedParameter(), and pSet_.

Referenced by SiStripActionExecutor::fillStatus().

290  {
292 
293  fillDummyStatus();
294  fillDetectorStatus(dqm_store, cabling);
295  fillTrackingStatus(dqm_store);
296 
297  int faulty_moduleflag = pSet_.getUntrackedParameter<bool>("PrintFaultyModuleList", false);
298  if (faulty_moduleflag) fillFaultyModuleStatus(dqm_store);
299 }
T getUntrackedParameter(std::string const &, T const &) const
void bookStatus(DQMStore *dqm_store)
void fillDetectorStatus(DQMStore *dqm_store, const edm::ESHandle< SiStripDetCabling > &cabling)
void fillTrackingStatus(DQMStore *dqm_store)
void fillFaultyModuleStatus(DQMStore *dqm_store)
void SiStripQualityChecker::fillStatusAtLumi ( DQMStore dqm_store)
void SiStripQualityChecker::fillStatusHistogram ( MonitorElement me,
int  xbin,
int  ybin,
float  val 
)
private

Definition at line 565 of file SiStripQualityChecker.cc.

References MonitorElement::DQM_KIND_TH2F, MonitorElement::getTH2F(), and MonitorElement::kind().

Referenced by fillSubDetStatus(), fillTrackingStatus(), and fillTrackingStatusAtLumi().

565  {
566  if (me && me->kind() == MonitorElement::DQM_KIND_TH2F) {
567  TH2F* th2d = me->getTH2F();
568  th2d->SetBinContent(xbin, ybin, val);
569  }
570  }
Kind kind(void) const
Get the type of the monitor element.
TH2F * getTH2F(void) const
void SiStripQualityChecker::fillSubDetStatus ( DQMStore dqm_store,
const edm::ESHandle< SiStripDetCabling > &  cabling,
SubDetMEs mes,
unsigned int  xbin,
float &  gflag 
)
private

Definition at line 383 of file SiStripQualityChecker.cc.

References DQMStore::cd(), SiStripQualityChecker::SubDetMEs::detectorTag, SiStripQualityChecker::SubDetMEs::DetFraction, DetFractionReportMap, RefreshWebPage::dname, dqm::qstatus::ERROR, MonitorElement::Fill(), fillStatusHistogram(), DQMStore::getContents(), SiStripUtility::getMEStatus(), getModuleStatus(), MonitorElement::getName(), MonitorElement::getQReports(), DQMStore::getSubdirs(), edm::ParameterSet::getUntrackedParameter(), min, mergeVDriftHistosByStation::name, pSet_, dqm::qstatus::STATUS_OK, SiStripQualityChecker::SubDetMEs::SToNFlag, SToNReportMap, SiStripQualityChecker::SubDetMEs::SummaryFlag, and SummaryReportMap.

Referenced by fillDetectorStatus().

385  {
386  int status_flag = pSet_.getUntrackedParameter<int>("GlobalStatusFilling", 1);
387 
388  if (status_flag < 1) return;
389 
390  std::vector<std::string> subDirVec = dqm_store->getSubdirs();
391 
392  unsigned int ybin = 0;
393  int tot_ndet = 0;
394  int tot_errdet = 0;
395  float tot_ston_stat = 0;
396 
397  for (std::vector<std::string>::const_iterator ic = subDirVec.begin();
398  ic != subDirVec.end(); ic++) {
399  std::string dname = (*ic);
400  if (dname.find("BadModuleList") != std::string::npos) continue;
401  std::vector<MonitorElement*> meVec;
402  ybin++;
403  dqm_store->cd((*ic));
404  meVec = dqm_store->getContents((*ic));
405  uint16_t ndet = 100;
406  int errdet = 0;
407 
408  int ston_stat = 1;
409  int lnum = atoi(dname.substr(dname.find_last_of("_")+1).c_str());
410  ndet = cabling->connectedNumber(mes.detectorTag, lnum);
411 
412  getModuleStatus(dqm_store, meVec, errdet);
413 
414  for (std::vector<MonitorElement*>::const_iterator it = meVec.begin();
415  it != meVec.end(); it++) {
416  MonitorElement * me = (*it);
417  if (!me) continue;
418  std::vector<QReport *> reports = me->getQReports();
419 
420  if (reports.size() == 0) continue;
421  std::string name = me->getName();
422 
423  if( name.find("Summary_ClusterStoNCorr__OnTrack") != std::string::npos){
424  int istat = SiStripUtility::getMEStatus((*it));
425  if (reports[0]->getQTresult() == -1) {
426  ston_stat =-1;
427  } else {
428  if (istat == dqm::qstatus::ERROR) ston_stat = 0;
429  else if (istat == dqm::qstatus::STATUS_OK) ston_stat = 1;
430  }
431  }
432  }
433  if (ndet > 0) {
434  float eff_fac = 1 - (errdet*1.0/ndet);
435  fillStatusHistogram(SToNReportMap, xbin, ybin, ston_stat);
436  fillStatusHistogram(DetFractionReportMap, xbin, ybin, eff_fac);
437  if (ston_stat < 0) fillStatusHistogram(SummaryReportMap, xbin, ybin, eff_fac);
438  else fillStatusHistogram(SummaryReportMap, xbin, ybin, ston_stat*eff_fac);
439 
440  tot_ndet += ndet;
441  tot_errdet += errdet;
442  tot_ston_stat += ston_stat;
443  }
444  dqm_store->cd((*ic));
445  }
446  if (tot_ndet > 0) {
447  float tot_eff_fac = 1 - (tot_errdet*1.0/tot_ndet);
448  if (mes.DetFraction) mes.DetFraction->Fill(tot_eff_fac);
449  float tot_ston_fac = tot_ston_stat/ybin;
450  if (mes.SToNFlag) mes.SToNFlag->Fill(tot_ston_fac);
451  if (tot_ston_fac < 0){
452  gflag = tot_eff_fac;
453  }else{
454  gflag = std::min(tot_eff_fac,tot_ston_fac);
455  }
456  if (mes.SummaryFlag) mes.SummaryFlag->Fill(gflag);
457  }
458 }
T getUntrackedParameter(std::string const &, T const &) const
const std::string & getName(void) const
get name of ME
std::vector< std::string > getSubdirs(void) const
Definition: DQMStore.cc:1419
void cd(void)
go to top directory (ie. root)
Definition: DQMStore.cc:406
void getModuleStatus(DQMStore *dqm_store, std::vector< MonitorElement * > &layer_mes, int &errdet)
#define min(a, b)
Definition: mlp_lapack.h:161
std::vector< MonitorElement * > getContents(const std::string &path) const
Definition: DQMStore.cc:1497
MonitorElement * DetFractionReportMap
std::vector< QReport * > getQReports(void) const
get map of QReports
static int getMEStatus(MonitorElement *me)
MonitorElement * SummaryReportMap
MonitorElement * SToNReportMap
static const int STATUS_OK
static const int ERROR
void fillStatusHistogram(MonitorElement *, int xbin, int ybin, float val)
void SiStripQualityChecker::fillTrackingStatus ( DQMStore dqm_store)
private

Definition at line 333 of file SiStripQualityChecker.cc.

References DQMStore::cd(), dir, MonitorElement::Fill(), fillStatusHistogram(), DQMStore::getContents(), MonitorElement::getName(), MonitorElement::getQReports(), SiStripUtility::goToDir(), relval_steps::merge(), mergeVDriftHistosByStation::name, DQMStore::pwd(), ntuplemaker::status, TrackingMEsMap, TrackSummaryReportGlobal, TrackSummaryReportMap, and useGoodTracks_.

Referenced by fillStatus().

333  {
334 
335  dqm_store->cd();
336  std::string dir = "Tracking";
337  if (!SiStripUtility::goToDir(dqm_store, dir)) return;
338  dir = "TrackParameters";
339  if (!SiStripUtility::goToDir(dqm_store, dir)) return;
340 
341  std::vector<MonitorElement*> meVec1;
342  std::vector<MonitorElement*> meVec2;
343  if (useGoodTracks_){
344  meVec1 = dqm_store->getContents(dqm_store->pwd()+"/GeneralProperties/GoodTracks");
345  meVec2 = dqm_store->getContents(dqm_store->pwd()+"/HitProperties/GoodTracks");
346  }else{
347  meVec1 = dqm_store->getContents(dqm_store->pwd()+"/GeneralProperties");
348  meVec2 = dqm_store->getContents(dqm_store->pwd()+"/HitProperties");
349  }
350  std::vector<MonitorElement*> meVec(meVec1.size() + meVec2.size());
351  std::merge(meVec1.begin(), meVec1.end(), meVec2.begin(), meVec2.end(), meVec.begin());
352 
353  float gstatus = 1.0;
354  for (std::vector<MonitorElement*>::const_iterator itME = meVec.begin(); itME != meVec.end(); itME++) {
355  MonitorElement * me = (*itME);
356  if (!me) continue;
357  std::vector<QReport *> qt_reports = me->getQReports();
358  if (qt_reports.size() == 0) continue;
359  std::string name = me->getName();
360 
361  float status = 1.0;
362 
363  int ibin = 0;
364  for (std::map<std::string, TrackingMEs>::const_iterator it = TrackingMEsMap.begin();
365  it != TrackingMEsMap.end(); it++) {
366  ibin++;
367  std::string hname = it->second.HistoName;
368  if (name.find(hname) != std::string::npos) {
369  status = qt_reports[0]->getQTresult();
370  it->second.TrackingFlag->Fill(status);
371  fillStatusHistogram(TrackSummaryReportMap, ibin, 1, status);
372  break;
373  }
374  }
375  gstatus = gstatus * status;
376  }
377  TrackSummaryReportGlobal->Fill(gstatus);
378  dqm_store->cd();
379 }
const std::string & getName(void) const
get name of ME
void cd(void)
go to top directory (ie. root)
Definition: DQMStore.cc:406
void Fill(long long x)
std::vector< MonitorElement * > getContents(const std::string &path) const
Definition: DQMStore.cc:1497
std::vector< QReport * > getQReports(void) const
get map of QReports
MonitorElement * TrackSummaryReportGlobal
MonitorElement * TrackSummaryReportMap
std::map< std::string, TrackingMEs > TrackingMEsMap
dbl *** dir
Definition: mlp_gen.cc:35
tuple status
Definition: ntuplemaker.py:245
static bool goToDir(DQMStore *dqm_store, std::string name)
void fillStatusHistogram(MonitorElement *, int xbin, int ybin, float val)
const std::string & pwd(void) const
Definition: DQMStore.cc:401
void SiStripQualityChecker::fillTrackingStatusAtLumi ( DQMStore dqm_store)
private

Definition at line 655 of file SiStripQualityChecker.cc.

References DQMStore::cd(), dir, MonitorElement::Fill(), fillStatusHistogram(), DQMStore::getContents(), MonitorElement::getMean(), MonitorElement::getName(), SiStripUtility::goToDir(), relval_steps::merge(), mergeVDriftHistosByStation::name, DQMStore::pwd(), ntuplemaker::status, TrackingMEsMap, TrackSummaryReportGlobal, TrackSummaryReportMap, and useGoodTracks_.

Referenced by fillStatusAtLumi().

655  {
656  dqm_store->cd();
657  std::string dir = "Tracking";
658  if (!SiStripUtility::goToDir(dqm_store, dir)) return;
659  dir = "TrackParameters";
660  if (!SiStripUtility::goToDir(dqm_store, dir)) return;
661 
662  std::vector<MonitorElement*> meVec1;
663  std::vector<MonitorElement*> meVec2;
664  if (useGoodTracks_){
665  meVec1 = dqm_store->getContents(dqm_store->pwd()+"/LSanalysis");
666  // meVec2 = dqm_store->getContents(dqm_store->pwd()+"/HitProperties/LSanalysis");
667  }else{
668  meVec1 = dqm_store->getContents(dqm_store->pwd()+"/GeneralProperties");
669  meVec2 = dqm_store->getContents(dqm_store->pwd()+"/HitProperties");
670  }
671  std::vector<MonitorElement*> meVec(meVec1.size() + meVec2.size());
672  std::merge(meVec1.begin(), meVec1.end(), meVec2.begin(), meVec2.end(), meVec.begin());
673 
674  float gstatus = 1.0;
675  for (std::vector<MonitorElement*>::const_iterator itME = meVec.begin(); itME != meVec.end(); itME++) {
676  MonitorElement * me = (*itME);
677  if (!me) continue;
678  std::string name = me->getName();
679 
680  float status = -1.0;
681  int ibin = 0;
682  for (std::map<std::string, TrackingMEs>::const_iterator it = TrackingMEsMap.begin();
683  it != TrackingMEsMap.end(); it++) {
684  ibin++;
685  std::string hname = it->second.HistoName+"lumiFlag_";
686  float lower_cut = it->second.LowerCut;
687  float upper_cut = it->second.UpperCut;
688  if (name.find(hname) != std::string::npos) {
689  if (me->getMean() <= lower_cut || me->getMean() > upper_cut) status = 0.0;
690  else status = 1.0;
691  it->second.TrackingFlag->Fill(status);
692  fillStatusHistogram(TrackSummaryReportMap, ibin, 1, status);
693  break;
694  } else {
695  }
696  }
697  if (status == -1.0) gstatus = -1.0;
698  else gstatus = gstatus * status;
699  }
700  TrackSummaryReportGlobal->Fill(gstatus);
701  dqm_store->cd();
702 }
const std::string & getName(void) const
get name of ME
void cd(void)
go to top directory (ie. root)
Definition: DQMStore.cc:406
double getMean(int axis=1) const
get mean value of histogram along x, y or z axis (axis=1, 2, 3 respectively)
void Fill(long long x)
std::vector< MonitorElement * > getContents(const std::string &path) const
Definition: DQMStore.cc:1497
MonitorElement * TrackSummaryReportGlobal
MonitorElement * TrackSummaryReportMap
std::map< std::string, TrackingMEs > TrackingMEsMap
dbl *** dir
Definition: mlp_gen.cc:35
tuple status
Definition: ntuplemaker.py:245
static bool goToDir(DQMStore *dqm_store, std::string name)
void fillStatusHistogram(MonitorElement *, int xbin, int ybin, float val)
const std::string & pwd(void) const
Definition: DQMStore.cc:401
void SiStripQualityChecker::getModuleStatus ( DQMStore dqm_store,
std::vector< MonitorElement * > &  layer_mes,
int &  errdet 
)
private

Definition at line 493 of file SiStripQualityChecker.cc.

References badModuleList, lumiPlot::currentdir, MonitorElement::DQM_KIND_TPROFILE, MonitorElement::DQM_KIND_TPROFILE2D, DQMStore::get(), TkDetMap::getDetFromBin(), SiStripUtility::getMEValue(), MonitorElement::getName(), MonitorElement::getQReports(), MonitorElement::kind(), mergeVDriftHistosByStation::name, DQMStore::pwd(), SiStripUtility::setBadModuleFlag(), and tkDetMap_.

Referenced by fillSubDetStatus().

493  {
494 
495  std::string lname;
496  std::map<uint32_t,uint16_t> bad_modules;
497  for (std::vector<MonitorElement*>::const_iterator it = layer_mes.begin();
498  it != layer_mes.end(); it++) {
499  MonitorElement * me = (*it);
500  if (!me) continue;
501  std::vector<QReport *> qreports = me->getQReports();
502  if (qreports.size() == 0) continue;
503  std::string name = me->getName();
504  std::vector<DQMChannel> bad_channels_me;
506  bad_channels_me = qreports[0]->getBadChannels();
507  lname = "";
508  } else if (me->kind() == MonitorElement::DQM_KIND_TPROFILE2D && name.find("TkHMap") != std::string::npos) {
509  bad_channels_me = qreports[0]->getBadChannels();
510  lname = name.substr(name.find("TkHMap_")+7);
511  lname = lname.substr(lname.find("_T")+1);
512 
513  }
514  for (std::vector<DQMChannel>::iterator it = bad_channels_me.begin(); it != bad_channels_me.end(); it++){
515  int xval = (*it).getBinX();
516  int yval = (*it).getBinY();
517  uint32_t detId = tkDetMap_->getDetFromBin(lname, xval, yval);
518  std::map<uint32_t,uint16_t>::iterator iPos = bad_modules.find(detId);
519  uint16_t flag;
520  if (iPos != bad_modules.end()){
521  flag = iPos->second;
523  iPos->second = flag;
524  } else {
525  //
526  //if not in the local bad module list, check the BadModuleList dir
527  //
528  std::ostringstream detid_str;
529  detid_str << detId;
530  //now in the layer/wheel dir
531  std::string currentdir = dqm_store->pwd();
532  std::string thisMEpath = currentdir.substr( 0 , currentdir.rfind( "/" ) ) + "/BadModuleList/" + detid_str.str() ;
533 
534  MonitorElement *meBadModule = dqm_store->get ( thisMEpath );
535  if ( meBadModule )
536  {
537  std::string val_str;
538  SiStripUtility::getMEValue ( meBadModule , val_str );
539  flag = atoi ( val_str.c_str() );
540  }
541  else
542  flag = 0;
543 
545  bad_modules.insert(std::pair<uint32_t,uint16_t>(detId,flag));
546  }
547  }
548  }
549  for(std::map<uint32_t,uint16_t>::const_iterator it = bad_modules.begin();
550  it != bad_modules.end(); it++) {
551  uint32_t detId = it->first;
552  uint16_t flag = it->second;
553  std::map<uint32_t,uint16_t>::iterator iPos = badModuleList.find(detId);
554  if (iPos != badModuleList.end()){
555  iPos->second = flag;
556  } else {
557  badModuleList.insert(std::pair<uint32_t,uint16_t>(detId,flag));
558  }
559  }
560  errdet = bad_modules.size();
561 }
static void setBadModuleFlag(std::string &hname, uint16_t &flg)
const std::string & getName(void) const
get name of ME
long int flag
Definition: mlp_lapack.h:47
uint32_t getDetFromBin(int layer, int ix, int iy)
Definition: TkDetMap.h:126
static void getMEValue(MonitorElement *me, std::string &val)
tuple currentdir
parse figure configuration if found
Definition: lumiPlot.py:48
Kind kind(void) const
Get the type of the monitor element.
MonitorElement * get(const std::string &path) const
get ME from full pathname (e.g. &quot;my/long/dir/my_histo&quot;)
Definition: DQMStore.cc:1468
std::vector< QReport * > getQReports(void) const
get map of QReports
std::map< uint32_t, uint16_t > badModuleList
const std::string & pwd(void) const
Definition: DQMStore.cc:401
void SiStripQualityChecker::initialiseBadModuleList ( )
private

Definition at line 606 of file SiStripQualityChecker.cc.

References badModuleList.

Referenced by fillDetectorStatus().

606  {
607  for (std::map<uint32_t,uint16_t>::iterator it=badModuleList.begin(); it!=badModuleList.end(); it++) {
608  it->second = 0;
609  }
610 }
std::map< uint32_t, uint16_t > badModuleList
void SiStripQualityChecker::printStatusReport ( )

Definition at line 462 of file SiStripQualityChecker.cc.

References SiStripQualityChecker::SubDetMEs::DetFraction, SiStripUtility::getMEValue(), SiStripQualityChecker::SubDetMEs::SToNFlag, SubDetMEsMap, and SiStripQualityChecker::SubDetMEs::SummaryFlag.

462  {
463  std::ostringstream det_summary_str;
464  for (std::map<std::string, SubDetMEs>::const_iterator it = SubDetMEsMap.begin();
465  it != SubDetMEsMap.end(); it++) {
466  std::string det = it->first;
467  det_summary_str << std::setprecision(4);
468  det_summary_str << std::setiosflags(std::ios::fixed);
469 
470  det_summary_str << " Printing Status for " << det << " : " << std::endl;
471  SubDetMEs local_mes = it->second;
472 
473  std::string sval;
474  float fval1, fval2, fval3;
475  fval1 = fval2 = fval3 = -1.0;
476 
477 
478  SiStripUtility::getMEValue(local_mes.DetFraction, sval);
479  if (sval.size() > 0) fval1 = atof(sval.c_str());
480  SiStripUtility::getMEValue(local_mes.SToNFlag, sval);
481  if (sval.size() > 0) fval2 = atof(sval.c_str());
482  SiStripUtility::getMEValue(local_mes.SummaryFlag, sval);
483  if (sval.size() > 0) fval3 = atof(sval.c_str());
484 
485  det_summary_str << std::setw(7) << " % of good detectors " << fval1
486  << " SToN Flag " << fval2
487  << " Summary Flag " << fval3 << std::endl;
488  }
489 }
static void getMEValue(MonitorElement *me, std::string &val)
std::map< std::string, SubDetMEs > SubDetMEsMap
void SiStripQualityChecker::resetStatus ( )

Definition at line 256 of file SiStripQualityChecker.cc.

References bookedStripStatus_, bookedTrackingStatus_, SiStripQualityChecker::SubDetMEs::DetFraction, DetFractionReportMap, MonitorElement::Reset(), SiStripQualityChecker::SubDetMEs::SToNFlag, SToNReportMap, SubDetMEsMap, SiStripQualityChecker::SubDetMEs::SummaryFlag, SummaryReportGlobal, SummaryReportMap, TrackingMEsMap, TrackSummaryReportGlobal, and TrackSummaryReportMap.

Referenced by fillDummyStatus().

256  {
257  if (bookedStripStatus_) {
258  for (std::map<std::string, SubDetMEs>::const_iterator it = SubDetMEsMap.begin();
259  it != SubDetMEsMap.end(); it++) {
260  SubDetMEs local_mes = it->second;
261  local_mes.DetFraction->Reset();
262  local_mes.SToNFlag->Reset();
263  local_mes.SummaryFlag->Reset();
264  }
265 
267  SToNReportMap->Reset();
269 
271  }
272  if (bookedTrackingStatus_) {
275  for (std::map<std::string, TrackingMEs>::iterator it = TrackingMEsMap.begin();
276  it != TrackingMEsMap.end(); it++) {
277  it->second.TrackingFlag->Reset();
278  }
279  /*
280  for (std::map<std::string, TrackingMEs>::iterator it = TrackingMEsLSMap.begin();
281  it != TrackingMEsLSMap.end(); it++) {
282  it->second.TrackingFlag->Reset();
283  }
284  */
285  }
286 }
std::map< std::string, SubDetMEs > SubDetMEsMap
MonitorElement * DetFractionReportMap
MonitorElement * TrackSummaryReportGlobal
MonitorElement * SummaryReportMap
MonitorElement * SummaryReportGlobal
MonitorElement * SToNReportMap
MonitorElement * TrackSummaryReportMap
std::map< std::string, TrackingMEs > TrackingMEsMap
void Reset(void)
reset ME (ie. contents, errors, etc)

Member Data Documentation

std::map<uint32_t,uint16_t> SiStripQualityChecker::badModuleList
private
bool SiStripQualityChecker::bookedStripStatus_
private
bool SiStripQualityChecker::bookedTrackingStatus_
private
float SiStripQualityChecker::cutoffChi2overDoF_
private

Definition at line 90 of file SiStripQualityChecker.h.

float SiStripQualityChecker::cutoffRecHits_
private

Definition at line 91 of file SiStripQualityChecker.h.

float SiStripQualityChecker::cutoffTrackRate_
private

Definition at line 89 of file SiStripQualityChecker.h.

MonitorElement* SiStripQualityChecker::DetFractionReportMap
private

Definition at line 68 of file SiStripQualityChecker.h.

Referenced by bookStatus(), fillDummyStatus(), fillSubDetStatus(), and resetStatus().

int SiStripQualityChecker::globalStatusFilling_
private

Definition at line 84 of file SiStripQualityChecker.h.

edm::ParameterSet SiStripQualityChecker::pSet_
private

Definition at line 80 of file SiStripQualityChecker.h.

Referenced by fillStatus(), fillSubDetStatus(), and SiStripQualityChecker().

MonitorElement* SiStripQualityChecker::SToNReportMap
private

Definition at line 69 of file SiStripQualityChecker.h.

Referenced by bookStatus(), fillDummyStatus(), fillSubDetStatus(), and resetStatus().

std::map<std::string, std::string> SiStripQualityChecker::SubDetFolderMap
private

Definition at line 65 of file SiStripQualityChecker.h.

Referenced by bookStatus(), fillDetectorStatus(), and SiStripQualityChecker().

std::map<std::string, SubDetMEs> SiStripQualityChecker::SubDetMEsMap
private
MonitorElement* SiStripQualityChecker::SummaryReportGlobal
private
MonitorElement* SiStripQualityChecker::SummaryReportMap
private

Definition at line 70 of file SiStripQualityChecker.h.

Referenced by bookStatus(), fillDummyStatus(), fillSubDetStatus(), and resetStatus().

TkDetMap* SiStripQualityChecker::tkDetMap_
private

Definition at line 87 of file SiStripQualityChecker.h.

Referenced by getModuleStatus(), and SiStripQualityChecker().

std::map<std::string, TrackingMEs> SiStripQualityChecker::TrackingMEsMap
private
MonitorElement* SiStripQualityChecker::TrackSummaryReportGlobal
private
MonitorElement* SiStripQualityChecker::TrackSummaryReportMap
private
bool SiStripQualityChecker::useGoodTracks_
private