CMS 3D CMS Logo

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

#include <HcalNoiseRates.h>

Inheritance diagram for HcalNoiseRates:
DQMEDAnalyzer edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >

Public Member Functions

 HcalNoiseRates (const edm::ParameterSet &)
 
 ~HcalNoiseRates () override
 
- Public Member Functions inherited from DQMEDAnalyzer
void accumulate (edm::Event const &event, edm::EventSetup const &setup) final
 
void beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void beginRun (edm::Run const &run, edm::EventSetup const &setup) final
 
void beginStream (edm::StreamID id) final
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
 DQMEDAnalyzer ()
 
void endLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void endRun (edm::Run const &run, edm::EventSetup const &setup) final
 
virtual bool getCanSaveByLumi ()
 
- Public Member Functions inherited from edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >
 EDProducer ()=default
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndRuns () const final
 

Private Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 

Private Attributes

MonitorElementhLumiBlockCount_
 
MonitorElementhNoise_maxHPDHits_
 
MonitorElementhNoise_maxHPDNoOtherHits_
 
MonitorElementhNoise_maxZeros_
 
MonitorElementhRBXEnergy_
 
MonitorElementhRBXEnergyType1_
 
MonitorElementhRBXEnergyType2_
 
MonitorElementhRBXEnergyType3_
 
MonitorElementhRBXNHits_
 
MonitorElementiNNumChannels_
 
MonitorElementiNSumE_
 
MonitorElementiNSumEt_
 
std::map< int, int > lumiCountMap_
 
double minHitEnergy_
 
double minRBXEnergy_
 
MonitorElementnNNumChannels_
 
MonitorElementnNSumE_
 
MonitorElementnNSumEt_
 
edm::EDGetTokenT< HcalNoiseSummarynoisetoken_
 
std::string outputFile_
 
edm::InputTag rbxCollName_
 
MonitorElementsNNumChannels_
 
MonitorElementsNSumE_
 
MonitorElementsNSumEt_
 
edm::EDGetTokenT< reco::HcalNoiseRBXCollectiontok_rbx_
 
bool useAllHistos_
 

Additional Inherited Members

- Public Types inherited from DQMEDAnalyzer
typedef dqm::reco::DQMStore DQMStore
 
typedef dqm::reco::MonitorElement MonitorElement
 
- Public Types inherited from edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >
typedef CacheContexts< T... > CacheTypes
 
typedef CacheTypes::GlobalCache GlobalCache
 
typedef AbilityChecker< T... > HasAbility
 
typedef CacheTypes::LuminosityBlockCache LuminosityBlockCache
 
typedef LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCacheLuminosityBlockContext
 
typedef CacheTypes::LuminosityBlockSummaryCache LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache, GlobalCacheRunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 
- Static Public Member Functions inherited from DQMEDAnalyzer
static void globalEndJob (DQMEDAnalyzerGlobalCache const *)
 
static void globalEndLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &setup, LuminosityBlockContext const *context)
 
static void globalEndRunProduce (edm::Run &run, edm::EventSetup const &setup, RunContext const *context)
 
static std::unique_ptr< DQMEDAnalyzerGlobalCacheinitializeGlobalCache (edm::ParameterSet const &)
 
- Protected Member Functions inherited from DQMEDAnalyzer
uint64_t meId () const
 
- Protected Attributes inherited from DQMEDAnalyzer
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 
unsigned int streamId_
 

Detailed Description

Definition at line 42 of file HcalNoiseRates.h.

Constructor & Destructor Documentation

◆ HcalNoiseRates()

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

Definition at line 17 of file HcalNoiseRates.cc.

17  {
18  // DQM ROOT output
19  outputFile_ = iConfig.getUntrackedParameter<std::string>("outputFile", "myfile.root");
20 
21  // set parameters
22  rbxCollName_ = iConfig.getUntrackedParameter<edm::InputTag>("rbxCollName");
23  tok_rbx_ = consumes<reco::HcalNoiseRBXCollection>(rbxCollName_);
24  minRBXEnergy_ = iConfig.getUntrackedParameter<double>("minRBXEnergy");
25  minHitEnergy_ = iConfig.getUntrackedParameter<double>("minHitEnergy");
26 
27  useAllHistos_ = iConfig.getUntrackedParameter<bool>("useAllHistos", false);
28 
29  // Hcal Noise Summary
30  noisetoken_ = consumes<HcalNoiseSummary>(iConfig.getParameter<edm::InputTag>("noiselabel"));
31 }

References edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), minHitEnergy_, minRBXEnergy_, noisetoken_, outputFile_, rbxCollName_, AlCaHLTBitMon_QueryRunRegistry::string, tok_rbx_, and useAllHistos_.

◆ ~HcalNoiseRates()

HcalNoiseRates::~HcalNoiseRates ( )
override

Definition at line 96 of file HcalNoiseRates.cc.

96 {}

Member Function Documentation

◆ analyze()

void HcalNoiseRates::analyze ( const edm::Event iEvent,
const edm::EventSetup evSetup 
)
overrideprivatevirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 103 of file HcalNoiseRates.cc.

103  {
104  // get the lumi section
105  int lumiSection = iEvent.luminosityBlock();
106  lumiCountMap_[lumiSection]++;
107 
108  // get the RBX Noise collection
110  iEvent.getByToken(tok_rbx_, handle);
111  if (!handle.isValid()) {
113  << " could not find HcalNoiseRBXCollection named " << rbxCollName_ << ".\n";
114  return;
115  }
116 
117  // get the Noise summary object
119  iEvent.getByToken(noisetoken_, summary_h);
120  if (!summary_h.isValid()) {
121  throw edm::Exception(edm::errors::ProductNotFound) << " could not find HcalNoiseSummary.\n";
122  return;
123  }
124  const HcalNoiseSummary summary = *summary_h;
125 
126  // Fill the Noise Summary histograms
127  nNNumChannels_->Fill(summary.numNegativeNoiseChannels());
128  nNSumE_->Fill(summary.NegativeNoiseSumE());
129  nNSumEt_->Fill(summary.NegativeNoiseSumEt());
130 
131  sNNumChannels_->Fill(summary.numSpikeNoiseChannels());
132  sNSumE_->Fill(summary.spikeNoiseSumE());
133  sNSumEt_->Fill(summary.spikeNoiseSumEt());
134 
135  iNNumChannels_->Fill(summary.numIsolatedNoiseChannels());
136  iNSumE_->Fill(summary.isolatedNoiseSumE());
137  iNSumEt_->Fill(summary.isolatedNoiseSumEt());
138 
139  hNoise_maxZeros_->Fill(summary.maxZeros());
140  hNoise_maxHPDHits_->Fill(summary.maxHPDHits());
141  hNoise_maxHPDNoOtherHits_->Fill(summary.maxHPDNoOtherHits());
142 
143  // loop over the RBXs and fill the histograms
144  for (reco::HcalNoiseRBXCollection::const_iterator it = handle->begin(); it != handle->end(); ++it) {
145  const reco::HcalNoiseRBX &rbx = (*it);
146 
147  double energy = rbx.recHitEnergy(minHitEnergy_);
148 
149  int nhits = rbx.numRecHits(minHitEnergy_);
150 
151  if (energy < minRBXEnergy_)
152  continue;
153 
155 
156  if (nhits <= 9)
158  else if (nhits <= 18)
160  else
162 
164 
165  } // done looping over RBXs
166 }

References HCALHighEnergyHPDFilter_cfi::energy, Exception, dqm::impl::MonitorElement::Fill(), patZpeak::handle, hNoise_maxHPDHits_, hNoise_maxHPDNoOtherHits_, hNoise_maxZeros_, hRBXEnergy_, hRBXEnergyType1_, hRBXEnergyType2_, hRBXEnergyType3_, hRBXNHits_, iEvent, iNNumChannels_, iNSumE_, iNSumEt_, edm::HandleBase::isValid(), lumiCountMap_, minHitEnergy_, minRBXEnergy_, nhits, nNNumChannels_, nNSumE_, nNSumEt_, noisetoken_, reco::HcalNoiseRBX::numRecHits(), edm::errors::ProductNotFound, rbxCollName_, reco::HcalNoiseRBX::recHitEnergy(), sNNumChannels_, sNSumE_, sNSumEt_, edmLumisInFiles::summary, and tok_rbx_.

◆ bookHistograms()

void HcalNoiseRates::bookHistograms ( DQMStore::IBooker ibooker,
edm::Run const &  ,
edm::EventSetup const &   
)
overrideprivatevirtual

Implements DQMEDAnalyzer.

Definition at line 33 of file HcalNoiseRates.cc.

37 {
38  ibooker.setCurrentFolder("HcalNoiseRatesD/HcalNoiseRatesTask");
39 
40  Char_t histo[100];
41 
42  // book histograms
43 
44  // Lumi block is not drawn; the rest are
45  if (useAllHistos_) {
46  sprintf(histo, "hLumiBlockCount");
47  hLumiBlockCount_ = ibooker.book1D(histo, histo, 1, -0.5, 0.5);
48  }
49 
50  sprintf(histo, "hRBXEnergy");
51  hRBXEnergy_ = ibooker.book1D(histo, histo, 300, 0, 3000);
52 
53  sprintf(histo, "hRBXEnergyType1");
54  hRBXEnergyType1_ = ibooker.book1D(histo, histo, 300, 0, 3000);
55 
56  sprintf(histo, "hRBXEnergyType2");
57  hRBXEnergyType2_ = ibooker.book1D(histo, histo, 300, 0, 3000);
58 
59  sprintf(histo, "hRBXEnergyType3");
60  hRBXEnergyType3_ = ibooker.book1D(histo, histo, 300, 0, 3000);
61 
62  sprintf(histo, "hRBXNHits");
63  hRBXNHits_ = ibooker.book1D(histo, histo, 73, -0.5, 72.5);
64 
65  // HcalNoiseSummary
66 
67  sprintf(histo, "nNNumChannels");
68  nNNumChannels_ = ibooker.book1D(histo, histo, 100, 0, 100);
69  sprintf(histo, "nNSumE");
70  nNSumE_ = ibooker.book1D(histo, histo, 100, 0, 5000);
71  sprintf(histo, "nNSumEt");
72  nNSumEt_ = ibooker.book1D(histo, histo, 100, 0, 2000);
73 
74  sprintf(histo, "sNNumChannels");
75  sNNumChannels_ = ibooker.book1D(histo, histo, 100, 0, 100);
76  sprintf(histo, "sNSumE");
77  sNSumE_ = ibooker.book1D(histo, histo, 100, 0, 5000);
78  sprintf(histo, "sNSumEt");
79  sNSumEt_ = ibooker.book1D(histo, histo, 100, 0, 2000);
80 
81  sprintf(histo, "iNNumChannels");
82  iNNumChannels_ = ibooker.book1D(histo, histo, 100, 0, 100);
83  sprintf(histo, "iNSumE");
84  iNSumE_ = ibooker.book1D(histo, histo, 100, 0, 5000);
85  sprintf(histo, "iNSumEt");
86  iNSumEt_ = ibooker.book1D(histo, histo, 100, 0, 2000);
87 
88  sprintf(histo, "hNoise_maxZeros");
89  hNoise_maxZeros_ = ibooker.book1D(histo, histo, 80, 0, 80);
90  sprintf(histo, "hNoise_maxHPDHits");
91  hNoise_maxHPDHits_ = ibooker.book1D(histo, histo, 20, 0, 20);
92  sprintf(histo, "hNoise_maxHPDNoOtherHits");
93  hNoise_maxHPDNoOtherHits_ = ibooker.book1D(histo, histo, 20, 0, 20);
94 }

References dqm::implementation::IBooker::book1D(), timingPdfMaker::histo, hLumiBlockCount_, hNoise_maxHPDHits_, hNoise_maxHPDNoOtherHits_, hNoise_maxZeros_, hRBXEnergy_, hRBXEnergyType1_, hRBXEnergyType2_, hRBXEnergyType3_, hRBXNHits_, iNNumChannels_, iNSumE_, iNSumEt_, nNNumChannels_, nNSumE_, nNSumEt_, dqm::implementation::NavigatorBase::setCurrentFolder(), sNNumChannels_, sNSumE_, sNSumEt_, and useAllHistos_.

Member Data Documentation

◆ hLumiBlockCount_

MonitorElement* HcalNoiseRates::hLumiBlockCount_
private

Definition at line 63 of file HcalNoiseRates.h.

Referenced by bookHistograms().

◆ hNoise_maxHPDHits_

MonitorElement* HcalNoiseRates::hNoise_maxHPDHits_
private

Definition at line 88 of file HcalNoiseRates.h.

Referenced by analyze(), and bookHistograms().

◆ hNoise_maxHPDNoOtherHits_

MonitorElement* HcalNoiseRates::hNoise_maxHPDNoOtherHits_
private

Definition at line 89 of file HcalNoiseRates.h.

Referenced by analyze(), and bookHistograms().

◆ hNoise_maxZeros_

MonitorElement* HcalNoiseRates::hNoise_maxZeros_
private

Definition at line 87 of file HcalNoiseRates.h.

Referenced by analyze(), and bookHistograms().

◆ hRBXEnergy_

MonitorElement* HcalNoiseRates::hRBXEnergy_
private

Definition at line 64 of file HcalNoiseRates.h.

Referenced by analyze(), and bookHistograms().

◆ hRBXEnergyType1_

MonitorElement* HcalNoiseRates::hRBXEnergyType1_
private

Definition at line 65 of file HcalNoiseRates.h.

Referenced by analyze(), and bookHistograms().

◆ hRBXEnergyType2_

MonitorElement* HcalNoiseRates::hRBXEnergyType2_
private

Definition at line 66 of file HcalNoiseRates.h.

Referenced by analyze(), and bookHistograms().

◆ hRBXEnergyType3_

MonitorElement* HcalNoiseRates::hRBXEnergyType3_
private

Definition at line 67 of file HcalNoiseRates.h.

Referenced by analyze(), and bookHistograms().

◆ hRBXNHits_

MonitorElement* HcalNoiseRates::hRBXNHits_
private

Definition at line 68 of file HcalNoiseRates.h.

Referenced by analyze(), and bookHistograms().

◆ iNNumChannels_

MonitorElement* HcalNoiseRates::iNNumChannels_
private

Definition at line 83 of file HcalNoiseRates.h.

Referenced by analyze(), and bookHistograms().

◆ iNSumE_

MonitorElement* HcalNoiseRates::iNSumE_
private

Definition at line 84 of file HcalNoiseRates.h.

Referenced by analyze(), and bookHistograms().

◆ iNSumEt_

MonitorElement* HcalNoiseRates::iNSumEt_
private

Definition at line 85 of file HcalNoiseRates.h.

Referenced by analyze(), and bookHistograms().

◆ lumiCountMap_

std::map<int, int> HcalNoiseRates::lumiCountMap_
private

Definition at line 71 of file HcalNoiseRates.h.

Referenced by analyze().

◆ minHitEnergy_

double HcalNoiseRates::minHitEnergy_
private

Definition at line 57 of file HcalNoiseRates.h.

Referenced by analyze(), and HcalNoiseRates().

◆ minRBXEnergy_

double HcalNoiseRates::minRBXEnergy_
private

Definition at line 56 of file HcalNoiseRates.h.

Referenced by analyze(), and HcalNoiseRates().

◆ nNNumChannels_

MonitorElement* HcalNoiseRates::nNNumChannels_
private

Definition at line 75 of file HcalNoiseRates.h.

Referenced by analyze(), and bookHistograms().

◆ nNSumE_

MonitorElement* HcalNoiseRates::nNSumE_
private

Definition at line 76 of file HcalNoiseRates.h.

Referenced by analyze(), and bookHistograms().

◆ nNSumEt_

MonitorElement* HcalNoiseRates::nNSumEt_
private

Definition at line 77 of file HcalNoiseRates.h.

Referenced by analyze(), and bookHistograms().

◆ noisetoken_

edm::EDGetTokenT<HcalNoiseSummary> HcalNoiseRates::noisetoken_
private

Definition at line 61 of file HcalNoiseRates.h.

Referenced by analyze(), and HcalNoiseRates().

◆ outputFile_

std::string HcalNoiseRates::outputFile_
private

Definition at line 51 of file HcalNoiseRates.h.

Referenced by HcalNoiseRates().

◆ rbxCollName_

edm::InputTag HcalNoiseRates::rbxCollName_
private

Definition at line 54 of file HcalNoiseRates.h.

Referenced by analyze(), and HcalNoiseRates().

◆ sNNumChannels_

MonitorElement* HcalNoiseRates::sNNumChannels_
private

Definition at line 79 of file HcalNoiseRates.h.

Referenced by analyze(), and bookHistograms().

◆ sNSumE_

MonitorElement* HcalNoiseRates::sNSumE_
private

Definition at line 80 of file HcalNoiseRates.h.

Referenced by analyze(), and bookHistograms().

◆ sNSumEt_

MonitorElement* HcalNoiseRates::sNSumEt_
private

Definition at line 81 of file HcalNoiseRates.h.

Referenced by analyze(), and bookHistograms().

◆ tok_rbx_

edm::EDGetTokenT<reco::HcalNoiseRBXCollection> HcalNoiseRates::tok_rbx_
private

Definition at line 55 of file HcalNoiseRates.h.

Referenced by analyze(), and HcalNoiseRates().

◆ useAllHistos_

bool HcalNoiseRates::useAllHistos_
private

Definition at line 58 of file HcalNoiseRates.h.

Referenced by bookHistograms(), and HcalNoiseRates().

HcalNoiseRates::iNSumE_
MonitorElement * iNSumE_
Definition: HcalNoiseRates.h:84
HcalNoiseSummary
Definition: HcalNoiseSummary.h:31
reco::HcalNoiseRBX::numRecHits
int numRecHits(double threshold=1.5) const
Definition: HcalNoiseRBX.cc:110
HcalNoiseRates::hNoise_maxZeros_
MonitorElement * hNoise_maxZeros_
Definition: HcalNoiseRates.h:87
patZpeak.handle
handle
Definition: patZpeak.py:23
HcalNoiseRates::lumiCountMap_
std::map< int, int > lumiCountMap_
Definition: HcalNoiseRates.h:71
HcalNoiseRates::iNNumChannels_
MonitorElement * iNNumChannels_
Definition: HcalNoiseRates.h:83
HcalNoiseRates::hRBXNHits_
MonitorElement * hRBXNHits_
Definition: HcalNoiseRates.h:68
timingPdfMaker.histo
histo
Definition: timingPdfMaker.py:279
HcalNoiseRates::sNNumChannels_
MonitorElement * sNNumChannels_
Definition: HcalNoiseRates.h:79
HcalNoiseRates::hRBXEnergyType2_
MonitorElement * hRBXEnergyType2_
Definition: HcalNoiseRates.h:66
edm::ParameterSet::getUntrackedParameter
T getUntrackedParameter(std::string const &, T const &) const
edm::Handle
Definition: AssociativeIterator.h:50
HcalNoiseRates::hRBXEnergyType1_
MonitorElement * hRBXEnergyType1_
Definition: HcalNoiseRates.h:65
HcalNoiseRates::nNSumE_
MonitorElement * nNSumE_
Definition: HcalNoiseRates.h:76
edm::errors::ProductNotFound
Definition: EDMException.h:33
HcalNoiseRates::hRBXEnergy_
MonitorElement * hRBXEnergy_
Definition: HcalNoiseRates.h:64
HcalNoiseRates::hNoise_maxHPDHits_
MonitorElement * hNoise_maxHPDHits_
Definition: HcalNoiseRates.h:88
dqm::impl::MonitorElement::Fill
void Fill(long long x)
Definition: MonitorElement.h:290
HcalNoiseRates::outputFile_
std::string outputFile_
Definition: HcalNoiseRates.h:51
HCALHighEnergyHPDFilter_cfi.energy
energy
Definition: HCALHighEnergyHPDFilter_cfi.py:5
nhits
Definition: HIMultiTrackSelector.h:42
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
HcalNoiseRates::noisetoken_
edm::EDGetTokenT< HcalNoiseSummary > noisetoken_
Definition: HcalNoiseRates.h:61
HcalNoiseRates::hLumiBlockCount_
MonitorElement * hLumiBlockCount_
Definition: HcalNoiseRates.h:63
HcalNoiseRates::tok_rbx_
edm::EDGetTokenT< reco::HcalNoiseRBXCollection > tok_rbx_
Definition: HcalNoiseRates.h:55
iEvent
int iEvent
Definition: GenABIO.cc:224
edmLumisInFiles.summary
summary
Definition: edmLumisInFiles.py:39
HcalNoiseRates::sNSumEt_
MonitorElement * sNSumEt_
Definition: HcalNoiseRates.h:81
HcalNoiseRates::minRBXEnergy_
double minRBXEnergy_
Definition: HcalNoiseRates.h:56
HcalNoiseRates::hNoise_maxHPDNoOtherHits_
MonitorElement * hNoise_maxHPDNoOtherHits_
Definition: HcalNoiseRates.h:89
HcalNoiseRates::minHitEnergy_
double minHitEnergy_
Definition: HcalNoiseRates.h:57
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
HcalNoiseRates::hRBXEnergyType3_
MonitorElement * hRBXEnergyType3_
Definition: HcalNoiseRates.h:67
reco::HcalNoiseRBX
Definition: HcalNoiseRBX.h:32
Exception
Definition: hltDiff.cc:246
HcalNoiseRates::useAllHistos_
bool useAllHistos_
Definition: HcalNoiseRates.h:58
reco::HcalNoiseRBX::recHitEnergy
double recHitEnergy(double theshold=1.5) const
Definition: HcalNoiseRBX.cc:76
edm::HandleBase::isValid
bool isValid() const
Definition: HandleBase.h:70
HcalNoiseRates::nNSumEt_
MonitorElement * nNSumEt_
Definition: HcalNoiseRates.h:77
edm::InputTag
Definition: InputTag.h:15
HcalNoiseRates::rbxCollName_
edm::InputTag rbxCollName_
Definition: HcalNoiseRates.h:54
HcalNoiseRates::nNNumChannels_
MonitorElement * nNNumChannels_
Definition: HcalNoiseRates.h:75
HcalNoiseRates::sNSumE_
MonitorElement * sNSumE_
Definition: HcalNoiseRates.h:80
HcalNoiseRates::iNSumEt_
MonitorElement * iNSumEt_
Definition: HcalNoiseRates.h:85