CMS 3D CMS Logo

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

#include <LEDTask.h>

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

Public Member Functions

void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
void dqmEndRun (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 dqmBeginLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) override
 
void dqmBeginRun (edm::Run const &, edm::EventSetup const &) override
 
void dqmEndLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) override
 
 DQTask (edm::ParameterSet const &)
 
 ~DQTask () override
 
- Public Member Functions inherited from DQMOneLumiEDAnalyzer<>
void beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
 DQMOneLumiEDAnalyzer ()
 
void endLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) final
 
void endLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &setup) final
 
bool getCanSaveByLumi () override
 
- Public Member Functions inherited from DQMOneEDAnalyzer< edm::EndLuminosityBlockProducer, edm::one::WatchLuminosityBlocks, Args... >
void accumulate (edm::Event const &event, edm::EventSetup const &setup) final
 
void beginRun (edm::Run const &run, edm::EventSetup const &setup) final
 
 DQMOneEDAnalyzer ()
 
void endRun (edm::Run const &, edm::EventSetup const &) final
 
void endRunProduce (edm::Run &run, edm::EventSetup const &setup) final
 
- Public Member Functions inherited from edm::one::EDProducer< edm::EndRunProducer, edm::one::WatchRuns, edm::Accumulator, Args... >
 EDProducer ()=default
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndRuns () 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
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
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)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 
- Public Member Functions inherited from hcaldqm::DQModule
 DQModule (edm::ParameterSet const &)
 
virtual ~DQModule ()(false)
 

Public Attributes

 debug
 
 ledCalibrationChannels
 
 ledTask
 
 mtype
 
 name
 
 ptype
 
 runkeyName
 
 runkeyVal
 
 subsystem
 
 tagHBHE
 
 tagHF
 
 tagHO
 
 tagRaw
 

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::ProducerBase
ProducesCollector producesCollector ()
 
- 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 ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
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
 
hcaldqm::Container2D _LED_ADCvsBX_Subdet
 
hcaldqm::Container2D _LED_ADCvsEvn_Subdet
 
std::map< HcalSubdetector, std::vector< HcalDetId > > _ledCalibrationChannels
 
double _lowHBHE
 
double _lowHF
 
double _lowHO
 
int _nevents
 
edm::InputTag _tagHO
 
edm::InputTag _tagQIE10
 
edm::InputTag _tagQIE11
 
edm::InputTag _tagTrigger
 
edm::InputTag _taguMN
 
edm::EDGetTokenT< HODigiCollection_tokHO
 
edm::EDGetTokenT< QIE10DigiCollection_tokQIE10
 
edm::EDGetTokenT< QIE11DigiCollection_tokQIE11
 
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 DQMOneLumiEDAnalyzer<>
edm::EDPutTokenT< DQMTokenlumiToken_
 
- Protected Attributes inherited from DQMOneEDAnalyzer< edm::EndLuminosityBlockProducer, edm::one::WatchLuminosityBlocks, Args... >
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 DQMOneEDAnalyzer< edm::EndLuminosityBlockProducer, edm::one::WatchLuminosityBlocks, Args... >
typedef dqm::reco::DQMStore DQMStore
 
typedef dqm::reco::MonitorElement MonitorElement
 
- 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 8 of file LEDTask.cc.

References _ledCalibrationChannels, _lowHBHE, _lowHF, _lowHO, _nevents, _tagHO, _tagQIE10, _tagQIE11, _tagTrigger, _taguMN, _tokHO, _tokQIE10, _tokQIE11, _tokTrigger, _tokuMN, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), HcalBarrel, HcalEmpty, HcalEndcap, HcalForward, HcalOther, HcalOuter, mps_fire::i, and HLT_2018_cff::InputTag.

8  : DQTask(ps) {
9  _nevents = ps.getUntrackedParameter<int>("nevents", 2000);
10  // tags
11  _tagQIE11 = ps.getUntrackedParameter<edm::InputTag>("tagHE", edm::InputTag("hcalDigis"));
12  _tagHO = ps.getUntrackedParameter<edm::InputTag>("tagHO", edm::InputTag("hcalDigis"));
13  _tagQIE10 = ps.getUntrackedParameter<edm::InputTag>("tagHF", edm::InputTag("hcalDigis"));
14  _tagTrigger = ps.getUntrackedParameter<edm::InputTag>("tagTrigger", edm::InputTag("tbunpacker"));
15  _taguMN = ps.getUntrackedParameter<edm::InputTag>("taguMN", edm::InputTag("hcalDigis"));
16  _tokQIE11 = consumes<QIE11DigiCollection>(_tagQIE11);
17  _tokHO = consumes<HODigiCollection>(_tagHO);
18  _tokQIE10 = consumes<QIE10DigiCollection>(_tagQIE10);
19  _tokTrigger = consumes<HcalTBTriggerData>(_tagTrigger);
20  _tokuMN = consumes<HcalUMNioDigi>(_taguMN);
21 
22  // constants
23  _lowHBHE = ps.getUntrackedParameter<double>("lowHBHE", 20);
24  _lowHO = ps.getUntrackedParameter<double>("lowHO", 20);
25  _lowHF = ps.getUntrackedParameter<double>("lowHF", 20);
26 
27  // LED calibration channels
28  std::vector<edm::ParameterSet> vLedCalibChannels =
29  ps.getParameter<std::vector<edm::ParameterSet>>("ledCalibrationChannels");
30  for (int i = 0; i <= 3; ++i) {
31  HcalSubdetector this_subdet = HcalEmpty;
32  switch (i) {
33  case 0:
34  this_subdet = HcalBarrel;
35  break;
36  case 1:
37  this_subdet = HcalEndcap;
38  break;
39  case 2:
40  this_subdet = HcalOuter;
41  break;
42  case 3:
43  this_subdet = HcalForward;
44  break;
45  default:
46  this_subdet = HcalEmpty;
47  break;
48  }
49  std::vector<int32_t> subdet_calib_ietas = vLedCalibChannels[i].getUntrackedParameter<std::vector<int32_t>>("ieta");
50  std::vector<int32_t> subdet_calib_iphis = vLedCalibChannels[i].getUntrackedParameter<std::vector<int32_t>>("iphi");
51  std::vector<int32_t> subdet_calib_depths =
52  vLedCalibChannels[i].getUntrackedParameter<std::vector<int32_t>>("depth");
53  for (unsigned int ichannel = 0; ichannel < subdet_calib_ietas.size(); ++ichannel) {
54  _ledCalibrationChannels[this_subdet].push_back(HcalDetId(
55  HcalOther, subdet_calib_ietas[ichannel], subdet_calib_iphis[ichannel], subdet_calib_depths[ichannel]));
56  }
57  }
58 }
double _lowHBHE
Definition: LEDTask.h:61
DQTask(edm::ParameterSet const &)
Definition: DQTask.cc:5
edm::InputTag _taguMN
Definition: LEDTask.h:47
edm::EDGetTokenT< HcalTBTriggerData > _tokTrigger
Definition: LEDTask.h:51
double _lowHF
Definition: LEDTask.h:63
edm::InputTag _tagHO
Definition: LEDTask.h:44
edm::InputTag _tagQIE11
Definition: LEDTask.h:43
edm::EDGetTokenT< QIE11DigiCollection > _tokQIE11
Definition: LEDTask.h:48
int _nevents
Definition: LEDTask.h:60
edm::EDGetTokenT< QIE10DigiCollection > _tokQIE10
Definition: LEDTask.h:50
edm::EDGetTokenT< HcalUMNioDigi > _tokuMN
Definition: LEDTask.h:52
double _lowHO
Definition: LEDTask.h:62
HcalSubdetector
Definition: HcalAssistant.h:31
edm::InputTag _tagTrigger
Definition: LEDTask.h:46
edm::EDGetTokenT< HODigiCollection > _tokHO
Definition: LEDTask.h:49
std::map< HcalSubdetector, std::vector< HcalDetId > > _ledCalibrationChannels
Definition: LEDTask.h:109
edm::InputTag _tagQIE10
Definition: LEDTask.h:45
LEDTask::~LEDTask ( )
inlineoverride

Definition at line 25 of file LEDTask.h.

References bookHistograms().

25 {}

Member Function Documentation

void LEDTask::_dump ( )
protectedvirtual

Definition at line 337 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(), dqmiodumpmetadata::n, hcaldqm::Container1D::reset(), and mathSSE::sqrt().

Referenced by _process(), and dqmEndRun().

337  {
346 
347  if (_ptype == fLocal) { // hidefed2crate
356  }
357 
358  std::vector<HcalGenericDetId> dids = _emap->allPrecisionId();
359  for (std::vector<HcalGenericDetId>::const_iterator it = dids.begin(); it != dids.end(); ++it) {
360  if (!it->isHcalDetId())
361  continue;
362  HcalDetId did = HcalDetId(it->rawId());
364  int n = _xEntries.get(did);
365  double msig = _xSignalSum.get(did) / n;
366  double mtim = _xTimingSum.get(did) / n;
367  double rsig = sqrt(_xSignalSum2.get(did) / n - msig * msig);
368  double rtim = sqrt(_xTimingSum2.get(did) / n - mtim * mtim);
369 
370  // channels missing or low signal
371  if (n == 0) {
372  _cMissing_depth.fill(did);
373  if (_ptype == fLocal) { // hidefed2crate
374  if (eid.isVMEid())
376  else
378  }
379  continue;
380  }
381  _cSignalMean_Subdet.fill(did, msig);
382  _cSignalMean_depth.fill(did, msig);
383  _cSignalRMS_Subdet.fill(did, rsig);
384  _cSignalRMS_depth.fill(did, rsig);
385  _cTimingMean_Subdet.fill(did, mtim);
386  _cTimingMean_depth.fill(did, mtim);
387  _cTimingRMS_Subdet.fill(did, rtim);
388  _cTimingRMS_depth.fill(did, rtim);
389  if (_ptype == fLocal) { // hidefed2crate
390  if (eid.isVMEid()) {
392  _cSignalRMS_FEDVME.fill(eid, rsig);
394  _cTimingRMS_FEDVME.fill(eid, rtim);
395  } else {
400  }
401  }
402  }
403 }
hcaldqm::Container2D _cMissing_FEDuTCA
Definition: LEDTask.h:99
hcaldqm::Container2D _cMissing_FEDVME
Definition: LEDTask.h:98
hcaldqm::ContainerProf2D _cSignalMean_depth
Definition: LEDTask.h:82
hcaldqm::ContainerProf2D _cTimingMean_FEDuTCA
Definition: LEDTask.h:90
hcaldqm::ContainerProf2D _cTimingMean_depth
Definition: LEDTask.h:84
void fill(HcalDetId const &) override
hcaldqm::ContainerProf2D _cSignalMean_FEDVME
Definition: LEDTask.h:87
hcaldqm::Container2D _cMissing_depth
Definition: LEDTask.h:97
hcaldqm::ContainerProf2D _cTimingMean_FEDVME
Definition: LEDTask.h:89
hcaldqm::ContainerProf2D _cSignalRMS_FEDVME
Definition: LEDTask.h:91
hcaldqm::ContainerXXX< int > _xEntries
Definition: LEDTask.h:68
hcaldqm::ContainerXXX< double > _xTimingSum
Definition: LEDTask.h:69
hcaldqm::ContainerProf2D _cSignalRMS_FEDuTCA
Definition: LEDTask.h:92
ProcessingType _ptype
Definition: DQModule.h:43
virtual void fill(uint32_t)
Definition: Container1D.cc:73
virtual void reset()
Definition: Container1D.cc:60
T sqrt(T t)
Definition: SSEVec.h:19
std::vector< HcalGenericDetId > allPrecisionId() const
HcalElectronicsMap const * _emap
Definition: DQTask.h:59
hcaldqm::ContainerProf2D _cSignalMean_FEDuTCA
Definition: LEDTask.h:88
hcaldqm::ContainerProf2D _cTimingRMS_depth
Definition: LEDTask.h:85
hcaldqm::Container1D _cSignalRMS_Subdet
Definition: LEDTask.h:74
hcaldqm::ContainerXXX< double > _xTimingSum2
Definition: LEDTask.h:70
hcaldqm::ContainerProf2D _cTimingRMS_FEDVME
Definition: LEDTask.h:93
hcaldqm::ContainerProf2D _cTimingRMS_FEDuTCA
Definition: LEDTask.h:94
hcaldqm::ContainerXXX< double > _xSignalSum
Definition: LEDTask.h:66
hcaldqm::Container1D _cTimingMean_Subdet
Definition: LEDTask.h:75
hcaldqm::ContainerProf2D _cSignalRMS_depth
Definition: LEDTask.h:83
virtual STDTYPE & get(HcalDetId const &)
Definition: ContainerXXX.h:197
hcaldqm::Container1D _cTimingRMS_Subdet
Definition: LEDTask.h:76
void fill(HcalDetId const &) override
Definition: Container2D.cc:52
hcaldqm::ContainerXXX< double > _xSignalSum2
Definition: LEDTask.h:67
hcaldqm::electronicsmap::ElectronicsMap _ehashmap
Definition: LEDTask.h:55
Readout chain identification for Hcal.
hcaldqm::Container1D _cSignalMean_Subdet
Definition: LEDTask.h:73
bool LEDTask::_isApplicable ( edm::Event const &  e)
overrideprotectedvirtual

Reimplemented from hcaldqm::DQTask.

Definition at line 618 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 dqmEndRun().

618  {
619  if (_ptype != fOnline) {
620  // local
622  if (!e.getByToken(_tokTrigger, ctrigger))
623  _logger.dqmthrow("Collection HcalTBTriggerData isn't available " + _tagTrigger.label() + " " +
625  return ctrigger->wasLEDTrigger();
626  } else {
627  // fOnline mode
629  if (!e.getByToken(_tokuMN, cumn)) {
630  return false;
631  }
632 
633  return (cumn->eventType() == constants::EVENTTYPE_LED);
634  }
635 
636  return false;
637 }
bool wasLEDTrigger() const
returns true if this was a LED trigger
edm::EDGetTokenT< HcalTBTriggerData > _tokTrigger
Definition: LEDTask.h:51
edm::EDGetTokenT< HcalUMNioDigi > _tokuMN
Definition: LEDTask.h:52
ProcessingType _ptype
Definition: DQModule.h:43
uint8_t const EVENTTYPE_LED
Definition: Constants.h:291
void dqmthrow(std::string const &msg) const
Definition: Logger.h:12
uint8_t eventType() const
Logger _logger
Definition: DQModule.h:54
edm::InputTag _tagTrigger
Definition: LEDTask.h:46
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 405 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, _LED_ADCvsBX_Subdet, _LED_ADCvsEvn_Subdet, _ledCalibrationChannels, hcaldqm::DQModule::_logger, _lowHBHE, _lowHF, _lowHO, hcaldqm::DQModule::_ptype, _tagHO, _tagQIE10, _tagQIE11, _tokHO, _tokQIE10, _tokQIE11, _xEntries, _xSignalSum, _xSignalSum2, _xTimingSum, _xTimingSum2, ecalMGPA::adc(), hcaldqm::utilities::aveTS(), begin, 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(), end, 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(), spr::find(), hcaldqm::fLocal, hcaldqm::fOnline, hcaldqm::ContainerXXX< STDTYPE >::get(), edm::Event::getByToken(), HcalBarrel, HcalCalibration, HcalEndcap, HcalForward, HcalOther, mps_fire::i, HODataFrame::id(), edm::EventAuxiliary::id(), HcalDetId::ieta(), edm::InputTag::instance(), HcalDetId::iphi(), edm::InputTag::label(), hcaldqm::electronicsmap::ElectronicsMap::lookup(), QIE11DataFrame::samples(), QIE10DataFrame::samples(), HODataFrame::size(), AlCaHLTBitMon_QueryRunRegistry::string, HcalDetId::subdet(), hcaldqm::utilities::sumQ(), ntuplemaker::time, and Logger::warn().

Referenced by dqmEndRun().

405  {
409 
410  if (!e.getByToken(_tokHO, c_ho))
411  _logger.dqmthrow("Collection HODigiCollection isn't available " + _tagHO.label() + " " + _tagHO.instance());
412  if (!e.getByToken(_tokQIE10, c_QIE10))
413  _logger.dqmthrow("Collection QIE10DigiCollection isn't available " + _tagQIE10.label() + " " +
414  _tagQIE10.instance());
415  if (!e.getByToken(_tokQIE11, c_QIE11))
416  _logger.dqmthrow("Collection QIE11DigiCollection isn't available " + _tagQIE11.label() + " " +
417  _tagQIE11.instance());
418 
419  // int currentEvent = e.eventAuxiliary().id().event();
420 
421  for (QIE11DigiCollection::const_iterator it = c_QIE11->begin(); it != c_QIE11->end(); ++it) {
422  const QIE11DataFrame digi = static_cast<const QIE11DataFrame>(*it);
423  HcalDetId const& did = digi.detid();
424  if ((did.subdet() != HcalBarrel) && (did.subdet() != HcalEndcap)) {
425  // LED monitoring from calibration channels
426  if (did.subdet() == HcalOther) {
427  HcalOtherDetId hodid(digi.detid());
428  if (hodid.subdet() == HcalCalibration) {
431  for (int i = 0; i < digi.samples(); i++) {
432  if (_ptype == fOnline) {
433  _LED_ADCvsBX_Subdet.fill(HcalDetId(HcalEndcap, 16, 1, 1), e.bunchCrossing(), digi[i].adc());
434  } else if (_ptype == fLocal) {
436  HcalDetId(HcalEndcap, 16, 1, 1), e.eventAuxiliary().id().event(), digi[i].adc());
437  }
438  }
441  did) != _ledCalibrationChannels[HcalBarrel].end()) {
442  for (int i = 0; i < digi.samples(); i++) {
443  if (_ptype == fOnline) {
444  _LED_ADCvsBX_Subdet.fill(HcalDetId(HcalBarrel, 1, 1, 1), e.bunchCrossing(), digi[i].adc());
445  } else if (_ptype == fLocal) {
447  HcalDetId(HcalBarrel, 1, 1, 1), e.eventAuxiliary().id().event(), digi[i].adc());
448  }
449  }
450  }
451  }
452  }
453  continue;
454  }
455  uint32_t rawid = _ehashmap.lookup(did);
456  if (!rawid) {
457  std::string unknown_id_string = "Detid " + std::to_string(int(did)) + ", ieta " + std::to_string(did.ieta());
458  unknown_id_string += ", iphi " + std::to_string(did.iphi()) + ", depth " + std::to_string(did.depth());
459  unknown_id_string += ", is not in emap. Skipping.";
460  _logger.warn(unknown_id_string);
461  continue;
462  }
463  HcalElectronicsId const& eid(rawid);
464 
465  CaloSamples digi_fC = hcaldqm::utilities::loadADC2fCDB<QIE11DataFrame>(_dbService, did, digi);
466  //double sumQ = hcaldqm::utilities::sumQ_v10<QIE11DataFrame>(digi, 2.5, 0, digi.samples()-1);
467  double sumQ = hcaldqm::utilities::sumQDB<QIE11DataFrame>(_dbService, digi_fC, did, digi, 0, digi.samples() - 1);
468  if (sumQ >= _lowHBHE) {
469  //double aveTS = hcaldqm::utilities::aveTS_v10<QIE11DataFrame>(digi, 2.5, 0,digi.samples()-1);
470  double aveTS = hcaldqm::utilities::aveTSDB<QIE11DataFrame>(_dbService, digi_fC, did, digi, 0, digi.size() - 1);
471 
472  _xSignalSum.get(did) += sumQ;
473  _xSignalSum2.get(did) += sumQ * sumQ;
474  _xTimingSum.get(did) += aveTS;
475  _xTimingSum2.get(did) += aveTS * aveTS;
476  _xEntries.get(did)++;
477 
478  if (_ptype == fLocal) { // hidefed2crate
479  for (int i = 0; i < digi.samples(); i++) {
480  //_cShapeCut_FEDSlot.fill(eid, i, digi.sample(i).nominal_fC()-2.5);
482  eid, i, hcaldqm::utilities::adc2fCDBMinusPedestal<QIE11DataFrame>(_dbService, digi_fC, did, digi, i));
483  }
484  }
485  if (_ptype == fOnline || _ptype == fLocal) {
486  for (int iTS = 0; iTS < digi.samples(); ++iTS) {
487  _cADCvsTS_SubdetPM.fill(did, iTS, digi[iTS].adc());
488  }
489  }
490  if (_ptype == fOnline) {
491  for (int iTS = 0; iTS < digi.samples(); ++iTS) {
492  if (digi[iTS].tdc() < 50) {
493  double time = iTS * 25. + (digi[iTS].tdc() / 2.);
494  _cTDCTime_SubdetPM.fill(did, time);
495  _cTDCTime_depth.fill(did, time);
496  }
497  }
498  _cSumQ_SubdetPM.fill(did, sumQ);
499 
500  // Low signal in SOI
501  short soi = -1;
502  for (int i = 0; i < digi.samples(); i++) {
503  if (digi[i].soi()) {
504  soi = i;
505  break;
506  }
507  }
508  if (digi[soi].adc() < 30) {
510  }
511  }
512  }
513  }
514  for (HODigiCollection::const_iterator it = c_ho->begin(); it != c_ho->end(); ++it) {
515  const HODataFrame digi = (const HODataFrame)(*it);
516  HcalDetId did = digi.id();
517  HcalElectronicsId eid = digi.elecId();
518  //double sumQ = hcaldqm::utilities::sumQ<HODataFrame>(digi, 8.5, 0, digi.size()-1);
519  CaloSamples digi_fC = hcaldqm::utilities::loadADC2fCDB<HODataFrame>(_dbService, did, digi);
520  double sumQ = hcaldqm::utilities::sumQDB<HODataFrame>(_dbService, digi_fC, did, digi, 0, digi.size() - 1);
521  if (sumQ >= _lowHO) {
522  //double aveTS = hcaldqm::utilities::aveTS<HODataFrame>(digi, 8.5, 0, digi.size()-1);
523  double aveTS = hcaldqm::utilities::aveTSDB<HODataFrame>(_dbService, digi_fC, did, digi, 0, digi.size() - 1);
524 
525  _xSignalSum.get(did) += sumQ;
526  _xSignalSum2.get(did) += sumQ * sumQ;
527  _xTimingSum.get(did) += aveTS;
528  _xTimingSum2.get(did) += aveTS * aveTS;
529  _xEntries.get(did)++;
530 
531  if (_ptype == fLocal) { // hidefed2crate
532  for (int i = 0; i < digi.size(); i++) {
533  //_cShapeCut_FEDSlot.fill(eid, i, digi.sample(i).nominal_fC()-8.5);
535  eid, i, hcaldqm::utilities::adc2fCDBMinusPedestal<HODataFrame>(_dbService, digi_fC, did, digi, i));
536  }
537  }
538  if (_ptype == fOnline || _ptype == fLocal) {
539  for (int iTS = 0; iTS < digi.size(); ++iTS) {
540  _cADCvsTS_SubdetPM.fill(did, iTS, digi.sample(iTS).adc());
541  }
542  }
543  if (_ptype == fOnline) {
544  _cSumQ_SubdetPM.fill(did, sumQ);
545  }
546  }
547  }
548 
549  for (QIE10DigiCollection::const_iterator it = c_QIE10->begin(); it != c_QIE10->end(); ++it) {
550  const QIE10DataFrame digi = static_cast<const QIE10DataFrame>(*it);
551  HcalDetId did = digi.detid();
552  if (did.subdet() != HcalForward) {
553  // LED monitoring from calibration channels
554  if (did.subdet() == HcalOther) {
555  HcalOtherDetId hodid(digi.detid());
556  if (hodid.subdet() == HcalCalibration) {
559  did) != _ledCalibrationChannels[HcalForward].end()) {
560  for (int i = 0; i < digi.samples(); i++) {
561  if (_ptype == fOnline) {
562  _LED_ADCvsBX_Subdet.fill(HcalDetId(HcalForward, 29, 1, 1), e.bunchCrossing(), digi[i].adc());
563  } else if (_ptype == fLocal) {
565  HcalDetId(HcalForward, 29, 1, 1), e.eventAuxiliary().id().event(), digi[i].adc());
566  }
567  }
568  }
569  }
570  }
571  continue;
572  }
574  //double sumQ = hcaldqm::utilities::sumQ_v10<QIE10DataFrame>(digi, 2.5, 0, digi.samples()-1);
575  CaloSamples digi_fC = hcaldqm::utilities::loadADC2fCDB<QIE10DataFrame>(_dbService, did, digi);
576  double sumQ = hcaldqm::utilities::sumQDB<QIE10DataFrame>(_dbService, digi_fC, did, digi, 0, digi.samples() - 1);
577  if (sumQ >= _lowHF) {
578  //double aveTS = hcaldqm::utilities::aveTS_v10<QIE10DataFrame>(digi, 2.5, 0, digi.samples()-1);
579  double aveTS = hcaldqm::utilities::aveTSDB<QIE10DataFrame>(_dbService, digi_fC, did, digi, 0, digi.size() - 1);
580 
581  _xSignalSum.get(did) += sumQ;
582  _xSignalSum2.get(did) += sumQ * sumQ;
583  _xTimingSum.get(did) += aveTS;
584  _xTimingSum2.get(did) += aveTS * aveTS;
585  _xEntries.get(did)++;
586 
587  if (_ptype == fLocal) { // hidefed2crate
588  for (int i = 0; i < digi.samples(); ++i) {
589  // Note: this used to be digi.sample(i).nominal_fC() - 2.5, but this branch doesn't exist in QIE10DataFrame.
590  // Instead, use lookup table.
591  //_cShapeCut_FEDSlot.fill(eid, i, constants::adc2fC[digi[i].adc()]);
593  eid, i, hcaldqm::utilities::adc2fCDBMinusPedestal<QIE10DataFrame>(_dbService, digi_fC, did, digi, i));
594  }
595  }
596  if (_ptype == fOnline || _ptype == fLocal) {
597  for (int iTS = 0; iTS < digi.samples(); ++iTS) {
598  _cADCvsTS_SubdetPM.fill(did, iTS, digi[iTS].adc());
599  }
600  }
601  if (_ptype == fOnline) {
602  for (int iTS = 0; iTS < digi.samples(); ++iTS) {
603  if (digi[iTS].le_tdc() < 50) {
604  double time = iTS * 25. + (digi[iTS].le_tdc() / 2.);
605  _cTDCTime_SubdetPM.fill(did, time);
606  _cTDCTime_depth.fill(did, time);
607  }
608  }
609  _cSumQ_SubdetPM.fill(did, sumQ);
610  }
611  }
612  }
613 
615  this->_dump();
616 }
int samples() const
total number of samples in the digi
DetId detid() const
Get the detector id.
double aveTS(DIGI const &digi, double ped=0, int i=0, int j=3)
Definition: Utilities.h:114
double _lowHBHE
Definition: LEDTask.h:61
void warn(std::string const &msg) const
Definition: Logger.h:13
HcalSubdetector subdet() const
get the subdetector
Definition: HcalDetId.h:138
void fill(HcalDetId const &) override
double _lowHF
Definition: LEDTask.h:63
HcalDetId const & id() const
Definition: HODataFrame.h:23
std::vector< T >::const_iterator const_iterator
edm::InputTag _tagHO
Definition: LEDTask.h:44
const_iterator begin() const
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:19
edm::InputTag _tagQIE11
Definition: LEDTask.h:43
edm::EDGetTokenT< QIE11DigiCollection > _tokQIE11
Definition: LEDTask.h:48
hcaldqm::ContainerXXX< int > _xEntries
Definition: LEDTask.h:68
edm::EDGetTokenT< QIE10DigiCollection > _tokQIE10
Definition: LEDTask.h:50
hcaldqm::ContainerXXX< double > _xTimingSum
Definition: LEDTask.h:69
hcaldqm::ContainerProf2D _cTDCTime_depth
Definition: LEDTask.h:105
int depth() const
get the tower depth
Definition: HcalDetId.h:164
ProcessingType _ptype
Definition: DQModule.h:43
virtual void fill(uint32_t)
Definition: Container1D.cc:73
HcalElectronicsId const & elecId() const
Definition: HODataFrame.h:24
double _lowHO
Definition: LEDTask.h:62
void dqmthrow(std::string const &msg) const
Definition: Logger.h:12
int ieta() const
get the cell ieta
Definition: HcalDetId.h:155
int size() const
total number of samples in the digi
Definition: HODataFrame.h:27
hcaldqm::ContainerSingle2D _cLowSignal_CrateSlot
Definition: LEDTask.h:106
DetId detid() const
Get the detector id.
Logger _logger
Definition: DQModule.h:54
#define end
Definition: vmac.h:39
constexpr int adc(sample_type sample)
get the ADC sample (12 bits)
hcaldqm::Container2D _LED_ADCvsEvn_Subdet
Definition: LEDTask.h:111
const_iterator end() const
int iphi() const
get the cell iphi
Definition: HcalDetId.h:157
int const CALIBEVENTS_MIN
Definition: Constants.h:243
hcaldqm::ContainerXXX< double > _xTimingSum2
Definition: LEDTask.h:70
hcaldqm::Container1D _cTDCTime_SubdetPM
Definition: LEDTask.h:104
edm::EDGetTokenT< HODigiCollection > _tokHO
Definition: LEDTask.h:49
hcaldqm::ContainerXXX< double > _xSignalSum
Definition: LEDTask.h:66
std::map< HcalSubdetector, std::vector< HcalDetId > > _ledCalibrationChannels
Definition: LEDTask.h:109
boost::transform_iterator< IterHelp, boost::counting_iterator< int > > const_iterator
std::string const & label() const
Definition: InputTag.h:36
const_iterator end() const
virtual STDTYPE & get(HcalDetId const &)
Definition: ContainerXXX.h:197
#define begin
Definition: vmac.h:32
edm::ESHandle< HcalDbService > _dbService
Definition: DQTask.h:58
void fill(HcalDetId const &) override
Definition: Container2D.cc:52
virtual void _dump()
Definition: LEDTask.cc:337
hcaldqm::ContainerXXX< double > _xSignalSum2
Definition: LEDTask.h:67
hcaldqm::electronicsmap::ElectronicsMap _ehashmap
Definition: LEDTask.h:55
hcaldqm::Container2D _LED_ADCvsBX_Subdet
Definition: LEDTask.h:110
hcaldqm::Container1D _cSumQ_SubdetPM
Definition: LEDTask.h:103
hcaldqm::ContainerProf1D _cShapeCut_FEDSlot
Definition: LEDTask.h:79
edm::InputTag _tagQIE10
Definition: LEDTask.h:45
virtual void fill(int, int)
int samples() const
total number of samples in the digi
hcaldqm::Container2D _cADCvsTS_SubdetPM
Definition: LEDTask.h:102
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:126
void LEDTask::_resetMonitors ( hcaldqm::UpdateFreq  uf)
overrideprotectedvirtual

Reimplemented from hcaldqm::DQTask.

Definition at line 335 of file LEDTask.cc.

Referenced by dqmEndRun().

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

Reimplemented from hcaldqm::DQTask.

Definition at line 60 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, _LED_ADCvsBX_Subdet, _LED_ADCvsEvn_Subdet, 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(), bookHistograms(), hcaldqm::constants::CRATE_uTCA_MIN, hcaldqm::constants::CRATE_VME_MIN, hcaldqm::quantity::fADC_256_4, hcaldqm::quantity::fBX_36, hcaldqm::quantity::fCrateuTCA, hcaldqm::electronicsmap::fD2EHashMap, hcaldqm::hashfunctions::fDChannel, hcaldqm::hashfunctions::fdepth, hcaldqm::hashfunctions::fElectronics, 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::ContainerXXX< STDTYPE >::initialize(), hcaldqm::ContainerProf2D::initialize(), hcaldqm::filter::HashFilter::initialize(), hcaldqm::Container2D::initialize(), hcaldqm::ContainerSingle2D::initialize(), hcaldqm::electronicsmap::ElectronicsMap::initialize(), hcaldqm::Container1D::initialize(), edm::RunAuxiliary::run(), edm::Run::runAuxiliary(), hcaldqm::constants::SLOT_uTCA_MIN, and hcaldqm::constants::SPIGOT_MIN.

Referenced by ~LEDTask().

60  {
61  if (_ptype == fLocal)
62  if (r.runAuxiliary().run() == 1)
63  return;
64 
66 
68  es.get<HcalDbRecord>().get(dbService);
69  _emap = dbService->getHcalMapping();
70 
71  std::vector<uint32_t> vhashVME;
72  std::vector<uint32_t> vhashuTCA;
73  std::vector<uint32_t> vhashC36;
74  vhashVME.push_back(
76  vhashuTCA.push_back(HcalElectronicsId(CRATE_uTCA_MIN, SLOT_uTCA_MIN, FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
79 
80  // INITIALIZE
82  "SignalMean",
86  0);
88  "SignalRMS",
92  0);
94  "TimingMean",
98  0);
100  "TimingRMS",
104  0);
105 
106  if (_ptype == fLocal) { // hidefed2crate
108  "SignalMean",
113  0);
115  "SignalMean",
120  0);
122  "SignalRMS",
127  0);
129  "SignalRMS",
134  0);
136  "TimingMean",
141  0);
143  "TimingMean",
148  0);
150  "TimingRMS",
155  0);
157  "TimingRMS",
162  0);
163 
165  "Shape",
169  0);
170  }
171 
173  "SignalMean",
178  0);
180  "SignalRMS",
185  0);
187  "TimingMean",
192  0);
194  "TimingRMS",
199  0);
200 
202  "Missing",
207  0);
208  if (_ptype != fOffline) { // hidefed2crate
210  "Missing",
215  0);
217  "Missing",
222  0);
223  }
224 
225  // Plots for LED in global
226  if (_ptype == fOnline || _ptype == fLocal) {
228  "ADCvsTS",
233  0);
234  }
235  if (_ptype == fOnline) {
237  "LowSignal",
241  0);
243  "SumQ",
247  0);
249  "TDCTime",
253  0);
255  "TDCTime",
260  0);
262  "LED_ADCvsBX",
267  0);
268  } else if (_ptype == fLocal) {
270  "LED_ADCvsEvn",
275  0);
276  }
277 
278  // initialize compact containers
284 
285  // BOOK
290 
295 
297  if (_ptype == fLocal) { // hidefed2crate
309  }
310  if (_ptype == fOnline || _ptype == fLocal) {
312  }
313  if (_ptype == fOnline) {
318  }
319 
320  if (_ptype == fOnline) {
322  } else if (_ptype == fLocal) {
324  }
325 
331 
333 }
void initialize(std::string const &folder, hashfunctions::HashType, quantity::Quantity *, quantity::Quantity *, int debug=0) override
hcaldqm::Container2D _cMissing_FEDuTCA
Definition: LEDTask.h:99
hcaldqm::Container2D _cMissing_FEDVME
Definition: LEDTask.h:98
hcaldqm::ContainerProf2D _cSignalMean_depth
Definition: LEDTask.h:82
hcaldqm::ContainerProf2D _cTimingMean_FEDuTCA
Definition: LEDTask.h:90
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:33
int const CRATE_VME_MIN
Definition: Constants.h:93
hcaldqm::ContainerProf2D _cTimingMean_depth
Definition: LEDTask.h:84
hcaldqm::ContainerProf2D _cSignalMean_FEDVME
Definition: LEDTask.h:87
hcaldqm::Container2D _cMissing_depth
Definition: LEDTask.h:97
void initialize(HcalElectronicsMap const *, ElectronicsMapType etype=fHcalElectronicsMap)
hcaldqm::ContainerProf2D _cTimingMean_FEDVME
Definition: LEDTask.h:89
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:118
void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="") override
hcaldqm::ContainerProf2D _cSignalRMS_FEDVME
Definition: LEDTask.h:91
int const FIBER_VME_MIN
Definition: Constants.h:123
hcaldqm::filter::HashFilter _filter_uTCA
Definition: LEDTask.h:56
hcaldqm::ContainerXXX< int > _xEntries
Definition: LEDTask.h:68
int _nevents
Definition: LEDTask.h:60
int const FIBERCH_MIN
Definition: Constants.h:132
virtual void book(DQMStore::IBooker &, std::string subsystem="Hcal", std::string aux="")
hcaldqm::ContainerXXX< double > _xTimingSum
Definition: LEDTask.h:69
hcaldqm::ContainerProf2D _cTDCTime_depth
Definition: LEDTask.h:105
hcaldqm::ContainerProf2D _cSignalRMS_FEDuTCA
Definition: LEDTask.h:92
ProcessingType _ptype
Definition: DQModule.h:43
int const FIBER_uTCA_MIN1
Definition: Constants.h:126
hcaldqm::ContainerSingle2D _cLowSignal_CrateSlot
Definition: LEDTask.h:106
std::string _name
Definition: DQModule.h:41
HcalElectronicsMap const * _emap
Definition: DQTask.h:59
hcaldqm::ContainerProf2D _cSignalMean_FEDuTCA
Definition: LEDTask.h:88
hcaldqm::ContainerProf2D _cTimingRMS_depth
Definition: LEDTask.h:85
hcaldqm::Container1D _cSignalRMS_Subdet
Definition: LEDTask.h:74
hcaldqm::filter::HashFilter _filter_VME
Definition: LEDTask.h:57
int const CRATE_uTCA_MIN
Definition: Constants.h:98
hcaldqm::Container2D _LED_ADCvsEvn_Subdet
Definition: LEDTask.h:111
hcaldqm::ContainerXXX< double > _xTimingSum2
Definition: LEDTask.h:70
hcaldqm::Container1D _cTDCTime_SubdetPM
Definition: LEDTask.h:104
hcaldqm::ContainerProf2D _cTimingRMS_FEDVME
Definition: LEDTask.h:93
hcaldqm::ContainerProf2D _cTimingRMS_FEDuTCA
Definition: LEDTask.h:94
virtual void book(HcalElectronicsMap const *)
Definition: ContainerXXX.h:87
hcaldqm::ContainerXXX< double > _xSignalSum
Definition: LEDTask.h:66
virtual void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="")
Definition: Container1D.cc:592
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:25
void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="") override
example_stream void bookHistograms(DQMStore::IBooker &,@example_stream edm::Run const &,@example_stream edm::EventSetup const &) override
hcaldqm::Container1D _cTimingMean_Subdet
Definition: LEDTask.h:75
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:83
hcaldqm::Container1D _cTimingRMS_Subdet
Definition: LEDTask.h:76
const HcalElectronicsMap * getHcalMapping() const
virtual void initialize(FilterType ftype, hashfunctions::HashType htype, std::vector< uint32_t > const &)
Definition: HashFilter.cc:17
std::string _subsystem
Definition: DQModule.h:48
hcaldqm::ContainerXXX< double > _xSignalSum2
Definition: LEDTask.h:67
hcaldqm::electronicsmap::ElectronicsMap _ehashmap
Definition: LEDTask.h:55
hcaldqm::Container2D _LED_ADCvsBX_Subdet
Definition: LEDTask.h:110
hcaldqm::Container1D _cSumQ_SubdetPM
Definition: LEDTask.h:103
hcaldqm::ContainerProf1D _cShapeCut_FEDSlot
Definition: LEDTask.h:79
virtual void initialize(hashfunctions::HashType, int debug=0)
Definition: ContainerXXX.h:81
void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="") override
Definition: Container2D.cc:558
hcaldqm::Container2D _cADCvsTS_SubdetPM
Definition: LEDTask.h:102
Readout chain identification for Hcal.
int const SLOT_uTCA_MIN
Definition: Constants.h:105
ib
Definition: cuy.py:662
hcaldqm::Container1D _cSignalMean_Subdet
Definition: LEDTask.h:73
void LEDTask::dqmEndRun ( edm::Run const &  r,
edm::EventSetup const &   
)
inlineoverridevirtual

Reimplemented from DQMOneEDAnalyzer< edm::EndLuminosityBlockProducer, edm::one::WatchLuminosityBlocks, Args... >.

Definition at line 28 of file LEDTask.h.

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

28  {
29  if (_ptype == hcaldqm::fLocal)
30  if (r.runAuxiliary().run() == 1)
31  return;
32  this->_dump();
33  }
ProcessingType _ptype
Definition: DQModule.h:43
virtual void _dump()
Definition: LEDTask.cc:337

Member Data Documentation

hcaldqm::Container2D LEDTask::_cADCvsTS_SubdetPM
protected

Definition at line 102 of file LEDTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerSingle2D LEDTask::_cLowSignal_CrateSlot
protected

Definition at line 106 of file LEDTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container2D LEDTask::_cMissing_depth
protected

Definition at line 97 of file LEDTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::Container2D LEDTask::_cMissing_FEDuTCA
protected

Definition at line 99 of file LEDTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::Container2D LEDTask::_cMissing_FEDVME
protected

Definition at line 98 of file LEDTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::ContainerProf1D LEDTask::_cShapeCut_FEDSlot
protected

Definition at line 79 of file LEDTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerProf2D LEDTask::_cSignalMean_depth
protected

Definition at line 82 of file LEDTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::ContainerProf2D LEDTask::_cSignalMean_FEDuTCA
protected

Definition at line 88 of file LEDTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::ContainerProf2D LEDTask::_cSignalMean_FEDVME
protected

Definition at line 87 of file LEDTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::Container1D LEDTask::_cSignalMean_Subdet
protected

Definition at line 73 of file LEDTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::ContainerProf2D LEDTask::_cSignalRMS_depth
protected

Definition at line 83 of file LEDTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::ContainerProf2D LEDTask::_cSignalRMS_FEDuTCA
protected

Definition at line 92 of file LEDTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::ContainerProf2D LEDTask::_cSignalRMS_FEDVME
protected

Definition at line 91 of file LEDTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::Container1D LEDTask::_cSignalRMS_Subdet
protected

Definition at line 74 of file LEDTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::Container1D LEDTask::_cSumQ_SubdetPM
protected

Definition at line 103 of file LEDTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerProf2D LEDTask::_cTDCTime_depth
protected

Definition at line 105 of file LEDTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container1D LEDTask::_cTDCTime_SubdetPM
protected

Definition at line 104 of file LEDTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerProf2D LEDTask::_cTimingMean_depth
protected

Definition at line 84 of file LEDTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::ContainerProf2D LEDTask::_cTimingMean_FEDuTCA
protected

Definition at line 90 of file LEDTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::ContainerProf2D LEDTask::_cTimingMean_FEDVME
protected

Definition at line 89 of file LEDTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::Container1D LEDTask::_cTimingMean_Subdet
protected

Definition at line 75 of file LEDTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::ContainerProf2D LEDTask::_cTimingRMS_depth
protected

Definition at line 85 of file LEDTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::ContainerProf2D LEDTask::_cTimingRMS_FEDuTCA
protected

Definition at line 94 of file LEDTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::ContainerProf2D LEDTask::_cTimingRMS_FEDVME
protected

Definition at line 93 of file LEDTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::Container1D LEDTask::_cTimingRMS_Subdet
protected

Definition at line 76 of file LEDTask.h.

Referenced by _dump(), and bookHistograms().

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

Definition at line 55 of file LEDTask.h.

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

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

Definition at line 56 of file LEDTask.h.

Referenced by bookHistograms().

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

Definition at line 57 of file LEDTask.h.

Referenced by bookHistograms().

hcaldqm::Container2D LEDTask::_LED_ADCvsBX_Subdet
protected

Definition at line 110 of file LEDTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container2D LEDTask::_LED_ADCvsEvn_Subdet
protected

Definition at line 111 of file LEDTask.h.

Referenced by _process(), and bookHistograms().

std::map<HcalSubdetector, std::vector<HcalDetId> > LEDTask::_ledCalibrationChannels
protected

Definition at line 109 of file LEDTask.h.

Referenced by _process(), and LEDTask().

double LEDTask::_lowHBHE
protected

Definition at line 61 of file LEDTask.h.

Referenced by _process(), and LEDTask().

double LEDTask::_lowHF
protected

Definition at line 63 of file LEDTask.h.

Referenced by _process(), and LEDTask().

double LEDTask::_lowHO
protected

Definition at line 62 of file LEDTask.h.

Referenced by _process(), and LEDTask().

int LEDTask::_nevents
protected

Definition at line 60 of file LEDTask.h.

Referenced by bookHistograms(), and LEDTask().

edm::InputTag LEDTask::_tagHO
protected

Definition at line 44 of file LEDTask.h.

Referenced by _process(), and LEDTask().

edm::InputTag LEDTask::_tagQIE10
protected

Definition at line 45 of file LEDTask.h.

Referenced by _process(), and LEDTask().

edm::InputTag LEDTask::_tagQIE11
protected

Definition at line 43 of file LEDTask.h.

Referenced by _process(), and LEDTask().

edm::InputTag LEDTask::_tagTrigger
protected

Definition at line 46 of file LEDTask.h.

Referenced by _isApplicable(), and LEDTask().

edm::InputTag LEDTask::_taguMN
protected

Definition at line 47 of file LEDTask.h.

Referenced by LEDTask().

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

Definition at line 49 of file LEDTask.h.

Referenced by _process(), and LEDTask().

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

Definition at line 50 of file LEDTask.h.

Referenced by _process(), and LEDTask().

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

Definition at line 48 of file LEDTask.h.

Referenced by _process(), and LEDTask().

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

Definition at line 51 of file LEDTask.h.

Referenced by _isApplicable(), and LEDTask().

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

Definition at line 52 of file LEDTask.h.

Referenced by _isApplicable(), and LEDTask().

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

Definition at line 68 of file LEDTask.h.

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

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

Definition at line 66 of file LEDTask.h.

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

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

Definition at line 67 of file LEDTask.h.

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

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

Definition at line 69 of file LEDTask.h.

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

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

Definition at line 70 of file LEDTask.h.

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

LEDTask.debug
LEDTask.ledCalibrationChannels

Definition at line 9 of file LEDTask.py.

LEDTask.ledTask

Definition at line 5 of file LEDTask.py.

LEDTask.mtype

Definition at line 17 of file LEDTask.py.

LEDTask.name

Definition at line 12 of file LEDTask.py.

Referenced by ElectronMVAID.ElectronMVAID.__call__(), FWLite.ElectronMVAID.__call__(), dirstructure.Directory.__create_pie_image(), DisplayManager.DisplayManager.__del__(), dqm_interfaces.DirID.__eq__(), dirstructure.Directory.__get_full_path(), dirstructure.Comparison.__get_img_name(), dataset.Dataset.__getDataType(), dataset.Dataset.__getFileInfoList(), dirstructure.Comparison.__make_image(), core.autovars.NTupleVariable.__repr__(), core.autovars.NTupleObjectType.__repr__(), core.autovars.NTupleObject.__repr__(), core.autovars.NTupleCollection.__repr__(), dirstructure.Directory.__repr__(), dqm_interfaces.DirID.__repr__(), dirstructure.Comparison.__repr__(), config.Service.__setattr__(), config.CFG.__str__(), counter.Counter.__str__(), average.Average.__str__(), FWLite.WorkingPoints._reformat_cut_definitions(), core.autovars.NTupleObjectType.addSubObjects(), core.autovars.NTupleObjectType.addVariables(), core.autovars.NTupleObjectType.allVars(), dirstructure.Directory.calcStats(), validation.Sample.digest(), python.rootplot.utilities.Hist.divide(), python.rootplot.utilities.Hist.divide_wilson(), DisplayManager.DisplayManager.Draw(), TreeCrawler.Package.dump(), core.autovars.NTupleVariable.fillBranch(), core.autovars.NTupleObject.fillBranches(), core.autovars.NTupleCollection.fillBranchesScalar(), core.autovars.NTupleCollection.fillBranchesVector(), core.autovars.NTupleCollection.get_cpp_declaration(), core.autovars.NTupleCollection.get_cpp_wrapper_class(), core.autovars.NTupleCollection.get_py_wrapper_class(), utils.StatisticalTest.get_status(), production_tasks.Task.getname(), dataset.CMSDataset.getPrimaryDatasetEntries(), dataset.PrivateDataset.getPrimaryDatasetEntries(), VIDSelectorBase.VIDSelectorBase.initialize(), personalPlayback.Applet.log(), core.autovars.NTupleVariable.makeBranch(), core.autovars.NTupleObject.makeBranches(), core.autovars.NTupleCollection.makeBranchesScalar(), core.autovars.NTupleCollection.makeBranchesVector(), dirstructure.Directory.print_report(), dataset.BaseDataset.printInfo(), dataset.Dataset.printInfo(), production_tasks.MonitorJobs.run(), python.rootplot.utilities.Hist.TGraph(), python.rootplot.utilities.Hist.TH1F(), Vispa.Views.PropertyView.Property.valueChanged(), counter.Counter.write(), and average.Average.write().

LEDTask.ptype

Definition at line 16 of file LEDTask.py.

LEDTask.runkeyName

Definition at line 15 of file LEDTask.py.

LEDTask.runkeyVal

Definition at line 14 of file LEDTask.py.

LEDTask.subsystem

Definition at line 18 of file LEDTask.py.

LEDTask.tagHBHE

Definition at line 21 of file LEDTask.py.

LEDTask.tagHF

Definition at line 23 of file LEDTask.py.

LEDTask.tagHO

Definition at line 22 of file LEDTask.py.

LEDTask.tagRaw

Definition at line 24 of file LEDTask.py.