CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Member Functions | Protected Attributes
LEDTask Class Reference

#include <LEDTask.h>

Inheritance diagram for LEDTask:
hcaldqm::DQTask DQMEDAnalyzer hcaldqm::DQModule edm::one::EDProducer< edm::Accumulator, edm::EndLuminosityBlockProducer, edm::EndRunProducer, edm::one::WatchLuminosityBlocks, edm::one::WatchRuns > edm::one::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
void endRun (edm::Run const &r, edm::EventSetup const &) override
 
 LEDTask (edm::ParameterSet const &)
 
 ~LEDTask () override
 
- Public Member Functions inherited from hcaldqm::DQTask
void analyze (edm::Event const &, edm::EventSetup const &) override
 
void beginLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) override
 
void dqmBeginRun (edm::Run const &, edm::EventSetup const &) override
 
 DQTask (edm::ParameterSet const &)
 
void endLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) override
 
 ~DQTask () override
 
- Public Member Functions inherited from DQMEDAnalyzer
void accumulate (edm::Event const &ev, edm::EventSetup const &es) final
 
void beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) override
 
void beginRun (edm::Run const &run, edm::EventSetup const &setup) final
 
 DQMEDAnalyzer ()
 
 DQMEDAnalyzer (DQMEDAnalyzer const &)=delete
 
 DQMEDAnalyzer (DQMEDAnalyzer &&)=delete
 
void endLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) override
 
void endLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &setup) final
 
void endRun (edm::Run const &run, edm::EventSetup const &setup) override
 
void endRunProduce (edm::Run &run, edm::EventSetup const &setup) override
 
 ~DQMEDAnalyzer () override=default
 
- Public Member Functions inherited from edm::one::EDProducer< edm::Accumulator, edm::EndLuminosityBlockProducer, edm::EndRunProducer, edm::one::WatchLuminosityBlocks, edm::one::WatchRuns >
 EDProducer ()=default
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
bool hasAbilityToProduceInLumis () const final
 
bool hasAbilityToProduceInRuns () const final
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
- Public Member Functions inherited from edm::one::EDProducerBase
 EDProducerBase ()
 
ModuleDescription const & moduleDescription () const
 
bool wantsStreamLuminosityBlocks () const
 
bool wantsStreamRuns () const
 
 ~EDProducerBase () override
 
- Public Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
std::vector< edm::ProductResolverIndex > const & indiciesForPutProducts (BranchType iBranchType) const
 
 ProducerBase ()
 
std::vector< edm::ProductResolverIndex > const & putTokenIndexToProductResolverIndex () const
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription const &)> registrationCallback () const
 used by the fwk to register list of products More...
 
void resolvePutIndicies (BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel)
 
 ~ProducerBase () noexcept(false) override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
virtual ~EDConsumerBase () noexcept(false)
 
- Public Member Functions inherited from hcaldqm::DQModule
 DQModule (edm::ParameterSet const &)
 
virtual ~DQModule ()(false)
 

Protected Member Functions

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

hcaldqm::Container2D _cADCvsTS_SubdetPM
 
hcaldqm::ContainerSingle2D _cLowSignal_CrateSlot
 
hcaldqm::Container2D _cMissing_depth
 
hcaldqm::Container2D _cMissing_FEDuTCA
 
hcaldqm::Container2D _cMissing_FEDVME
 
hcaldqm::ContainerProf1D _cShapeCut_FEDSlot
 
hcaldqm::ContainerProf2D _cSignalMean_depth
 
hcaldqm::ContainerProf2D _cSignalMean_FEDuTCA
 
hcaldqm::ContainerProf2D _cSignalMean_FEDVME
 
hcaldqm::Container1D _cSignalMean_Subdet
 
hcaldqm::ContainerProf2D _cSignalRMS_depth
 
hcaldqm::ContainerProf2D _cSignalRMS_FEDuTCA
 
hcaldqm::ContainerProf2D _cSignalRMS_FEDVME
 
hcaldqm::Container1D _cSignalRMS_Subdet
 
hcaldqm::Container1D _cSumQ_SubdetPM
 
hcaldqm::ContainerProf2D _cTDCTime_depth
 
hcaldqm::Container1D _cTDCTime_SubdetPM
 
hcaldqm::ContainerProf2D _cTimingMean_depth
 
hcaldqm::ContainerProf2D _cTimingMean_FEDuTCA
 
hcaldqm::ContainerProf2D _cTimingMean_FEDVME
 
hcaldqm::Container1D _cTimingMean_Subdet
 
hcaldqm::ContainerProf2D _cTimingRMS_depth
 
hcaldqm::ContainerProf2D _cTimingRMS_FEDuTCA
 
hcaldqm::ContainerProf2D _cTimingRMS_FEDVME
 
hcaldqm::Container1D _cTimingRMS_Subdet
 
hcaldqm::electronicsmap::ElectronicsMap _ehashmap
 
hcaldqm::filter::HashFilter _filter_uTCA
 
hcaldqm::filter::HashFilter _filter_VME
 
double _lowHBHE
 
double _lowHE
 
double _lowHF
 
double _lowHO
 
MonitorElement_meLEDMon
 
int _nevents
 
edm::InputTag _tagHBHE
 
edm::InputTag _tagHE
 
edm::InputTag _tagHF
 
edm::InputTag _tagHO
 
edm::InputTag _tagTrigger
 
edm::InputTag _taguMN
 
edm::EDGetTokenT< HBHEDigiCollection_tokHBHE
 
edm::EDGetTokenT< QIE11DigiCollection_tokHE
 
edm::EDGetTokenT< QIE10DigiCollection_tokHF
 
edm::EDGetTokenT< HODigiCollection_tokHO
 
edm::EDGetTokenT< HcalTBTriggerData_tokTrigger
 
edm::EDGetTokenT< HcalUMNioDigi_tokuMN
 
hcaldqm::ContainerXXX< int > _xEntries
 
hcaldqm::ContainerXXX< double > _xSignalSum
 
hcaldqm::ContainerXXX< double > _xSignalSum2
 
hcaldqm::ContainerXXX< double > _xTimingSum
 
hcaldqm::ContainerXXX< double > _xTimingSum2
 
- Protected Attributes inherited from hcaldqm::DQTask
ContainerI _cEvsPerLS
 
ContainerI _cEvsTotal
 
ContainerS _cProcessingTypeName
 
ContainerS _cRunKeyName
 
ContainerI _cRunKeyVal
 
edm::ESHandle< HcalDbService_dbService
 
HcalElectronicsMap const * _emap
 
int _procLSs
 
edm::InputTag _tagRaw
 
edm::EDGetTokenT< FEDRawDataCollection_tokRaw
 
std::vector< uint32_t > _vcdaqEids
 
ContainerXXX< uint32_t > _xQuality
 
- Protected Attributes inherited from DQMEDAnalyzer
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 
- 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::one::EDProducerBase
typedef EDProducerBase ModuleType
 
- Public Types inherited from edm::ProducerBase
using ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex >>
 
typedef ProductRegistryHelper::TypeLabelList TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::one::EDProducerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 

Detailed Description

Definition at line 22 of file LEDTask.h.

Constructor & Destructor Documentation

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

Definition at line 7 of file LEDTask.cc.

References _lowHBHE, _lowHE, _lowHF, _lowHO, _nevents, _tagHBHE, _tagHE, _tagHF, _tagHO, _tagTrigger, _taguMN, _tokHBHE, _tokHE, _tokHF, _tokHO, _tokTrigger, _tokuMN, and edm::ParameterSet::getUntrackedParameter().

7  :
8  DQTask(ps)
9 {
10  _nevents = ps.getUntrackedParameter<int>("nevents", 2000);
11  // tags
12  _tagHBHE = ps.getUntrackedParameter<edm::InputTag>("tagHBHE",
13  edm::InputTag("hcalDigis"));
14  _tagHE = ps.getUntrackedParameter<edm::InputTag>("tagHE",
15  edm::InputTag("hcalDigis"));
16  _tagHO = ps.getUntrackedParameter<edm::InputTag>("tagHO",
17  edm::InputTag("hcalDigis"));
18  _tagHF = ps.getUntrackedParameter<edm::InputTag>("tagHF",
19  edm::InputTag("hcalDigis"));
20  _tagTrigger = ps.getUntrackedParameter<edm::InputTag>("tagTrigger",
21  edm::InputTag("tbunpacker"));
22  _taguMN = ps.getUntrackedParameter<edm::InputTag>("taguMN",
23  edm::InputTag("hcalDigis"));
24  _tokHBHE = consumes<HBHEDigiCollection>(_tagHBHE);
25  _tokHE = consumes<QIE11DigiCollection>(_tagHE);
26  _tokHO = consumes<HODigiCollection>(_tagHO);
27  _tokHF = consumes<QIE10DigiCollection>(_tagHF);
28  _tokTrigger = consumes<HcalTBTriggerData>(_tagTrigger);
29  _tokuMN = consumes<HcalUMNioDigi>(_taguMN);
30 
31  // constants
32  _lowHBHE = ps.getUntrackedParameter<double>("lowHBHE",
33  20);
34  _lowHE = ps.getUntrackedParameter<double>("lowHE",
35  20);
36  _lowHO = ps.getUntrackedParameter<double>("lowHO",
37  20);
38  _lowHF = ps.getUntrackedParameter<double>("lowHF",
39  20);
40 }
edm::EDGetTokenT< QIE11DigiCollection > _tokHE
Definition: LEDTask.h:54
double _lowHBHE
Definition: LEDTask.h:67
DQTask(edm::ParameterSet const &)
Definition: DQTask.cc:7
edm::InputTag _taguMN
Definition: LEDTask.h:52
edm::EDGetTokenT< HcalTBTriggerData > _tokTrigger
Definition: LEDTask.h:57
double _lowHF
Definition: LEDTask.h:70
edm::EDGetTokenT< HBHEDigiCollection > _tokHBHE
Definition: LEDTask.h:53
edm::InputTag _tagHE
Definition: LEDTask.h:48
edm::InputTag _tagHO
Definition: LEDTask.h:49
edm::InputTag _tagHF
Definition: LEDTask.h:50
int _nevents
Definition: LEDTask.h:66
edm::EDGetTokenT< HcalUMNioDigi > _tokuMN
Definition: LEDTask.h:58
double _lowHE
Definition: LEDTask.h:68
double _lowHO
Definition: LEDTask.h:69
edm::InputTag _tagTrigger
Definition: LEDTask.h:51
edm::EDGetTokenT< QIE10DigiCollection > _tokHF
Definition: LEDTask.h:56
edm::InputTag _tagHBHE
Definition: LEDTask.h:47
edm::EDGetTokenT< HODigiCollection > _tokHO
Definition: LEDTask.h:55
LEDTask::~LEDTask ( )
inlineoverride

Definition at line 26 of file LEDTask.h.

References bookHistograms().

27  {}

Member Function Documentation

void LEDTask::_dump ( )
protectedvirtual

Definition at line 263 of file LEDTask.cc.

References _cMissing_depth, _cMissing_FEDuTCA, _cMissing_FEDVME, _cSignalMean_depth, _cSignalMean_FEDuTCA, _cSignalMean_FEDVME, _cSignalMean_Subdet, _cSignalRMS_depth, _cSignalRMS_FEDuTCA, _cSignalRMS_FEDVME, _cSignalRMS_Subdet, _cTimingMean_depth, _cTimingMean_FEDuTCA, _cTimingMean_FEDVME, _cTimingMean_Subdet, _cTimingRMS_depth, _cTimingRMS_FEDuTCA, _cTimingRMS_FEDVME, _cTimingRMS_Subdet, _ehashmap, hcaldqm::DQTask::_emap, hcaldqm::DQModule::_ptype, _xEntries, _xSignalSum, _xSignalSum2, _xTimingSum, _xTimingSum2, HcalElectronicsMap::allPrecisionId(), runTauDisplay::eid, hcaldqm::Container2D::fill(), hcaldqm::ContainerProf2D::fill(), hcaldqm::Container1D::fill(), hcaldqm::fLocal, hcaldqm::ContainerXXX< STDTYPE >::get(), hcaldqm::electronicsmap::ElectronicsMap::lookup(), gen::n, hcaldqm::Container1D::reset(), and mathSSE::sqrt().

Referenced by _process(), and endRun().

264 {
273 
274  if (_ptype == fLocal) { // hidefed2crate
283  }
284 
285  std::vector<HcalGenericDetId> dids = _emap->allPrecisionId();
286  for (std::vector<HcalGenericDetId>::const_iterator it=dids.begin();
287  it!=dids.end(); ++it)
288  {
289  if (!it->isHcalDetId())
290  continue;
291  HcalDetId did = HcalDetId(it->rawId());
293  int n = _xEntries.get(did);
294  double msig = _xSignalSum.get(did)/n;
295  double mtim = _xTimingSum.get(did)/n;
296  double rsig = sqrt(_xSignalSum2.get(did)/n-msig*msig);
297  double rtim = sqrt(_xTimingSum2.get(did)/n-mtim*mtim);
298 
299  // channels missing or low signal
300  if (n==0)
301  {
302  _cMissing_depth.fill(did);
303  if (_ptype == fLocal) { // hidefed2crate
304  if (eid.isVMEid())
306  else
308  }
309  continue;
310  }
311  _cSignalMean_Subdet.fill(did, msig);
312  _cSignalMean_depth.fill(did, msig);
313  _cSignalRMS_Subdet.fill(did, rsig);
314  _cSignalRMS_depth.fill(did, rsig);
315  _cTimingMean_Subdet.fill(did, mtim);
316  _cTimingMean_depth.fill(did, mtim);
317  _cTimingRMS_Subdet.fill(did, rtim);
318  _cTimingRMS_depth.fill(did, rtim);
319  if (_ptype == fLocal) { // hidefed2crate
320  if (eid.isVMEid())
321  {
323  _cSignalRMS_FEDVME.fill(eid, rsig);
325  _cTimingRMS_FEDVME.fill(eid, rtim);
326  }
327  else
328  {
333  }
334  }
335  }
336 }
hcaldqm::Container2D _cMissing_FEDuTCA
Definition: LEDTask.h:106
hcaldqm::Container2D _cMissing_FEDVME
Definition: LEDTask.h:105
hcaldqm::ContainerProf2D _cSignalMean_depth
Definition: LEDTask.h:89
hcaldqm::ContainerProf2D _cTimingMean_FEDuTCA
Definition: LEDTask.h:97
hcaldqm::ContainerProf2D _cTimingMean_depth
Definition: LEDTask.h:91
void fill(HcalDetId const &) override
hcaldqm::ContainerProf2D _cSignalMean_FEDVME
Definition: LEDTask.h:94
hcaldqm::Container2D _cMissing_depth
Definition: LEDTask.h:104
hcaldqm::ContainerProf2D _cTimingMean_FEDVME
Definition: LEDTask.h:96
hcaldqm::ContainerProf2D _cSignalRMS_FEDVME
Definition: LEDTask.h:98
hcaldqm::ContainerXXX< int > _xEntries
Definition: LEDTask.h:75
hcaldqm::ContainerXXX< double > _xTimingSum
Definition: LEDTask.h:76
hcaldqm::ContainerProf2D _cSignalRMS_FEDuTCA
Definition: LEDTask.h:99
ProcessingType _ptype
Definition: DQModule.h:59
virtual void fill(uint32_t)
Definition: Container1D.cc:83
virtual void reset()
Definition: Container1D.cc:66
T sqrt(T t)
Definition: SSEVec.h:18
std::vector< HcalGenericDetId > allPrecisionId() const
HcalElectronicsMap const * _emap
Definition: DQTask.h:73
hcaldqm::ContainerProf2D _cSignalMean_FEDuTCA
Definition: LEDTask.h:95
hcaldqm::ContainerProf2D _cTimingRMS_depth
Definition: LEDTask.h:92
hcaldqm::Container1D _cSignalRMS_Subdet
Definition: LEDTask.h:81
hcaldqm::ContainerXXX< double > _xTimingSum2
Definition: LEDTask.h:77
hcaldqm::ContainerProf2D _cTimingRMS_FEDVME
Definition: LEDTask.h:100
hcaldqm::ContainerProf2D _cTimingRMS_FEDuTCA
Definition: LEDTask.h:101
hcaldqm::ContainerXXX< double > _xSignalSum
Definition: LEDTask.h:73
hcaldqm::Container1D _cTimingMean_Subdet
Definition: LEDTask.h:82
hcaldqm::ContainerProf2D _cSignalRMS_depth
Definition: LEDTask.h:90
virtual STDTYPE & get(HcalDetId const &)
Definition: ContainerXXX.h:247
hcaldqm::Container1D _cTimingRMS_Subdet
Definition: LEDTask.h:83
void fill(HcalDetId const &) override
Definition: Container2D.cc:59
hcaldqm::ContainerXXX< double > _xSignalSum2
Definition: LEDTask.h:74
hcaldqm::electronicsmap::ElectronicsMap _ehashmap
Definition: LEDTask.h:61
Readout chain identification for Hcal.
hcaldqm::Container1D _cSignalMean_Subdet
Definition: LEDTask.h:80
bool LEDTask::_isApplicable ( edm::Event const &  e)
overrideprotectedvirtual

Reimplemented from hcaldqm::DQTask.

Definition at line 559 of file LEDTask.cc.

References hcaldqm::DQModule::_logger, hcaldqm::DQModule::_ptype, _tagTrigger, _tokTrigger, _tokuMN, DEFINE_FWK_MODULE, Logger::dqmthrow(), HcalUMNioDigi::eventType(), hcaldqm::constants::EVENTTYPE_LED, hcaldqm::fOnline, edm::Event::getByToken(), edm::InputTag::instance(), edm::InputTag::label(), and HcalTBTriggerData::wasLEDTrigger().

Referenced by endRun().

560 {
561  if (_ptype!=fOnline)
562  {
563  // local
565  if (!e.getByToken(_tokTrigger, ctrigger))
566  _logger.dqmthrow("Collection HcalTBTriggerData isn't available "
567  + _tagTrigger.label() + " " + _tagTrigger.instance());
568  return ctrigger->wasLEDTrigger();
569  } else {
570  // fOnline mode
572  if (!e.getByToken(_tokuMN, cumn)) {
573  return false;
574  }
575 
576  return (cumn->eventType() == constants::EVENTTYPE_LED);
577  }
578 
579  return false;
580 }
bool wasLEDTrigger() const
returns true if this was a LED trigger
edm::EDGetTokenT< HcalTBTriggerData > _tokTrigger
Definition: LEDTask.h:57
edm::EDGetTokenT< HcalUMNioDigi > _tokuMN
Definition: LEDTask.h:58
ProcessingType _ptype
Definition: DQModule.h:59
uint8_t const EVENTTYPE_LED
Definition: Constants.h:325
void dqmthrow(std::string const &msg) const
Definition: Logger.h:15
uint8_t eventType() const
Logger _logger
Definition: DQModule.h:70
edm::InputTag _tagTrigger
Definition: LEDTask.h:51
std::string const & label() const
Definition: InputTag.h:36
std::string const & instance() const
Definition: InputTag.h:37
void LEDTask::_process ( edm::Event const &  e,
edm::EventSetup const &  es 
)
overrideprotectedvirtual

Implements hcaldqm::DQTask.

Definition at line 338 of file LEDTask.cc.

References _cADCvsTS_SubdetPM, _cLowSignal_CrateSlot, _cShapeCut_FEDSlot, _cSumQ_SubdetPM, _cTDCTime_depth, _cTDCTime_SubdetPM, hcaldqm::DQTask::_dbService, _dump(), _ehashmap, hcaldqm::DQModule::_evsTotal, hcaldqm::DQModule::_logger, _lowHBHE, _lowHE, _lowHF, _lowHO, _meLEDMon, hcaldqm::DQModule::_ptype, _tagHBHE, _tagHE, _tagHF, _tagHO, _tokHBHE, _tokHE, _tokHF, _tokHO, _xEntries, _xSignalSum, _xSignalSum2, _xTimingSum, _xTimingSum2, ecalMGPA::adc(), hcaldqm::utilities::aveTS(), edm::SortedCollection< T, SORT >::begin(), edm::DataFrameContainer::begin(), edm::EventBase::bunchCrossing(), hcaldqm::constants::CALIBEVENTS_MIN, HcalDetId::depth(), QIE11DataFrame::detid(), QIE10DataFrame::detid(), Logger::dqmthrow(), runTauDisplay::eid, HODataFrame::elecId(), HBHEDataFrame::elecId(), edm::SortedCollection< T, SORT >::end(), edm::DataFrameContainer::end(), edm::EventID::event(), edm::Event::eventAuxiliary(), hcaldqm::Container2D::fill(), hcaldqm::ContainerSingle2D::fill(), hcaldqm::ContainerProf2D::fill(), hcaldqm::Container1D::fill(), MonitorElement::Fill(), hcaldqm::fLocal, hcaldqm::fOnline, hcaldqm::ContainerXXX< STDTYPE >::get(), edm::Event::getByToken(), HcalCalibration, HcalEndcap, HcalForward, HcalOther, mps_fire::i, HODataFrame::id(), HBHEDataFrame::id(), edm::EventAuxiliary::id(), HcalDetId::ieta(), edm::InputTag::instance(), HcalDetId::iphi(), edm::InputTag::label(), hcaldqm::electronicsmap::ElectronicsMap::lookup(), QIE11DataFrame::samples(), QIE10DataFrame::samples(), HBHEDataFrame::size(), HODataFrame::size(), AlCaHLTBitMon_QueryRunRegistry::string, HcalDetId::subdet(), hcaldqm::utilities::sumQ(), ntuplemaker::time, and Logger::warn().

Referenced by endRun().

340 {
345 
346  if (!e.getByToken(_tokHBHE, chbhe))
347  _logger.dqmthrow("Collection HBHEDigiCollection isn't available "
348  + _tagHBHE.label() + " " + _tagHBHE.instance());
349  if (!e.getByToken(_tokHO, cho))
350  _logger.dqmthrow("Collection HODigiCollection isn't available "
351  + _tagHO.label() + " " + _tagHO.instance());
352  if (!e.getByToken(_tokHF, chf))
353  _logger.dqmthrow("Collection QIE10DigiCollection isn't available "
354  + _tagHF.label() + " " + _tagHF.instance());
355  if (!e.getByToken(_tokHE, che))
356  _logger.dqmthrow("Collection QIE11DigiCollection isn't available "
357  + _tagHE.label() + " " + _tagHE.instance());
358 
359 // int currentEvent = e.eventAuxiliary().id().event();
360 
361  for (HBHEDigiCollection::const_iterator it=chbhe->begin();
362  it!=chbhe->end(); ++it)
363  {
364  const HBHEDataFrame digi = (const HBHEDataFrame)(*it);
365  HcalDetId did = digi.id();
366  HcalElectronicsId eid = digi.elecId();
367 
368  // Get total charge and apply charge cut
369  CaloSamples digi_fC = hcaldqm::utilities::loadADC2fCDB<HBHEDataFrame>(_dbService, did, digi);
370  //double sumQ = hcaldqm::utilities::sumQ<HBHEDataFrame>(digi, 2.5, 0, digi.size()-1);
371  double sumQ = hcaldqm::utilities::sumQDB<HBHEDataFrame>(_dbService, digi_fC, did, digi, 0, digi.size()-1);
372  if (sumQ >= _lowHBHE) {
373  //double aveTS = hcaldqm::utilities::aveTS<HBHEDataFrame>(digi, 2.5, 0,digi.size()-1);
374  double aveTS = hcaldqm::utilities::aveTSDB<HBHEDataFrame>(_dbService, digi_fC, did, digi, 0, digi.size()-1);
375 
376  _xSignalSum.get(did)+=sumQ;
377  _xSignalSum2.get(did)+=sumQ*sumQ;
378  _xTimingSum.get(did)+=aveTS;
379  _xTimingSum2.get(did)+=aveTS*aveTS;
380  _xEntries.get(did)++;
381 
382  if (_ptype == fLocal) { // hidefed2crate
383  for (int i=0; i<digi.size(); i++) {
384  //_cShapeCut_FEDSlot.fill(eid, i, digi.sample(i).nominal_fC()-2.5);
385  _cShapeCut_FEDSlot.fill(eid, i, hcaldqm::utilities::adc2fCDBMinusPedestal<HBHEDataFrame>(_dbService, digi_fC, did, digi, i));
386  }
387  }
388 
389  if (_ptype == fOnline) {
390  for (int iTS = 0; iTS < digi.size(); ++iTS) {
391  _cADCvsTS_SubdetPM.fill(did, iTS, digi.sample(iTS).adc());
392  }
393  _cSumQ_SubdetPM.fill(did, sumQ);
394  }
395  }
396  }
397 
398  for (QIE11DigiCollection::const_iterator it=che->begin(); it!=che->end();
399  ++it)
400  {
401  const QIE11DataFrame digi = static_cast<const QIE11DataFrame>(*it);
402  HcalDetId const& did = digi.detid();
403  if (did.subdet() != HcalEndcap) {
404  // LED monitoring from calibration channels
405  if (did.subdet() == HcalOther) {
406  HcalOtherDetId hodid(digi.detid());
407  if (hodid.subdet() == HcalCalibration) {
408  if (did.depth() == 10) {
409  for (int i=0; i<digi.samples(); i++) {
410  if (_ptype == fOnline) {
411  _meLEDMon->Fill(e.bunchCrossing(), digi[i].adc());
412  } else if (_ptype == fLocal) {
413  _meLEDMon->Fill(e.eventAuxiliary().id().event(), digi[i].adc());
414  }
415  }
416  }
417  }
418  }
419 
420  continue;
421  }
422  uint32_t rawid = _ehashmap.lookup(did);
423  if (!rawid) {
424  std::string unknown_id_string="Detid "+std::to_string(int(did))+", ieta "+std::to_string(did.ieta());
425  unknown_id_string+=", iphi "+std::to_string(did.iphi())+", depth "+std::to_string(did.depth());
426  unknown_id_string+=", is not in emap. Skipping.";
427  _logger.warn(unknown_id_string);
428  continue;
429  }
430  HcalElectronicsId const& eid(rawid);
431 
432  CaloSamples digi_fC = hcaldqm::utilities::loadADC2fCDB<QIE11DataFrame>(_dbService, did, digi);
433  //double sumQ = hcaldqm::utilities::sumQ_v10<QIE11DataFrame>(digi, 2.5, 0, digi.samples()-1);
434  double sumQ = hcaldqm::utilities::sumQDB<QIE11DataFrame>(_dbService, digi_fC, did, digi, 0, digi.samples()-1);
435  if (sumQ >= _lowHE) {
436  //double aveTS = hcaldqm::utilities::aveTS_v10<QIE11DataFrame>(digi, 2.5, 0,digi.samples()-1);
437  double aveTS = hcaldqm::utilities::aveTSDB<QIE11DataFrame>(_dbService, digi_fC, did, digi, 0, digi.size()-1);
438 
439  _xSignalSum.get(did)+=sumQ;
440  _xSignalSum2.get(did)+=sumQ*sumQ;
441  _xTimingSum.get(did)+=aveTS;
442  _xTimingSum2.get(did)+=aveTS*aveTS;
443  _xEntries.get(did)++;
444 
445  if (_ptype == fLocal) { // hidefed2crate
446  for (int i=0; i<digi.samples(); i++) {
447  //_cShapeCut_FEDSlot.fill(eid, i, digi.sample(i).nominal_fC()-2.5);
448  _cShapeCut_FEDSlot.fill(eid, i, hcaldqm::utilities::adc2fCDBMinusPedestal<QIE11DataFrame>(_dbService, digi_fC, did, digi, i));
449  }
450  }
451  if (_ptype == fOnline) {
452  for (int iTS = 0; iTS < digi.samples(); ++iTS) {
453  _cADCvsTS_SubdetPM.fill(did, iTS, digi[iTS].adc());
454  if (digi[iTS].tdc() <50) {
455  double time = iTS*25. + (digi[iTS].tdc() / 2.);
456  _cTDCTime_SubdetPM.fill(did, time);
457  _cTDCTime_depth.fill(did, time);
458  }
459  }
460  _cSumQ_SubdetPM.fill(did, sumQ);
461 
462  // Low signal in SOI
463  short soi = -1;
464  for (int i=0; i<digi.samples(); i++) {
465  if (digi[i].soi()) {
466  soi = i;
467  break;
468  }
469  }
470  if (digi[soi].adc() < 30) {
472  }
473  }
474  }
475  }
477  it!=cho->end(); ++it)
478  {
479  const HODataFrame digi = (const HODataFrame)(*it);
480  HcalDetId did = digi.id();
481  HcalElectronicsId eid = digi.elecId();
482  //double sumQ = hcaldqm::utilities::sumQ<HODataFrame>(digi, 8.5, 0, digi.size()-1);
483  CaloSamples digi_fC = hcaldqm::utilities::loadADC2fCDB<HODataFrame>(_dbService, did, digi);
484  double sumQ = hcaldqm::utilities::sumQDB<HODataFrame>(_dbService, digi_fC, did, digi, 0, digi.size()-1);
485  if (sumQ >= _lowHO) {
486  //double aveTS = hcaldqm::utilities::aveTS<HODataFrame>(digi, 8.5, 0, digi.size()-1);
487  double aveTS = hcaldqm::utilities::aveTSDB<HODataFrame>(_dbService, digi_fC, did, digi, 0, digi.size()-1);
488 
489  _xSignalSum.get(did)+=sumQ;
490  _xSignalSum2.get(did)+=sumQ*sumQ;
491  _xTimingSum.get(did)+=aveTS;
492  _xTimingSum2.get(did)+=aveTS*aveTS;
493  _xEntries.get(did)++;
494 
495  if (_ptype == fLocal) { // hidefed2crate
496  for (int i=0; i<digi.size(); i++) {
497  //_cShapeCut_FEDSlot.fill(eid, i, digi.sample(i).nominal_fC()-8.5);
498  _cShapeCut_FEDSlot.fill(eid, i, hcaldqm::utilities::adc2fCDBMinusPedestal<HODataFrame>(_dbService, digi_fC, did, digi, i));
499  }
500  }
501  if (_ptype == fOnline) {
502  for (int iTS = 0; iTS < digi.size(); ++iTS) {
503  _cADCvsTS_SubdetPM.fill(did, iTS, digi.sample(iTS).adc());
504  }
505  _cSumQ_SubdetPM.fill(did, sumQ);
506  }
507  }
508  }
509 
511  it!=chf->end(); ++it)
512  {
513  const QIE10DataFrame digi = static_cast<const QIE10DataFrame>(*it);
514  HcalDetId did = digi.detid();
515  if (did.subdet() != HcalForward) {
516  continue;
517  }
519  //double sumQ = hcaldqm::utilities::sumQ_v10<QIE10DataFrame>(digi, 2.5, 0, digi.samples()-1);
520  CaloSamples digi_fC = hcaldqm::utilities::loadADC2fCDB<QIE10DataFrame>(_dbService, did, digi);
521  double sumQ = hcaldqm::utilities::sumQDB<QIE10DataFrame>(_dbService, digi_fC, did, digi, 0, digi.samples()-1);
522  if (sumQ >= _lowHF) {
523  //double aveTS = hcaldqm::utilities::aveTS_v10<QIE10DataFrame>(digi, 2.5, 0, digi.samples()-1);
524  double aveTS = hcaldqm::utilities::aveTSDB<QIE10DataFrame>(_dbService, digi_fC, did, digi, 0, digi.size()-1);
525 
526  _xSignalSum.get(did)+=sumQ;
527  _xSignalSum2.get(did)+=sumQ*sumQ;
528  _xTimingSum.get(did)+=aveTS;
529  _xTimingSum2.get(did)+=aveTS*aveTS;
530  _xEntries.get(did)++;
531 
532  if (_ptype == fLocal) { // hidefed2crate
533  for (int i = 0; i < digi.samples(); ++i) {
534  // Note: this used to be digi.sample(i).nominal_fC() - 2.5, but this branch doesn't exist in QIE10DataFrame.
535  // Instead, use lookup table.
536  //_cShapeCut_FEDSlot.fill(eid, i, constants::adc2fC[digi[i].adc()]);
537  _cShapeCut_FEDSlot.fill(eid, i, hcaldqm::utilities::adc2fCDBMinusPedestal<QIE10DataFrame>(_dbService, digi_fC, did, digi, i));
538  }
539  }
540  if (_ptype == fOnline) {
541  for (int iTS = 0; iTS < digi.samples(); ++iTS) {
542  _cADCvsTS_SubdetPM.fill(did, iTS, digi[iTS].adc());
543  if (digi[iTS].le_tdc() <50) {
544  double time = iTS*25. + (digi[iTS].le_tdc() / 2.);
545  _cTDCTime_SubdetPM.fill(did, time);
546  _cTDCTime_depth.fill(did, time);
547  }
548  }
549  _cSumQ_SubdetPM.fill(did, sumQ);
550  }
551  }
552  }
553 
554  if (_ptype==fOnline && _evsTotal>0 &&
556  this->_dump();
557 }
int adc(sample_type sample)
get the ADC sample (12 bits)
int samples() const
total number of samples in the digi
DetId detid() const
Get the detector id.
edm::EDGetTokenT< QIE11DigiCollection > _tokHE
Definition: LEDTask.h:54
double aveTS(DIGI const &digi, double ped=0, int i=0, int j=3)
Definition: Utilities.h:107
double _lowHBHE
Definition: LEDTask.h:67
void warn(std::string const &msg) const
Definition: Logger.h:20
boost::transform_iterator< IterHelp, boost::counting_iterator< int > > const_iterator
HcalSubdetector subdet() const
get the subdetector
Definition: HcalDetId.h:142
MonitorElement * _meLEDMon
Definition: LEDTask.h:116
void fill(HcalDetId const &) override
double _lowHF
Definition: LEDTask.h:70
edm::EDGetTokenT< HBHEDigiCollection > _tokHBHE
Definition: LEDTask.h:53
int size() const
total number of samples in the digi
Definition: HBHEDataFrame.h:31
edm::InputTag _tagHE
Definition: LEDTask.h:48
HcalDetId const & id() const
Definition: HODataFrame.h:27
std::vector< HBHEDataFrame >::const_iterator const_iterator
edm::InputTag _tagHO
Definition: LEDTask.h:49
const_iterator begin() const
edm::InputTag _tagHF
Definition: LEDTask.h:50
hcaldqm::ContainerXXX< int > _xEntries
Definition: LEDTask.h:75
void Fill(long long x)
hcaldqm::ContainerXXX< double > _xTimingSum
Definition: LEDTask.h:76
hcaldqm::ContainerProf2D _cTDCTime_depth
Definition: LEDTask.h:112
int depth() const
get the tower depth
Definition: HcalDetId.h:162
ProcessingType _ptype
Definition: DQModule.h:59
virtual void fill(uint32_t)
Definition: Container1D.cc:83
HcalElectronicsId const & elecId() const
Definition: HODataFrame.h:28
double _lowHE
Definition: LEDTask.h:68
double _lowHO
Definition: LEDTask.h:69
void dqmthrow(std::string const &msg) const
Definition: Logger.h:15
int ieta() const
get the cell ieta
Definition: HcalDetId.h:155
int size() const
total number of samples in the digi
Definition: HODataFrame.h:31
hcaldqm::ContainerSingle2D _cLowSignal_CrateSlot
Definition: LEDTask.h:113
DetId detid() const
Get the detector id.
Logger _logger
Definition: DQModule.h:70
edm::EDGetTokenT< QIE10DigiCollection > _tokHF
Definition: LEDTask.h:56
edm::InputTag _tagHBHE
Definition: LEDTask.h:47
const_iterator end() const
int iphi() const
get the cell iphi
Definition: HcalDetId.h:157
int const CALIBEVENTS_MIN
Definition: Constants.h:264
hcaldqm::ContainerXXX< double > _xTimingSum2
Definition: LEDTask.h:77
hcaldqm::Container1D _cTDCTime_SubdetPM
Definition: LEDTask.h:111
edm::EDGetTokenT< HODigiCollection > _tokHO
Definition: LEDTask.h:55
hcaldqm::ContainerXXX< double > _xSignalSum
Definition: LEDTask.h:73
const HcalElectronicsId & elecId() const
Definition: HBHEDataFrame.h:28
std::string const & label() const
Definition: InputTag.h:36
const_iterator end() const
virtual STDTYPE & get(HcalDetId const &)
Definition: ContainerXXX.h:247
edm::ESHandle< HcalDbService > _dbService
Definition: DQTask.h:72
void fill(HcalDetId const &) override
Definition: Container2D.cc:59
virtual void _dump()
Definition: LEDTask.cc:263
hcaldqm::ContainerXXX< double > _xSignalSum2
Definition: LEDTask.h:74
const HcalDetId & id() const
Definition: HBHEDataFrame.h:27
hcaldqm::electronicsmap::ElectronicsMap _ehashmap
Definition: LEDTask.h:61
hcaldqm::Container1D _cSumQ_SubdetPM
Definition: LEDTask.h:110
hcaldqm::ContainerProf1D _cShapeCut_FEDSlot
Definition: LEDTask.h:86
virtual void fill(int, int)
int samples() const
total number of samples in the digi
hcaldqm::Container2D _cADCvsTS_SubdetPM
Definition: LEDTask.h:109
Readout chain identification for Hcal.
std::string const & instance() const
Definition: InputTag.h:37
const_iterator begin() const
double sumQ(DIGI const &digi, double ped, int i=0, int j=3)
Definition: Utilities.h:121
void LEDTask::_resetMonitors ( hcaldqm::UpdateFreq  uf)
overrideprotectedvirtual

Reimplemented from hcaldqm::DQTask.

Definition at line 258 of file LEDTask.cc.

Referenced by endRun().

259 {
260  DQTask::_resetMonitors(uf);
261 }
void LEDTask::bookHistograms ( DQMStore::IBooker ib,
edm::Run const &  r,
edm::EventSetup const &  es 
)
overridevirtual

Reimplemented from hcaldqm::DQTask.

Definition at line 42 of file LEDTask.cc.

References _cADCvsTS_SubdetPM, _cLowSignal_CrateSlot, _cMissing_depth, _cMissing_FEDuTCA, _cMissing_FEDVME, _cShapeCut_FEDSlot, _cSignalMean_depth, _cSignalMean_FEDuTCA, _cSignalMean_FEDVME, _cSignalMean_Subdet, _cSignalRMS_depth, _cSignalRMS_FEDuTCA, _cSignalRMS_FEDVME, _cSignalRMS_Subdet, _cSumQ_SubdetPM, _cTDCTime_depth, _cTDCTime_SubdetPM, _cTimingMean_depth, _cTimingMean_FEDuTCA, _cTimingMean_FEDVME, _cTimingMean_Subdet, _cTimingRMS_depth, _cTimingRMS_FEDuTCA, _cTimingRMS_FEDVME, _cTimingRMS_Subdet, _ehashmap, hcaldqm::DQTask::_emap, _filter_uTCA, _filter_VME, _meLEDMon, hcaldqm::DQModule::_name, _nevents, hcaldqm::DQModule::_ptype, hcaldqm::DQModule::_subsystem, _xEntries, _xSignalSum, _xSignalSum2, _xTimingSum, _xTimingSum2, hcaldqm::ContainerXXX< STDTYPE >::book(), hcaldqm::ContainerProf1D::book(), hcaldqm::ContainerProf2D::book(), hcaldqm::ContainerSingle2D::book(), hcaldqm::Container2D::book(), hcaldqm::Container1D::book(), DQMStore::IBooker::book2D(), bookHistograms(), hcaldqm::constants::CRATE_uTCA_MIN, hcaldqm::constants::CRATE_VME_MIN, hcaldqm::quantity::fCrateuTCA, hcaldqm::electronicsmap::fD2EHashMap, hcaldqm::hashfunctions::fDChannel, hcaldqm::hashfunctions::fdepth, hcaldqm::hashfunctions::fElectronics, hcaldqm::quantity::ffC_1000, hcaldqm::quantity::ffC_3000, hcaldqm::quantity::ffC_generic_10000, hcaldqm::quantity::ffC_generic_400000, hcaldqm::hashfunctions::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::fLocal, hcaldqm::quantity::fN, hcaldqm::fOffline, hcaldqm::fOnline, hcaldqm::quantity::fQIE10ADC_256, hcaldqm::quantity::fQIE10fC_400000, hcaldqm::quantity::fSlotuTCA, hcaldqm::quantity::fSpigot, hcaldqm::hashfunctions::fSubdet, hcaldqm::hashfunctions::fSubdetPM, hcaldqm::quantity::fTime_ns_250, hcaldqm::quantity::fTiming_TS, hcaldqm::quantity::fTiming_TS200, edm::EventSetup::get(), HcalDbService::getHcalMapping(), hcaldqm::ContainerProf1D::initialize(), hcaldqm::ContainerProf2D::initialize(), hcaldqm::ContainerXXX< STDTYPE >::initialize(), hcaldqm::Container2D::initialize(), hcaldqm::ContainerSingle2D::initialize(), hcaldqm::filter::HashFilter::initialize(), hcaldqm::Container1D::initialize(), hcaldqm::electronicsmap::ElectronicsMap::initialize(), edm::RunAuxiliary::run(), edm::Run::runAuxiliary(), MonitorElement::setAxisTitle(), DQMStore::IBooker::setCurrentFolder(), hcaldqm::constants::SLOT_uTCA_MIN, and hcaldqm::constants::SPIGOT_MIN.

Referenced by ~LEDTask().

44 {
45  if (_ptype==fLocal)
46  if (r.runAuxiliary().run()==1)
47  return;
48 
49  DQTask::bookHistograms(ib, r, es);
50 
52  es.get<HcalDbRecord>().get(dbService);
53  _emap = dbService->getHcalMapping();
54 
55  std::vector<uint32_t> vhashVME;
56  std::vector<uint32_t> vhashuTCA;
57  std::vector<uint32_t> vhashC36;
58  vhashVME.push_back(HcalElectronicsId(constants::FIBERCH_MIN,
60  vhashuTCA.push_back(HcalElectronicsId(CRATE_uTCA_MIN, SLOT_uTCA_MIN,
61  FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
63  vhashVME);
65  vhashuTCA);
66 
67  // INITIALIZE
68  _cSignalMean_Subdet.initialize(_name, "SignalMean",
72  _cSignalRMS_Subdet.initialize(_name, "SignalRMS",
76  _cTimingMean_Subdet.initialize(_name, "TimingMean",
80  _cTimingRMS_Subdet.initialize(_name, "TimingRMS",
84 
85  if (_ptype == fLocal) { // hidefed2crate
86  _cSignalMean_FEDVME.initialize(_name, "SignalMean",
96  _cSignalRMS_FEDVME.initialize(_name, "SignalRMS",
101  _cSignalRMS_FEDuTCA.initialize(_name, "SignalRMS",
106  _cTimingMean_FEDVME.initialize(_name, "TimingMean",
111  _cTimingMean_FEDuTCA.initialize(_name, "TimingMean",
116  _cTimingRMS_FEDVME.initialize(_name, "TimingRMS",
121  _cTimingRMS_FEDuTCA.initialize(_name, "TimingRMS",
126 
131  }
132 
133  _cSignalMean_depth.initialize(_name, "SignalMean",
138  _cSignalRMS_depth.initialize(_name, "SignalRMS",
143  _cTimingMean_depth.initialize(_name, "TimingMean",
148  _cTimingRMS_depth.initialize(_name, "TimingRMS",
153 
154  _cMissing_depth.initialize(_name, "Missing",
159  if (_ptype != fOffline) { // hidefed2crate
160  _cMissing_FEDVME.initialize(_name, "Missing",
170  }
171 
172  // Plots for LED in global
173  if (_ptype == fOnline) {
179  _cLowSignal_CrateSlot.initialize(_name, "LowSignal",
187  _cTDCTime_SubdetPM.initialize(_name, "TDCTime",
191  _cTDCTime_depth.initialize(_name, "TDCTime",
196  // Manually book LED monitoring histogram, to get custom axis
198  _meLEDMon = ib.book2D("LED_ADCvsBX", "Pin diode ADC vs BX", 99, -0.5, 3564-0.5, 64, -0.5, 255.5);
199  _meLEDMon->setAxisTitle("BX", 1);
200  _meLEDMon->setAxisTitle("ADC", 2);
201  } else if (_ptype == fLocal) {
202  // Manually book LED monitoring histogram, to get custom axis
204  _meLEDMon = ib.book2D("LED_ADCvsEvN", "Pin diode ADC vs EvN", _nevents, -0.5, _nevents-0.5, 64, -0.5, 255.5);
205  _meLEDMon->setAxisTitle("Event Number", 1);
206  _meLEDMon->setAxisTitle("ADC", 2);
207  }
208 
209  // initialize compact containers
215 
216  // BOOK
221 
226 
228  if (_ptype == fLocal) { // hidefed2crate
240  }
241  if (_ptype == fOnline) {
247  }
248 
254 
256 }
void initialize(std::string const &folder, hashfunctions::HashType, quantity::Quantity *, quantity::Quantity *, int debug=0) override
hcaldqm::Container2D _cMissing_FEDuTCA
Definition: LEDTask.h:106
hcaldqm::Container2D _cMissing_FEDVME
Definition: LEDTask.h:105
hcaldqm::ContainerProf2D _cSignalMean_depth
Definition: LEDTask.h:89
hcaldqm::ContainerProf2D _cTimingMean_FEDuTCA
Definition: LEDTask.h:97
virtual void initialize(std::string const &folder, hashfunctions::HashType, quantity::Quantity *, quantity::Quantity *qy=new quantity::ValueQuantity(quantity::fN), int debug=0)
Definition: Container1D.cc:41
int const CRATE_VME_MIN
Definition: Constants.h:111
hcaldqm::ContainerProf2D _cTimingMean_depth
Definition: LEDTask.h:91
MonitorElement * _meLEDMon
Definition: LEDTask.h:116
hcaldqm::ContainerProf2D _cSignalMean_FEDVME
Definition: LEDTask.h:94
hcaldqm::Container2D _cMissing_depth
Definition: LEDTask.h:104
void initialize(HcalElectronicsMap const *, ElectronicsMapType etype=fHcalElectronicsMap)
hcaldqm::ContainerProf2D _cTimingMean_FEDVME
Definition: LEDTask.h:96
virtual void initialize(std::string const &folder, quantity::Quantity *, quantity::Quantity *, quantity::Quantity *qz=new quantity::ValueQuantity(quantity::fN), int debug=0)
int const SPIGOT_MIN
Definition: Constants.h:136
void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="") override
hcaldqm::ContainerProf2D _cSignalRMS_FEDVME
Definition: LEDTask.h:98
int const FIBER_VME_MIN
Definition: Constants.h:141
hcaldqm::filter::HashFilter _filter_uTCA
Definition: LEDTask.h:62
hcaldqm::ContainerXXX< int > _xEntries
Definition: LEDTask.h:75
int _nevents
Definition: LEDTask.h:66
int const FIBERCH_MIN
Definition: Constants.h:151
virtual void book(DQMStore::IBooker &, std::string subsystem="Hcal", std::string aux="")
hcaldqm::ContainerXXX< double > _xTimingSum
Definition: LEDTask.h:76
hcaldqm::ContainerProf2D _cTDCTime_depth
Definition: LEDTask.h:112
hcaldqm::ContainerProf2D _cSignalRMS_FEDuTCA
Definition: LEDTask.h:99
ProcessingType _ptype
Definition: DQModule.h:59
virtual example_stream void bookHistograms(DQMStore::IBooker &,@example_stream edm::Run const &,@example_stream edm::EventSetup const &) override
int const FIBER_uTCA_MIN1
Definition: Constants.h:144
hcaldqm::ContainerSingle2D _cLowSignal_CrateSlot
Definition: LEDTask.h:113
std::string _name
Definition: DQModule.h:57
HcalElectronicsMap const * _emap
Definition: DQTask.h:73
hcaldqm::ContainerProf2D _cSignalMean_FEDuTCA
Definition: LEDTask.h:95
hcaldqm::ContainerProf2D _cTimingRMS_depth
Definition: LEDTask.h:92
hcaldqm::Container1D _cSignalRMS_Subdet
Definition: LEDTask.h:81
hcaldqm::filter::HashFilter _filter_VME
Definition: LEDTask.h:63
int const CRATE_uTCA_MIN
Definition: Constants.h:116
hcaldqm::ContainerXXX< double > _xTimingSum2
Definition: LEDTask.h:77
hcaldqm::Container1D _cTDCTime_SubdetPM
Definition: LEDTask.h:111
hcaldqm::ContainerProf2D _cTimingRMS_FEDVME
Definition: LEDTask.h:100
hcaldqm::ContainerProf2D _cTimingRMS_FEDuTCA
Definition: LEDTask.h:101
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:274
virtual void book(HcalElectronicsMap const *)
Definition: ContainerXXX.h:97
hcaldqm::ContainerXXX< double > _xSignalSum
Definition: LEDTask.h:73
MonitorElement * book2D(Args &&...args)
Definition: DQMStore.h:136
virtual void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="")
Definition: Container1D.cc:958
virtual void initialize(std::string const &folder, hashfunctions::HashType, quantity::Quantity *, quantity::Quantity *, quantity::Quantity *qz=new quantity::ValueQuantity(quantity::fN), int debug=0)
Definition: Container2D.cc:32
void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="") override
hcaldqm::Container1D _cTimingMean_Subdet
Definition: LEDTask.h:82
void initialize(std::string const &folder, hashfunctions::HashType, quantity::Quantity *, quantity::Quantity *, quantity::Quantity *qz=new quantity::ValueQuantity(quantity::fEnergy), int debug=0) override
hcaldqm::ContainerProf2D _cSignalRMS_depth
Definition: LEDTask.h:90
hcaldqm::Container1D _cTimingRMS_Subdet
Definition: LEDTask.h:83
const HcalElectronicsMap * getHcalMapping() const
virtual void initialize(FilterType ftype, hashfunctions::HashType htype, std::vector< uint32_t > const &)
Definition: HashFilter.cc:28
std::string _subsystem
Definition: DQModule.h:64
hcaldqm::ContainerXXX< double > _xSignalSum2
Definition: LEDTask.h:74
hcaldqm::electronicsmap::ElectronicsMap _ehashmap
Definition: LEDTask.h:61
hcaldqm::Container1D _cSumQ_SubdetPM
Definition: LEDTask.h:110
hcaldqm::ContainerProf1D _cShapeCut_FEDSlot
Definition: LEDTask.h:86
virtual void initialize(hashfunctions::HashType, int debug=0)
Definition: ContainerXXX.h:89
void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="") override
Definition: Container2D.cc:895
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
hcaldqm::Container2D _cADCvsTS_SubdetPM
Definition: LEDTask.h:109
Readout chain identification for Hcal.
int const SLOT_uTCA_MIN
Definition: Constants.h:123
hcaldqm::Container1D _cSignalMean_Subdet
Definition: LEDTask.h:80
void LEDTask::endRun ( edm::Run const &  r,
edm::EventSetup const &   
)
inlineoverride

Definition at line 31 of file LEDTask.h.

References _dump(), _isApplicable(), _process(), hcaldqm::DQModule::_ptype, _resetMonitors(), hcaldqm::fLocal, edm::RunAuxiliary::run(), and edm::Run::runAuxiliary().

32  {
34  if (r.runAuxiliary().run()==1)
35  return;
36  this->_dump();
37  }
ProcessingType _ptype
Definition: DQModule.h:59
virtual void _dump()
Definition: LEDTask.cc:263

Member Data Documentation

hcaldqm::Container2D LEDTask::_cADCvsTS_SubdetPM
protected

Definition at line 109 of file LEDTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerSingle2D LEDTask::_cLowSignal_CrateSlot
protected

Definition at line 113 of file LEDTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container2D LEDTask::_cMissing_depth
protected

Definition at line 104 of file LEDTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::Container2D LEDTask::_cMissing_FEDuTCA
protected

Definition at line 106 of file LEDTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::Container2D LEDTask::_cMissing_FEDVME
protected

Definition at line 105 of file LEDTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::ContainerProf1D LEDTask::_cShapeCut_FEDSlot
protected

Definition at line 86 of file LEDTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerProf2D LEDTask::_cSignalMean_depth
protected

Definition at line 89 of file LEDTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::ContainerProf2D LEDTask::_cSignalMean_FEDuTCA
protected

Definition at line 95 of file LEDTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::ContainerProf2D LEDTask::_cSignalMean_FEDVME
protected

Definition at line 94 of file LEDTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::Container1D LEDTask::_cSignalMean_Subdet
protected

Definition at line 80 of file LEDTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::ContainerProf2D LEDTask::_cSignalRMS_depth
protected

Definition at line 90 of file LEDTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::ContainerProf2D LEDTask::_cSignalRMS_FEDuTCA
protected

Definition at line 99 of file LEDTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::ContainerProf2D LEDTask::_cSignalRMS_FEDVME
protected

Definition at line 98 of file LEDTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::Container1D LEDTask::_cSignalRMS_Subdet
protected

Definition at line 81 of file LEDTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::Container1D LEDTask::_cSumQ_SubdetPM
protected

Definition at line 110 of file LEDTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerProf2D LEDTask::_cTDCTime_depth
protected

Definition at line 112 of file LEDTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container1D LEDTask::_cTDCTime_SubdetPM
protected

Definition at line 111 of file LEDTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerProf2D LEDTask::_cTimingMean_depth
protected

Definition at line 91 of file LEDTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::ContainerProf2D LEDTask::_cTimingMean_FEDuTCA
protected

Definition at line 97 of file LEDTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::ContainerProf2D LEDTask::_cTimingMean_FEDVME
protected

Definition at line 96 of file LEDTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::Container1D LEDTask::_cTimingMean_Subdet
protected

Definition at line 82 of file LEDTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::ContainerProf2D LEDTask::_cTimingRMS_depth
protected

Definition at line 92 of file LEDTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::ContainerProf2D LEDTask::_cTimingRMS_FEDuTCA
protected

Definition at line 101 of file LEDTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::ContainerProf2D LEDTask::_cTimingRMS_FEDVME
protected

Definition at line 100 of file LEDTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::Container1D LEDTask::_cTimingRMS_Subdet
protected

Definition at line 83 of file LEDTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::electronicsmap::ElectronicsMap LEDTask::_ehashmap
protected

Definition at line 61 of file LEDTask.h.

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

hcaldqm::filter::HashFilter LEDTask::_filter_uTCA
protected

Definition at line 62 of file LEDTask.h.

Referenced by bookHistograms().

hcaldqm::filter::HashFilter LEDTask::_filter_VME
protected

Definition at line 63 of file LEDTask.h.

Referenced by bookHistograms().

double LEDTask::_lowHBHE
protected

Definition at line 67 of file LEDTask.h.

Referenced by _process(), and LEDTask().

double LEDTask::_lowHE
protected

Definition at line 68 of file LEDTask.h.

Referenced by _process(), and LEDTask().

double LEDTask::_lowHF
protected

Definition at line 70 of file LEDTask.h.

Referenced by _process(), and LEDTask().

double LEDTask::_lowHO
protected

Definition at line 69 of file LEDTask.h.

Referenced by _process(), and LEDTask().

MonitorElement* LEDTask::_meLEDMon
protected

Definition at line 116 of file LEDTask.h.

Referenced by _process(), and bookHistograms().

int LEDTask::_nevents
protected

Definition at line 66 of file LEDTask.h.

Referenced by bookHistograms(), and LEDTask().

edm::InputTag LEDTask::_tagHBHE
protected

Definition at line 47 of file LEDTask.h.

Referenced by _process(), and LEDTask().

edm::InputTag LEDTask::_tagHE
protected

Definition at line 48 of file LEDTask.h.

Referenced by _process(), and LEDTask().

edm::InputTag LEDTask::_tagHF
protected

Definition at line 50 of file LEDTask.h.

Referenced by _process(), and LEDTask().

edm::InputTag LEDTask::_tagHO
protected

Definition at line 49 of file LEDTask.h.

Referenced by _process(), and LEDTask().

edm::InputTag LEDTask::_tagTrigger
protected

Definition at line 51 of file LEDTask.h.

Referenced by _isApplicable(), and LEDTask().

edm::InputTag LEDTask::_taguMN
protected

Definition at line 52 of file LEDTask.h.

Referenced by LEDTask().

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

Definition at line 53 of file LEDTask.h.

Referenced by _process(), and LEDTask().

edm::EDGetTokenT<QIE11DigiCollection> LEDTask::_tokHE
protected

Definition at line 54 of file LEDTask.h.

Referenced by _process(), and LEDTask().

edm::EDGetTokenT<QIE10DigiCollection> LEDTask::_tokHF
protected

Definition at line 56 of file LEDTask.h.

Referenced by _process(), and LEDTask().

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

Definition at line 55 of file LEDTask.h.

Referenced by _process(), and LEDTask().

edm::EDGetTokenT<HcalTBTriggerData> LEDTask::_tokTrigger
protected

Definition at line 57 of file LEDTask.h.

Referenced by _isApplicable(), and LEDTask().

edm::EDGetTokenT<HcalUMNioDigi> LEDTask::_tokuMN
protected

Definition at line 58 of file LEDTask.h.

Referenced by _isApplicable(), and LEDTask().

hcaldqm::ContainerXXX<int> LEDTask::_xEntries
protected

Definition at line 75 of file LEDTask.h.

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

hcaldqm::ContainerXXX<double> LEDTask::_xSignalSum
protected

Definition at line 73 of file LEDTask.h.

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

hcaldqm::ContainerXXX<double> LEDTask::_xSignalSum2
protected

Definition at line 74 of file LEDTask.h.

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

hcaldqm::ContainerXXX<double> LEDTask::_xTimingSum
protected

Definition at line 76 of file LEDTask.h.

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

hcaldqm::ContainerXXX<double> LEDTask::_xTimingSum2
protected

Definition at line 77 of file LEDTask.h.

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