34 LogTrace(
"DTDQM|DTMonitorClient|DTNoiseAnalysisTest") <<
"[DTNoiseAnalysisTest]: Constructor";
51 LogTrace(
"DTDQM|DTMonitorClient|DTNoiseAnalysisTest") <<
"DTNoiseAnalysisTest: analyzed " <<
nevents <<
" events";
71 LogVerbatim(
"DTDQM|DTMonitorClient|DTNoiseAnalysisTest")
72 <<
"[DTNoiseAnalysisTest]: End of LS transition, performing the DQM client operation";
76 (*plot).second->Reset();
80 (*plot).second->Reset();
85 vector<const DTChamber*>::const_iterator ch_it =
muonGeom->
chambers().begin();
86 vector<const DTChamber*>::const_iterator ch_end =
muonGeom->
chambers().end();
88 LogTrace(
"DTDQM|DTMonitorClient|DTNoiseAnalysisTest") <<
"[DTNoiseAnalysisTest]: Fill the summary histos";
90 for (; ch_it != ch_end; ++ch_it) {
97 TH2F* histo_root = histo->
getTH2F();
99 for (
int sl = 1; sl != 4; ++sl) {
101 if (chID.
station() == 4 && sl == 2)
104 int binYlow = ((sl - 1) * 4) + 1;
114 int binY = binYlow + (
layer - 1);
116 for (
int wire = firstWire; wire != (nWires + firstWire); wire++) {
118 double noise = histo_root->GetBinContent(wire, binY);
122 int sector = chID.
sector();
126 }
else if (sector == 14) {
142 int threshBin =
step + 1;
144 int nNoisyCh = histo->Integral(minBin, 101);
152 LogTrace(
"DTDQM|DTMonitorClient|DTNoiseAnalysisTest")
153 <<
"[DTNoiseAnalysisTest]: fill summaries for synch noise" << endl;
156 for (
int wheel = -2; wheel != 3; ++wheel) {
160 if (histoNoiseSynch !=
nullptr) {
161 for (
int sect = 1; sect != 13; ++sect) {
163 float maxSectRate = 0;
164 for (
int sta = 1; sta != 5; ++sta) {
166 chRate = histo->GetBinContent(sect, sta) / (float)
nevents;
170 LogTrace(
"DTDQM|DTMonitorClient|DTNoiseAnalysisTest")
171 <<
" Wheel: " << wheel <<
" sect: " << sect <<
" station: " << sta <<
" rate is: " << chRate << endl;
172 if (chRate > maxSectRate)
173 maxSectRate = chRate;
180 LogWarning(
"DTDQM|DTMonitorClient|DTNoiseAnalysisTest")
186 string nEvtsName =
"DT/EventInfo/Counters/nProcessedEventsNoise";
197 LogVerbatim(
"DTDQM|DTMonitorClient|DTnoiseAnalysisTest")
198 <<
"[DTNoiseAnalysisTest] ME: " << nEvtsName <<
" not found!" << endl;
204 wheel << chID.
wheel();
210 string folderName =
"DT/05-Noise/Wheel" + wheel.str() +
"/Sector" + sector.str() +
"/";
213 folderName +
string(
"NoiseRate") +
"_W" + wheel.str() +
"_St" + station.str() +
"_Sec" + sector.str();
222 for (
int wh = -2; wh <= 2; wh++) {
225 histoName =
"NoiseRateSummary_W" + wheel.str();
227 noiseHistos[wh] = ibooker.
book1D(histoName.c_str(), histoName.c_str(), 100, 0, 2000);
231 histoName =
"NoiseRateSummary";
233 noiseHistos[3] = ibooker.
book1D(histoName.c_str(), histoName.c_str(), 100, 0, 2000);
237 for (
int wh = -2; wh <= 2; wh++) {
240 histoName =
"NoiseSummary_W" + wheel.str();
250 histoName =
"NoiseSummary";
257 histoName =
"NoisyChannels";
266 histoName =
"SynchNoiseSummary";
271 histoName =
"SynchNoiseGlbSummary";
282 string folderName =
"DT/05-Noise/SynchNoise/";
283 string histoname = folderName +
string(
"SyncNoiseEvents") +
"_W" + wheel.str();
Log< level::Info, true > LogVerbatim
T getUntrackedParameter(std::string const &, T const &) const
const std::vector< const DTChamber * > & chambers() const
Return a vector of all Chamber.
virtual TH2F * getTH2F() const
MonitorElement * threshChannelsHisto
virtual void setCurrentFolder(std::string const &fullpath)
virtual void setEntries(double nentries)
set # of entries
void beginRun(edm::Run const &run, edm::EventSetup const &context) override
BeginRun.
std::map< int, MonitorElement * > noisyCellHistos
void dqmEndJob(DQMStore::IBooker &, DQMStore::IGetter &) override
constexpr std::array< uint8_t, layerIndexSize > layer
int firstChannel() const
Returns the wire number of the first wire.
bool getData(T &iHolder) const
virtual void Reset()
Remove all data from the ME, keept the empty histogram with all its settings.
const DTTopology & specificTopology() const
void bookHistos(DQMStore::IBooker &)
book the summary histograms
void dqmEndLuminosityBlock(DQMStore::IBooker &, DQMStore::IGetter &, edm::LuminosityBlock const &, edm::EventSetup const &) override
DQM Client Diagnostic.
virtual MonitorElement * get(std::string const &fullpath) const
edm::ESGetToken< DTGeometry, MuonGeometryRecord > muonGeomToken_
std::string getMEName(const DTChamberId &chID)
Get the ME name.
int channels() const
Returns the number of wires in the layer.
virtual void setBinContent(int binx, double content)
set content of bin (1-D)
MonitorElement * summarySynchNoiseHisto
std::map< int, MonitorElement * > noiseHistos
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
const DTGeometry * muonGeom
MonitorElement * glbSummarySynchNoiseHisto
virtual double getFloatValue() const
std::string getSynchNoiseMEName(int wheelId) const
~DTNoiseAnalysisTest() override
Destructor.
const DTLayer * layer(const DTLayerId &id) const
Return a layer given its id.
Log< level::Warning, false > LogWarning
MonitorElement * summaryNoiseHisto
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
int station() const
Return the station number.
int wheel() const
Return the wheel number.
DTNoiseAnalysisTest(const edm::ParameterSet &ps)
Constructor.
constexpr unsigned int minBin
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)