|
|
#include <DTnoiseDBValidation.h>
|
void | analyze (const edm::Event &event, const edm::EventSetup &setup) override |
|
void | beginRun (const edm::Run &run, const edm::EventSetup &setup) override |
| Operations. More...
|
|
| DTnoiseDBValidation (const edm::ParameterSet &pset) |
| Constructor. More...
|
|
void | endJob () override |
|
void | endRun (edm::Run const &, edm::EventSetup const &) override |
|
| ~DTnoiseDBValidation () override |
| Destructor. More...
|
|
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 |
|
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 | wantsStreamLuminosityBlocks () |
|
static bool | wantsStreamRuns () |
|
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> |
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<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event> |
auto | esConsumes (ESInputTag const &tag) |
|
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) |
|
Plot the noise from the DB comparaison
- Author
- G. Mila - INFN Torino
Definition at line 28 of file DTnoiseDBValidation.h.
◆ DQMStore
◆ MonitorElement
◆ DTnoiseDBValidation()
◆ ~DTnoiseDBValidation()
DTnoiseDBValidation::~DTnoiseDBValidation |
( |
| ) |
|
|
override |
◆ analyze()
◆ beginRun()
Operations.
Reimplemented from edm::EDAnalyzer.
Definition at line 79 of file DTnoiseDBValidation.cc.
91 LogVerbatim(
"NoiseDBValidation") <<
"[DTnoiseDBValidation] Parameters initialization";
98 dbe_->
book1D(
"noisyCellDiff",
"percentual (wrt the previous db) total number of noisy cells", 1, 0.5, 1.5);
100 wheelHisto_ =
dbe_->
book1D(
"wheelOccupancy",
"percentual noisy cells occupancy per wheel", 5, -2.5, 2.5);
111 sectorHisto_ =
dbe_->
book1D(
"sectorOccupancy",
"percentual noisy cells occupancy per sector", 12, 0.5, 12.5);
124 layerHisto_ =
dbe_->
book1D(
"layerOccupancy",
"percentual noisy cells occupancy per layer", 3, 0.5, 3.5);
134 map<int, int> sectMap;
136 map<int, int> layerMap;
141 DTWireId wireId((*noise).first.wheelId,
142 (*noise).first.stationId,
143 (*noise).first.sectorId,
145 (*noise).first.layerId,
146 (*noise).first.cellId);
147 LogVerbatim(
"NoiseDBValidation") <<
"Ref. noisy wire: " << wireId;
153 DTWireId wireId((*noise).first.wheelId,
154 (*noise).first.stationId,
155 (*noise).first.sectorId,
157 (*noise).first.layerId,
158 (*noise).first.cellId);
159 LogVerbatim(
"NoiseDBValidation") <<
"Valid. noisy wire: " << wireId;
162 whMap[(*noise).first.wheelId]++;
163 stMap[(*noise).first.stationId]++;
164 sectMap[(*noise).first.sectorId]++;
168 if ((*noise).first.cellId <= 10)
170 if ((*noise).first.cellId > 10 && (*noise).first.cellId < (lastWire - 10))
172 if ((*noise).first.cellId >= (lastWire - 10))
175 const DTChamberId chId = wireId.layerId().superlayerId().chamberId();
178 int binNumber = 4 * (wireId.superLayer() - 1) + wireId.layer();
187 for (map<int, int>::const_iterator
wheel = whMap.begin();
wheel != whMap.end();
wheel++) {
193 for (map<int, int>::const_iterator sector = sectMap.begin(); sector != sectMap.end(); sector++) {
196 for (map<int, int>::const_iterator layer = layerMap.begin(); layer != layerMap.end(); layer++) {
References funct::abs(), plotT0FromHistos::binNumber(), dqm::implementation::IBooker::book1D(), DTSuperLayerId::chamberId(), dbe_, edm::get(), DTTopology::lastChannel(), DTLayerId::layer(), DTWireId::layerId(), hgcalDigitizer_cfi::noise, dtNoiseDBValidation_cfg::noiseRef, Scenarios_cff::scale, dqm::impl::MonitorElement::setBinLabel(), singleTopDQM_cfi::setup, relativeConstraints::station, DTSuperLayerId::superLayer(), DTLayerId::superlayerId(), makeMuonMisalignmentScenario::wheel, and DTWireId::wire().
◆ bookHisto()
void DTnoiseDBValidation::bookHisto |
( |
const DTChamberId & |
chId | ) |
|
|
private |
◆ endJob()
void DTnoiseDBValidation::endJob |
( |
void |
| ) |
|
|
overridevirtual |
◆ endRun()
Reimplemented from edm::EDAnalyzer.
Definition at line 201 of file DTnoiseDBValidation.cc.
207 if (theDiffQReport) {
208 vector<dqm::me_util::Channel> badChannels = theDiffQReport->
getBadChannels();
209 for (vector<dqm::me_util::Channel>::iterator channel = badChannels.begin(); channel != badChannels.end();
211 LogWarning(
"NoiseDBValidation") <<
" Bad partial difference of noisy channels! Contents : "
212 << (*channel).getContents();
218 if (theDiffQReport2) {
219 vector<dqm::me_util::Channel> badChannels = theDiffQReport2->
getBadChannels();
220 for (vector<dqm::me_util::Channel>::iterator channel = badChannels.begin(); channel != badChannels.end();
222 int wheel = (*channel).getBin() - 3;
223 LogWarning(
"NoiseDBValidation") <<
" Bad percentual occupancy for wheel : " <<
wheel
224 <<
" Contents : " << (*channel).getContents();
230 if (theDiffQReport3) {
231 vector<dqm::me_util::Channel> badChannels = theDiffQReport3->
getBadChannels();
232 for (vector<dqm::me_util::Channel>::iterator channel = badChannels.begin(); channel != badChannels.end();
234 LogWarning(
"NoiseDBValidation") <<
" Bad percentual occupancy for station : " << (*channel).getBin()
235 <<
" Contents : " << (*channel).getContents();
241 if (theDiffQReport4) {
242 vector<dqm::me_util::Channel> badChannels = theDiffQReport4->
getBadChannels();
243 for (vector<dqm::me_util::Channel>::iterator channel = badChannels.begin(); channel != badChannels.end();
245 LogWarning(
"NoiseDBValidation") <<
" Bad percentual occupancy for sector : " << (*channel).getBin()
246 <<
" Contents : " << (*channel).getContents();
252 if (theDiffQReport5) {
253 vector<dqm::me_util::Channel> badChannels = theDiffQReport5->
getBadChannels();
254 for (vector<dqm::me_util::Channel>::iterator channel = badChannels.begin(); channel != badChannels.end();
256 if ((*channel).getBin() == 1)
257 LogWarning(
"NoiseDBValidation") <<
" Bad percentual occupancy for the first 10 wires! Contents : "
258 << (*channel).getContents();
259 if ((*channel).getBin() == 2)
260 LogWarning(
"NoiseDBValidation") <<
" Bad percentual occupancy for the middle wires! Contents : "
261 << (*channel).getContents();
262 if ((*channel).getBin() == 3)
263 LogWarning(
"NoiseDBValidation") <<
" Bad percentual occupancy for the last 10 wires! Contents : "
264 << (*channel).getContents();
References MonitorElementData::QReport::getBadChannels(), and makeMuonMisalignmentScenario::wheel.
◆ dbe_
◆ diffHisto_
◆ diffTestName_
std::string DTnoiseDBValidation::diffTestName_ |
|
private |
◆ dtGeom_
◆ labelDB_
std::string DTnoiseDBValidation::labelDB_ |
|
private |
◆ labelDBRef_
std::string DTnoiseDBValidation::labelDBRef_ |
|
private |
◆ layerHisto_
◆ layerTestName_
std::string DTnoiseDBValidation::layerTestName_ |
|
private |
◆ noiseHistoMap_
◆ noiseMap_
◆ noiseRefMap_
◆ noisyCellsRef_
int DTnoiseDBValidation::noisyCellsRef_ |
|
private |
◆ noisyCellsValid_
int DTnoiseDBValidation::noisyCellsValid_ |
|
private |
◆ outputFileName_
std::string DTnoiseDBValidation::outputFileName_ |
|
private |
◆ outputMEsInRootFile_
bool DTnoiseDBValidation::outputMEsInRootFile_ |
|
private |
◆ sectorHisto_
◆ sectorTestName_
std::string DTnoiseDBValidation::sectorTestName_ |
|
private |
◆ stationHisto_
◆ stationTestName_
std::string DTnoiseDBValidation::stationTestName_ |
|
private |
◆ wheelHisto_
◆ wheelTestName_
std::string DTnoiseDBValidation::wheelTestName_ |
|
private |
std::string sectorTestName_
std::map< DTChamberId, MonitorElement * > noiseHistoMap_
void bookHisto(const DTChamberId &)
MonitorElement * diffHisto_
MonitorElement * layerHisto_
std::string diffTestName_
const DTChamber * chamber(const DTChamberId &id) const
Return a DTChamber given its id.
const_iterator begin() const
const DTStatusFlag * noiseRefMap_
MonitorElement * stationHisto_
const DTStatusFlag * noiseMap_
std::vector< std::pair< DTStatusFlagId, DTStatusFlagData > >::const_iterator const_iterator
Access methods to data.
void setCurrentFolder(std::string const &fullpath) override
std::string outputFileName_
const std::vector< DQMChannel > & getBadChannels() const
DQM_DEPRECATED void save(std::string const &filename, std::string const &path="")
bool outputMEsInRootFile_
const MonitorElementData::QReport * getQReport(const std::string &qtname) const
get QReport corresponding to <qtname> (null pointer if QReport does not exist)
const DTLayer * layer(const DTLayerId &id) const
Return a layer given its id.
def binNumber(station, sl)
virtual 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)
const std::vector< const DTSuperLayer * > & superLayers() const
Return the superlayers in the chamber.
std::string layerTestName_
MonitorElement * sectorHisto_
const_iterator end() const
std::string stationTestName_
int lastChannel() const
Returns the wire number of the last wire.
std::string wheelTestName_
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
Abs< T >::type abs(const T &t)
edm::ESHandle< DTGeometry > dtGeom_
int wheel() const
Return the wheel number.
int station() const
Return the station number.
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
MonitorElement * wheelHisto_