CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Member Functions | Private Attributes
HcalDetDiagNoiseMonitor Class Reference

#include <HcalDetDiagNoiseMonitor.h>

Inheritance diagram for HcalDetDiagNoiseMonitor:
HcalBaseDQMonitor DQMEDAnalyzer edm::stream::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > > edm::stream::EDAnalyzerBase edm::EDConsumerBase

Public Member Functions

void analyze (edm::Event const &e, edm::EventSetup const &s)
 
void bookHistograms (DQMStore::IBooker &ib, const edm::Run &run, const edm::EventSetup &c)
 
void done ()
 
void endLuminosityBlock (const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &c)
 
int GetStatistics ()
 
 HcalDetDiagNoiseMonitor (const edm::ParameterSet &ps)
 
void reset ()
 
void setup (DQMStore::IBooker &)
 
void UpdateHistos ()
 
 ~HcalDetDiagNoiseMonitor ()
 
- Public Member Functions inherited from HcalBaseDQMonitor
 HcalBaseDQMonitor (const edm::ParameterSet &ps)
 
 HcalBaseDQMonitor ()
 
virtual ~HcalBaseDQMonitor ()
 
- Public Member Functions inherited from DQMEDAnalyzer
virtual void beginRun (edm::Run const &, edm::EventSetup const &) final
 
virtual void beginStream (edm::StreamID id) final
 
 DQMEDAnalyzer (void)
 
virtual void endLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, dqmDetails::NoCache *) const final
 
virtual void endRunSummary (edm::Run const &, edm::EventSetup const &, dqmDetails::NoCache *) const final
 
uint32_t streamId () const
 
- Public Member Functions inherited from edm::stream::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > >
 EDAnalyzer ()=default
 
- Public Member Functions inherited from edm::stream::EDAnalyzerBase
 EDAnalyzerBase ()
 
ModuleDescription const & moduleDescription () const
 
virtual ~EDAnalyzerBase ()
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
 EDConsumerBase ()
 
ProductHolderIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
std::vector
< ProductHolderIndexAndSkipBit >
const & 
itemsToGetFromEvent () const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesDependentUpon (const std::string &iProcessName, std::vector< const char * > &oModuleLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
bool registeredToConsume (ProductHolderIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 

Private Member Functions

void SaveRates ()
 

Private Attributes

int dataset_seq_number
 
edm::InputTag digiLabel_
 
int FirstOrbit
 
int FirstOrbitLS
 
MonitorElementHB_RBXmapSpikeCnt
 
MonitorElementHBM_Rate300
 
MonitorElementHBM_Rate50
 
MonitorElementHBP_Rate300
 
MonitorElementHBP_Rate50
 
MonitorElementHE_RBXmapSpikeCnt
 
MonitorElementHEM_Rate300
 
MonitorElementHEM_Rate50
 
MonitorElementHEP_Rate300
 
MonitorElementHEP_Rate50
 
MonitorElementHO0_Rate300
 
MonitorElementHO0_Rate50
 
MonitorElementHO1M_Rate300
 
MonitorElementHO1M_Rate50
 
MonitorElementHO1P_Rate300
 
MonitorElementHO1P_Rate50
 
MonitorElementHO_RBXmapSpikeCnt
 
MonitorElementHPDEnergy
 
double HPDthresholdHi
 
double HPDthresholdLo
 
int ievt_
 
int LastOrbit
 
int LastOrbitLS
 
bool LocalRun
 
MonitorElementmeEVT_
 
bool newLS
 
int NoisyEvents
 
MonitorElementNZeroes
 
std::string OutputFilePath
 
bool Overwrite
 
MonitorElementPixelMult
 
MonitorElementRBXEnergy
 
HcalDetDiagNoiseRMSummaryRMSummary
 
int run_number
 
bool setupDone_
 
double SpikeThreshold
 
edm::EDGetTokenT
< HBHEDigiCollection
tok_hbhe_
 
edm::EDGetTokenT
< HODigiCollection
tok_ho_
 
edm::EDGetTokenT
< L1GlobalTriggerReadoutRecord
tok_l1_
 
edm::EDGetTokenT
< FEDRawDataCollection
tok_raw_
 
edm::EDGetTokenT
< HcalTBTriggerData
tok_tb_
 
MonitorElementTriggerBx11
 
MonitorElementTriggerBx12
 
bool UseDB
 

Additional Inherited Members

- Public Types inherited from edm::stream::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > >
typedef CacheContexts< T...> CacheTypes
 
typedef CacheTypes::GlobalCache GlobalCache
 
typedef AbilityChecker< T...> HasAbility
 
typedef
CacheTypes::LuminosityBlockCache 
LuminosityBlockCache
 
typedef
LuminosityBlockContextT
< LuminosityBlockCache,
RunCache, GlobalCache
LuminosityBlockContext
 
typedef
CacheTypes::LuminosityBlockSummaryCache 
LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache,
GlobalCache
RunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 
- Public Types inherited from edm::stream::EDAnalyzerBase
typedef EDAnalyzerAdaptorBase ModuleType
 
- Static Public Member Functions inherited from DQMEDAnalyzer
static std::shared_ptr
< dqmDetails::NoCache
globalBeginLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, LuminosityBlockContext const *)
 
static std::shared_ptr
< dqmDetails::NoCache
globalBeginRunSummary (edm::Run const &, edm::EventSetup const &, RunContext const *)
 
static void globalEndLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, LuminosityBlockContext const *, dqmDetails::NoCache *)
 
static void globalEndRunSummary (edm::Run const &, edm::EventSetup const &, RunContext const *, dqmDetails::NoCache *)
 
- Static Public Member Functions inherited from edm::stream::EDAnalyzerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
- Protected Member Functions inherited from HcalBaseDQMonitor
virtual void beginLuminosityBlock (const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &c)
 
virtual void cleanup (void)
 
virtual void dqmBeginRun (const edm::Run &run, const edm::EventSetup &c)
 
virtual void endRun (const edm::Run &run, const edm::EventSetup &c)
 
void getLogicalMap (const edm::EventSetup &c)
 
bool IsAllowedCalibType ()
 
bool LumiInOrder (int lumisec)
 
void SetupEtaPhiHists (DQMStore::IBooker &ib, EtaPhiHists &hh, std::string Name, std::string Units)
 
- Protected Member Functions inherited from edm::stream::EDAnalyzerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, 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 ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
- Protected Attributes inherited from HcalBaseDQMonitor
std::vector< int > AllowedCalibTypes_
 
int badChannelStatusMask_
 
int currentLS
 
int currenttype_
 
int debug_
 
bool enableCleanup_
 
bool eventAllowed_
 
bool HBpresent_
 
bool HEpresent_
 
bool HFpresent_
 
bool HOpresent_
 
int ievt_
 
std::map< unsigned int, int > KnownBadCells_
 
int levt_
 
HcalLogicalMaplogicalMap_
 
bool makeDiagnostics_
 
MonitorElementmeIevt_
 
MonitorElementmeLevt_
 
bool mergeRuns_
 
MonitorElementmeTevt_
 
MonitorElementmeTevtHist_
 
bool needLogicalMap_
 
int NLumiBlocks_
 
bool Online_
 
std::string prefixME_
 
MonitorElementProblemsCurrentLB
 
MonitorElementProblemsVsLB
 
MonitorElementProblemsVsLB_HB
 
MonitorElementProblemsVsLB_HBHEHF
 
MonitorElementProblemsVsLB_HE
 
MonitorElementProblemsVsLB_HF
 
MonitorElementProblemsVsLB_HO
 
bool skipOutOfOrderLS_
 
std::string subdir_
 
int tevt_
 

Detailed Description

Author
D. Vishnevskiy

Definition at line 36 of file HcalDetDiagNoiseMonitor.h.

Constructor & Destructor Documentation

HcalDetDiagNoiseMonitor::HcalDetDiagNoiseMonitor ( const edm::ParameterSet ps)

Definition at line 155 of file HcalDetDiagNoiseMonitor.cc.

References HcalBaseDQMonitor::AllowedCalibTypes_, dataset_seq_number, HcalBaseDQMonitor::debug_, digiLabel_, HcalBaseDQMonitor::enableCleanup_, FirstOrbit, FirstOrbitLS, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), HPDthresholdHi, HPDthresholdLo, ievt_, HLT_25ns14e33_v1_cff::InputTag, LastOrbit, LastOrbitLS, LocalRun, HcalBaseDQMonitor::makeDiagnostics_, HcalBaseDQMonitor::mergeRuns_, HcalBaseDQMonitor::needLogicalMap_, HcalBaseDQMonitor::NLumiBlocks_, NoisyEvents, HcalBaseDQMonitor::Online_, OutputFilePath, Overwrite, HcalBaseDQMonitor::prefixME_, RMSummary, run_number, setupDone_, HcalBaseDQMonitor::skipOutOfOrderLS_, SpikeThreshold, AlCaHLTBitMon_QueryRunRegistry::string, HcalBaseDQMonitor::subdir_, tok_hbhe_, tok_ho_, tok_l1_, tok_raw_, tok_tb_, and UseDB.

155  :
157  {
158 
159  tok_tb_ = consumes<HcalTBTriggerData>(ps.getParameter<edm::InputTag>("hcalTBTriggerDataTag"));
160 
161  ievt_=0;
162  run_number=-1;
163  NoisyEvents=0;
164  LocalRun=false;
166  FirstOrbit=FirstOrbitLS=0xFFFFFFFF;
168 
169  Online_ = ps.getUntrackedParameter<bool>("online",false);
170  mergeRuns_ = ps.getUntrackedParameter<bool>("mergeRuns",false);
171  enableCleanup_ = ps.getUntrackedParameter<bool>("enableCleanup",false);
172  debug_ = ps.getUntrackedParameter<int>("debug",0);
173  prefixME_ = ps.getUntrackedParameter<std::string>("subSystemFolder","Hcal/");
174  if (prefixME_.substr(prefixME_.size()-1,prefixME_.size())!="/")
175  prefixME_.append("/");
176  subdir_ = ps.getUntrackedParameter<std::string>("TaskFolder","DetDiagNoiseMonitor_Hcal");
177  if (subdir_.size()>0 && subdir_.substr(subdir_.size()-1,subdir_.size())!="/")
178  subdir_.append("/");
180  AllowedCalibTypes_ = ps.getUntrackedParameter<std::vector<int> > ("AllowedCalibTypes");
181  skipOutOfOrderLS_ = ps.getUntrackedParameter<bool>("skipOutOfOrderLS",false);
182  NLumiBlocks_ = ps.getUntrackedParameter<int>("NLumiBlocks",4000);
183  makeDiagnostics_ = ps.getUntrackedParameter<bool>("makeDiagnostics",false);
184 
185  UseDB = ps.getUntrackedParameter<bool> ("UseDB" , false);
186  OutputFilePath = ps.getUntrackedParameter<std::string>("OutputFilePath", "");
187  HPDthresholdHi = ps.getUntrackedParameter<double>("NoiseThresholdHPDhi",49.0);
188  HPDthresholdLo = ps.getUntrackedParameter<double>("NoiseThresholdHPDlo",10.0);
189  SpikeThreshold = ps.getUntrackedParameter<double>("NoiseSpikeThreshold",0.5);
190  Overwrite = ps.getUntrackedParameter<bool> ("Overwrite",true);
191 
192  tok_raw_ = consumes<FEDRawDataCollection>(ps.getUntrackedParameter<edm::InputTag>("RawDataLabel",edm::InputTag("source","")));
193  digiLabel_ = ps.getUntrackedParameter<edm::InputTag>("digiLabel",edm::InputTag("hcalDigis"));
194  tok_l1_ = consumes<L1GlobalTriggerReadoutRecord>(ps.getUntrackedParameter<edm::InputTag>("gtLabel"));
195 
196 
197  tok_hbhe_ = consumes<HBHEDigiCollection>(digiLabel_);
198  tok_ho_ = consumes<HODigiCollection>(digiLabel_);
199 
200  RMSummary = 0;
201  needLogicalMap_=true;
202  setupDone_ = false;
203 }
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
std::vector< int > AllowedCalibTypes_
HcalDetDiagNoiseRMSummary * RMSummary
edm::EDGetTokenT< L1GlobalTriggerReadoutRecord > tok_l1_
edm::EDGetTokenT< HBHEDigiCollection > tok_hbhe_
edm::EDGetTokenT< HODigiCollection > tok_ho_
edm::EDGetTokenT< FEDRawDataCollection > tok_raw_
edm::EDGetTokenT< HcalTBTriggerData > tok_tb_
HcalDetDiagNoiseMonitor::~HcalDetDiagNoiseMonitor ( )

Definition at line 629 of file HcalDetDiagNoiseMonitor.cc.

References LocalRun, RMSummary, SaveRates(), and UpdateHistos().

Member Function Documentation

void HcalDetDiagNoiseMonitor::analyze ( edm::Event const &  e,
edm::EventSetup const &  s 
)
virtual

Reimplemented from HcalBaseDQMonitor.

Definition at line 281 of file HcalDetDiagNoiseMonitor.cc.

References adc2fC, HcalBaseDQMonitor::analyze(), gather_cfg::cout, FEDRawData::data(), HcalBaseDQMonitor::debug_, relval_parameters_module::energy, HcalDetDiagNoiseRMEvent::energy, reco::tau::disc::Eta(), MonitorElement::Fill(), FirstOrbit, FirstOrbitLS, edm::Event::getByToken(), HcalLogicalMap::getHcalFrontEndId(), HcalBaseDQMonitor::getLogicalMap(), HcalDetDiagNoiseRMSummary::GetRMindex(), hc_Null, HPDEnergy, HPDthresholdHi, HPDthresholdLo, i, edm::EventBase::id(), ievt_, cmsHarvester::index, HcalBaseDQMonitor::IsAllowedCalibType(), edm::HandleBase::isValid(), LastOrbit, LastOrbitLS, LocalRun, HcalBaseDQMonitor::logicalMap_, HcalBaseDQMonitor::LumiInOrder(), edm::EventBase::luminosityBlock(), bookConverter::max, FEDNumbering::MAXHCALFEDID, HcalFrontEndId::maxRmIndex, meEVT_, FEDNumbering::MINHCALFEDID, HcalDetDiagNoiseRMData::n_pix, HcalDetDiagNoiseRMData::n_pix_1, HcalDetDiagNoiseRMData::n_pix_8, HcalDetDiagNoiseRMEvent::n_pix_hi, HcalDetDiagNoiseRMEvent::n_pix_lo, HcalDetDiagNoiseRMData::n_th_300, HcalDetDiagNoiseRMData::n_th_300_LS, HcalDetDiagNoiseRMData::n_th_hi, HcalDetDiagNoiseRMData::n_th_hi_LS, HcalDetDiagNoiseRMEvent::n_zero, newLS, NoisyEvents, NZeroes, colinearityKinematic::Phi, HcalDetDiagNoiseRMData::pix, PixelMult, lumiPlot::rawdata, RBXEnergy, HcalDetDiagNoiseRMSummary::reset(), submit::rm, HcalDetDiagNoiseRMSummary::rm, HcalFrontEndId::rmIndex(), RMSummary, edm::EventID::run(), run_number, SaveRates(), sd, FEDRawData::size(), AlCaHLTBitMon_QueryRunRegistry::string, subdets, tok_hbhe_, tok_ho_, tok_l1_, tok_raw_, tok_tb_, TriggerBx11, TriggerBx12, and UpdateHistos().

281  {
282  getLogicalMap(iSetup);
284  if (!IsAllowedCalibType()) return;
285  if (LumiInOrder(iEvent.luminosityBlock())==false) return;
286 // HcalBaseDQMonitor::analyze(iEvent, iSetup);
287  bool isNoiseEvent=false;
288  int orbit=-1111;
289  int bx=-1111;
290 
291  // for local runs
292  edm::Handle<HcalTBTriggerData> trigger_data;
293  iEvent.getByToken(tok_tb_, trigger_data);
294  if(trigger_data.isValid()){
295  if(trigger_data->triggerWord()>1000) isNoiseEvent=true;
296  LocalRun=true;
297  }
298 
299  // We do not want to look at Abort Gap events
301  iEvent.getByToken(tok_raw_,rawdata);
302  //checking FEDs for calibration information
304  const FEDRawData& fedData = rawdata->FEDData(i) ;
305  if ( fedData.size() < 24 ) continue ;
306  orbit= ((const HcalDCCHeader*)(fedData.data()))->getOrbitNumber();
307  bx=((const HcalDCCHeader*)(fedData.data()))->getBunchId();
308  if(((const HcalDCCHeader*)(fedData.data()))->getCalibType()!=hc_Null) return;
309  }
310 
311  // Check GCT trigger bits
313  iEvent.getByToken(tok_l1_, gtRecord);
314  if(gtRecord.isValid()){
315  const TechnicalTriggerWord tWord = gtRecord->technicalTriggerWord();
316  if(tWord.at(11) || tWord.at(12)) isNoiseEvent=true;
317  if(tWord.at(11)){ TriggerBx11->Fill(bx);}
318  if(tWord.at(12)){ TriggerBx12->Fill(bx);}
319  }
320 
321  if(!isNoiseEvent) return;
322  if(ievt_==0){ FirstOrbit=orbit; FirstOrbitLS=orbit; newLS=true;}
323  if(LastOrbit <orbit) LastOrbit=orbit;
324  if(FirstOrbit>orbit) FirstOrbit=orbit;
325  if(LastOrbitLS <orbit) LastOrbitLS=orbit;
326  if(FirstOrbitLS>orbit) FirstOrbitLS=orbit;
327  if(newLS){
328  FirstOrbitLS=orbit;
329  newLS=false;
330  }
331 
332  if(!LocalRun){
333  double TIME=(double)(LastOrbit-FirstOrbit)/11223.0;
334  if(TIME>1800.0){
335  UpdateHistos();
336  SaveRates();
337  RMSummary->reset();
338  FirstOrbit=orbit;
339  }
340  }
341 
342  meEVT_->Fill(++ievt_);
343 
344  run_number=iEvent.id().run();
345 
347 
349  iEvent.getByToken(tok_hbhe_,hbhe);
350  for(HBHEDigiCollection::const_iterator digi=hbhe->begin();digi!=hbhe->end();digi++){
351  double max=-100/*,sum*/,energy=0; int n_zero=0;
352  for(int i=0;i<digi->size();i++){
353  // sum=adc2fC[digi->sample(i).adc()&0xff];
354  if(max<adc2fC[digi->sample(i).adc()&0xff]) max=adc2fC[digi->sample(i).adc()&0xff];
355  if(adc2fC[digi->sample(i).adc()&0xff]==0) n_zero++;
356  }
357  HcalFrontEndId lmap_entry=logicalMap_->getHcalFrontEndId(digi->id());
358  int index=lmap_entry.rmIndex(); if(index>=HcalFrontEndId::maxRmIndex) continue;
359  RMs[index].n_zero++;
360  if(max>HPDthresholdLo){
361  for(int i=0;i<digi->size();i++) energy+=adc2fC[digi->sample(i).adc()&0xff]-2.5;
362  RMs[index].n_pix_lo++;
363  if(max>HPDthresholdHi){ RMs[index].n_pix_hi++; isNoiseEvent=true;}
364  RMs[index].energy+=energy;
365  }
366  }
367 
369  iEvent.getByToken(tok_ho_,ho);
370  for(HODigiCollection::const_iterator digi=ho->begin();digi!=ho->end();digi++){
371  double max=-100,energy=0; int Eta=digi->id().ieta(); int Phi=digi->id().iphi(); int n_zero=0;
372  for(int i=0;i<digi->size()-1;i++){
373  if(max<adc2fC[digi->sample(i).adc()&0xff]) max=adc2fC[digi->sample(i).adc()&0xff];
374  if(adc2fC[digi->sample(i).adc()&0xff]==0) n_zero++;
375  }
376  if((Eta>=11 && Eta<=15 && Phi>=59 && Phi<=70) || (Eta>=5 && Eta<=10 && Phi>=47 && Phi<=58)){
377  continue; // ignory SiPMs
378  }else{
379  HcalFrontEndId lmap_entry=logicalMap_->getHcalFrontEndId(digi->id());
380  int index=lmap_entry.rmIndex(); if(index>=HcalFrontEndId::maxRmIndex) continue;
381  RMs[index].n_zero++;
382  if(max>HPDthresholdLo){
383  for(int i=0;i<digi->size();i++) energy+=adc2fC[digi->sample(i).adc()&0xff]-2.5;
384  RMs[index].n_pix_lo++;
385  if(max>HPDthresholdHi){ RMs[index].n_pix_hi++; isNoiseEvent=true;}
386  RMs[index].energy+=energy;
387  }
388  }
389  }
390 
391  NoisyEvents++;
392 
393  // RMs loop
394  for(int i=0;i<HcalFrontEndId::maxRmIndex;i++){
395  if(RMs[i].n_pix_hi>0){
396  HPDEnergy->Fill(RMs[i].energy);
397  RMSummary->rm[i].n_th_hi++;
398  RMSummary->rm[i].n_th_hi_LS++;
399  if(RMs[i].energy>300) RMSummary->rm[i].n_th_300++;
400  if(RMs[i].energy>300) RMSummary->rm[i].n_th_300_LS++;
401  if(RMs[i].n_pix_lo>1) RMSummary->rm[i].n_pix_1++;
402  if(RMs[i].n_pix_lo>8) RMSummary->rm[i].n_pix_8++;
403  RMSummary->rm[i].pix+=RMs[i].n_pix_lo;
404  RMSummary->rm[i].n_pix++;
405  }
406  }
407 
408  // RBX loop
409  for(int sd=0;sd<7;sd++) for(int sect=1;sect<=18;sect++){
410  std::stringstream tempss;
411  tempss << std::setw(2) << std::setfill('0') << sect;
412  std::string rbx= subdets[sd]+tempss.str();
413 
414  double rbx_energy=0;int pix_mult=0; int n_zero=0; bool isValidRBX=false;
415  for(int rm=1;rm<=4;rm++){
416  int index=RMSummary->GetRMindex(rbx,rm);
417  if(index>0 && index<HcalFrontEndId::maxRmIndex){
418  rbx_energy+=RMs[index].energy;
419  pix_mult+=RMs[index].n_pix_lo;
420  n_zero+=RMs[index].n_zero;
421  isValidRBX=true;
422  }
423  }
424  if(isValidRBX){
425  PixelMult->Fill(pix_mult);
426  RBXEnergy->Fill(rbx_energy);
427  NZeroes->Fill(n_zero);
428  }
429  }
430 
431  if((ievt_%100)==0 && debug_>0)
432  std::cout <<ievt_<<"\t"<<NoisyEvents<<std::endl;
433  return;
434 }
int i
Definition: DBlmapReader.cc:9
bool LumiInOrder(int lumisec)
virtual void analyze(const edm::Event &e, const edm::EventSetup &c)
HcalDetDiagNoiseRMData rm[HcalFrontEndId::maxRmIndex]
std::vector< HBHEDataFrame >::const_iterator const_iterator
void getLogicalMap(const edm::EventSetup &c)
HcalDetDiagNoiseRMSummary * RMSummary
size_t size() const
Lenght of the data buffer in bytes.
Definition: FEDRawData.h:47
void Fill(long long x)
int iEvent
Definition: GenABIO.cc:230
int GetRMindex(const std::string &rbx, int rm)
edm::EDGetTokenT< L1GlobalTriggerReadoutRecord > tok_l1_
int rmIndex() const
HcalLogicalMap * logicalMap_
edm::EDGetTokenT< HBHEDigiCollection > tok_hbhe_
string rm
Definition: submit.py:76
static const int maxRmIndex
std::vector< bool > TechnicalTriggerWord
technical trigger bits (64 bits)
edm::EDGetTokenT< HODigiCollection > tok_ho_
char const * subdets[11]
bool isValid() const
Definition: HandleBase.h:75
const HcalFrontEndId getHcalFrontEndId(const DetId &)
double sd
const unsigned char * data() const
Return a const pointer to the beginning of the data buffer.
Definition: FEDRawData.cc:28
tuple cout
Definition: gather_cfg.py:121
edm::EDGetTokenT< FEDRawDataCollection > tok_raw_
dictionary rawdata
Definition: lumiPlot.py:393
float adc2fC[128]
edm::EDGetTokenT< HcalTBTriggerData > tok_tb_
void HcalDetDiagNoiseMonitor::bookHistograms ( DQMStore::IBooker ib,
const edm::Run run,
const edm::EventSetup c 
)
virtual

Reimplemented from HcalBaseDQMonitor.

Definition at line 208 of file HcalDetDiagNoiseMonitor.cc.

References HcalBaseDQMonitor::bookHistograms(), gather_cfg::cout, HcalBaseDQMonitor::debug_, HcalBaseDQMonitor::mergeRuns_, reset(), setup(), and HcalBaseDQMonitor::tevt_.

209 {
210  if (debug_>1) std::cout <<"HcalDetDiagNoiseMonitor::bookHistograms"<<std::endl;
212 
213  if (tevt_==0) this->setup(ib); // set up histograms if they have not been created before
214  if (mergeRuns_==false)
215  this->reset();
216 
217  return;
218 
219 }
virtual void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &)
tuple cout
Definition: gather_cfg.py:121
void setup(DQMStore::IBooker &)
void HcalDetDiagNoiseMonitor::done ( )

Definition at line 627 of file HcalDetDiagNoiseMonitor.cc.

627 {}
void HcalDetDiagNoiseMonitor::endLuminosityBlock ( const edm::LuminosityBlock lumiSeg,
const edm::EventSetup c 
)
virtual

Reimplemented from HcalBaseDQMonitor.

Definition at line 436 of file HcalDetDiagNoiseMonitor.cc.

References MonitorElement::Fill(), HcalDetDiagNoiseRMSummary::GetRMindex(), HB_RBX, HB_RBXmapSpikeCnt, HE_RBX, HE_RBXmapSpikeCnt, HO_RBX, HO_RBXmapSpikeCnt, cmsHarvester::index, HcalFrontEndId::maxRmIndex, HcalDetDiagNoiseRMData::n_th_hi_LS, newLS, HcalDetDiagNoiseRMData::reset_LS(), submit::rm, HcalDetDiagNoiseRMSummary::rm, RMSummary, sd, and SpikeThreshold.

436  {
437 int first_rbx=0,last_rbx=0;
438  //double TIME=(double)(LastOrbitLS-FirstOrbitLS)/11223.0;
439  double TIME=23.0;
440  newLS=true;
441  if(TIME==0) return;
442 
443  for(int sd=0;sd<9;sd++){
444  if(sd==0){ first_rbx=0; last_rbx=18;} //HBM
445  if(sd==1){ first_rbx=18; last_rbx=36;} //HBP
446  if(sd==0 || sd==1){ // update HB plots
447  for(int rbx=first_rbx;rbx<last_rbx;rbx++)for(int rm=1;rm<=4;rm++){
448  int index=RMSummary->GetRMindex(HB_RBX[rbx],rm);
449  if(index<0 || index>=HcalFrontEndId::maxRmIndex) continue;
450  double val=RMSummary->rm[index].n_th_hi_LS/TIME;
451  if(val>SpikeThreshold){
452  HB_RBXmapSpikeCnt->Fill(rm,rbx+1,1);
453  //printf("%s %i %f (%f)\n",HO_RBX[rbx].c_str(),rm,RMSummary->rm[index].n_th_hi_LS/TIME,TIME);
454  }
456  }
457  }
458  if(sd==2){ first_rbx=0; last_rbx=18;} //HEM
459  if(sd==3){ first_rbx=18; last_rbx=36;} //HEP
460  if(sd==2 || sd==3){ // update HB plots
461  for(int rbx=first_rbx;rbx<last_rbx;rbx++)for(int rm=1;rm<=4;rm++){
462  int index=RMSummary->GetRMindex(HE_RBX[rbx],rm);
463  if(index<0 || index>=HcalFrontEndId::maxRmIndex) continue;
464  double val=RMSummary->rm[index].n_th_hi_LS/TIME;
465  if(val>SpikeThreshold){
466  HE_RBXmapSpikeCnt->Fill(rm,rbx+1,1);
467  //printf("%s %i %f (%f)\n",HO_RBX[rbx].c_str(),rm,RMSummary->rm[index].n_th_hi_LS/TIME,TIME);
468  }
470  }
471  }
472  if(sd==4){ first_rbx=6; last_rbx=12;} //HO1M
473  if(sd==5){ first_rbx=12; last_rbx=24;} //HO0
474  if(sd==6){ first_rbx=24; last_rbx=30;} //HO1P
475  if(sd>3){
476  for(int rbx=first_rbx;rbx<last_rbx;rbx++)for(int rm=1;rm<=4;rm++){
477  int index=RMSummary->GetRMindex(HO_RBX[rbx],rm);
478  if(index<0 || index>=HcalFrontEndId::maxRmIndex) continue;
479  double val=RMSummary->rm[index].n_th_hi_LS/TIME;
480  if(val>SpikeThreshold){
481  HO_RBXmapSpikeCnt->Fill(rm,rbx+1,1);
482  //printf("%s %i %f (%f)\n",HO_RBX[rbx].c_str(),rm,RMSummary->rm[index].n_th_hi_LS/TIME,TIME);
483  }
485  }
486  }
487  } //sd=0;sd<9
488 }
HcalDetDiagNoiseRMData rm[HcalFrontEndId::maxRmIndex]
char const * HO_RBX[36]
HcalDetDiagNoiseRMSummary * RMSummary
char const * HB_RBX[36]
void Fill(long long x)
int GetRMindex(const std::string &rbx, int rm)
string rm
Definition: submit.py:76
static const int maxRmIndex
char const * HE_RBX[36]
double sd
int HcalDetDiagNoiseMonitor::GetStatistics ( )
inline

Definition at line 49 of file HcalDetDiagNoiseMonitor.h.

References ievt_.

void HcalDetDiagNoiseMonitor::reset ( void  )
virtual

Reimplemented from HcalBaseDQMonitor.

Definition at line 205 of file HcalDetDiagNoiseMonitor.cc.

Referenced by bookHistograms().

205 {}
void HcalDetDiagNoiseMonitor::SaveRates ( )
private

Definition at line 552 of file HcalDetDiagNoiseMonitor.cc.

References dataset_seq_number, patZpeak::events, FirstOrbit, HcalDetDiagNoiseRMSummary::GetRMindex(), HB_RBX, HE_RBX, HO_RBX, ievt_, cmsHarvester::index, LastOrbit, HcalFrontEndId::maxRmIndex, HcalDetDiagNoiseRMData::n_pix, HcalDetDiagNoiseRMData::n_pix_1, HcalDetDiagNoiseRMData::n_pix_8, HcalDetDiagNoiseRMData::n_th_300, HcalDetDiagNoiseRMData::n_th_hi, OutputFilePath, Overwrite, HcalDetDiagNoiseRMData::pix, submit::rm, HcalDetDiagNoiseRMSummary::rm, RMSummary, DTTTrigCorrFirst::run, run_number, edmStreamStallGrapher::t, interactiveExample::theFile, cond::rpcobgas::time, and MainPageGenerator::tree.

Referenced by analyze(), and ~HcalDetDiagNoiseMonitor().

552  {
553 char RBX[20];
554 int RM;
555 float VAL1,VAL2,VAL3,VAL4,VAL5;
556 char str[500];
557  double TIME=(double)(LastOrbit-FirstOrbit)/11223.0;
558  if(TIME==0) return;
559  if(OutputFilePath.size()>0){
560  if(!Overwrite){
561  sprintf(str,"%sHcalDetDiagNoiseData_run%06i_%i.root",OutputFilePath.c_str(),run_number,dataset_seq_number);
562  }else{
563  sprintf(str,"%sHcalDetDiagNoiseData.root",OutputFilePath.c_str());
564  }
565  TFile *theFile = new TFile(str, "RECREATE");
566  if(!theFile->IsOpen()) return;
567  theFile->cd();
568  sprintf(str,"%d",run_number); TObjString run(str); run.Write("run number");
569  sprintf(str,"%d",ievt_); TObjString events(str); events.Write("Total events processed");
570  sprintf(str,"%d",dataset_seq_number); TObjString dsnum(str); dsnum.Write("Dataset number");
571  Long_t t; t=time(0); strftime(str,30,"%F %T",localtime(&t)); TObjString tm(str); tm.Write("Dataset creation time");
572 
573  TTree *tree =new TTree("HCAL Noise data","HCAL Noise data");
574  if(tree==0) return;
575  tree->Branch("RBX", &RBX, "RBX/C");
576  tree->Branch("rm", &RM, "rm/I");
577  tree->Branch("RATE_50", &VAL1, "RATE_50");
578  tree->Branch("RATE_300", &VAL2, "RATE_300");
579  tree->Branch("RATE_PIX1", &VAL3, "RATE_PIX1");
580  tree->Branch("RATE_PIX8", &VAL4, "RATE_PIX8");
581  tree->Branch("RATE_PIXMEAN", &VAL5, "RATE_PIXMEAN");
582  for(int rbx=0;rbx<36;rbx++) for(int rm=1;rm<=4;rm++){
583  int index=RMSummary->GetRMindex(HB_RBX[rbx],rm);
584  if(index<0 || index>=HcalFrontEndId::maxRmIndex) continue;
585  sprintf(RBX,"%s",HB_RBX[rbx]);
586  RM=rm;
587  VAL1=RMSummary->rm[index].n_th_hi/TIME;
588  VAL2=RMSummary->rm[index].n_th_300/TIME;
589  VAL3=RMSummary->rm[index].n_pix_1/TIME;
590  VAL4=RMSummary->rm[index].n_pix_8/TIME;
591  if(RMSummary->rm[index].n_pix>0)VAL5=RMSummary->rm[index].pix/RMSummary->rm[index].n_pix; else VAL5=0;
592  tree->Fill();
593  }
594  for(int rbx=0;rbx<36;rbx++) for(int rm=1;rm<=4;rm++){
595  int index=RMSummary->GetRMindex(HE_RBX[rbx],rm);
596  if(index<0 || index>=HcalFrontEndId::maxRmIndex) continue;
597  sprintf(RBX,"%s",HE_RBX[rbx]);
598  RM=rm;
599  VAL1=RMSummary->rm[index].n_th_hi/TIME;
600  VAL2=RMSummary->rm[index].n_th_300/TIME;
601  VAL3=RMSummary->rm[index].n_pix_1/TIME;
602  VAL4=RMSummary->rm[index].n_pix_8/TIME;
603  if(RMSummary->rm[index].n_pix>0)VAL5=RMSummary->rm[index].pix/RMSummary->rm[index].n_pix; else VAL5=0;
604  tree->Fill();
605  }
606  for(int rbx=0;rbx<36;rbx++) for(int rm=1;rm<=4;rm++){
607  int index=RMSummary->GetRMindex(HO_RBX[rbx],rm);
608  if(index<0 || index>=HcalFrontEndId::maxRmIndex) continue;
609  sprintf(RBX,"%s",HO_RBX[rbx]);
610  RM=rm;
611  VAL1=RMSummary->rm[index].n_th_hi/TIME;
612  VAL2=RMSummary->rm[index].n_th_300/TIME;
613  VAL3=RMSummary->rm[index].n_pix_1/TIME;
614  VAL4=RMSummary->rm[index].n_pix_8/TIME;
615  if(RMSummary->rm[index].n_pix>0)VAL5=RMSummary->rm[index].pix/RMSummary->rm[index].n_pix; else VAL5=0;
616  tree->Fill();
617  }
618  theFile->Write();
619  theFile->Close();
620  theFile->Delete();
622 
623  }
624 }
HcalDetDiagNoiseRMData rm[HcalFrontEndId::maxRmIndex]
char const * HO_RBX[36]
HcalDetDiagNoiseRMSummary * RMSummary
char const * HB_RBX[36]
int GetRMindex(const std::string &rbx, int rm)
string rm
Definition: submit.py:76
static const int maxRmIndex
char const * HE_RBX[36]
tuple events
Definition: patZpeak.py:19
void HcalDetDiagNoiseMonitor::setup ( DQMStore::IBooker ib)
virtual

Reimplemented from HcalBaseDQMonitor.

Definition at line 221 of file HcalDetDiagNoiseMonitor.cc.

References DQMStore::IBooker::book1D(), DQMStore::IBooker::book2D(), DQMStore::IBooker::bookInt(), HB_RBX, HB_RBXmapSpikeCnt, HBM_Rate300, HBM_Rate50, HBP_Rate300, HBP_Rate50, HE_RBX, HE_RBXmapSpikeCnt, HEM_Rate300, HEM_Rate50, HEP_Rate300, HEP_Rate50, HO0_Rate300, HO0_Rate50, HO1M_Rate300, HO1M_Rate50, HO1P_Rate300, HO1P_Rate50, HO_RBX, HO_RBXmapSpikeCnt, HPDEnergy, i, meEVT_, mergeVDriftHistosByStation::name, NZeroes, PixelMult, RBXEnergy, RMSummary, MonitorElement::setAxisTitle(), MonitorElement::setBinLabel(), DQMStore::IBooker::setCurrentFolder(), HcalBaseDQMonitor::setup(), setupDone_, AlCaHLTBitMon_QueryRunRegistry::string, HcalBaseDQMonitor::subdir_, indexGen::title, TriggerBx11, and TriggerBx12.

Referenced by bookHistograms().

221  {
222  if (setupDone_)
223  return;
224  setupDone_ = true;
225  // Call base class setup
228 
231  meEVT_ = ib.bookInt("HcalNoiseMonitor Event Number");
232  ib.setCurrentFolder(subdir_+"Common Plots");
233 
234  name="RBX Pixel multiplicity"; PixelMult = ib.book1D(name,name,73,0,73);
235  name="HPD energy"; HPDEnergy = ib.book1D(name,name,200,0,2500);
236  name="RBX energy"; RBXEnergy = ib.book1D(name,name,200,0,3500);
237  name="Number of zero TS per RBX"; NZeroes = ib.book1D(name,name,100,0,100);
238  name="Trigger BX Tbit11"; TriggerBx11 = ib.book1D(name,name,4000,0,4000);
239  name="Trigger BX Tbit12"; TriggerBx12 = ib.book1D(name,name,4000,0,4000);
240 
241  ib.setCurrentFolder(subdir_+"HBHE Plots");
242  name="HBP HPD Noise Rate Pixel above 50fC"; HBP_Rate50 = ib.book1D(name,name,73,0,73);
243  name="HBM HPD Noise Rate Pixel above 50fC"; HBM_Rate50 = ib.book1D(name,name,73,0,73);
244  name="HEP HPD Noise Rate Pixel above 50fC"; HEP_Rate50 = ib.book1D(name,name,73,0,73);
245  name="HEM HPD Noise Rate Pixel above 50fC"; HEM_Rate50 = ib.book1D(name,name,73,0,73);
246  name="HBP HPD Noise Rate HPD above 300fC"; HBP_Rate300 = ib.book1D(name,name,73,0,73);
247  name="HBM HPD Noise Rate HPD above 300fC"; HBM_Rate300 = ib.book1D(name,name,73,0,73);
248  name="HEP HPD Noise Rate HPD above 300fC"; HEP_Rate300 = ib.book1D(name,name,73,0,73);
249  name="HEM HPD Noise Rate HPD above 300fC"; HEM_Rate300 = ib.book1D(name,name,73,0,73);
250 
251  ib.setCurrentFolder(subdir_+"HO Plots");
252  name="HO0 HPD Noise Rate Pixel above 50fC"; HO0_Rate50 = ib.book1D(name,name,49,0,49);
253  name="HO1P HPD Noise Rate Pixel above 50fC"; HO1P_Rate50 = ib.book1D(name,name,48,0,48);
254  name="HO1M HPD Noise Rate Pixel above 50fC"; HO1M_Rate50 = ib.book1D(name,name,48,0,48);
255  name="HO0 HPD Noise Rate HPD above 300fC"; HO0_Rate300 = ib.book1D(name,name,48,0,48);
256  name="HO1P HPD Noise Rate HPD abGetRMindexove 300fC"; HO1P_Rate300 = ib.book1D(name,name,48,0,48);
257  name="HO1M HPD Noise Rate HPD above 300fC"; HO1M_Rate300 = ib.book1D(name,name,48,0,48);
258 
259 
260  ib.setCurrentFolder(subdir_+"Noise Spike Plots");
261 
262  name="HB RM Spike Map"; HB_RBXmapSpikeCnt= ib.book2D(name,name,4,0.5,4.5,36,0.5,36.5);
263  name="HE RM Spike Map"; HE_RBXmapSpikeCnt= ib.book2D(name,name,4,0.5,4.5,36,0.5,36.5);
264  name="HO RM Spike Map"; HO_RBXmapSpikeCnt= ib.book2D(name,name,4,0.5,4.5,36,0.5,36.5);
265 
266  std::string title="RM";
270 
271  for(int i=0;i<36;i++){
275  }
276 
277 
278  return;
279 }
int i
Definition: DBlmapReader.cc:9
MonitorElement * bookInt(Args &&...args)
Definition: DQMStore.h:103
char const * HO_RBX[36]
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)
HcalDetDiagNoiseRMSummary * RMSummary
char const * HB_RBX[36]
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:115
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:274
char const * HE_RBX[36]
MonitorElement * book2D(Args &&...args)
Definition: DQMStore.h:133
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
virtual void setup(DQMStore::IBooker &)
void HcalDetDiagNoiseMonitor::UpdateHistos ( )

Definition at line 490 of file HcalDetDiagNoiseMonitor.cc.

References FirstOrbit, HcalDetDiagNoiseRMSummary::GetRMindex(), HB_RBX, HBM_Rate300, HBM_Rate50, HBP_Rate300, HBP_Rate50, HE_RBX, HEM_Rate300, HEM_Rate50, HEP_Rate300, HEP_Rate50, HO0_Rate300, HO0_Rate50, HO1M_Rate300, HO1M_Rate50, HO1P_Rate300, HO1P_Rate50, HO_RBX, cmsHarvester::index, LastOrbit, HcalFrontEndId::maxRmIndex, gen::n, HcalDetDiagNoiseRMData::n_th_300, HcalDetDiagNoiseRMData::n_th_hi, submit::rm, HcalDetDiagNoiseRMSummary::rm, RMSummary, sd, and MonitorElement::setBinContent().

Referenced by analyze(), and ~HcalDetDiagNoiseMonitor().

490  {
491  int first_rbx=0;
492  double TIME=(double)(LastOrbit-FirstOrbit)/11223.0;
493  if(TIME==0) return;
494  for(int sd=0;sd<9;sd++){
495  if(sd==0){ first_rbx=0; } //HBM
496  if(sd==1){ first_rbx=18;} //HBP
497  if(sd==0 || sd==1){ // update HB plots
498  for(int rbx=0;rbx<18;rbx++)for(int rm=1;rm<=4;rm++){
499  int index=RMSummary->GetRMindex(HB_RBX[rbx+first_rbx],rm);
500  if(index<0 || index>=HcalFrontEndId::maxRmIndex) continue;
501  if(sd==0){
502  HBM_Rate50->setBinContent(rbx*4+rm,RMSummary->rm[index].n_th_hi/TIME);
503  HBM_Rate300->setBinContent(rbx*4+rm,RMSummary->rm[index].n_th_300/TIME);
504  }
505  if(sd==1){
506  HBP_Rate50->setBinContent(rbx*4+rm,RMSummary->rm[index].n_th_hi/TIME);
507  HBP_Rate300->setBinContent(rbx*4+rm,RMSummary->rm[index].n_th_300/TIME);
508  }
509  }
510  }
511  if(sd==2){ first_rbx=0;} //HEM
512  if(sd==3){ first_rbx=18;} //HEP
513  if(sd==2 || sd==3){ // update HB plots
514  for(int rbx=0;rbx<18;rbx++)for(int rm=1;rm<=4;rm++){
515  int index=RMSummary->GetRMindex(HE_RBX[rbx+first_rbx],rm);
516  if(index<0 || index>=HcalFrontEndId::maxRmIndex) continue;
517  if(sd==2){
518  HEM_Rate50->setBinContent(rbx*4+rm,RMSummary->rm[index].n_th_hi/TIME);
519  HEM_Rate300->setBinContent(rbx*4+rm,RMSummary->rm[index].n_th_300/TIME);
520  }
521  if(sd==3){
522  HEP_Rate50->setBinContent(rbx*4+rm,RMSummary->rm[index].n_th_hi/TIME);
523  HEP_Rate300->setBinContent(rbx*4+rm,RMSummary->rm[index].n_th_300/TIME);
524  }
525  }
526  }
527  int n=0;
528  if(sd==4){ first_rbx=6; n=6;} //HO1M
529  if(sd==5){ first_rbx=12;n=12;} //HO0
530  if(sd==6){ first_rbx=24;n=6;} //HO1P
531  if(sd>3){ // update HO plots
532  for(int rbx=0;rbx<n;rbx++)for(int rm=1;rm<=4;rm++){
533  int index=RMSummary->GetRMindex(HO_RBX[rbx+first_rbx],rm);
534  if(index<0 || index>=HcalFrontEndId::maxRmIndex) continue;
535  if(sd==4){
536  HO1M_Rate50->setBinContent(rbx*4*2+rm,RMSummary->rm[index].n_th_hi/TIME);
537  HO1M_Rate300->setBinContent(rbx*4*2+rm,RMSummary->rm[index].n_th_300/TIME);
538  }
539  if(sd==5){
540  HO0_Rate50->setBinContent(rbx*4+rm,RMSummary->rm[index].n_th_hi/TIME);
541  HO0_Rate300->setBinContent(rbx*4+rm,RMSummary->rm[index].n_th_300/TIME);
542  }
543  if(sd==5){
544  HO1P_Rate50->setBinContent(rbx*4*2+rm,RMSummary->rm[index].n_th_hi/TIME);
545  HO1P_Rate300->setBinContent(rbx*4+rm,RMSummary->rm[index].n_th_300/TIME);
546  }
547  }
548  }
549  } //sd=0;sd<9
550 }
void setBinContent(int binx, double content)
set content of bin (1-D)
HcalDetDiagNoiseRMData rm[HcalFrontEndId::maxRmIndex]
char const * HO_RBX[36]
HcalDetDiagNoiseRMSummary * RMSummary
char const * HB_RBX[36]
int GetRMindex(const std::string &rbx, int rm)
string rm
Definition: submit.py:76
static const int maxRmIndex
char const * HE_RBX[36]
double sd

Member Data Documentation

int HcalDetDiagNoiseMonitor::dataset_seq_number
private

Definition at line 62 of file HcalDetDiagNoiseMonitor.h.

Referenced by HcalDetDiagNoiseMonitor(), and SaveRates().

edm::InputTag HcalDetDiagNoiseMonitor::digiLabel_
private

Definition at line 51 of file HcalDetDiagNoiseMonitor.h.

Referenced by HcalDetDiagNoiseMonitor().

int HcalDetDiagNoiseMonitor::FirstOrbit
private
int HcalDetDiagNoiseMonitor::FirstOrbitLS
private

Definition at line 77 of file HcalDetDiagNoiseMonitor.h.

Referenced by analyze(), and HcalDetDiagNoiseMonitor().

MonitorElement* HcalDetDiagNoiseMonitor::HB_RBXmapSpikeCnt
private

Definition at line 101 of file HcalDetDiagNoiseMonitor.h.

Referenced by endLuminosityBlock(), and setup().

MonitorElement* HcalDetDiagNoiseMonitor::HBM_Rate300
private

Definition at line 90 of file HcalDetDiagNoiseMonitor.h.

Referenced by setup(), and UpdateHistos().

MonitorElement* HcalDetDiagNoiseMonitor::HBM_Rate50
private

Definition at line 86 of file HcalDetDiagNoiseMonitor.h.

Referenced by setup(), and UpdateHistos().

MonitorElement* HcalDetDiagNoiseMonitor::HBP_Rate300
private

Definition at line 89 of file HcalDetDiagNoiseMonitor.h.

Referenced by setup(), and UpdateHistos().

MonitorElement* HcalDetDiagNoiseMonitor::HBP_Rate50
private

Definition at line 85 of file HcalDetDiagNoiseMonitor.h.

Referenced by setup(), and UpdateHistos().

MonitorElement* HcalDetDiagNoiseMonitor::HE_RBXmapSpikeCnt
private

Definition at line 102 of file HcalDetDiagNoiseMonitor.h.

Referenced by endLuminosityBlock(), and setup().

MonitorElement* HcalDetDiagNoiseMonitor::HEM_Rate300
private

Definition at line 92 of file HcalDetDiagNoiseMonitor.h.

Referenced by setup(), and UpdateHistos().

MonitorElement* HcalDetDiagNoiseMonitor::HEM_Rate50
private

Definition at line 88 of file HcalDetDiagNoiseMonitor.h.

Referenced by setup(), and UpdateHistos().

MonitorElement* HcalDetDiagNoiseMonitor::HEP_Rate300
private

Definition at line 91 of file HcalDetDiagNoiseMonitor.h.

Referenced by setup(), and UpdateHistos().

MonitorElement* HcalDetDiagNoiseMonitor::HEP_Rate50
private

Definition at line 87 of file HcalDetDiagNoiseMonitor.h.

Referenced by setup(), and UpdateHistos().

MonitorElement* HcalDetDiagNoiseMonitor::HO0_Rate300
private

Definition at line 97 of file HcalDetDiagNoiseMonitor.h.

Referenced by setup(), and UpdateHistos().

MonitorElement* HcalDetDiagNoiseMonitor::HO0_Rate50
private

Definition at line 94 of file HcalDetDiagNoiseMonitor.h.

Referenced by setup(), and UpdateHistos().

MonitorElement* HcalDetDiagNoiseMonitor::HO1M_Rate300
private

Definition at line 99 of file HcalDetDiagNoiseMonitor.h.

Referenced by setup(), and UpdateHistos().

MonitorElement* HcalDetDiagNoiseMonitor::HO1M_Rate50
private

Definition at line 96 of file HcalDetDiagNoiseMonitor.h.

Referenced by setup(), and UpdateHistos().

MonitorElement* HcalDetDiagNoiseMonitor::HO1P_Rate300
private

Definition at line 98 of file HcalDetDiagNoiseMonitor.h.

Referenced by setup(), and UpdateHistos().

MonitorElement* HcalDetDiagNoiseMonitor::HO1P_Rate50
private

Definition at line 95 of file HcalDetDiagNoiseMonitor.h.

Referenced by setup(), and UpdateHistos().

MonitorElement* HcalDetDiagNoiseMonitor::HO_RBXmapSpikeCnt
private

Definition at line 103 of file HcalDetDiagNoiseMonitor.h.

Referenced by endLuminosityBlock(), and setup().

MonitorElement* HcalDetDiagNoiseMonitor::HPDEnergy
private

Definition at line 106 of file HcalDetDiagNoiseMonitor.h.

Referenced by analyze(), and setup().

double HcalDetDiagNoiseMonitor::HPDthresholdHi
private

Definition at line 67 of file HcalDetDiagNoiseMonitor.h.

Referenced by analyze(), and HcalDetDiagNoiseMonitor().

double HcalDetDiagNoiseMonitor::HPDthresholdLo
private

Definition at line 68 of file HcalDetDiagNoiseMonitor.h.

Referenced by analyze(), and HcalDetDiagNoiseMonitor().

int HcalDetDiagNoiseMonitor::ievt_
private
int HcalDetDiagNoiseMonitor::LastOrbit
private
int HcalDetDiagNoiseMonitor::LastOrbitLS
private

Definition at line 78 of file HcalDetDiagNoiseMonitor.h.

Referenced by analyze(), and HcalDetDiagNoiseMonitor().

bool HcalDetDiagNoiseMonitor::LocalRun
private
MonitorElement* HcalDetDiagNoiseMonitor::meEVT_
private

Definition at line 83 of file HcalDetDiagNoiseMonitor.h.

Referenced by analyze(), and setup().

bool HcalDetDiagNoiseMonitor::newLS
private

Definition at line 74 of file HcalDetDiagNoiseMonitor.h.

Referenced by analyze(), and endLuminosityBlock().

int HcalDetDiagNoiseMonitor::NoisyEvents
private

Definition at line 80 of file HcalDetDiagNoiseMonitor.h.

Referenced by analyze(), and HcalDetDiagNoiseMonitor().

MonitorElement* HcalDetDiagNoiseMonitor::NZeroes
private

Definition at line 108 of file HcalDetDiagNoiseMonitor.h.

Referenced by analyze(), and setup().

std::string HcalDetDiagNoiseMonitor::OutputFilePath
private

Definition at line 60 of file HcalDetDiagNoiseMonitor.h.

Referenced by HcalDetDiagNoiseMonitor(), and SaveRates().

bool HcalDetDiagNoiseMonitor::Overwrite
private

Definition at line 61 of file HcalDetDiagNoiseMonitor.h.

Referenced by HcalDetDiagNoiseMonitor(), and SaveRates().

MonitorElement* HcalDetDiagNoiseMonitor::PixelMult
private

Definition at line 105 of file HcalDetDiagNoiseMonitor.h.

Referenced by analyze(), and setup().

MonitorElement* HcalDetDiagNoiseMonitor::RBXEnergy
private

Definition at line 107 of file HcalDetDiagNoiseMonitor.h.

Referenced by analyze(), and setup().

HcalDetDiagNoiseRMSummary* HcalDetDiagNoiseMonitor::RMSummary
private
int HcalDetDiagNoiseMonitor::run_number
private

Definition at line 79 of file HcalDetDiagNoiseMonitor.h.

Referenced by analyze(), HcalDetDiagNoiseMonitor(), and SaveRates().

bool HcalDetDiagNoiseMonitor::setupDone_
private

Definition at line 65 of file HcalDetDiagNoiseMonitor.h.

Referenced by HcalDetDiagNoiseMonitor(), and setup().

double HcalDetDiagNoiseMonitor::SpikeThreshold
private

Definition at line 69 of file HcalDetDiagNoiseMonitor.h.

Referenced by endLuminosityBlock(), and HcalDetDiagNoiseMonitor().

edm::EDGetTokenT<HBHEDigiCollection> HcalDetDiagNoiseMonitor::tok_hbhe_
private

Definition at line 56 of file HcalDetDiagNoiseMonitor.h.

Referenced by analyze(), and HcalDetDiagNoiseMonitor().

edm::EDGetTokenT<HODigiCollection> HcalDetDiagNoiseMonitor::tok_ho_
private

Definition at line 57 of file HcalDetDiagNoiseMonitor.h.

Referenced by analyze(), and HcalDetDiagNoiseMonitor().

edm::EDGetTokenT<L1GlobalTriggerReadoutRecord> HcalDetDiagNoiseMonitor::tok_l1_
private

Definition at line 55 of file HcalDetDiagNoiseMonitor.h.

Referenced by analyze(), and HcalDetDiagNoiseMonitor().

edm::EDGetTokenT<FEDRawDataCollection> HcalDetDiagNoiseMonitor::tok_raw_
private

Definition at line 53 of file HcalDetDiagNoiseMonitor.h.

Referenced by analyze(), and HcalDetDiagNoiseMonitor().

edm::EDGetTokenT<HcalTBTriggerData> HcalDetDiagNoiseMonitor::tok_tb_
private

Definition at line 54 of file HcalDetDiagNoiseMonitor.h.

Referenced by analyze(), and HcalDetDiagNoiseMonitor().

MonitorElement* HcalDetDiagNoiseMonitor::TriggerBx11
private

Definition at line 109 of file HcalDetDiagNoiseMonitor.h.

Referenced by analyze(), and setup().

MonitorElement* HcalDetDiagNoiseMonitor::TriggerBx12
private

Definition at line 110 of file HcalDetDiagNoiseMonitor.h.

Referenced by analyze(), and setup().

bool HcalDetDiagNoiseMonitor::UseDB
private

Definition at line 64 of file HcalDetDiagNoiseMonitor.h.

Referenced by HcalDetDiagNoiseMonitor().