CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Member Functions | Private Attributes
SiStripQualityHotStripIdentifierRoot Class Reference

#include <SiStripQualityHotStripIdentifierRoot.h>

Inheritance diagram for SiStripQualityHotStripIdentifierRoot:
ConditionDBWriter< SiStripBadStrip > edm::EDAnalyzer edm::EDConsumerBase

Public Types

typedef dqm::legacy::DQMStore DQMStore
 
typedef dqm::legacy::MonitorElement MonitorElement
 
- Public Types inherited from edm::EDAnalyzer
typedef EDAnalyzer ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 

Public Member Functions

 SiStripQualityHotStripIdentifierRoot (const edm::ParameterSet &)
 
 ~SiStripQualityHotStripIdentifierRoot () override
 
- Public Member Functions inherited from ConditionDBWriter< SiStripBadStrip >
 ConditionDBWriter (const edm::ParameterSet &iConfig)
 
 ~ConditionDBWriter () override
 
- Public Member Functions inherited from edm::EDAnalyzer
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzer ()
 
SerialTaskQueueglobalLuminosityBlocksQueue ()
 
SerialTaskQueueglobalRunsQueue ()
 
ModuleDescription const & moduleDescription () const
 
std::string workerType () const
 
 ~EDAnalyzer () override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase &&)=default
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
std::vector< ESProxyIndex > const & esGetTokenIndicesVector (edm::Transition iTrans) const
 
std::vector< ESRecordIndex > const & esGetTokenRecordIndicesVector (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Private Member Functions

void algoAnalyze (const edm::Event &, const edm::EventSetup &) override
 
void algoBeginLuminosityBlock (const edm::LuminosityBlock &, const edm::EventSetup &) override
 
void algoBeginRun (const edm::Run &, const edm::EventSetup &) override
 
void algoEndJob () override
 
void bookHistos ()
 
std::unique_ptr< SiStripBadStripgetNewObject () override
 

Private Attributes

uint32_t calibrationthreshold
 
SiStrip::QualityHistosMap ClusterPositionHistoMap
 
const edm::ParameterSet conf_
 
std::string dataLabel_
 
std::string dirpath
 
DQMStoredqmStore_
 
TFile * file0
 
std::string filename
 
unsigned long long m_cacheID_
 
unsigned short MaxClusterWidth_
 
double MeanNumberOfCluster
 
unsigned short MinClusterWidth_
 
edm::ESHandle< SiStripQualitySiStripQuality_
 
SiStripHotStripAlgorithmFromClusterOccupancytheIdentifier
 
SiStripBadAPVAlgorithmFromClusterOccupancytheIdentifier2
 
SiStripBadAPVandHotStripAlgorithmFromClusterOccupancytheIdentifier3
 
edm::ESHandle< TrackerGeometrytheTrackerGeom
 
double TotNumberOfEvents
 
const TrackerGeometrytracker_
 
const TrackerTopologytTopo
 
bool UseInputDB_
 

Additional Inherited Members

- Static Public Member Functions inherited from edm::EDAnalyzer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &)
 
static bool wantsGlobalLuminosityBlocks ()
 
static bool wantsGlobalRuns ()
 
static bool wantsInputProcessBlocks ()
 
static bool wantsProcessBlocks ()
 
static bool wantsStreamLuminosityBlocks ()
 
static bool wantsStreamRuns ()
 
- Protected Member Functions inherited from ConditionDBWriter< SiStripBadStrip >
void setDoStore (const bool doStore)
 When set to false the payload will not be written to the db. More...
 
void storeOnDbNow ()
 
cond::Time_t timeOfLastIOV ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B = InEvent>
EDConsumerBaseAdaptor< B > consumes (edm::InputTag tag) noexcept
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<Transition Tr = Transition::Event>
constexpr auto esConsumes () noexcept
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag) noexcept
 
template<Transition Tr = Transition::Event>
ESGetTokenGeneric esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey)
 Used with EventSetupRecord::doGet. More...
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 

Detailed Description

Definition at line 36 of file SiStripQualityHotStripIdentifierRoot.h.

Member Typedef Documentation

◆ DQMStore

Definition at line 39 of file SiStripQualityHotStripIdentifierRoot.h.

◆ MonitorElement

Definition at line 38 of file SiStripQualityHotStripIdentifierRoot.h.

Constructor & Destructor Documentation

◆ SiStripQualityHotStripIdentifierRoot()

SiStripQualityHotStripIdentifierRoot::SiStripQualityHotStripIdentifierRoot ( const edm::ParameterSet iConfig)
explicit

Definition at line 25 of file SiStripQualityHotStripIdentifierRoot.cc.

27  m_cacheID_(0),
28  dataLabel_(iConfig.getUntrackedParameter<std::string>("dataLabel", "")),
29  UseInputDB_(iConfig.getUntrackedParameter<bool>("UseInputDB", false)),
30  conf_(iConfig),
31  tracker_(nullptr),
32  tTopo(nullptr),
33  filename(iConfig.getUntrackedParameter<std::string>("rootFilename", "CondDB_TKCC_20X_v3_hlt_50822.root")),
34  dirpath(iConfig.getUntrackedParameter<std::string>("rootDirPath", "")),
37  calibrationthreshold(iConfig.getUntrackedParameter<uint32_t>("CalibrationThreshold", 10000)) {
38  dqmStore_ = edm::Service<DQMStore>().operator->();
39 
40  if (!filename.empty()) {
41  edm::LogInfo("SiStripQualityHotStripIdentifierRoot") << " before opening file " << filename.c_str();
42  dqmStore_->open(filename, false);
43  edm::LogInfo("SiStripQualityHotStripIdentifierRoot") << " after opening file ";
44  }
45 }

References dqmStore_, filename, and dqm::implementation::DQMStore::open().

◆ ~SiStripQualityHotStripIdentifierRoot()

SiStripQualityHotStripIdentifierRoot::~SiStripQualityHotStripIdentifierRoot ( )
override

Definition at line 47 of file SiStripQualityHotStripIdentifierRoot.cc.

47 {}

Member Function Documentation

◆ algoAnalyze()

void SiStripQualityHotStripIdentifierRoot::algoAnalyze ( const edm::Event ,
const edm::EventSetup  
)
inlineoverrideprivatevirtual

Reimplemented from ConditionDBWriter< SiStripBadStrip >.

Definition at line 53 of file SiStripQualityHotStripIdentifierRoot.h.

53 {};

◆ algoBeginLuminosityBlock()

void SiStripQualityHotStripIdentifierRoot::algoBeginLuminosityBlock ( const edm::LuminosityBlock ,
const edm::EventSetup  
)
inlineoverrideprivatevirtual

Reimplemented from ConditionDBWriter< SiStripBadStrip >.

Definition at line 48 of file SiStripQualityHotStripIdentifierRoot.h.

48 {}

◆ algoBeginRun()

void SiStripQualityHotStripIdentifierRoot::algoBeginRun ( const edm::Run iRun,
const edm::EventSetup iSetup 
)
overrideprivatevirtual

Reimplemented from ConditionDBWriter< SiStripBadStrip >.

Definition at line 235 of file SiStripQualityHotStripIdentifierRoot.cc.

235  {
236  //Retrieve tracker topology from geometry
237  edm::ESHandle<TrackerTopology> tTopoHandle;
238  iSetup.get<TrackerTopologyRcd>().get(tTopoHandle);
239  tTopo = tTopoHandle.product();
240 
242  tracker_ = &(*theTrackerGeom);
243 
244  if (UseInputDB_) {
245  unsigned long long cacheID = iSetup.get<SiStripQualityRcd>().cacheIdentifier();
246 
247  if (m_cacheID_ == cacheID)
248  return;
249 
250  m_cacheID_ = cacheID;
251 
253  }
254 }

References dataLabel_, edm::EventSetup::get(), get, m_cacheID_, edm::ESHandle< T >::product(), SiStripQuality_, theTrackerGeom, tracker_, tTopo, and UseInputDB_.

◆ algoEndJob()

void SiStripQualityHotStripIdentifierRoot::algoEndJob ( )
overrideprivatevirtual

Reimplemented from ConditionDBWriter< SiStripBadStrip >.

Definition at line 256 of file SiStripQualityHotStripIdentifierRoot.cc.

256  {
257  //Clear map
258  ClusterPositionHistoMap.clear();
259 }

References ClusterPositionHistoMap.

◆ bookHistos()

void SiStripQualityHotStripIdentifierRoot::bookHistos ( )
private

Definition at line 261 of file SiStripQualityHotStripIdentifierRoot.cc.

261  {
262  edm::LogInfo("SiStripQualityHotStripIdentifierRoot")
263  << " [SiStripQualityHotStripIdentifierRoot::bookHistos] " << dirpath << std::endl;
264  std::vector<MonitorElement*> MEs = dqmStore_->getAllContents(dirpath);
265  //"DQMData/Run 50908/SiStrip/MechanicalView");
266  // "/DQMData/Run 50908/SiStrip/Run summary/MechanicalView/TID/side_2/wheel_3/ring_2/mono_modules/module_402676874");
267  edm::LogInfo("SiStripQualityHotStripIdentifierRoot")
268  << " [SiStripQualityHotStripIdentifierRoot::bookHistos] vector size " << MEs.size() << std::endl;
269 
270  std::vector<MonitorElement*>::const_iterator iter = MEs.begin();
271  std::vector<MonitorElement*>::const_iterator iterEnd = MEs.end();
272 
274  bool gotNentries = true;
275  if (parameters.getUntrackedParameter<uint32_t>("NumberOfEvents", 0) == 0 &&
276  parameters.getUntrackedParameter<double>("OccupancyThreshold", 0) != 0)
277  gotNentries = false;
278  edm::LogInfo("SiStripQualityHotStripIdentifierRoot")
279  << "[SiStripQualityHotStripIdentifierRoot::bookHistos] gotNentries flag " << gotNentries << " number of "
280  << parameters.getUntrackedParameter<uint32_t>("NumberOfEvents", 0) << " occup "
281  << parameters.getUntrackedParameter<double>("OccupancyThreshold", 0) << " OccupancyHisto"
282  << parameters.getUntrackedParameter<std::string>("OccupancyHisto") << std::endl;
283 
284  // Check Number of Events
285  for (; iter != iterEnd; ++iter) {
286  std::string me_name = (*iter)->getName();
287 
288  if (!gotNentries && strstr(me_name.c_str(), "TotalNumberOfCluster__T") != nullptr &&
289  strstr(me_name.c_str(), "Profile") == nullptr) {
290  TotNumberOfEvents = ((TH1F*)(*iter)->getTH1F())->GetEntries();
291  MeanNumberOfCluster = ((TH1F*)(*iter)->getTH1F())->GetMean();
292  edm::LogInfo("SiStripQualityHotStripIdentifierRoot")
293  << "Total Number of Events: " << TotNumberOfEvents << std::endl;
294 
295  gotNentries = true;
296  edm::LogInfo("SiStripQualityHotStripIdentifierRoot")
297  << "[SiStripQualityHotStripIdentifierRoot::bookHistos] gotNentries flag " << gotNentries << std::endl;
298  break;
299  }
300  }
301  if (!gotNentries) {
302  edm::LogWarning("SiStripQualityHotStripIdentifierRoot")
303  << " [SiStripQualityHotStripIdentifierRoot::bookHistos] :: Histogram with to check # of evemnts missing"
304  << std::endl;
305  }
306  for (; iter != iterEnd; ++iter) {
307  std::string me_name = (*iter)->getName();
308 
309  if (strstr(me_name.c_str(), (parameters.getUntrackedParameter<std::string>("OccupancyHisto")).c_str()) == nullptr)
310  continue;
311 
312  unsigned int detid = 0;
313  char title[128];
314  sprintf(title, "%s", me_name.c_str());
315  char* saveptr;
316  char* ptr = strtok_r(title, "__", &saveptr);
317  int c = 0;
318  while (ptr != nullptr) {
319  if (c == 2) {
320  detid = atol(ptr);
321  break;
322  }
323  ptr = strtok_r(nullptr, "_", &saveptr);
324  c++;
325  }
326  LogDebug("SiStripQualityHotStripIdentifierRoot")
327  << " [SiStripQualityHotStripIdentifierRoot::bookHistos] detid " << detid << std::endl;
328 
329  ClusterPositionHistoMap[detid] = std::make_shared<TH1F>(*(*iter)->getTH1F());
330  }
331 }

References HltBtagPostValidation_cff::c, ClusterPositionHistoMap, conf_, dirpath, dqmStore_, dqm::implementation::IGetter::getAllContents(), edm::ParameterSet::getParameter(), LogDebug, MeanNumberOfCluster, EcalMEFormatter_cfi::MEs, AlCaHLTBitMon_QueryRunRegistry::string, runGCPTkAlMap::title, and TotNumberOfEvents.

Referenced by getNewObject().

◆ getNewObject()

std::unique_ptr< SiStripBadStrip > SiStripQualityHotStripIdentifierRoot::getNewObject ( )
overrideprivatevirtual

Implements ConditionDBWriter< SiStripBadStrip >.

Definition at line 49 of file SiStripQualityHotStripIdentifierRoot.cc.

49  {
50  edm::LogInfo("SiStripQualityHotStripIdentifierRoot")
51  << "SiStripQualityHotStripIdentifierRoot::getNewObject called" << std::endl;
52 
53  auto obj = std::make_unique<SiStripBadStrip>();
54 
56  std::string AlgoName = parameters.getParameter<std::string>("AlgoName");
57 
58  bookHistos();
59 
61  edm::LogInfo("SiStripQualityHotStripIdentifierRoot")
62  << " [SiStripQualityHotStripIdentifierRoot::getNewObject] Total number of events is " << TotNumberOfEvents
63  << " which is bigger than " << calibrationthreshold << ". Calibration is preparing to be launched."
64  << std::endl;
65  if (MeanNumberOfCluster > 0.01) {
66  edm::LogInfo("SiStripQualityHotStripIdentifierRoot")
67  << "Mean Number of Cluster is " << MeanNumberOfCluster << ". Calibration is launched." << std::endl;
68 
69  if (AlgoName == "SiStripHotStripAlgorithmFromClusterOccupancy") {
70  edm::LogInfo("SiStripQualityHotStripIdentifierRoot") << " [SiStripQualityHotStripIdentifierRoot::getNewObject] "
71  "call to SiStripHotStripAlgorithmFromClusterOccupancy"
72  << std::endl;
73 
75  theIdentifier->setProbabilityThreshold(parameters.getUntrackedParameter<double>("ProbabilityThreshold", 1.E-7));
76  theIdentifier->setMinNumEntries(parameters.getUntrackedParameter<uint32_t>("MinNumEntries", 100));
77  theIdentifier->setMinNumEntriesPerStrip(parameters.getUntrackedParameter<uint32_t>("MinNumEntriesPerStrip", 5));
78  theIdentifier->setOccupancyThreshold(parameters.getUntrackedParameter<double>("OccupancyThreshold", 1.E-5));
81  conf_.getUntrackedParameter<std::string>("OccupancyRootFile", "Occupancy.root"),
82  conf_.getUntrackedParameter<bool>("WriteOccupancyRootFile", false));
84 
85  SiStripQuality* qobj = new SiStripQuality();
87  qobj,
89  SiStripQuality_.product()); //here I insert SiStripQuality as input and get qobj as output
90 
91  //----------
92 
93  edm::LogInfo("SiStripQualityHotStripIdentifierRoot")
94  << " [SiStripQualityHotStripIdentifierRoot::getNewObject] copy SiStripObject in SiStripBadStrip"
95  << std::endl;
96 
97  std::stringstream ss;
98 
101  for (; rIter != rIterEnd; ++rIter) {
102  SiStripBadStrip::Range range(qobj->getDataVectorBegin() + rIter->ibegin,
103  qobj->getDataVectorBegin() + rIter->iend);
104  if (!obj->put(rIter->detid, range))
105  edm::LogError("SiStripQualityHotStripIdentifierRoot")
106  << "[SiStripQualityHotStripIdentifierRoot::getNewObject] detid already exists" << std::endl;
107  }
108  edm::LogInfo("SiStripQualityHotStripIdentifierRoot")
109  << " [SiStripQualityHotStripIdentifierRoot::getNewObject] " << ss.str() << std::endl;
110  } else if (AlgoName == "SiStripBadAPVAlgorithmFromClusterOccupancy") {
111  edm::LogInfo("SiStripQualityHotStripIdentifierRoot") << " [SiStripQualityHotStripIdentifierRoot::getNewObject] "
112  "call to SiStripBadAPVAlgorithmFromClusterOccupancy"
113  << std::endl;
114 
116  theIdentifier2->setLowOccupancyThreshold(parameters.getUntrackedParameter<double>("LowOccupancyThreshold", 5));
118  parameters.getUntrackedParameter<double>("HighOccupancyThreshold", 10));
119  theIdentifier2->setAbsoluteLowThreshold(parameters.getUntrackedParameter<double>("AbsoluteLowThreshold", 0));
120  theIdentifier2->setNumberIterations(parameters.getUntrackedParameter<uint32_t>("NumberIterations", 2));
122  parameters.getUntrackedParameter<double>("OccupancyThreshold", 1.E-5));
126  conf_.getUntrackedParameter<std::string>("OccupancyRootFile", "Occupancy.root"),
127  conf_.getUntrackedParameter<bool>("WriteOccupancyRootFile", false));
129 
130  SiStripQuality* qobj = new SiStripQuality();
132 
133  //----------
134 
135  edm::LogInfo("SiStripQualityHotStripIdentifierRoot")
136  << " [SiStripQualityHotStripIdentifierRoot::getNewObject] copy SiStripObject in SiStripBadStrip"
137  << std::endl;
138 
139  std::stringstream ss;
140 
143  for (; rIter != rIterEnd; ++rIter) {
144  SiStripBadStrip::Range range(qobj->getDataVectorBegin() + rIter->ibegin,
145  qobj->getDataVectorBegin() + rIter->iend);
146  if (!obj->put(rIter->detid, range))
147  edm::LogError("SiStripQualityHotStripIdentifierRoot")
148  << "[SiStripQualityHotStripIdentifierRoot::getNewObject] detid already exists" << std::endl;
149  }
150  edm::LogInfo("SiStripQualityHotStripIdentifierRoot")
151  << " [SiStripQualityHotStripIdentifierRoot::getNewObject] " << ss.str() << std::endl;
152 
153  } else if (AlgoName == "SiStripBadAPVandHotStripAlgorithmFromClusterOccupancy") {
154  edm::LogInfo("SiStripQualityHotStripIdentifierRoot")
155  << " [SiStripQualityHotStripIdentifierRoot::getNewObject] call to "
156  "SiStripBadAPVandHotStripAlgorithmFromClusterOccupancy"
157  << std::endl;
158 
161  parameters.getUntrackedParameter<double>("ProbabilityThreshold", 1.E-7));
162  theIdentifier3->setMinNumEntries(parameters.getUntrackedParameter<uint32_t>("MinNumEntries", 100));
164  parameters.getUntrackedParameter<uint32_t>("MinNumEntriesPerStrip", 5));
167  conf_.getUntrackedParameter<std::string>("OccupancyRootFile", "Occupancy.root"),
168  conf_.getUntrackedParameter<bool>("WriteOccupancyRootFile", false),
169  conf_.getUntrackedParameter<std::string>("DQMHistoOutputFile", "DQMHistos.root"),
170  conf_.getUntrackedParameter<bool>("WriteDQMHistoOutputFile", false));
172  theIdentifier3->setLowOccupancyThreshold(parameters.getUntrackedParameter<double>("LowOccupancyThreshold", 5));
174  parameters.getUntrackedParameter<double>("HighOccupancyThreshold", 10));
175  theIdentifier3->setAbsoluteLowThreshold(parameters.getUntrackedParameter<double>("AbsoluteLowThreshold", 0));
176  theIdentifier3->setNumberIterations(parameters.getUntrackedParameter<uint32_t>("NumberIterations", 2));
178  parameters.getUntrackedParameter<double>("OccupancyThreshold", 1.E-5));
180 
181  SiStripQuality* qobj = new SiStripQuality();
183  qobj,
185  SiStripQuality_); //here I insert SiStripQuality as input and get qobj as output
186 
187  //----------
188 
189  edm::LogInfo("SiStripQualityHotStripIdentifierRoot")
190  << " [SiStripQualityHotStripIdentifierRoot::getNewObject] copy SiStripObject in SiStripBadStrip"
191  << std::endl;
192 
193  std::stringstream ss;
194 
197  for (; rIter != rIterEnd; ++rIter) {
198  SiStripBadStrip::Range range(qobj->getDataVectorBegin() + rIter->ibegin,
199  qobj->getDataVectorBegin() + rIter->iend);
200  if (!obj->put(rIter->detid, range))
201  edm::LogError("SiStripQualityHotStripIdentifierRoot")
202  << "[SiStripQualityHotStripIdentifierRoot::getNewObject] detid already exists" << std::endl;
203  }
204  edm::LogInfo("SiStripQualityHotStripIdentifierRoot")
205  << " [SiStripQualityHotStripIdentifierRoot::getNewObject] " << ss.str() << std::endl;
206  } else {
207  edm::LogError("SiStripQualityHotStripIdentifierRoot") << " [SiStripQualityHotStripIdentifierRoot::getNewObject]"
208  " call for a unknow HotStrip identification algoritm"
209  << std::endl;
210 
211  std::vector<uint32_t> a;
212  SiStripBadStrip::Range range(a.begin(), a.end());
213  if (!obj->put(0xFFFFFFFF, range))
214  edm::LogError("SiStripQualityHotStripIdentifierRoot")
215  << "[SiStripQualityHotStripIdentifierRoot::getNewObject] detid already exists" << std::endl;
216  }
217  }
218 
219  else {
220  edm::LogWarning("SiStripQualityHotStripIdentifierRoot")
221  << " [SiStripQualityHotStripIdentifierRoot::getNewObject] :: Empty Events :: "
222  << "Mean Number of Cluster is " << MeanNumberOfCluster << " Calibration NOT launched" << std::endl;
223  setDoStore(false); // Don't put anything in the sqlite-file!
224  }
225  } else {
226  edm::LogWarning("SiStripQualityHotStripIdentifierRoot")
227  << " [SiStripQualityHotStripIdentifierRoot::getNewObject] :: Not Enough Events :: "
228  << "Total number of events is " << TotNumberOfEvents << " Calibration NOT launched" << std::endl;
229  setDoStore(false); // Don't put anything in the sqlite-file!
230  }
231 
232  return obj;
233 }

References a, HLTSiStripMonitoring_cff::AlgoName, bookHistos(), calibrationthreshold, ClusterPositionHistoMap, conf_, SiStripBadAPVAlgorithmFromClusterOccupancy::extractBadAPVs(), SiStripBadAPVandHotStripAlgorithmFromClusterOccupancy::extractBadAPVSandStrips(), SiStripHotStripAlgorithmFromClusterOccupancy::extractBadStrips(), SiStripBadStrip::getDataVectorBegin(), edm::ParameterSet::getParameter(), SiStripBadStrip::getRegistryVectorBegin(), SiStripBadStrip::getRegistryVectorEnd(), edm::ParameterSet::getUntrackedParameter(), MeanNumberOfCluster, getGTfromDQMFile::obj, edm::ESHandle< T >::product(), FastTimerService_cff::range, SiStripBadAPVAlgorithmFromClusterOccupancy::setAbsoluteLowThreshold(), SiStripBadAPVandHotStripAlgorithmFromClusterOccupancy::setAbsoluteLowThreshold(), SiStripBadAPVAlgorithmFromClusterOccupancy::setAbsoluteOccupancyThreshold(), SiStripBadAPVandHotStripAlgorithmFromClusterOccupancy::setAbsoluteOccupancyThreshold(), ConditionDBWriter< SiStripBadStrip >::setDoStore(), SiStripBadAPVAlgorithmFromClusterOccupancy::setHighOccupancyThreshold(), SiStripBadAPVandHotStripAlgorithmFromClusterOccupancy::setHighOccupancyThreshold(), SiStripBadAPVAlgorithmFromClusterOccupancy::setLowOccupancyThreshold(), SiStripBadAPVandHotStripAlgorithmFromClusterOccupancy::setLowOccupancyThreshold(), SiStripBadAPVandHotStripAlgorithmFromClusterOccupancy::setMinNumEntries(), SiStripHotStripAlgorithmFromClusterOccupancy::setMinNumEntries(), SiStripBadAPVandHotStripAlgorithmFromClusterOccupancy::setMinNumEntriesPerStrip(), SiStripHotStripAlgorithmFromClusterOccupancy::setMinNumEntriesPerStrip(), SiStripBadAPVAlgorithmFromClusterOccupancy::setMinNumOfEvents(), SiStripBadAPVandHotStripAlgorithmFromClusterOccupancy::setMinNumOfEvents(), SiStripBadAPVAlgorithmFromClusterOccupancy::setNumberIterations(), SiStripBadAPVandHotStripAlgorithmFromClusterOccupancy::setNumberIterations(), SiStripBadAPVAlgorithmFromClusterOccupancy::setNumberOfEvents(), SiStripBadAPVandHotStripAlgorithmFromClusterOccupancy::setNumberOfEvents(), SiStripHotStripAlgorithmFromClusterOccupancy::setNumberOfEvents(), SiStripHotStripAlgorithmFromClusterOccupancy::setOccupancyThreshold(), SiStripBadAPVAlgorithmFromClusterOccupancy::setOutputFileName(), SiStripBadAPVandHotStripAlgorithmFromClusterOccupancy::setOutputFileName(), SiStripHotStripAlgorithmFromClusterOccupancy::setOutputFileName(), SiStripBadAPVandHotStripAlgorithmFromClusterOccupancy::setProbabilityThreshold(), SiStripHotStripAlgorithmFromClusterOccupancy::setProbabilityThreshold(), SiStripBadAPVAlgorithmFromClusterOccupancy::setTrackerGeometry(), SiStripHotStripAlgorithmFromClusterOccupancy::setTrackerGeometry(), SiStripBadAPVandHotStripAlgorithmFromClusterOccupancy::setTrackerGeometry(), AlCaHarvesting_cff::SiStripQuality, SiStripQuality_, contentValuesCheck::ss, AlCaHLTBitMon_QueryRunRegistry::string, theIdentifier, theIdentifier2, theIdentifier3, TotNumberOfEvents, tracker_, and tTopo.

Member Data Documentation

◆ calibrationthreshold

uint32_t SiStripQualityHotStripIdentifierRoot::calibrationthreshold
private

Definition at line 77 of file SiStripQualityHotStripIdentifierRoot.h.

Referenced by getNewObject().

◆ ClusterPositionHistoMap

SiStrip::QualityHistosMap SiStripQualityHotStripIdentifierRoot::ClusterPositionHistoMap
private

Definition at line 79 of file SiStripQualityHotStripIdentifierRoot.h.

Referenced by algoEndJob(), bookHistos(), and getNewObject().

◆ conf_

const edm::ParameterSet SiStripQualityHotStripIdentifierRoot::conf_
private

Definition at line 64 of file SiStripQualityHotStripIdentifierRoot.h.

Referenced by bookHistos(), and getNewObject().

◆ dataLabel_

std::string SiStripQualityHotStripIdentifierRoot::dataLabel_
private

Definition at line 61 of file SiStripQualityHotStripIdentifierRoot.h.

Referenced by algoBeginRun().

◆ dirpath

std::string SiStripQualityHotStripIdentifierRoot::dirpath
private

Definition at line 73 of file SiStripQualityHotStripIdentifierRoot.h.

Referenced by bookHistos().

◆ dqmStore_

DQMStore* SiStripQualityHotStripIdentifierRoot::dqmStore_
private

◆ file0

TFile* SiStripQualityHotStripIdentifierRoot::file0
private

Definition at line 72 of file SiStripQualityHotStripIdentifierRoot.h.

◆ filename

std::string SiStripQualityHotStripIdentifierRoot::filename
private

◆ m_cacheID_

unsigned long long SiStripQualityHotStripIdentifierRoot::m_cacheID_
private

Definition at line 60 of file SiStripQualityHotStripIdentifierRoot.h.

Referenced by algoBeginRun().

◆ MaxClusterWidth_

unsigned short SiStripQualityHotStripIdentifierRoot::MaxClusterWidth_
private

Definition at line 74 of file SiStripQualityHotStripIdentifierRoot.h.

◆ MeanNumberOfCluster

double SiStripQualityHotStripIdentifierRoot::MeanNumberOfCluster
private

Definition at line 76 of file SiStripQualityHotStripIdentifierRoot.h.

Referenced by bookHistos(), and getNewObject().

◆ MinClusterWidth_

unsigned short SiStripQualityHotStripIdentifierRoot::MinClusterWidth_
private

Definition at line 74 of file SiStripQualityHotStripIdentifierRoot.h.

◆ SiStripQuality_

edm::ESHandle<SiStripQuality> SiStripQualityHotStripIdentifierRoot::SiStripQuality_
private

Definition at line 62 of file SiStripQualityHotStripIdentifierRoot.h.

Referenced by algoBeginRun(), and getNewObject().

◆ theIdentifier

SiStripHotStripAlgorithmFromClusterOccupancy* SiStripQualityHotStripIdentifierRoot::theIdentifier
private

Definition at line 80 of file SiStripQualityHotStripIdentifierRoot.h.

Referenced by getNewObject().

◆ theIdentifier2

SiStripBadAPVAlgorithmFromClusterOccupancy* SiStripQualityHotStripIdentifierRoot::theIdentifier2
private

Definition at line 81 of file SiStripQualityHotStripIdentifierRoot.h.

Referenced by getNewObject().

◆ theIdentifier3

SiStripBadAPVandHotStripAlgorithmFromClusterOccupancy* SiStripQualityHotStripIdentifierRoot::theIdentifier3
private

Definition at line 82 of file SiStripQualityHotStripIdentifierRoot.h.

Referenced by getNewObject().

◆ theTrackerGeom

edm::ESHandle<TrackerGeometry> SiStripQualityHotStripIdentifierRoot::theTrackerGeom
private

Definition at line 66 of file SiStripQualityHotStripIdentifierRoot.h.

Referenced by algoBeginRun().

◆ TotNumberOfEvents

double SiStripQualityHotStripIdentifierRoot::TotNumberOfEvents
private

Definition at line 75 of file SiStripQualityHotStripIdentifierRoot.h.

Referenced by bookHistos(), and getNewObject().

◆ tracker_

const TrackerGeometry* SiStripQualityHotStripIdentifierRoot::tracker_
private

Definition at line 67 of file SiStripQualityHotStripIdentifierRoot.h.

Referenced by algoBeginRun(), and getNewObject().

◆ tTopo

const TrackerTopology* SiStripQualityHotStripIdentifierRoot::tTopo
private

Definition at line 68 of file SiStripQualityHotStripIdentifierRoot.h.

Referenced by algoBeginRun(), and getNewObject().

◆ UseInputDB_

bool SiStripQualityHotStripIdentifierRoot::UseInputDB_
private

Definition at line 63 of file SiStripQualityHotStripIdentifierRoot.h.

Referenced by algoBeginRun().

edm::ESHandle::product
T const * product() const
Definition: ESHandle.h:86
FastTimerService_cff.range
range
Definition: FastTimerService_cff.py:34
SiStripBadAPVandHotStripAlgorithmFromClusterOccupancy::extractBadAPVSandStrips
void extractBadAPVSandStrips(SiStripQuality *, HistoMap &, edm::ESHandle< SiStripQuality > &)
Definition: SiStripBadAPVandHotStripAlgorithmFromClusterOccupancy.cc:35
SiStripQualityHotStripIdentifierRoot::tTopo
const TrackerTopology * tTopo
Definition: SiStripQualityHotStripIdentifierRoot.h:68
BeamSpotPI::parameters
parameters
Definition: BeamSpotPayloadInspectorHelper.h:29
runGCPTkAlMap.title
string title
Definition: runGCPTkAlMap.py:94
SiStripHotStripAlgorithmFromClusterOccupancy::setOccupancyThreshold
void setOccupancyThreshold(long double occupancy)
Definition: SiStripHotStripAlgorithmFromClusterOccupancy.h:62
ConditionDBWriter< SiStripBadStrip >::setDoStore
void setDoStore(const bool doStore)
When set to false the payload will not be written to the db.
Definition: ConditionDBWriter.h:385
SiStripHotStripAlgorithmFromClusterOccupancy::setMinNumEntriesPerStrip
void setMinNumEntriesPerStrip(unsigned short m)
Definition: SiStripHotStripAlgorithmFromClusterOccupancy.h:61
SiStripHotStripAlgorithmFromClusterOccupancy::setProbabilityThreshold
void setProbabilityThreshold(long double prob)
Definition: SiStripHotStripAlgorithmFromClusterOccupancy.h:59
SiStripQualityHotStripIdentifierRoot::dqmStore_
DQMStore * dqmStore_
Definition: SiStripQualityHotStripIdentifierRoot.h:70
AlCaHarvesting_cff.SiStripQuality
SiStripQuality
Definition: AlCaHarvesting_cff.py:223
SiStripHotStripAlgorithmFromClusterOccupancy::setNumberOfEvents
void setNumberOfEvents(double Nevents)
Definition: SiStripHotStripAlgorithmFromClusterOccupancy.cc:323
SiStripQualityHotStripIdentifierRoot::calibrationthreshold
uint32_t calibrationthreshold
Definition: SiStripQualityHotStripIdentifierRoot.h:77
SiStripBadAPVAlgorithmFromClusterOccupancy::setNumberOfEvents
void setNumberOfEvents(double Nevents)
Definition: SiStripBadAPVAlgorithmFromClusterOccupancy.h:54
SiStripBadAPVandHotStripAlgorithmFromClusterOccupancy::setAbsoluteLowThreshold
void setAbsoluteLowThreshold(long double absolute_low)
Definition: SiStripBadAPVandHotStripAlgorithmFromClusterOccupancy.h:58
SiStripBadAPVAlgorithmFromClusterOccupancy::setLowOccupancyThreshold
void setLowOccupancyThreshold(long double low_occupancy)
Definition: SiStripBadAPVAlgorithmFromClusterOccupancy.h:49
SiStripBadAPVandHotStripAlgorithmFromClusterOccupancy::setHighOccupancyThreshold
void setHighOccupancyThreshold(long double high_occupancy)
Definition: SiStripBadAPVandHotStripAlgorithmFromClusterOccupancy.h:57
SiStripBadAPVAlgorithmFromClusterOccupancy::setNumberIterations
void setNumberIterations(int number_iterations)
Definition: SiStripBadAPVAlgorithmFromClusterOccupancy.h:52
SiStripBadAPVandHotStripAlgorithmFromClusterOccupancy::setMinNumOfEvents
void setMinNumOfEvents()
Definition: SiStripBadAPVandHotStripAlgorithmFromClusterOccupancy.cc:833
edm::ParameterSet::getUntrackedParameter
T getUntrackedParameter(std::string const &, T const &) const
edm::LogInfo
Log< level::Info, false > LogInfo
Definition: MessageLogger.h:125
SiStripBadAPVAlgorithmFromClusterOccupancy::setTrackerGeometry
void setTrackerGeometry(const TrackerGeometry *tkgeom)
Definition: SiStripBadAPVAlgorithmFromClusterOccupancy.h:60
dqm::implementation::IGetter::getAllContents
virtual std::vector< dqm::harvesting::MonitorElement * > getAllContents(std::string const &path) const
Definition: DQMStore.cc:609
SiStripQualityHotStripIdentifierRoot::SiStripQuality_
edm::ESHandle< SiStripQuality > SiStripQuality_
Definition: SiStripQualityHotStripIdentifierRoot.h:62
SiStripBadStrip::getDataVectorBegin
ContainerIterator getDataVectorBegin() const
Definition: SiStripBadStrip.h:73
HLTSiStripMonitoring_cff.AlgoName
AlgoName
Definition: HLTSiStripMonitoring_cff.py:232
edm::LogWarning
Log< level::Warning, false > LogWarning
Definition: MessageLogger.h:122
SiStripQualityHotStripIdentifierRoot::conf_
const edm::ParameterSet conf_
Definition: SiStripQualityHotStripIdentifierRoot.h:64
SiStripQualityHotStripIdentifierRoot::theIdentifier3
SiStripBadAPVandHotStripAlgorithmFromClusterOccupancy * theIdentifier3
Definition: SiStripQualityHotStripIdentifierRoot.h:82
SiStripBadAPVAlgorithmFromClusterOccupancy::extractBadAPVs
void extractBadAPVs(SiStripQuality *, HistoMap &, edm::ESHandle< SiStripQuality > &)
Definition: SiStripBadAPVAlgorithmFromClusterOccupancy.cc:30
SiStripBadAPVAlgorithmFromClusterOccupancy::setMinNumOfEvents
void setMinNumOfEvents()
Definition: SiStripBadAPVAlgorithmFromClusterOccupancy.cc:493
SiStripBadAPVandHotStripAlgorithmFromClusterOccupancy::setAbsoluteOccupancyThreshold
void setAbsoluteOccupancyThreshold(long double absolute_occupancy)
Definition: SiStripBadAPVandHotStripAlgorithmFromClusterOccupancy.h:60
SiStripHotStripAlgorithmFromClusterOccupancy::extractBadStrips
void extractBadStrips(SiStripQuality *, HistoMap &, const SiStripQuality *)
Definition: SiStripHotStripAlgorithmFromClusterOccupancy.cc:24
contentValuesCheck.ss
ss
Definition: contentValuesCheck.py:33
SiStripBadAPVandHotStripAlgorithmFromClusterOccupancy::setLowOccupancyThreshold
void setLowOccupancyThreshold(long double low_occupancy)
Definition: SiStripBadAPVandHotStripAlgorithmFromClusterOccupancy.h:56
SiStripQualityHotStripIdentifierRoot::tracker_
const TrackerGeometry * tracker_
Definition: SiStripQualityHotStripIdentifierRoot.h:67
SiStripQualityHotStripIdentifierRoot::dataLabel_
std::string dataLabel_
Definition: SiStripQualityHotStripIdentifierRoot.h:61
SiStripBadStrip::Range
std::pair< ContainerIterator, ContainerIterator > Range
Definition: SiStripBadStrip.h:53
SiStripBadStrip::getRegistryVectorBegin
RegistryIterator getRegistryVectorBegin() const
Definition: SiStripBadStrip.h:75
SiStripBadAPVandHotStripAlgorithmFromClusterOccupancy::setNumberOfEvents
void setNumberOfEvents(double Nevents)
Definition: SiStripBadAPVandHotStripAlgorithmFromClusterOccupancy.h:61
edm::EventSetup::get
T get() const
Definition: EventSetup.h:80
ConditionDBWriter< SiStripBadStrip >
SiStripQualityHotStripIdentifierRoot::theIdentifier2
SiStripBadAPVAlgorithmFromClusterOccupancy * theIdentifier2
Definition: SiStripQualityHotStripIdentifierRoot.h:81
SiStripHotStripAlgorithmFromClusterOccupancy::setMinNumEntries
void setMinNumEntries(unsigned short m)
Definition: SiStripHotStripAlgorithmFromClusterOccupancy.h:60
SiStripQualityHotStripIdentifierRoot::dirpath
std::string dirpath
Definition: SiStripQualityHotStripIdentifierRoot.h:73
SiStripQualityRcd
Definition: SiStripDependentRecords.h:55
TrackerDigiGeometryRecord
Definition: TrackerDigiGeometryRecord.h:15
SiStripBadAPVAlgorithmFromClusterOccupancy
Definition: SiStripBadAPVAlgorithmFromClusterOccupancy.h:41
edm::ESHandle< TrackerTopology >
SiStripBadAPVandHotStripAlgorithmFromClusterOccupancy::setTrackerGeometry
void setTrackerGeometry(const TrackerGeometry *tkgeom)
Definition: SiStripBadAPVandHotStripAlgorithmFromClusterOccupancy.h:72
SiStripHotStripAlgorithmFromClusterOccupancy::setOutputFileName
void setOutputFileName(std::string OutputFileName, bool WriteOutputFile)
Definition: SiStripHotStripAlgorithmFromClusterOccupancy.h:67
getGTfromDQMFile.obj
obj
Definition: getGTfromDQMFile.py:32
SiStripQualityHotStripIdentifierRoot::m_cacheID_
unsigned long long m_cacheID_
Definition: SiStripQualityHotStripIdentifierRoot.h:60
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
LogDebug
#define LogDebug(id)
Definition: MessageLogger.h:223
edm::ParameterSet
Definition: ParameterSet.h:47
a
double a
Definition: hdecay.h:119
SiStripBadAPVAlgorithmFromClusterOccupancy::setHighOccupancyThreshold
void setHighOccupancyThreshold(long double high_occupancy)
Definition: SiStripBadAPVAlgorithmFromClusterOccupancy.h:50
SiStripQualityHotStripIdentifierRoot::bookHistos
void bookHistos()
Definition: SiStripQualityHotStripIdentifierRoot.cc:261
SiStripHotStripAlgorithmFromClusterOccupancy::setTrackerGeometry
void setTrackerGeometry(const TrackerGeometry *tkgeom)
Definition: SiStripHotStripAlgorithmFromClusterOccupancy.h:71
SiStripQualityHotStripIdentifierRoot::filename
std::string filename
Definition: SiStripQualityHotStripIdentifierRoot.h:73
SiStripBadAPVAlgorithmFromClusterOccupancy::setAbsoluteLowThreshold
void setAbsoluteLowThreshold(long double absolute_low)
Definition: SiStripBadAPVAlgorithmFromClusterOccupancy.h:51
SiStripBadAPVandHotStripAlgorithmFromClusterOccupancy::setProbabilityThreshold
void setProbabilityThreshold(long double prob)
Definition: SiStripBadAPVandHotStripAlgorithmFromClusterOccupancy.h:53
edm::Service
Definition: Service.h:30
SiStripQualityHotStripIdentifierRoot::TotNumberOfEvents
double TotNumberOfEvents
Definition: SiStripQualityHotStripIdentifierRoot.h:75
SiStripBadAPVAlgorithmFromClusterOccupancy::setOutputFileName
void setOutputFileName(std::string OutputFileName, bool WriteOutputFile)
Definition: SiStripBadAPVAlgorithmFromClusterOccupancy.h:56
HltBtagPostValidation_cff.c
c
Definition: HltBtagPostValidation_cff.py:31
edm::LogError
Log< level::Error, false > LogError
Definition: MessageLogger.h:123
get
#define get
SiStripQualityHotStripIdentifierRoot::theIdentifier
SiStripHotStripAlgorithmFromClusterOccupancy * theIdentifier
Definition: SiStripQualityHotStripIdentifierRoot.h:80
EcalMEFormatter_cfi.MEs
MEs
Definition: EcalMEFormatter_cfi.py:25
SiStripBadAPVandHotStripAlgorithmFromClusterOccupancy::setMinNumEntries
void setMinNumEntries(unsigned short m)
Definition: SiStripBadAPVandHotStripAlgorithmFromClusterOccupancy.h:54
SiStripBadAPVandHotStripAlgorithmFromClusterOccupancy::setNumberIterations
void setNumberIterations(int number_iterations)
Definition: SiStripBadAPVandHotStripAlgorithmFromClusterOccupancy.h:59
SiStripQualityHotStripIdentifierRoot::UseInputDB_
bool UseInputDB_
Definition: SiStripQualityHotStripIdentifierRoot.h:63
SiStripQualityHotStripIdentifierRoot::theTrackerGeom
edm::ESHandle< TrackerGeometry > theTrackerGeom
Definition: SiStripQualityHotStripIdentifierRoot.h:66
SiStripHotStripAlgorithmFromClusterOccupancy
Definition: SiStripHotStripAlgorithmFromClusterOccupancy.h:51
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
dqm::implementation::DQMStore::open
DQM_DEPRECATED bool open(std::string const &filename, bool overwrite=false, std::string const &path="", std::string const &prepend="", OpenRunDirs stripdirs=KeepRunDirs, bool fileMustExist=true)
Definition: DQMStore.cc:767
SiStripBadAPVAlgorithmFromClusterOccupancy::setAbsoluteOccupancyThreshold
void setAbsoluteOccupancyThreshold(long double occupancy)
Definition: SiStripBadAPVAlgorithmFromClusterOccupancy.h:53
SiStripBadStrip::RegistryIterator
Registry::const_iterator RegistryIterator
Definition: SiStripBadStrip.h:55
SiStripQualityHotStripIdentifierRoot::MeanNumberOfCluster
double MeanNumberOfCluster
Definition: SiStripQualityHotStripIdentifierRoot.h:76
TrackerTopologyRcd
Definition: TrackerTopologyRcd.h:10
edm::Log
Definition: MessageLogger.h:70
SiStripBadAPVandHotStripAlgorithmFromClusterOccupancy::setMinNumEntriesPerStrip
void setMinNumEntriesPerStrip(unsigned short m)
Definition: SiStripBadAPVandHotStripAlgorithmFromClusterOccupancy.h:55
SiStripBadStrip::getRegistryVectorEnd
RegistryIterator getRegistryVectorEnd() const
Definition: SiStripBadStrip.h:76
SiStripBadAPVandHotStripAlgorithmFromClusterOccupancy
Definition: SiStripBadAPVandHotStripAlgorithmFromClusterOccupancy.h:43
SiStripQualityHotStripIdentifierRoot::ClusterPositionHistoMap
SiStrip::QualityHistosMap ClusterPositionHistoMap
Definition: SiStripQualityHotStripIdentifierRoot.h:79
SiStripBadAPVandHotStripAlgorithmFromClusterOccupancy::setOutputFileName
void setOutputFileName(std::string OutputFileName, bool WriteOutputFile, std::string DQMOutfileName, bool WriteDQMHistograms)
Definition: SiStripBadAPVandHotStripAlgorithmFromClusterOccupancy.h:63
SiStripQuality
Definition: SiStripQuality.h:32