CMS 3D CMS Logo

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

#include <DigiTask.h>

Inheritance diagram for DigiTask:
hcaldqm::DQTask DQMEDAnalyzer hcaldqm::DQModule edm::stream::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > > edm::stream::EDAnalyzerBase edm::EDConsumerBase

Public Member Functions

virtual void beginLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &)
 
virtual void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &)
 
 DigiTask (edm::ParameterSet const &)
 
virtual void endLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &)
 
virtual ~DigiTask ()
 
- Public Member Functions inherited from hcaldqm::DQTask
virtual void analyze (edm::Event const &, edm::EventSetup const &)
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
 DQTask (edm::ParameterSet const &)
 
virtual ~DQTask ()
 
- 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
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 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 (std::string const &iProcessName, std::string const &iModuleLabel, bool iPrint, std::vector< char const * > &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 ()
 
- Public Member Functions inherited from hcaldqm::DQModule
 DQModule (edm::ParameterSet const &)
 
virtual ~DQModule ()
 

Public Attributes

tuple digiTask
 

Protected Types

enum  DigiFlag { fDigiSize =0, fUni = 1, fNChsHF = 2, nDigiFlag = 3 }
 

Protected Member Functions

virtual void _process (edm::Event const &, edm::EventSetup const &)
 
virtual void _resetMonitors (UpdateFreq)
 
- Protected Member Functions inherited from hcaldqm::DQTask
virtual int _getCalibType (edm::Event const &)
 
virtual bool _isApplicable (edm::Event const &)
 
- 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

Container1D _cADC_SubdetPM
 
Container1D _cDigiSize_FED
 
ContainerProf1D _cDigiSizevsLS_FED
 
Container1D _cfC_SubdetPM
 
Container2D _cOccupancy_depth
 
Container2D _cOccupancy_ElectronicsuTCA
 
Container2D _cOccupancy_ElectronicsVME
 
Container2D _cOccupancy_FEDuTCA
 
Container2D _cOccupancy_FEDVME
 
Container2D _cOccupancyCut_depth
 
Container2D _cOccupancyCut_ElectronicsuTCA
 
Container2D _cOccupancyCut_ElectronicsVME
 
Container2D _cOccupancyCut_FEDuTCA
 
Container2D _cOccupancyCut_FEDVME
 
ContainerProf1D _cOccupancyCutvsBX_Subdet
 
Container1D _cOccupancyCutvsieta_Subdet
 
Container1D _cOccupancyCutvsiphi_SubdetPM
 
Container2D _cOccupancyCutvsiphivsLS_SubdetPM
 
ContainerProf1D _cOccupancyCutvsLS_Subdet
 
Container2D _cOccupancyCutvsSlotvsLS_HFPM
 
Container1D _cOccupancyvsieta_Subdet
 
Container1D _cOccupancyvsiphi_SubdetPM
 
ContainerProf1D _cOccupancyvsLS_Subdet
 
ContainerProf1D _cQ2Q12CutvsLS_FEDHF
 
Container1D _cShapeCut_FED
 
ContainerSingle2D _cSummaryvsLS
 
Container2D _cSummaryvsLS_FED
 
ContainerProf2D _cSumQ_depth
 
Container1D _cSumQ_SubdetPM
 
ContainerProf1D _cSumQvsBX_SubdetPM
 
ContainerProf1D _cSumQvsLS_SubdetPM
 
ContainerProf2D _cTimingCut_depth
 
ContainerProf2D _cTimingCut_ElectronicsuTCA
 
ContainerProf2D _cTimingCut_ElectronicsVME
 
ContainerProf2D _cTimingCut_FEDuTCA
 
ContainerProf2D _cTimingCut_FEDVME
 
Container1D _cTimingCut_SubdetPM
 
ContainerProf1D _cTimingCutvsieta_Subdet
 
ContainerProf1D _cTimingCutvsiphi_SubdetPM
 
ContainerProf1D _cTimingCutvsLS_FED
 
double _cutSumQ_HBHE
 
double _cutSumQ_HF
 
double _cutSumQ_HO
 
electronicsmap::ElectronicsMap _ehashmap
 
HcalElectronicsMap const * _emap
 
HashFilter _filter_FEDHF
 
HashFilter _filter_HF
 
HashFilter _filter_uTCA
 
HashFilter _filter_VME
 
edm::InputTag _tagHBHE
 
edm::InputTag _tagHF
 
edm::InputTag _tagHO
 
double _thresh_unihf
 
edm::EDGetTokenT
< HBHEDigiCollection
_tokHBHE
 
edm::EDGetTokenT
< HFDigiCollection
_tokHF
 
edm::EDGetTokenT
< HODigiCollection
_tokHO
 
std::vector< flag::Flag_vflags
 
std::vector< uint32_t > _vhashFEDs
 
ContainerXXX< uint32_t > _xDigiSize
 
ContainerXXX< uint32_t > _xNChs
 
ContainerXXX< uint32_t > _xNChsNominal
 
ContainerXXX< uint32_t > _xUni
 
ContainerXXX< uint32_t > _xUniHF
 
MonitorElementmeNumEvents1LS
 
- Protected Attributes inherited from hcaldqm::DQTask
ContainerI _cEvsPerLS
 
ContainerI _cEvsTotal
 
ContainerS _cProcessingTypeName
 
ContainerS _cRunKeyName
 
ContainerI _cRunKeyVal
 
int _procLSs
 
edm::InputTag _tagRaw
 
edm::EDGetTokenT
< FEDRawDataCollection
_tokRaw
 
std::vector< uint32_t > _vcdaqEids
 
ContainerXXX< uint32_t > _xQuality
 
- Protected Attributes inherited from hcaldqm::DQModule
int _currentLS
 
int _debug
 
int _evsPerLS
 
int _evsTotal
 
Logger _logger
 
int _maxLS
 
ModuleType _mtype
 
std::string _name
 
ProcessingType _ptype
 
std::string _runkeyName
 
int _runkeyVal
 
std::string _subsystem
 

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
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- 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)
 

Detailed Description

Definition at line 31 of file DigiTask.h.

Member Enumeration Documentation

enum DigiTask::DigiFlag
protected
Enumerator
fDigiSize 
fUni 
fNChsHF 
nDigiFlag 

Definition at line 60 of file DigiTask.h.

61  {
62  fDigiSize=0,
63  fUni = 1,
64  fNChsHF = 2,
65  nDigiFlag = 3
66  };

Constructor & Destructor Documentation

DigiTask::DigiTask ( edm::ParameterSet const &  ps)

Definition at line 3 of file DigiTask.cc.

References _cutSumQ_HBHE, _cutSumQ_HF, _cutSumQ_HO, _tagHBHE, _tagHF, _tagHO, _thresh_unihf, _tokHBHE, _tokHF, _tokHO, _vflags, fDigiSize, fNChsHF, fUni, edm::ParameterSet::getUntrackedParameter(), HLT_25ns10e33_v2_cff::InputTag, and nDigiFlag.

3  :
4  DQTask(ps)
5 {
6  _tagHBHE = ps.getUntrackedParameter<edm::InputTag>("tagHBHE",
7  edm::InputTag("hcalDigis"));
8  _tagHO = ps.getUntrackedParameter<edm::InputTag>("tagHO",
9  edm::InputTag("hcalDigis"));
10  _tagHF = ps.getUntrackedParameter<edm::InputTag>("tagHF",
11  edm::InputTag("hcalDigis"));
12 
13  _tokHBHE = consumes<HBHEDigiCollection>(_tagHBHE);
14  _tokHO = consumes<HODigiCollection>(_tagHO);
15  _tokHF = consumes<HFDigiCollection>(_tagHF);
16 
17  _cutSumQ_HBHE = ps.getUntrackedParameter<double>("cutSumQ_HBHE", 20);
18  _cutSumQ_HO = ps.getUntrackedParameter<double>("cutSumQ_HO", 20);
19  _cutSumQ_HF = ps.getUntrackedParameter<double>("cutSumQ_HF", 20);
20  _thresh_unihf = ps.getUntrackedParameter<double>("thresh_unihf", 0.2);
21 
22  _vflags.resize(nDigiFlag);
23  _vflags[fUni]=flag::Flag("UniSlotHF");
24  _vflags[fDigiSize]=flag::Flag("DigiSize");
25  _vflags[fNChsHF]=flag::Flag("NChsHF");
26 }
DQTask(edm::ParameterSet const &)
Definition: DQTask.cc:7
edm::InputTag _tagHO
Definition: DigiTask.h:49
edm::EDGetTokenT< HBHEDigiCollection > _tokHBHE
Definition: DigiTask.h:51
edm::EDGetTokenT< HFDigiCollection > _tokHF
Definition: DigiTask.h:53
double _cutSumQ_HO
Definition: DigiTask.h:55
double _thresh_unihf
Definition: DigiTask.h:56
edm::EDGetTokenT< HODigiCollection > _tokHO
Definition: DigiTask.h:52
edm::InputTag _tagHBHE
Definition: DigiTask.h:48
double _cutSumQ_HF
Definition: DigiTask.h:55
double _cutSumQ_HBHE
Definition: DigiTask.h:55
std::vector< flag::Flag > _vflags
Definition: DigiTask.h:59
edm::InputTag _tagHF
Definition: DigiTask.h:50
virtual DigiTask::~DigiTask ( )
inlinevirtual

Definition at line 35 of file DigiTask.h.

35 {}

Member Function Documentation

void DigiTask::_process ( edm::Event const &  e,
edm::EventSetup const &   
)
protectedvirtual

Implements hcaldqm::DQTask.

Definition at line 374 of file DigiTask.cc.

References _cADC_SubdetPM, _cDigiSize_FED, _cDigiSizevsLS_FED, _cfC_SubdetPM, _cOccupancy_depth, _cOccupancy_ElectronicsuTCA, _cOccupancy_ElectronicsVME, _cOccupancy_FEDuTCA, _cOccupancy_FEDVME, _cOccupancyCut_depth, _cOccupancyCut_ElectronicsuTCA, _cOccupancyCut_ElectronicsVME, _cOccupancyCut_FEDuTCA, _cOccupancyCut_FEDVME, _cOccupancyCutvsBX_Subdet, _cOccupancyCutvsieta_Subdet, _cOccupancyCutvsiphi_SubdetPM, _cOccupancyCutvsiphivsLS_SubdetPM, _cOccupancyCutvsLS_Subdet, _cOccupancyvsieta_Subdet, _cOccupancyvsiphi_SubdetPM, _cOccupancyvsLS_Subdet, _cQ2Q12CutvsLS_FEDHF, _cShapeCut_FED, _cSumQ_depth, _cSumQ_SubdetPM, _cSumQvsBX_SubdetPM, _cSumQvsLS_SubdetPM, _cTimingCut_depth, _cTimingCut_ElectronicsuTCA, _cTimingCut_ElectronicsVME, _cTimingCut_FEDuTCA, _cTimingCut_FEDVME, _cTimingCut_SubdetPM, _cTimingCutvsieta_Subdet, _cTimingCutvsiphi_SubdetPM, _cTimingCutvsLS_FED, hcaldqm::DQModule::_currentLS, _cutSumQ_HBHE, _cutSumQ_HF, _cutSumQ_HO, hcaldqm::DQModule::_logger, hcaldqm::DQModule::_ptype, _tagHBHE, _tagHF, _tagHO, _tokHBHE, _tokHF, _tokHO, _xDigiSize, _xNChs, _xUniHF, edm::EventBase::bunchCrossing(), hcaldqm::constants::DIGISIZE, Logger::dqmthrow(), hcaldqm::Container2D::fill(), hcaldqm::Container1D::fill(), MonitorElement::Fill(), hcaldqm::fOnline, hcaldqm::ContainerXXX< STDTYPE >::get(), edm::Event::getByToken(), HcalBarrel, HcalEndcap, HcalForward, HcalOuter, i, edm::InputTag::instance(), HcalElectronicsId::isVMEid(), edm::InputTag::label(), meNumEvents1LS, q1, q2, and hcaldqm::utilities::sumQ().

376 {
380 
381  if (!e.getByToken(_tokHBHE, chbhe))
382  _logger.dqmthrow("Collection HBHEDigiCollection isn't available"
383  + _tagHBHE.label() + " " + _tagHBHE.instance());
384  if (!e.getByToken(_tokHO, cho))
385  _logger.dqmthrow("Collection HODigiCollection isn't available"
386  + _tagHO.label() + " " + _tagHO.instance());
387  if (!e.getByToken(_tokHF, chf))
388  _logger.dqmthrow("Collection HFDigiCollection isn't available"
389  + _tagHF.label() + " " + _tagHF.instance());
390 
391  // extract some info per event
392  int bx = e.bunchCrossing();
393  meNumEvents1LS->Fill(0.5); // just increment
394 
395  // HB collection
396  int numChs = 0;
397  int numChsCut = 0;
398  int numChsHE = 0;
399  int numChsCutHE = 0;
400  for (HBHEDigiCollection::const_iterator it=chbhe->begin(); it!=chbhe->end();
401  ++it)
402  {
403  double sumQ = utilities::sumQ<HBHEDataFrame>(*it, 2.5, 0, it->size()-1);
404  HcalDetId const& did = it->id();
405  HcalElectronicsId const& eid = it->elecId();
406 
407  _cSumQ_SubdetPM.fill(did, sumQ);
408  _cOccupancy_depth.fill(did);
409  if (_ptype==fOnline)
410  {
411  _cDigiSizevsLS_FED.fill(eid, _currentLS, it->size());
412  it->size()!=constants::DIGISIZE[did.subdet()-1]?
413  _xDigiSize.get(eid)++:_xDigiSize.get(eid)+=0;
416  }
417  _cDigiSize_FED.fill(eid, it->size());
418  if (eid.isVMEid())
419  {
422  }
423  else
424  {
427  /*
428  if (!it->validate(0, it->size()))
429  {
430  _cCapIdRots_depth.fill(did);
431  _cCapIdRots_FEDuTCA.fill(eid, 1);
432  }*/
433  }
434 
435  for (int i=0; i<it->size(); i++)
436  {
437  _cADC_SubdetPM.fill(did, it->sample(i).adc());
438  _cfC_SubdetPM.fill(did, it->sample(i).nominal_fC());
439  if (sumQ>_cutSumQ_HBHE)
440  _cShapeCut_FED.fill(eid, i, it->sample(i).nominal_fC());
441  }
442 
443  if (sumQ>_cutSumQ_HBHE)
444  {
445  double timing = utilities::aveTS<HBHEDataFrame>(*it, 2.5, 0,
446  it->size()-1);
447  _cTimingCut_SubdetPM.fill(did, timing);
448  _cTimingCut_depth.fill(did, timing);
450  _cTimingCutvsLS_FED.fill(eid, _currentLS, timing);
451  _cSumQ_depth.fill(did, sumQ);
452  _cSumQvsLS_SubdetPM.fill(did, _currentLS, sumQ);
453  if (_ptype==fOnline)
454  {
455  _cSumQvsBX_SubdetPM.fill(did, bx, sumQ);
456  _cTimingCutvsiphi_SubdetPM.fill(did, timing);
457  _cTimingCutvsieta_Subdet.fill(did, timing);
461  }
462  if (eid.isVMEid())
463  {
464  _cTimingCut_FEDVME.fill(eid, timing);
465  _cTimingCut_ElectronicsVME.fill(eid, timing);
468  }
469  else
470  {
471  _cTimingCut_FEDuTCA.fill(eid, timing);
472  _cTimingCut_ElectronicsuTCA.fill(eid, timing);
475  }
476  did.subdet()==HcalBarrel?numChsCut++:numChsCutHE++;
477  }
478  did.subdet()==HcalBarrel?numChs++:numChsHE++;
479  }
481  numChs);
483  numChsHE);
484  // ONLINE ONLY!
485  if (_ptype==fOnline)
486  {
488  _currentLS, numChsCut);
490  numChsCut);
492  _currentLS, numChsCutHE);
494  numChsCutHE);
495  }
496  // ^^^ONLINE ONLY!
497  numChs=0;
498  numChsCut = 0;
499 
500  // HO collection
501  for (HODigiCollection::const_iterator it=cho->begin(); it!=cho->end();
502  ++it)
503  {
504  double sumQ = utilities::sumQ<HODataFrame>(*it, 8.5, 0, it->size()-1);
505  HcalDetId const& did = it->id();
506  HcalElectronicsId const& eid = it->elecId();
507 
508  _cSumQ_SubdetPM.fill(did, sumQ);
509  _cOccupancy_depth.fill(did);
510  if (_ptype==fOnline)
511  {
512  _cDigiSizevsLS_FED.fill(eid, _currentLS, it->size());
513  it->size()!=constants::DIGISIZE[did.subdet()-1]?
514  _xDigiSize.get(eid)++:_xDigiSize.get(eid)+=0;
517  }
518  _cDigiSize_FED.fill(eid, it->size());
519  if (eid.isVMEid())
520  {
523  /*
524  if (!it->validate(0, it->size()))
525  _cCapIdRots_FEDVME.fill(eid, 1);
526  */
527  }
528  else
529  {
532  /*
533  if (!it->validate(0, it->size()))
534  _cCapIdRots_FEDuTCA.fill(eid, 1);*/
535  }
536 
537  for (int i=0; i<it->size(); i++)
538  {
539  _cADC_SubdetPM.fill(did, it->sample(i).adc());
540  _cfC_SubdetPM.fill(did, it->sample(i).nominal_fC());
541  if (sumQ>_cutSumQ_HO)
542  _cShapeCut_FED.fill(eid, i, it->sample(i).nominal_fC());
543  }
544 
545  if (sumQ>_cutSumQ_HO)
546  {
547  double timing = utilities::aveTS<HODataFrame>(*it, 8.5, 0,
548  it->size()-1);
549  _cSumQ_depth.fill(did, sumQ);
550  _cSumQvsLS_SubdetPM.fill(did, _currentLS, sumQ);
552  _cTimingCut_SubdetPM.fill(did, timing);
553  _cTimingCut_depth.fill(did, timing);
554  _cTimingCutvsLS_FED.fill(eid, _currentLS, timing);
555  if (_ptype==fOnline)
556  {
557  _cSumQvsBX_SubdetPM.fill(did, bx, sumQ);
558  _cTimingCutvsiphi_SubdetPM.fill(did, timing);
559  _cTimingCutvsieta_Subdet.fill(did, timing);
563  }
564  if (eid.isVMEid())
565  {
566  _cTimingCut_FEDVME.fill(eid, timing);
567  _cTimingCut_ElectronicsVME.fill(eid, timing);
570  }
571  else
572  {
573  _cTimingCut_FEDuTCA.fill(eid, timing);
574  _cTimingCut_ElectronicsuTCA.fill(eid, timing);
577  }
578  numChsCut++;
579  }
580  numChs++;
581  }
583  numChs);
584 
585  if (_ptype==fOnline)
586  {
588  _currentLS, numChsCut);
590  numChsCut);
591  }
592  numChs=0; numChsCut=0;
593 
594  // HF collection
595  for (HFDigiCollection::const_iterator it=chf->begin(); it!=chf->end();
596  ++it)
597  {
598  double sumQ = utilities::sumQ<HFDataFrame>(*it, 2.5, 0, it->size()-1);
599  HcalDetId const& did = it->id();
600  HcalElectronicsId const& eid = it->elecId();
601 
602  _cSumQ_SubdetPM.fill(did, sumQ);
603  _cOccupancy_depth.fill(did);
604  if (_ptype==fOnline)
605  {
606  _xNChs.get(eid)++;
607  _cDigiSizevsLS_FED.fill(eid, _currentLS, it->size());
608  it->size()!=constants::DIGISIZE[did.subdet()-1]?
609  _xDigiSize.get(eid)++:_xDigiSize.get(eid)+=0;
612  }
613  _cDigiSize_FED.fill(eid, it->size());
614  if (eid.isVMEid())
615  {
618  /*
619  if (!it->validate(0, it->size()))
620  _cCapIdRots_FEDVME.fill(eid, 1);*/
621  }
622  else
623  {
626  /*
627  if (!it->validate(0, it->size()))
628  _cCapIdRots_FEDuTCA.fill(eid, 1);*/
629  }
630 
631  for (int i=0; i<it->size(); i++)
632  {
633  _cADC_SubdetPM.fill(did, it->sample(i).adc());
634  _cfC_SubdetPM.fill(did, it->sample(i).nominal_fC());
635  if (sumQ>_cutSumQ_HF)
636  _cShapeCut_FED.fill(eid, i, it->sample(i).nominal_fC());
637  }
638 
639  if (sumQ>_cutSumQ_HF)
640  {
641  double timing = utilities::aveTS<HFDataFrame>(*it, 2.5, 0,
642  it->size()-1);
643  double q1 = it->sample(1).nominal_fC()-2.5;
644  double q2 = it->sample(2).nominal_fC()-2.5;
645  double q2q12 = q2/(q1+q2);
646  _cSumQ_depth.fill(did, sumQ);
647  _cSumQvsLS_SubdetPM.fill(did, _currentLS, sumQ);
648  if (_ptype==fOnline)
649  {
650  _cSumQvsBX_SubdetPM.fill(did, bx, sumQ);
651  _cTimingCutvsiphi_SubdetPM.fill(did, timing);
652  _cTimingCutvsieta_Subdet.fill(did, timing);
656 // _cOccupancyCutvsSlotvsLS_HFPM.fill(did, _currentLS);
657  _xUniHF.get(eid)++;
658  }
659  _cTimingCut_SubdetPM.fill(did, timing);
660  _cTimingCut_depth.fill(did, timing);
661  _cTimingCutvsLS_FED.fill(eid, _currentLS, timing);
663  if (!eid.isVMEid())
664  if (_ptype==fOnline)
665  _cQ2Q12CutvsLS_FEDHF.fill(eid, _currentLS, q2q12);
666  if (eid.isVMEid())
667  {
668  _cTimingCut_FEDVME.fill(eid, timing);
669  _cTimingCut_ElectronicsVME.fill(eid, timing);
672  }
673  else
674  {
675  _cTimingCut_FEDuTCA.fill(eid, timing);
676  _cTimingCut_ElectronicsuTCA.fill(eid, timing);
679  }
680  numChsCut++;
681  }
682  numChs++;
683  }
685  numChs);
686 
687  if (_ptype==fOnline)
688  {
690  _currentLS, numChsCut);
692  numChsCut);
693  }
694 }
Container2D _cOccupancy_FEDVME
Definition: DigiTask.h:110
ContainerProf2D _cTimingCut_FEDVME
Definition: DigiTask.h:96
Container1D _cOccupancyCutvsieta_Subdet
Definition: DigiTask.h:127
MonitorElement * meNumEvents1LS
Definition: DigiTask.h:145
int i
Definition: DBlmapReader.cc:9
ContainerProf2D _cTimingCut_FEDuTCA
Definition: DigiTask.h:97
Container2D _cOccupancyCutvsiphivsLS_SubdetPM
Definition: DigiTask.h:129
Container2D _cOccupancyCut_FEDVME
Definition: DigiTask.h:121
edm::InputTag _tagHO
Definition: DigiTask.h:49
Container1D _cOccupancyCutvsiphi_SubdetPM
Definition: DigiTask.h:126
edm::EDGetTokenT< HBHEDigiCollection > _tokHBHE
Definition: DigiTask.h:51
edm::EDGetTokenT< HFDigiCollection > _tokHF
Definition: DigiTask.h:53
double _cutSumQ_HO
Definition: DigiTask.h:55
Container2D _cOccupancyCut_depth
Definition: DigiTask.h:125
std::vector< HBHEDataFrame >::const_iterator const_iterator
edm::EDGetTokenT< HODigiCollection > _tokHO
Definition: DigiTask.h:52
unsigned long long bx[ScalersRaw::N_BX_v2]
Definition: ScalersRaw.h:228
ContainerProf1D _cTimingCutvsiphi_SubdetPM
Definition: DigiTask.h:102
Container1D _cDigiSize_FED
Definition: DigiTask.h:137
double q2[4]
Definition: TauolaWrapper.h:88
Container1D _cADC_SubdetPM
Definition: DigiTask.h:83
Container1D _cShapeCut_FED
Definition: DigiTask.h:91
ContainerXXX< uint32_t > _xNChs
Definition: DigiTask.h:141
ContainerProf1D _cQ2Q12CutvsLS_FEDHF
Definition: DigiTask.h:106
void Fill(long long x)
ContainerProf2D _cTimingCut_depth
Definition: DigiTask.h:101
ContainerXXX< uint32_t > _xUniHF
Definition: DigiTask.h:140
ContainerProf2D _cSumQ_depth
Definition: DigiTask.h:86
Container1D _cfC_SubdetPM
Definition: DigiTask.h:84
virtual void fill(HcalDetId const &)
Definition: Container2D.cc:59
ProcessingType _ptype
Definition: DQModule.h:59
virtual void fill(uint32_t)
Definition: Container1D.cc:82
edm::InputTag _tagHBHE
Definition: DigiTask.h:48
void dqmthrow(std::string const &msg) const
Definition: Logger.h:15
Container2D _cOccupancy_ElectronicsuTCA
Definition: DigiTask.h:113
ContainerProf1D _cSumQvsBX_SubdetPM
Definition: DigiTask.h:88
Container2D _cOccupancyCut_ElectronicsVME
Definition: DigiTask.h:123
Container2D _cOccupancyCut_FEDuTCA
Definition: DigiTask.h:122
double _cutSumQ_HF
Definition: DigiTask.h:55
Container1D _cSumQ_SubdetPM
Definition: DigiTask.h:85
double _cutSumQ_HBHE
Definition: DigiTask.h:55
Logger _logger
Definition: DQModule.h:70
ContainerProf1D _cOccupancyCutvsBX_Subdet
Definition: DigiTask.h:134
Container1D _cTimingCut_SubdetPM
Definition: DigiTask.h:95
Container2D _cOccupancy_depth
Definition: DigiTask.h:114
bool isVMEid() const
edm::InputTag _tagHF
Definition: DigiTask.h:50
double q1[4]
Definition: TauolaWrapper.h:87
ContainerProf1D _cTimingCutvsieta_Subdet
Definition: DigiTask.h:103
int const DIGISIZE[SUBDET_NUM]
Definition: Constants.h:132
ContainerProf2D _cTimingCut_ElectronicsuTCA
Definition: DigiTask.h:99
std::string const & label() const
Definition: InputTag.h:36
ContainerProf1D _cTimingCutvsLS_FED
Definition: DigiTask.h:100
virtual STDTYPE & get(HcalDetId const &)
Definition: ContainerXXX.h:243
Container1D _cOccupancyvsieta_Subdet
Definition: DigiTask.h:116
ContainerProf1D _cOccupancyCutvsLS_Subdet
Definition: DigiTask.h:133
ContainerProf1D _cDigiSizevsLS_FED
Definition: DigiTask.h:138
ContainerProf1D _cOccupancyvsLS_Subdet
Definition: DigiTask.h:132
Container2D _cOccupancy_FEDuTCA
Definition: DigiTask.h:111
ContainerProf1D _cSumQvsLS_SubdetPM
Definition: DigiTask.h:87
ContainerProf2D _cTimingCut_ElectronicsVME
Definition: DigiTask.h:98
ContainerXXX< uint32_t > _xDigiSize
Definition: DigiTask.h:139
Readout chain identification for Hcal.
std::string const & instance() const
Definition: InputTag.h:37
Container2D _cOccupancy_ElectronicsVME
Definition: DigiTask.h:112
Container1D _cOccupancyvsiphi_SubdetPM
Definition: DigiTask.h:115
Container2D _cOccupancyCut_ElectronicsuTCA
Definition: DigiTask.h:124
double sumQ(DIGI const &digi, double ped, int i=0, int j=3)
Definition: Utilities.h:52
void DigiTask::_resetMonitors ( UpdateFreq  uf)
protectedvirtual

Reimplemented from hcaldqm::DQTask.

Definition at line 369 of file DigiTask.cc.

370 {
371  DQTask::_resetMonitors(uf);
372 }
void DigiTask::beginLuminosityBlock ( edm::LuminosityBlock const &  lb,
edm::EventSetup const &  es 
)
virtual

Reimplemented from hcaldqm::DQTask.

Definition at line 696 of file DigiTask.cc.

698 {
699  DQTask::beginLuminosityBlock(lb, es);
700 
701  /*
702  _cOccupancyvsLS_Subdet.extendAxisRange(_currentLS);
703  _cSumQvsLS_SubdetPM.extendAxisRange(_currentLS);
704  _cTimingCutvsLS_FED.extendAxisRange(_currentLS);
705 
706  // ONLINE ONLY
707  if (_ptype!=fOnline)
708  return;
709  _cQ2Q12CutvsLS_FEDHF.extendAxisRange(_currentLS);
710  _cOccupancyCutvsiphivsLS_SubdetPM.extendAxisRange(_currentLS);
711  _cOccupancyCutvsLS_Subdet.extendAxisRange(_currentLS);
712  _cDigiSizevsLS_FED.extendAxisRange(_currentLS);
713 // _cSummaryvsLS_FED.extendAxisRange(_currentLS);
714 // _cSummaryvsLS.extendAxisRange(_currentLS);
715  */
716 }
void DigiTask::bookHistograms ( DQMStore::IBooker ib,
edm::Run const &  r,
edm::EventSetup const &  es 
)
virtual

Reimplemented from hcaldqm::DQTask.

Definition at line 28 of file DigiTask.cc.

References _cADC_SubdetPM, _cDigiSize_FED, _cDigiSizevsLS_FED, _cfC_SubdetPM, _cOccupancy_depth, _cOccupancy_ElectronicsuTCA, _cOccupancy_ElectronicsVME, _cOccupancy_FEDuTCA, _cOccupancy_FEDVME, _cOccupancyCut_depth, _cOccupancyCut_ElectronicsuTCA, _cOccupancyCut_ElectronicsVME, _cOccupancyCut_FEDuTCA, _cOccupancyCut_FEDVME, _cOccupancyCutvsBX_Subdet, _cOccupancyCutvsieta_Subdet, _cOccupancyCutvsiphi_SubdetPM, _cOccupancyCutvsiphivsLS_SubdetPM, _cOccupancyCutvsLS_Subdet, _cOccupancyvsieta_Subdet, _cOccupancyvsiphi_SubdetPM, _cOccupancyvsLS_Subdet, _cQ2Q12CutvsLS_FEDHF, _cShapeCut_FED, _cSummaryvsLS, _cSummaryvsLS_FED, _cSumQ_depth, _cSumQ_SubdetPM, _cSumQvsBX_SubdetPM, _cSumQvsLS_SubdetPM, _cTimingCut_depth, _cTimingCut_ElectronicsuTCA, _cTimingCut_ElectronicsVME, _cTimingCut_FEDuTCA, _cTimingCut_FEDVME, _cTimingCut_SubdetPM, _cTimingCutvsieta_Subdet, _cTimingCutvsiphi_SubdetPM, _cTimingCutvsLS_FED, _cutSumQ_HBHE, _cutSumQ_HF, _cutSumQ_HO, _ehashmap, _emap, _filter_FEDHF, _filter_HF, _filter_uTCA, _filter_VME, hcaldqm::DQModule::_maxLS, hcaldqm::DQModule::_name, hcaldqm::DQModule::_ptype, hcaldqm::DQModule::_subsystem, _vflags, _vhashFEDs, _xDigiSize, _xNChs, _xNChsNominal, _xUni, _xUniHF, HcalElectronicsMap::allPrecisionId(), hcaldqm::ContainerXXX< STDTYPE >::book(), hcaldqm::ContainerProf2D::book(), hcaldqm::ContainerProf1D::book(), hcaldqm::ContainerSingle2D::book(), hcaldqm::Container2D::book(), hcaldqm::Container1D::book(), DQMStore::IBooker::book1D(), bookHistograms(), hcaldqm::constants::CRATE_uTCA_MIN, hcaldqm::constants::CRATE_VME_MIN, hcaldqm::quantity::fADC_128, hcaldqm::quantity::fBX, hcaldqm::electronicsmap::fD2EHashMap, hcaldqm::quantity::fdepth, hcaldqm::quantity::fDigiSize, hcaldqm::utilities::fed2crate(), hcaldqm::constants::FED_VME_MIN, hcaldqm::hashfunctions::fElectronics, hcaldqm::quantity::ffC_10000, hcaldqm::quantity::fFED, hcaldqm::hashfunctions::fFEDSlot, hcaldqm::quantity::fFiberuTCAFiberCh, hcaldqm::quantity::fFiberVMEFiberCh, hcaldqm::filter::fFilter, hcaldqm::constants::FIBER_uTCA_MIN1, hcaldqm::constants::FIBER_VME_MIN, hcaldqm::constants::FIBERCH_MIN, hcaldqm::quantity::fieta, hcaldqm::quantity::fiphi, hcaldqm::quantity::fN, hcaldqm::quantity::fN_to3000, hcaldqm::fOffline, hcaldqm::fOnline, hcaldqm::filter::fPreserver, hcaldqm::quantity::fRatio_0to2, hcaldqm::quantity::fSlotuTCA, hcaldqm::quantity::fSpigot, hcaldqm::quantity::fState, hcaldqm::quantity::fSubdet, hcaldqm::quantity::fSubdetPM, hcaldqm::quantity::fTiming_TS, hcaldqm::quantity::fTiming_TS200, hcaldqm::ContainerXXX< STDTYPE >::get(), edm::EventSetup::get(), hcaldqm::utilities::getFEDList(), hcaldqm::utilities::getFEDuTCAList(), hcaldqm::utilities::getFEDVMEList(), HcalForward, hcaldqm::ContainerProf2D::initialize(), hcaldqm::Container2D::initialize(), hcaldqm::ContainerProf1D::initialize(), hcaldqm::ContainerXXX< STDTYPE >::initialize(), hcaldqm::ContainerSingle2D::initialize(), hcaldqm::filter::HashFilter::initialize(), hcaldqm::electronicsmap::ElectronicsMap::initialize(), hcaldqm::Container1D::initialize(), hcaldqm::electronicsmap::ElectronicsMap::lookup(), meNumEvents1LS, DQMStore::IBooker::setCurrentFolder(), MonitorElement::setLumiFlag(), hcaldqm::Container1D::setLumiFlag(), hcaldqm::constants::SLOT_uTCA_MIN, and hcaldqm::constants::SPIGOT_MIN.

30 {
32 
33  // GET WHAT YOU NEED
35  es.get<HcalDbRecord>().get(dbs);
36  _emap = dbs->getHcalMapping();
37  std::vector<int> vFEDs = utilities::getFEDList(_emap);
38  std::vector<int> vFEDsVME = utilities::getFEDVMEList(_emap);
39  std::vector<int> vFEDsuTCA = utilities::getFEDuTCAList(_emap);
40  std::vector<uint32_t> vVME;
41  std::vector<uint32_t> vuTCA;
42  std::vector<uint32_t> vFEDHF;
46  FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
48  vVME);
50  vuTCA);
51  vFEDHF.push_back(HcalElectronicsId(22, SLOT_uTCA_MIN,
52  FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
53  vFEDHF.push_back(HcalElectronicsId(29, SLOT_uTCA_MIN,
54  FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
55  vFEDHF.push_back(HcalElectronicsId(32, SLOT_uTCA_MIN,
56  FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
57 
58  // initialize filters
60  vFEDHF);
61 
62  // push the rawIds of each fed into the vector...
63  for (std::vector<int>::const_iterator it=vFEDsVME.begin();
64  it!=vFEDsVME.end(); ++it)
65  _vhashFEDs.push_back(HcalElectronicsId(
67  (*it)-FED_VME_MIN).rawId());
68  for (std::vector<int>::const_iterator it=vFEDsuTCA.begin();
69  it!=vFEDsuTCA.end(); ++it)
70  _vhashFEDs.push_back(HcalElectronicsId(
72  FIBERCH_MIN, false).rawId());
73 
74  // INITIALIZE FIRST
100  _cTimingCut_FEDVME.initialize(_name, "TimingCut",
105  _cTimingCut_FEDuTCA.initialize(_name, "TimingCut",
112  new quantity::FEDQuantity(vFEDsVME),
117  new quantity::FEDQuantity(vFEDsuTCA),
120  _cTimingCutvsLS_FED.initialize(_name, "TimingvsLS",
124  _cTimingCut_depth.initialize(_name, "TimingCut",
129 
130  // Occupancy w/o a cut
131  _cOccupancy_FEDVME.initialize(_name, "Occupancy",
136  _cOccupancy_FEDuTCA.initialize(_name, "Occupancy",
143  new quantity::FEDQuantity(vFEDsVME),
148  new quantity::FEDQuantity(vFEDsuTCA),
151  _cOccupancyvsLS_Subdet.initialize(_name, "OccupancyvsLS",
155  _cOccupancy_depth.initialize(_name, "Occupancy",
160 
161  // Occupancy w/ a cut
162  _cOccupancyCut_FEDVME.initialize(_name, "OccupancyCut",
167  _cOccupancyCut_FEDuTCA.initialize(_name, "OccupancyCut",
174  new quantity::FEDQuantity(vFEDsVME),
179  new quantity::FEDQuantity(vFEDsuTCA),
182  _cOccupancyCutvsLS_Subdet.initialize(_name, "OccupancyCutvsLS",
186  _cOccupancyCut_depth.initialize(_name, "OccupancyCut",
191 
192  _cDigiSize_FED.initialize(_name, "DigiSize",
196 
197  // INITIALIZE HISTOGRAMS that are only for Online
198  if (_ptype==fOnline)
199  {
200  std::vector<uint32_t> vhashHF;
201  vhashHF.push_back(HcalDetId(HcalForward, 31,1,1).rawId());
203  vhashHF);
204 
205  // Charge sharing
214  _cDigiSizevsLS_FED.initialize(_name, "DigiSizevsLS",
218  _cTimingCutvsiphi_SubdetPM.initialize(_name, "TimingCutvsiphi",
222  _cTimingCutvsieta_Subdet.initialize(_name, "TimingCutvsieta",
226  _cOccupancyvsiphi_SubdetPM.initialize(_name, "Occupancyvsiphi",
230  _cOccupancyvsieta_Subdet.initialize(_name, "Occupancyvsieta",
234  _cOccupancyCutvsiphi_SubdetPM.initialize(_name, "OccupancyCutvsiphi",
238  _cOccupancyCutvsieta_Subdet.initialize(_name, "OccupancyCutvsieta",
242  _cOccupancyCutvsLS_Subdet.initialize(_name, "OccupancyCutvsLS",
246  _cOccupancyCutvsBX_Subdet.initialize(_name, "OccupancyCutvsBX",
250 // _cOccupancyCutvsSlotvsLS_HFPM.initialize(_name,
251 // "OccupancyCutvsSlotvsLS", hashfunctions::fSubdetPM,
252 // new quantity::LumiSection(_maxLS),
253 // new quantity::ElectronicsQuantity(quantity::fSlotuTCA),
254 // new quantity::ValueQuantity(quantity::fN));
256  "OccupancyCutvsiphivsLS", hashfunctions::fSubdetPM,
260  _cSummaryvsLS_FED.initialize(_name, "SummaryvsLS",
265  _cSummaryvsLS.initialize(_name, "SummaryvsLS",
267  new quantity::FEDQuantity(vFEDs),
269 
275  }
276 
277  // BOOK HISTOGRAMS
278  char cutstr[200];
279  sprintf(cutstr, "_SumQHBHE%dHO%dHF%d", int(_cutSumQ_HBHE),
280  int(_cutSumQ_HO), int(_cutSumQ_HF));
281  char cutstr2[200];
282  sprintf(cutstr2, "_SumQHF%d", int(_cutSumQ_HF));
283 
285 
290 
292 
300 
312 
314 
315  // BOOK HISTOGRAMS that are only for Online
316  if (_ptype==fOnline)
317  {
329 // _cOccupancyCutvsSlotvsLS_HFPM.book(ib, _emap, _filter_HF, _subsystem);
333 
335  _xNChs.book(_emap);
337  _xUni.book(_emap);
339 
340  // just PER HF FED RECORD THE #CHANNELS
341  // ONLY WAY TO DO THAT AUTOMATICALLY AND W/O HARDCODING 1728
342  // or ANY OTHER VALUES LIKE 2592, 2192
344  std::vector<HcalGenericDetId> gids = _emap->allPrecisionId();
345  for (std::vector<HcalGenericDetId>::const_iterator it=gids.begin();
346  it!=gids.end(); ++it)
347  {
348  if (!it->isHcalDetId())
349  continue;
350  HcalDetId did(it->rawId());
352  _xNChsNominal.get(eid)++; // he will know the nominal #channels per FED
353  }
354  }
355 
356  // MARK THESE HISTOGRAMS AS LUMI BASED FOR OFFLINE PROCESSING
357  if (_ptype==fOffline)
358  {
361  }
362 
363  ib.setCurrentFolder(_subsystem+"/RunInfo");
364  meNumEvents1LS = ib.book1D("NumberOfEvents", "NumberOfEvents",
365  1, 0, 1);
367 }
Container2D _cOccupancy_FEDVME
Definition: DigiTask.h:110
ContainerProf2D _cTimingCut_FEDVME
Definition: DigiTask.h:96
Container1D _cOccupancyCutvsieta_Subdet
Definition: DigiTask.h:127
MonitorElement * meNumEvents1LS
Definition: DigiTask.h:145
ContainerProf2D _cTimingCut_FEDuTCA
Definition: DigiTask.h:97
virtual void initialize(std::string const &folder, hashfunctions::HashType, Quantity *, Quantity *qy=new ValueQuantity(quantity::fN), int debug=0)
Definition: Container1D.cc:40
Container2D _cOccupancyCutvsiphivsLS_SubdetPM
Definition: DigiTask.h:129
int const CRATE_VME_MIN
Definition: Constants.h:60
uint16_t fed2crate(int fed)
Definition: Utilities.cc:12
Container2D _cOccupancyCut_FEDVME
Definition: DigiTask.h:121
Container1D _cOccupancyCutvsiphi_SubdetPM
Definition: DigiTask.h:126
void initialize(HcalElectronicsMap const *, ElectronicsMapType etype=fHcalElectronicsMap)
double _cutSumQ_HO
Definition: DigiTask.h:55
Container2D _cOccupancyCut_depth
Definition: DigiTask.h:125
Container2D _cSummaryvsLS_FED
Definition: DigiTask.h:147
int const SPIGOT_MIN
Definition: Constants.h:85
ContainerProf1D _cTimingCutvsiphi_SubdetPM
Definition: DigiTask.h:102
Container1D _cDigiSize_FED
Definition: DigiTask.h:137
int const FIBER_VME_MIN
Definition: Constants.h:90
void bookHistograms(fwlite::EventContainer &eventCont)
Container1D _cADC_SubdetPM
Definition: DigiTask.h:83
Container1D _cShapeCut_FED
Definition: DigiTask.h:91
int const FIBERCH_MIN
Definition: Constants.h:100
ContainerXXX< uint32_t > _xNChs
Definition: DigiTask.h:141
ContainerProf1D _cQ2Q12CutvsLS_FEDHF
Definition: DigiTask.h:106
virtual void book(DQMStore::IBooker &, std::string subsystem="Hcal", std::string aux="")
std::vector< int > getFEDVMEList(HcalElectronicsMap const *)
Definition: Utilities.cc:71
ContainerProf2D _cTimingCut_depth
Definition: DigiTask.h:101
ContainerXXX< uint32_t > _xUniHF
Definition: DigiTask.h:140
ContainerProf2D _cSumQ_depth
Definition: DigiTask.h:86
Container1D _cfC_SubdetPM
Definition: DigiTask.h:84
ProcessingType _ptype
Definition: DQModule.h:59
virtual void initialize(std::string const &folder, hashfunctions::HashType, Quantity *, Quantity *, int debug=0)
HashFilter _filter_uTCA
Definition: DigiTask.h:77
int const FED_VME_MIN
Definition: Constants.h:47
virtual void initialize(std::string const &folder, hashfunctions::HashType, Quantity *, Quantity *, Quantity *qz=new ValueQuantity(quantity::fEnergy), int debug=0)
Container2D _cOccupancy_ElectronicsuTCA
Definition: DigiTask.h:113
ContainerProf1D _cSumQvsBX_SubdetPM
Definition: DigiTask.h:88
Container2D _cOccupancyCut_ElectronicsVME
Definition: DigiTask.h:123
Container2D _cOccupancyCut_FEDuTCA
Definition: DigiTask.h:122
double _cutSumQ_HF
Definition: DigiTask.h:55
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:115
Container1D _cSumQ_SubdetPM
Definition: DigiTask.h:85
ContainerSingle2D _cSummaryvsLS
Definition: DigiTask.h:148
virtual void initialize(std::string const &folder, hashfunctions::HashType, Quantity *, Quantity *, Quantity *qz=new ValueQuantity(quantity::fN), int debug=0)
Definition: Container2D.cc:32
int const FIBER_uTCA_MIN1
Definition: Constants.h:93
double _cutSumQ_HBHE
Definition: DigiTask.h:55
std::vector< HcalGenericDetId > allPrecisionId() const
ContainerProf1D _cOccupancyCutvsBX_Subdet
Definition: DigiTask.h:134
ContainerXXX< uint32_t > _xUni
Definition: DigiTask.h:140
std::string _name
Definition: DQModule.h:57
virtual void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="")
Container1D _cTimingCut_SubdetPM
Definition: DigiTask.h:95
int const CRATE_uTCA_MIN
Definition: Constants.h:65
HashFilter _filter_VME
Definition: DigiTask.h:76
Container2D _cOccupancy_depth
Definition: DigiTask.h:114
HashFilter _filter_FEDHF
Definition: DigiTask.h:78
std::vector< flag::Flag > _vflags
Definition: DigiTask.h:59
ContainerXXX< uint32_t > _xNChsNominal
Definition: DigiTask.h:142
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:276
virtual void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="")
Definition: Container2D.cc:895
virtual void book(HcalElectronicsMap const *)
Definition: ContainerXXX.h:93
virtual void initialize(std::string const &folder, Quantity *, Quantity *, Quantity *qz=new ValueQuantity(quantity::fN), int debug=0)
virtual void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="")
Definition: Container1D.cc:957
ContainerProf1D _cTimingCutvsieta_Subdet
Definition: DigiTask.h:103
ContainerProf2D _cTimingCut_ElectronicsuTCA
Definition: DigiTask.h:99
ContainerProf1D _cTimingCutvsLS_FED
Definition: DigiTask.h:100
virtual STDTYPE & get(HcalDetId const &)
Definition: ContainerXXX.h:243
Container1D _cOccupancyvsieta_Subdet
Definition: DigiTask.h:116
virtual void setLumiFlag()
ContainerProf1D _cOccupancyCutvsLS_Subdet
Definition: DigiTask.h:133
std::vector< int > getFEDList(HcalElectronicsMap const *)
Definition: Utilities.cc:47
std::vector< int > getFEDuTCAList(HcalElectronicsMap const *)
Definition: Utilities.cc:97
ContainerProf1D _cDigiSizevsLS_FED
Definition: DigiTask.h:138
ContainerProf1D _cOccupancyvsLS_Subdet
Definition: DigiTask.h:132
std::string _subsystem
Definition: DQModule.h:64
HashFilter _filter_HF
Definition: DigiTask.h:79
virtual void initialize(hashfunctions::HashType, int debug=0)
Definition: ContainerXXX.h:85
Container2D _cOccupancy_FEDuTCA
Definition: DigiTask.h:111
virtual void initialize(FilterType ftype, HashType htype, std::vector< uint32_t > const &)
Definition: HashFilter.cc:26
ContainerProf1D _cSumQvsLS_SubdetPM
Definition: DigiTask.h:87
void setLumiFlag(void)
this ME is meant to be stored for each luminosity section
electronicsmap::ElectronicsMap _ehashmap
Definition: DigiTask.h:73
virtual void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="")
HcalElectronicsMap const * _emap
Definition: DigiTask.h:72
std::vector< uint32_t > _vhashFEDs
Definition: DigiTask.h:69
ContainerProf2D _cTimingCut_ElectronicsVME
Definition: DigiTask.h:98
ContainerXXX< uint32_t > _xDigiSize
Definition: DigiTask.h:139
Readout chain identification for Hcal.
Container2D _cOccupancy_ElectronicsVME
Definition: DigiTask.h:112
int const SLOT_uTCA_MIN
Definition: Constants.h:72
Container1D _cOccupancyvsiphi_SubdetPM
Definition: DigiTask.h:115
Container2D _cOccupancyCut_ElectronicsuTCA
Definition: DigiTask.h:124
void DigiTask::endLuminosityBlock ( edm::LuminosityBlock const &  lb,
edm::EventSetup const &  es 
)
virtual

Reimplemented from hcaldqm::DQTask.

Definition at line 718 of file DigiTask.cc.

References _cSummaryvsLS, _cSummaryvsLS_FED, hcaldqm::DQModule::_currentLS, hcaldqm::DQModule::_evsPerLS, hcaldqm::DQModule::_ptype, hcaldqm::DQModule::_runkeyVal, hcaldqm::flag::Flag::_state, _thresh_unihf, hcaldqm::DQTask::_vcdaqEids, _vflags, _vhashFEDs, _xDigiSize, _xNChs, _xNChsNominal, _xUni, _xUniHF, hcaldqm::ContainerXXX< STDTYPE >::begin(), hcaldqm::ContainerXXX< STDTYPE >::end(), hcaldqm::flag::fBAD, fDigiSize, hcaldqm::flag::fGOOD, spr::find(), hcaldqm::flag::fNCDAQ, fNChsHF, hcaldqm::fOnline, fUni, hcaldqm::ContainerXXX< STDTYPE >::get(), hcaldqm::utilities::isFEDHBHE(), hcaldqm::utilities::isFEDHF(), hcaldqm::utilities::isFEDHO(), hcaldqm::ContainerXXX< STDTYPE >::reset(), hcaldqm::flag::Flag::reset(), hcaldqm::Container2D::setBinContent(), and hcaldqm::ContainerSingle2D::setBinContent().

720 {
721  if (_ptype!=fOnline)
722  return;
723 
724  for (uintCompactMap::const_iterator it=_xUniHF.begin();
725  it!=_xUniHF.end(); ++it)
726  {
727  uint32_t hash1 = it->first;
728  HcalElectronicsId eid1(hash1);
729  double x1 = it->second;
730 
731  for (uintCompactMap::const_iterator jt=_xUniHF.begin();
732  jt!=_xUniHF.end(); ++jt)
733  {
734  if (jt==it)
735  continue;
736  double x2 = jt->second;
737  if (x2==0)
738  continue;
739  if (x1/x2<_thresh_unihf)
740  _xUni.get(eid1)++;
741  }
742  }
743 
744  for (std::vector<uint32_t>::const_iterator it=_vhashFEDs.begin();
745  it!=_vhashFEDs.end(); ++it)
746  {
747  flag::Flag fSum("DIGI");
749 
750  std::vector<uint32_t>::const_iterator cit=std::find(
751  _vcdaqEids.begin(), _vcdaqEids.end(), *it);
752  if (cit==_vcdaqEids.end())
753  {
754  // not @cDAQ
755  for (uint32_t iflag=0; iflag<_vflags.size(); iflag++)
756  _cSummaryvsLS_FED.setBinContent(eid, _currentLS, int(iflag),
757  int(flag::fNCDAQ));
759  continue;
760  }
761 
762  // FED is @cDAQ
763  if (utilities::isFEDHBHE(eid) || utilities::isFEDHF(eid) ||
764  utilities::isFEDHO(eid))
765  {
766  if (_xDigiSize.get(eid)>0)
767  _vflags[fDigiSize]._state = flag::fBAD;
768  else
769  _vflags[fDigiSize]._state = flag::fGOOD;
770  if (utilities::isFEDHF(eid))
771  {
772  if (_runkeyVal==0 || _runkeyVal==4)
773  {
774  // only for pp or hi
775  if (_xUni.get(eid)>0)
776  _vflags[fUni]._state = flag::fBAD;
777  else
778  _vflags[fUni]._state = flag::fGOOD;
779  }
780  if (_xNChs.get(eid)!=(_xNChsNominal.get(eid)*_evsPerLS))
781  _vflags[fNChsHF]._state = flag::fBAD;
782  else
783  _vflags[fNChsHF]._state = flag::fGOOD;
784  }
785  }
786 
787  int iflag=0;
788  for (std::vector<flag::Flag>::iterator ft=_vflags.begin();
789  ft!=_vflags.end(); ++ft)
790  {
792  int(ft->_state));
793  fSum+=(*ft);
794  iflag++;
795 
796  // reset!
797  ft->reset();
798  }
799  _cSummaryvsLS.setBinContent(eid, _currentLS, fSum._state);
800  }
801 
803  _xNChs.reset();
804 
805  // in the end always do the DQTask::endLumi
806  DQTask::endLuminosityBlock(lb, es);
807 }
virtual void setBinContent(HcalDetId const &, int)
Definition: Container2D.cc:235
virtual CompactMap::const_iterator begin()
Definition: ContainerXXX.h:69
double _thresh_unihf
Definition: DigiTask.h:56
Container2D _cSummaryvsLS_FED
Definition: DigiTask.h:147
virtual void reset()
Definition: ContainerXXX.h:342
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:7
ContainerXXX< uint32_t > _xNChs
Definition: DigiTask.h:141
ContainerXXX< uint32_t > _xUniHF
Definition: DigiTask.h:140
virtual CompactMap::const_iterator end()
Definition: ContainerXXX.h:71
ProcessingType _ptype
Definition: DQModule.h:59
virtual void setBinContent(int, int, int)
ContainerSingle2D _cSummaryvsLS
Definition: DigiTask.h:148
ContainerXXX< uint32_t > _xUni
Definition: DigiTask.h:140
std::vector< flag::Flag > _vflags
Definition: DigiTask.h:59
ContainerXXX< uint32_t > _xNChsNominal
Definition: DigiTask.h:142
bool isFEDHBHE(HcalElectronicsId const &)
Definition: Utilities.cc:124
virtual STDTYPE & get(HcalDetId const &)
Definition: ContainerXXX.h:243
bool isFEDHO(HcalElectronicsId const &)
Definition: Utilities.cc:171
std::vector< uint32_t > _vcdaqEids
Definition: DQTask.h:65
std::vector< uint32_t > _vhashFEDs
Definition: DigiTask.h:69
ContainerXXX< uint32_t > _xDigiSize
Definition: DigiTask.h:139
Readout chain identification for Hcal.
bool isFEDHF(HcalElectronicsId const &)
Definition: Utilities.cc:146

Member Data Documentation

Container1D DigiTask::_cADC_SubdetPM
protected

Definition at line 83 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

Container1D DigiTask::_cDigiSize_FED
protected

Definition at line 137 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

ContainerProf1D DigiTask::_cDigiSizevsLS_FED
protected

Definition at line 138 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

Container1D DigiTask::_cfC_SubdetPM
protected

Definition at line 84 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

Container2D DigiTask::_cOccupancy_depth
protected

Definition at line 114 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

Container2D DigiTask::_cOccupancy_ElectronicsuTCA
protected

Definition at line 113 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

Container2D DigiTask::_cOccupancy_ElectronicsVME
protected

Definition at line 112 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

Container2D DigiTask::_cOccupancy_FEDuTCA
protected

Definition at line 111 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

Container2D DigiTask::_cOccupancy_FEDVME
protected

Definition at line 110 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

Container2D DigiTask::_cOccupancyCut_depth
protected

Definition at line 125 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

Container2D DigiTask::_cOccupancyCut_ElectronicsuTCA
protected

Definition at line 124 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

Container2D DigiTask::_cOccupancyCut_ElectronicsVME
protected

Definition at line 123 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

Container2D DigiTask::_cOccupancyCut_FEDuTCA
protected

Definition at line 122 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

Container2D DigiTask::_cOccupancyCut_FEDVME
protected

Definition at line 121 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

ContainerProf1D DigiTask::_cOccupancyCutvsBX_Subdet
protected

Definition at line 134 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

Container1D DigiTask::_cOccupancyCutvsieta_Subdet
protected

Definition at line 127 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

Container1D DigiTask::_cOccupancyCutvsiphi_SubdetPM
protected

Definition at line 126 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

Container2D DigiTask::_cOccupancyCutvsiphivsLS_SubdetPM
protected

Definition at line 129 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

ContainerProf1D DigiTask::_cOccupancyCutvsLS_Subdet
protected

Definition at line 133 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

Container2D DigiTask::_cOccupancyCutvsSlotvsLS_HFPM
protected

Definition at line 128 of file DigiTask.h.

Container1D DigiTask::_cOccupancyvsieta_Subdet
protected

Definition at line 116 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

Container1D DigiTask::_cOccupancyvsiphi_SubdetPM
protected

Definition at line 115 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

ContainerProf1D DigiTask::_cOccupancyvsLS_Subdet
protected

Definition at line 132 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

ContainerProf1D DigiTask::_cQ2Q12CutvsLS_FEDHF
protected

Definition at line 106 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

Container1D DigiTask::_cShapeCut_FED
protected

Definition at line 91 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

ContainerSingle2D DigiTask::_cSummaryvsLS
protected

Definition at line 148 of file DigiTask.h.

Referenced by bookHistograms(), and endLuminosityBlock().

Container2D DigiTask::_cSummaryvsLS_FED
protected

Definition at line 147 of file DigiTask.h.

Referenced by bookHistograms(), and endLuminosityBlock().

ContainerProf2D DigiTask::_cSumQ_depth
protected

Definition at line 86 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

Container1D DigiTask::_cSumQ_SubdetPM
protected

Definition at line 85 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

ContainerProf1D DigiTask::_cSumQvsBX_SubdetPM
protected

Definition at line 88 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

ContainerProf1D DigiTask::_cSumQvsLS_SubdetPM
protected

Definition at line 87 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

ContainerProf2D DigiTask::_cTimingCut_depth
protected

Definition at line 101 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

ContainerProf2D DigiTask::_cTimingCut_ElectronicsuTCA
protected

Definition at line 99 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

ContainerProf2D DigiTask::_cTimingCut_ElectronicsVME
protected

Definition at line 98 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

ContainerProf2D DigiTask::_cTimingCut_FEDuTCA
protected

Definition at line 97 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

ContainerProf2D DigiTask::_cTimingCut_FEDVME
protected

Definition at line 96 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

Container1D DigiTask::_cTimingCut_SubdetPM
protected

Definition at line 95 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

ContainerProf1D DigiTask::_cTimingCutvsieta_Subdet
protected

Definition at line 103 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

ContainerProf1D DigiTask::_cTimingCutvsiphi_SubdetPM
protected

Definition at line 102 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

ContainerProf1D DigiTask::_cTimingCutvsLS_FED
protected

Definition at line 100 of file DigiTask.h.

Referenced by _process(), and bookHistograms().

double DigiTask::_cutSumQ_HBHE
protected

Definition at line 55 of file DigiTask.h.

Referenced by _process(), bookHistograms(), and DigiTask().

double DigiTask::_cutSumQ_HF
protected

Definition at line 55 of file DigiTask.h.

Referenced by _process(), bookHistograms(), and DigiTask().

double DigiTask::_cutSumQ_HO
protected

Definition at line 55 of file DigiTask.h.

Referenced by _process(), bookHistograms(), and DigiTask().

electronicsmap::ElectronicsMap DigiTask::_ehashmap
protected

Definition at line 73 of file DigiTask.h.

Referenced by bookHistograms().

HcalElectronicsMap const* DigiTask::_emap
protected

Definition at line 72 of file DigiTask.h.

Referenced by bookHistograms().

HashFilter DigiTask::_filter_FEDHF
protected

Definition at line 78 of file DigiTask.h.

Referenced by bookHistograms().

HashFilter DigiTask::_filter_HF
protected

Definition at line 79 of file DigiTask.h.

Referenced by bookHistograms().

HashFilter DigiTask::_filter_uTCA
protected

Definition at line 77 of file DigiTask.h.

Referenced by bookHistograms().

HashFilter DigiTask::_filter_VME
protected

Definition at line 76 of file DigiTask.h.

Referenced by bookHistograms().

edm::InputTag DigiTask::_tagHBHE
protected

Definition at line 48 of file DigiTask.h.

Referenced by _process(), and DigiTask().

edm::InputTag DigiTask::_tagHF
protected

Definition at line 50 of file DigiTask.h.

Referenced by _process(), and DigiTask().

edm::InputTag DigiTask::_tagHO
protected

Definition at line 49 of file DigiTask.h.

Referenced by _process(), and DigiTask().

double DigiTask::_thresh_unihf
protected

Definition at line 56 of file DigiTask.h.

Referenced by DigiTask(), and endLuminosityBlock().

edm::EDGetTokenT<HBHEDigiCollection> DigiTask::_tokHBHE
protected

Definition at line 51 of file DigiTask.h.

Referenced by _process(), and DigiTask().

edm::EDGetTokenT<HFDigiCollection> DigiTask::_tokHF
protected

Definition at line 53 of file DigiTask.h.

Referenced by _process(), and DigiTask().

edm::EDGetTokenT<HODigiCollection> DigiTask::_tokHO
protected

Definition at line 52 of file DigiTask.h.

Referenced by _process(), and DigiTask().

std::vector<flag::Flag> DigiTask::_vflags
protected

Definition at line 59 of file DigiTask.h.

Referenced by bookHistograms(), DigiTask(), and endLuminosityBlock().

std::vector<uint32_t> DigiTask::_vhashFEDs
protected

Definition at line 69 of file DigiTask.h.

Referenced by bookHistograms(), and endLuminosityBlock().

ContainerXXX<uint32_t> DigiTask::_xDigiSize
protected

Definition at line 139 of file DigiTask.h.

Referenced by _process(), bookHistograms(), and endLuminosityBlock().

ContainerXXX<uint32_t> DigiTask::_xNChs
protected

Definition at line 141 of file DigiTask.h.

Referenced by _process(), bookHistograms(), and endLuminosityBlock().

ContainerXXX<uint32_t> DigiTask::_xNChsNominal
protected

Definition at line 142 of file DigiTask.h.

Referenced by bookHistograms(), and endLuminosityBlock().

ContainerXXX<uint32_t> DigiTask::_xUni
protected

Definition at line 140 of file DigiTask.h.

Referenced by bookHistograms(), and endLuminosityBlock().

ContainerXXX<uint32_t> DigiTask::_xUniHF
protected

Definition at line 140 of file DigiTask.h.

Referenced by _process(), bookHistograms(), and endLuminosityBlock().

tuple DigiTask.digiTask
Initial value:
1 = cms.EDAnalyzer(
2  "DigiTask",
3 
4  # standard parameters
5  name = cms.untracked.string("DigiTask"),
6  debug = cms.untracked.int32(0),
7  runkeyVal = cms.untracked.int32(0),
8  runkeyName = cms.untracked.string("pp_run"),
9  ptype = cms.untracked.int32(0),
10  mtype = cms.untracked.bool(True),
11  subsystem = cms.untracked.string("Hcal"),
12 
13  # tags
14  tagHBHE = cms.untracked.InputTag("hcalDigis"),
15  tagHO = cms.untracked.InputTag("hcalDigis"),
16  tagHF = cms.untracked.InputTag("hcalDigis"),
17 
18  # Cuts
19  cutSumQ_HBHE = cms.untracked.double(20),
20  cutSumQ_HO = cms.untracked.double(20),
21  cutSumQ_HF = cms.untracked.double(20),
22 
23  # ratio thresholds
24  thresh_unifh = cms.untracked.double(0.2)
25 )

Definition at line 3 of file DigiTask.py.

MonitorElement* DigiTask::meNumEvents1LS
protected

Definition at line 145 of file DigiTask.h.

Referenced by _process(), and bookHistograms().