|
 |
#include <SiStripQualityHotStripIdentifierRoot.h>
|
| SiStripQualityHotStripIdentifierRoot (const edm::ParameterSet &) |
|
| ~SiStripQualityHotStripIdentifierRoot () override |
|
| ConditionDBWriter (const edm::ParameterSet &iConfig) |
|
| ~ConditionDBWriter () override |
|
void | callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func) |
|
| EDAnalyzer () |
|
SerialTaskQueue * | globalLuminosityBlocksQueue () |
|
SerialTaskQueue * | globalRunsQueue () |
|
ModuleDescription const & | moduleDescription () const |
|
std::string | workerType () const |
|
| ~EDAnalyzer () override |
|
std::vector< ConsumesInfo > | consumesInfo () 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 |
|
EDConsumerBase & | operator= (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) |
|
|
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 () |
|
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 () |
|
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) |
|
◆ DQMStore
◆ MonitorElement
◆ SiStripQualityHotStripIdentifierRoot()
SiStripQualityHotStripIdentifierRoot::SiStripQualityHotStripIdentifierRoot |
( |
const edm::ParameterSet & |
iConfig | ) |
|
|
explicit |
◆ ~SiStripQualityHotStripIdentifierRoot()
SiStripQualityHotStripIdentifierRoot::~SiStripQualityHotStripIdentifierRoot |
( |
| ) |
|
|
override |
◆ algoAnalyze()
|
inlineoverrideprivatevirtual |
◆ algoBeginLuminosityBlock()
|
inlineoverrideprivatevirtual |
◆ algoBeginRun()
◆ algoEndJob()
void SiStripQualityHotStripIdentifierRoot::algoEndJob |
( |
| ) |
|
|
overrideprivatevirtual |
◆ bookHistos()
void SiStripQualityHotStripIdentifierRoot::bookHistos |
( |
| ) |
|
|
private |
Definition at line 261 of file SiStripQualityHotStripIdentifierRoot.cc.
263 <<
" [SiStripQualityHotStripIdentifierRoot::bookHistos] " <<
dirpath << std::endl;
268 <<
" [SiStripQualityHotStripIdentifierRoot::bookHistos] vector size " <<
MEs.size() << std::endl;
270 std::vector<MonitorElement*>::const_iterator iter =
MEs.begin();
271 std::vector<MonitorElement*>::const_iterator iterEnd =
MEs.end();
274 bool gotNentries =
true;
275 if (
parameters.getUntrackedParameter<uint32_t>(
"NumberOfEvents", 0) == 0 &&
276 parameters.getUntrackedParameter<
double>(
"OccupancyThreshold", 0) != 0)
279 <<
"[SiStripQualityHotStripIdentifierRoot::bookHistos] gotNentries flag " << gotNentries <<
" number of "
280 <<
parameters.getUntrackedParameter<uint32_t>(
"NumberOfEvents", 0) <<
" occup "
281 <<
parameters.getUntrackedParameter<
double>(
"OccupancyThreshold", 0) <<
" OccupancyHisto"
285 for (; iter != iterEnd; ++iter) {
288 if (!gotNentries && strstr(me_name.c_str(),
"TotalNumberOfCluster__T") !=
nullptr &&
289 strstr(me_name.c_str(),
"Profile") ==
nullptr) {
297 <<
"[SiStripQualityHotStripIdentifierRoot::bookHistos] gotNentries flag " << gotNentries << std::endl;
303 <<
" [SiStripQualityHotStripIdentifierRoot::bookHistos] :: Histogram with to check # of evemnts missing"
306 for (; iter != iterEnd; ++iter) {
309 if (strstr(me_name.c_str(), (
parameters.getUntrackedParameter<
std::string>(
"OccupancyHisto")).c_str()) ==
nullptr)
312 unsigned int detid = 0;
314 sprintf(
title,
"%s", me_name.c_str());
316 char* ptr = strtok_r(
title,
"__", &saveptr);
318 while (ptr !=
nullptr) {
323 ptr = strtok_r(
nullptr,
"_", &saveptr);
326 LogDebug(
"SiStripQualityHotStripIdentifierRoot")
327 <<
" [SiStripQualityHotStripIdentifierRoot::bookHistos] detid " << detid << std::endl;
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.
51 <<
"SiStripQualityHotStripIdentifierRoot::getNewObject called" << std::endl;
53 auto obj = std::make_unique<SiStripBadStrip>();
62 <<
" [SiStripQualityHotStripIdentifierRoot::getNewObject] Total number of events is " <<
TotNumberOfEvents
63 <<
" which is bigger than " <<
calibrationthreshold <<
". Calibration is preparing to be launched."
67 <<
"Mean Number of Cluster is " <<
MeanNumberOfCluster <<
". Calibration is launched." << std::endl;
69 if (
AlgoName ==
"SiStripHotStripAlgorithmFromClusterOccupancy") {
70 edm::LogInfo(
"SiStripQualityHotStripIdentifierRoot") <<
" [SiStripQualityHotStripIdentifierRoot::getNewObject] "
71 "call to SiStripHotStripAlgorithmFromClusterOccupancy"
94 <<
" [SiStripQualityHotStripIdentifierRoot::getNewObject] copy SiStripObject in SiStripBadStrip"
101 for (; rIter != rIterEnd; ++rIter) {
106 <<
"[SiStripQualityHotStripIdentifierRoot::getNewObject] detid already exists" << std::endl;
109 <<
" [SiStripQualityHotStripIdentifierRoot::getNewObject] " <<
ss.str() << std::endl;
110 }
else if (
AlgoName ==
"SiStripBadAPVAlgorithmFromClusterOccupancy") {
111 edm::LogInfo(
"SiStripQualityHotStripIdentifierRoot") <<
" [SiStripQualityHotStripIdentifierRoot::getNewObject] "
112 "call to SiStripBadAPVAlgorithmFromClusterOccupancy"
118 parameters.getUntrackedParameter<
double>(
"HighOccupancyThreshold", 10));
122 parameters.getUntrackedParameter<
double>(
"OccupancyThreshold", 1.E-5));
136 <<
" [SiStripQualityHotStripIdentifierRoot::getNewObject] copy SiStripObject in SiStripBadStrip"
139 std::stringstream
ss;
143 for (; rIter != rIterEnd; ++rIter) {
148 <<
"[SiStripQualityHotStripIdentifierRoot::getNewObject] detid already exists" << std::endl;
151 <<
" [SiStripQualityHotStripIdentifierRoot::getNewObject] " <<
ss.str() << std::endl;
153 }
else if (
AlgoName ==
"SiStripBadAPVandHotStripAlgorithmFromClusterOccupancy") {
155 <<
" [SiStripQualityHotStripIdentifierRoot::getNewObject] call to "
156 "SiStripBadAPVandHotStripAlgorithmFromClusterOccupancy"
161 parameters.getUntrackedParameter<
double>(
"ProbabilityThreshold", 1.E-7));
164 parameters.getUntrackedParameter<uint32_t>(
"MinNumEntriesPerStrip", 5));
174 parameters.getUntrackedParameter<
double>(
"HighOccupancyThreshold", 10));
178 parameters.getUntrackedParameter<
double>(
"OccupancyThreshold", 1.E-5));
190 <<
" [SiStripQualityHotStripIdentifierRoot::getNewObject] copy SiStripObject in SiStripBadStrip"
193 std::stringstream
ss;
197 for (; rIter != rIterEnd; ++rIter) {
202 <<
"[SiStripQualityHotStripIdentifierRoot::getNewObject] detid already exists" << std::endl;
205 <<
" [SiStripQualityHotStripIdentifierRoot::getNewObject] " <<
ss.str() << std::endl;
207 edm::LogError(
"SiStripQualityHotStripIdentifierRoot") <<
" [SiStripQualityHotStripIdentifierRoot::getNewObject]"
208 " call for a unknow HotStrip identification algoritm"
211 std::vector<uint32_t>
a;
215 <<
"[SiStripQualityHotStripIdentifierRoot::getNewObject] detid already exists" << std::endl;
221 <<
" [SiStripQualityHotStripIdentifierRoot::getNewObject] :: Empty Events :: "
222 <<
"Mean Number of Cluster is " <<
MeanNumberOfCluster <<
" Calibration NOT launched" << std::endl;
227 <<
" [SiStripQualityHotStripIdentifierRoot::getNewObject] :: Not Enough Events :: "
228 <<
"Total number of events is " <<
TotNumberOfEvents <<
" Calibration NOT launched" << std::endl;
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.
◆ calibrationthreshold
uint32_t SiStripQualityHotStripIdentifierRoot::calibrationthreshold |
|
private |
◆ ClusterPositionHistoMap
◆ conf_
◆ dataLabel_
std::string SiStripQualityHotStripIdentifierRoot::dataLabel_ |
|
private |
◆ dirpath
std::string SiStripQualityHotStripIdentifierRoot::dirpath |
|
private |
◆ dqmStore_
DQMStore* SiStripQualityHotStripIdentifierRoot::dqmStore_ |
|
private |
◆ file0
TFile* SiStripQualityHotStripIdentifierRoot::file0 |
|
private |
◆ filename
std::string SiStripQualityHotStripIdentifierRoot::filename |
|
private |
◆ m_cacheID_
unsigned long long SiStripQualityHotStripIdentifierRoot::m_cacheID_ |
|
private |
◆ MaxClusterWidth_
unsigned short SiStripQualityHotStripIdentifierRoot::MaxClusterWidth_ |
|
private |
◆ MeanNumberOfCluster
double SiStripQualityHotStripIdentifierRoot::MeanNumberOfCluster |
|
private |
◆ MinClusterWidth_
unsigned short SiStripQualityHotStripIdentifierRoot::MinClusterWidth_ |
|
private |
◆ SiStripQuality_
◆ theIdentifier
◆ theIdentifier2
◆ theIdentifier3
◆ theTrackerGeom
◆ TotNumberOfEvents
double SiStripQualityHotStripIdentifierRoot::TotNumberOfEvents |
|
private |
◆ tracker_
◆ tTopo
◆ UseInputDB_
bool SiStripQualityHotStripIdentifierRoot::UseInputDB_ |
|
private |
T const * product() const
void extractBadAPVSandStrips(SiStripQuality *, HistoMap &, edm::ESHandle< SiStripQuality > &)
const TrackerTopology * tTopo
void setOccupancyThreshold(long double occupancy)
void setDoStore(const bool doStore)
When set to false the payload will not be written to the db.
void setMinNumEntriesPerStrip(unsigned short m)
void setProbabilityThreshold(long double prob)
void setNumberOfEvents(double Nevents)
uint32_t calibrationthreshold
void setNumberOfEvents(double Nevents)
void setAbsoluteLowThreshold(long double absolute_low)
void setLowOccupancyThreshold(long double low_occupancy)
void setHighOccupancyThreshold(long double high_occupancy)
void setNumberIterations(int number_iterations)
T getUntrackedParameter(std::string const &, T const &) const
Log< level::Info, false > LogInfo
void setTrackerGeometry(const TrackerGeometry *tkgeom)
virtual std::vector< dqm::harvesting::MonitorElement * > getAllContents(std::string const &path) const
edm::ESHandle< SiStripQuality > SiStripQuality_
ContainerIterator getDataVectorBegin() const
Log< level::Warning, false > LogWarning
const edm::ParameterSet conf_
SiStripBadAPVandHotStripAlgorithmFromClusterOccupancy * theIdentifier3
void extractBadAPVs(SiStripQuality *, HistoMap &, edm::ESHandle< SiStripQuality > &)
void setAbsoluteOccupancyThreshold(long double absolute_occupancy)
void extractBadStrips(SiStripQuality *, HistoMap &, const SiStripQuality *)
void setLowOccupancyThreshold(long double low_occupancy)
const TrackerGeometry * tracker_
std::pair< ContainerIterator, ContainerIterator > Range
RegistryIterator getRegistryVectorBegin() const
void setNumberOfEvents(double Nevents)
SiStripBadAPVAlgorithmFromClusterOccupancy * theIdentifier2
void setMinNumEntries(unsigned short m)
void setTrackerGeometry(const TrackerGeometry *tkgeom)
void setOutputFileName(std::string OutputFileName, bool WriteOutputFile)
unsigned long long m_cacheID_
void setHighOccupancyThreshold(long double high_occupancy)
void setTrackerGeometry(const TrackerGeometry *tkgeom)
void setAbsoluteLowThreshold(long double absolute_low)
void setProbabilityThreshold(long double prob)
void setOutputFileName(std::string OutputFileName, bool WriteOutputFile)
Log< level::Error, false > LogError
SiStripHotStripAlgorithmFromClusterOccupancy * theIdentifier
void setMinNumEntries(unsigned short m)
void setNumberIterations(int number_iterations)
edm::ESHandle< TrackerGeometry > theTrackerGeom
T getParameter(std::string const &) const
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)
void setAbsoluteOccupancyThreshold(long double occupancy)
Registry::const_iterator RegistryIterator
double MeanNumberOfCluster
void setMinNumEntriesPerStrip(unsigned short m)
RegistryIterator getRegistryVectorEnd() const
SiStrip::QualityHistosMap ClusterPositionHistoMap
void setOutputFileName(std::string OutputFileName, bool WriteOutputFile, std::string DQMOutfileName, bool WriteDQMHistograms)