CMS 3D CMS Logo

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

#include <LaserTask.h>

Inheritance diagram for LaserTask:
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 dqmEndLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) override
 
void dqmEndRun (edm::Run const &r, edm::EventSetup const &) override
 
 LaserTask (edm::ParameterSet const &)
 
 ~LaserTask () 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
 
 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
 
 laserMonCBox
 
 laserMonDigiOverlap
 
 laserMonIEta
 
 laserMonThreshold
 
 laserMonTS0
 
 laserTask
 
 laserType
 
 mtype
 
 name
 
 nevents
 
 ptype
 
 runkeyName
 
 runkeyVal
 
 subsystem
 
 tagHBHE
 
 tagHF
 
 tagHO
 
 tagLaserMon
 
 tagRaw
 
 taguMN
 
 thresh_frac_timingreflm
 
 thresh_min_lmsumq
 
 thresh_timingreflm_HB
 
 thresh_timingreflm_HE
 
 thresh_timingreflm_HF
 
 thresh_timingreflm_HO
 
 vLaserMonIPhi
 

Protected Types

enum  LaserFlag { fBadTiming = 0, fMissingLaserMon = 1, nLaserFlag = 2 }
 

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
 
void processLaserMon (edm::Handle< QIE10DigiCollection > &col, std::vector< int > &iLaserMonADC)
 
- 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::Container1D _cADC_SubdetPM
 
hcaldqm::ContainerSingle1D _cLaserMonSumQ
 
hcaldqm::ContainerSingleProf1D _cLaserMonSumQ_Event
 
hcaldqm::ContainerSingleProf1D _cLaserMonSumQ_LS
 
hcaldqm::ContainerSingle1D _cLaserMonTiming
 
hcaldqm::ContainerSingleProf1D _cLaserMonTiming_Event
 
hcaldqm::ContainerSingleProf1D _cLaserMonTiming_LS
 
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 _cSignalMeanQIE1011_depth
 
hcaldqm::Container1D _cSignalMeanQIE1011_Subdet
 
hcaldqm::ContainerProf2D _cSignalRMS_depth
 
hcaldqm::ContainerProf2D _cSignalRMS_FEDuTCA
 
hcaldqm::ContainerProf2D _cSignalRMS_FEDVME
 
hcaldqm::Container1D _cSignalRMS_Subdet
 
hcaldqm::ContainerProf2D _cSignalRMSQIE1011_depth
 
hcaldqm::Container1D _cSignalRMSQIE1011_Subdet
 
hcaldqm::ContainerProf1D _cSignalvsBX_SubdetPM
 
hcaldqm::ContainerProf1D _cSignalvsBXQIE1011_SubdetPM
 
hcaldqm::ContainerProf1D _cSignalvsEvent_SubdetPM
 
hcaldqm::ContainerProf1D _cSignalvsLS_SubdetPM
 
hcaldqm::ContainerProf1D _cSignalvsLSQIE1011_SubdetPM
 
hcaldqm::ContainerSingle2D _cSummaryvsLS
 
hcaldqm::Container2D _cSummaryvsLS_FED
 
hcaldqm::Container2D _cTiming_DigivsLaserMon_SubdetPM
 
hcaldqm::ContainerProf2D _cTimingDiffEvent_SubdetPM
 
hcaldqm::ContainerProf2D _cTimingDiffLS_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::ContainerProf1D _cTimingvsBX_SubdetPM
 
hcaldqm::ContainerProf1D _cTimingvsEvent_SubdetPM
 
hcaldqm::ContainerProf1D _cTimingvsLS_SubdetPM
 
hcaldqm::electronicsmap::ElectronicsMap _ehashmap
 
hcaldqm::filter::HashFilter _filter_uTCA
 
hcaldqm::filter::HashFilter _filter_VME
 
int _laserMonCBox
 
int _laserMonDigiOverlap
 
int _laserMonIEta
 
double _laserMonThreshold
 
int _laserMonTS0
 
uint32_t _laserType
 
double _lowHBHE
 
double _lowHE
 
double _lowHF
 
double _lowHO
 
int _nevents
 
edm::InputTag _tagHO
 
edm::InputTag _tagLaserMon
 
edm::InputTag _tagQIE10
 
edm::InputTag _tagQIE11
 
edm::InputTag _taguMN
 
double _thresh_frac_timingreflm
 
double _thresh_min_lmsumq
 
std::map< HcalSubdetector, std::pair< double, double > > _thresh_timingreflm
 
edm::EDGetTokenT< HODigiCollection_tokHO
 
edm::EDGetTokenT< QIE10DigiCollection_tokLaserMon
 
edm::EDGetTokenT< QIE10DigiCollection_tokQIE10
 
edm::EDGetTokenT< QIE11DigiCollection_tokQIE11
 
edm::EDGetTokenT< HcalUMNioDigi_tokuMN
 
std::vector< hcaldqm::flag::Flag_vflags
 
std::vector< uint32_t > _vhashFEDs
 
std::vector< int > _vLaserMonIPhi
 
hcaldqm::ContainerXXX< int > _xEntries
 
int _xMissingLaserMon
 
hcaldqm::ContainerXXX< int > _xNBadTimingRefLM
 
hcaldqm::ContainerXXX< int > _xNChs
 
hcaldqm::ContainerXXX< double > _xSignalSum
 
hcaldqm::ContainerXXX< double > _xSignalSum2
 
hcaldqm::ContainerXXX< double > _xTimingRefLMSum
 
hcaldqm::ContainerXXX< double > _xTimingRefLMSum2
 
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 24 of file LaserTask.h.

Member Enumeration Documentation

enum LaserTask::LaserFlag
protected
Enumerator
fBadTiming 
fMissingLaserMon 
nLaserFlag 

Definition at line 58 of file LaserTask.h.

Constructor & Destructor Documentation

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

Definition at line 6 of file LaserTask.cc.

References _laserMonCBox, _laserMonDigiOverlap, _laserMonIEta, _laserMonThreshold, _laserMonTS0, _laserType, _lowHBHE, _lowHF, _lowHO, _nevents, _tagHO, _tagLaserMon, _tagQIE10, _tagQIE11, _taguMN, _thresh_frac_timingreflm, _thresh_min_lmsumq, _thresh_timingreflm, _tokHO, _tokLaserMon, _tokQIE10, _tokQIE11, _tokuMN, _vflags, _vLaserMonIPhi, fBadTiming, nanoDQM_cff::Flag, fMissingLaserMon, edm::ParameterSet::getUntrackedParameter(), HcalBarrel, HcalEndcap, HcalForward, HcalOuter, HLT_2018_cff::InputTag, and nLaserFlag.

6  : DQTask(ps) {
7  _nevents = ps.getUntrackedParameter<int>("nevents", 2000);
8 
9  // tags
10  _tagQIE11 = ps.getUntrackedParameter<edm::InputTag>("tagHE", edm::InputTag("hcalDigis"));
11  _tagHO = ps.getUntrackedParameter<edm::InputTag>("tagHO", edm::InputTag("hcalDigis"));
12  _tagQIE10 = ps.getUntrackedParameter<edm::InputTag>("tagHF", edm::InputTag("hcalDigis"));
13  _taguMN = ps.getUntrackedParameter<edm::InputTag>("taguMN", edm::InputTag("hcalDigis"));
14  _tagLaserMon = ps.getUntrackedParameter<edm::InputTag>("tagLaserMon", edm::InputTag("LASERMON"));
15  _tokQIE11 = consumes<QIE11DigiCollection>(_tagQIE11);
16  _tokHO = consumes<HODigiCollection>(_tagHO);
17  _tokQIE10 = consumes<QIE10DigiCollection>(_tagQIE10);
18  _tokuMN = consumes<HcalUMNioDigi>(_taguMN);
19  _tokLaserMon = consumes<QIE10DigiCollection>(_tagLaserMon);
20 
21  _vflags.resize(nLaserFlag);
22  _vflags[fBadTiming] = hcaldqm::flag::Flag("BadTiming");
23  _vflags[fMissingLaserMon] = hcaldqm::flag::Flag("MissingLaserMon");
24 
25  // constants
26  _lowHBHE = ps.getUntrackedParameter<double>("lowHBHE", 50);
27  _lowHO = ps.getUntrackedParameter<double>("lowHO", 100);
28  _lowHF = ps.getUntrackedParameter<double>("lowHF", 50);
29  _laserType = (uint32_t)ps.getUntrackedParameter<uint32_t>("laserType");
30 
31  // Laser mon digi ordering list
32  _vLaserMonIPhi = ps.getUntrackedParameter<std::vector<int>>("vLaserMonIPhi");
33  _laserMonIEta = ps.getUntrackedParameter<int>("laserMonIEta");
34  _laserMonCBox = ps.getUntrackedParameter<int>("laserMonCBox");
35  _laserMonDigiOverlap = ps.getUntrackedParameter<int>("laserMonDigiOverlap");
36  _laserMonTS0 = ps.getUntrackedParameter<int>("laserMonTS0");
37  _laserMonThreshold = ps.getUntrackedParameter<double>("laserMonThreshold", 1.e5);
38  _thresh_frac_timingreflm = ps.getUntrackedParameter<double>("_thresh_frac_timingreflm", 0.01);
39  _thresh_min_lmsumq = ps.getUntrackedParameter<double>("thresh_min_lmsumq", 50000.);
40 
41  std::vector<double> vTimingRangeHB =
42  ps.getUntrackedParameter<std::vector<double>>("thresh_timingreflm_HB", std::vector<double>({-70, -10.}));
43  std::vector<double> vTimingRangeHE =
44  ps.getUntrackedParameter<std::vector<double>>("thresh_timingreflm_HE", std::vector<double>({-60., 0.}));
45  std::vector<double> vTimingRangeHO =
46  ps.getUntrackedParameter<std::vector<double>>("thresh_timingreflm_HO", std::vector<double>({-50., 20.}));
47  std::vector<double> vTimingRangeHF =
48  ps.getUntrackedParameter<std::vector<double>>("thresh_timingreflm_HF", std::vector<double>({-50., 20.}));
49  _thresh_timingreflm[HcalBarrel] = std::make_pair(vTimingRangeHB[0], vTimingRangeHB[1]);
50  _thresh_timingreflm[HcalEndcap] = std::make_pair(vTimingRangeHE[0], vTimingRangeHE[1]);
51  _thresh_timingreflm[HcalOuter] = std::make_pair(vTimingRangeHO[0], vTimingRangeHO[1]);
52  _thresh_timingreflm[HcalForward] = std::make_pair(vTimingRangeHF[0], vTimingRangeHF[1]);
53 }
edm::InputTag _tagQIE11
Definition: LaserTask.h:49
std::vector< hcaldqm::flag::Flag > _vflags
Definition: LaserTask.h:59
double _lowHF
Definition: LaserTask.h:72
DQTask(edm::ParameterSet const &)
Definition: DQTask.cc:5
double _lowHBHE
Definition: LaserTask.h:69
uint32_t _laserType
Definition: LaserTask.h:73
double _laserMonThreshold
Definition: LaserTask.h:138
double _thresh_frac_timingreflm
Definition: LaserTask.h:140
int _laserMonTS0
Definition: LaserTask.h:137
edm::InputTag _tagHO
Definition: LaserTask.h:50
int _laserMonDigiOverlap
Definition: LaserTask.h:136
edm::EDGetTokenT< QIE10DigiCollection > _tokLaserMon
Definition: LaserTask.h:131
std::map< HcalSubdetector, std::pair< double, double > > _thresh_timingreflm
Definition: LaserTask.h:139
edm::EDGetTokenT< QIE11DigiCollection > _tokQIE11
Definition: LaserTask.h:53
int _nevents
Definition: LaserTask.h:68
edm::EDGetTokenT< HODigiCollection > _tokHO
Definition: LaserTask.h:54
double _thresh_min_lmsumq
Definition: LaserTask.h:141
int _laserMonCBox
Definition: LaserTask.h:135
edm::EDGetTokenT< QIE10DigiCollection > _tokQIE10
Definition: LaserTask.h:55
double _lowHO
Definition: LaserTask.h:71
int _laserMonIEta
Definition: LaserTask.h:134
edm::InputTag _tagLaserMon
Definition: LaserTask.h:130
edm::InputTag _taguMN
Definition: LaserTask.h:52
std::vector< int > _vLaserMonIPhi
Definition: LaserTask.h:133
edm::EDGetTokenT< HcalUMNioDigi > _tokuMN
Definition: LaserTask.h:56
edm::InputTag _tagQIE10
Definition: LaserTask.h:51
LaserTask::~LaserTask ( )
inlineoverride

Definition at line 27 of file LaserTask.h.

References bookHistograms().

27 {}

Member Function Documentation

void LaserTask::_dump ( )
protectedvirtual

Definition at line 432 of file LaserTask.cc.

References _cMissing_depth, _cMissing_FEDuTCA, _cMissing_FEDVME, _cSignalMean_depth, _cSignalMean_FEDuTCA, _cSignalMean_FEDVME, _cSignalMean_Subdet, _cSignalRMS_depth, _cSignalRMS_FEDuTCA, _cSignalRMS_FEDVME, _cSignalRMS_Subdet, _cSummaryvsLS, _cSummaryvsLS_FED, _cTimingMean_depth, _cTimingMean_FEDuTCA, _cTimingMean_FEDVME, _cTimingMean_Subdet, _cTimingRMS_depth, _cTimingRMS_FEDuTCA, _cTimingRMS_FEDVME, _cTimingRMS_Subdet, hcaldqm::DQModule::_currentLS, _ehashmap, hcaldqm::DQTask::_emap, hcaldqm::DQModule::_ptype, hcaldqm::flag::Flag::_state, _thresh_frac_timingreflm, _thresh_timingreflm, hcaldqm::DQTask::_vcdaqEids, _vflags, _vhashFEDs, _xEntries, _xMissingLaserMon, _xNBadTimingRefLM, _xNChs, _xSignalSum, _xSignalSum2, _xTimingRefLMSum, _xTimingSum, _xTimingSum2, HcalElectronicsMap::allPrecisionId(), runTauDisplay::eid, hcaldqm::flag::fBAD, fBadTiming, hcaldqm::flag::fGOOD, hcaldqm::Container2D::fill(), hcaldqm::ContainerProf2D::fill(), hcaldqm::Container1D::fill(), spr::find(), hcaldqm::fLocal, fMissingLaserMon, hcaldqm::flag::fNA, hcaldqm::flag::fNCDAQ, hcaldqm::fOffline, hcaldqm::ContainerXXX< STDTYPE >::get(), hcaldqm::utilities::isFEDHBHE(), hcaldqm::utilities::isFEDHF(), hcaldqm::utilities::isFEDHO(), hcaldqm::electronicsmap::ElectronicsMap::lookup(), dqmiodumpmetadata::n, hcaldqm::ContainerXXX< STDTYPE >::reset(), hcaldqm::flag::Flag::reset(), hcaldqm::Container1D::reset(), hcaldqm::ContainerSingle2D::setBinContent(), hcaldqm::Container2D::setBinContent(), mathSSE::sqrt(), and HcalDetId::subdet().

Referenced by dqmEndLuminosityBlock(), and dqmEndRun().

432  {
441 
442  if (_ptype == fLocal) { // hidefed2crate
451  }
452  if (_ptype != fOffline) {
453  _xNChs.reset();
454  }
455 
456  std::vector<HcalGenericDetId> dids = _emap->allPrecisionId();
457  for (std::vector<HcalGenericDetId>::const_iterator it = dids.begin(); it != dids.end(); ++it) {
458  if (!it->isHcalDetId())
459  continue;
460  HcalDetId did = HcalDetId(it->rawId());
462  int n = _xEntries.get(did);
463  // channels missing or low signal
464  if (n == 0) {
465  _cMissing_depth.fill(did);
466  if (_ptype == fLocal) { // hidefed2crate
467  if (eid.isVMEid())
469  else
471  }
472  continue;
473  }
474 
475  _xNChs.get(eid)++;
476 
477  double msig = _xSignalSum.get(did) / n;
478  double mtim = _xTimingSum.get(did) / n;
479  double rsig = sqrt(_xSignalSum2.get(did) / n - msig * msig);
480  double rtim = sqrt(_xTimingSum2.get(did) / n - mtim * mtim);
481 
482  _cSignalMean_Subdet.fill(did, msig);
483  _cSignalMean_depth.fill(did, msig);
484  _cSignalRMS_Subdet.fill(did, rsig);
485  _cSignalRMS_depth.fill(did, rsig);
486  _cTimingMean_Subdet.fill(did, mtim);
487  _cTimingMean_depth.fill(did, mtim);
488  _cTimingRMS_Subdet.fill(did, rtim);
489  _cTimingRMS_depth.fill(did, rtim);
490  if (_ptype == fLocal) { // hidefed2crate
491  if (eid.isVMEid()) {
493  _cSignalRMS_FEDVME.fill(eid, rsig);
495  _cTimingRMS_FEDVME.fill(eid, rtim);
496  } else {
501  }
502  }
503 
504  // Bad timing
505 
506  double timingreflm_mean = _xTimingRefLMSum.get(did) / n;
507  //double timingreflm_rms = sqrt(_xTimingRefLMSum2.get(did) / n - timingreflm_mean * timingreflm_mean);
508 
509  if ((timingreflm_mean < _thresh_timingreflm[did.subdet()].first) ||
510  (timingreflm_mean > _thresh_timingreflm[did.subdet()].second)) {
512  }
513  }
514  if (_ptype != fOffline) { // hidefed2crate
515  for (std::vector<uint32_t>::const_iterator it = _vhashFEDs.begin(); it != _vhashFEDs.end(); ++it) {
516  hcaldqm::flag::Flag fSum("LASER");
518  std::vector<uint32_t>::const_iterator jt = std::find(_vcdaqEids.begin(), _vcdaqEids.end(), (*it));
519  if (jt == _vcdaqEids.end()) {
520  // not @cDAQ
521  for (uint32_t iflag = 0; iflag < _vflags.size(); iflag++)
524  continue;
525  }
526  // @cDAQ
528  int min_nchs = 10;
529  if (_xNChs.get(eid) < min_nchs) {
531  } else {
532  double frbadtimingreflm = double(_xNBadTimingRefLM.get(eid)) / double(_xNChs.get(eid));
533  if (frbadtimingreflm > _thresh_frac_timingreflm) {
535  } else {
537  }
538  }
539  if (_xMissingLaserMon) {
541  } else {
543  }
544  }
545 
546  // Set SummaryVsLS bins
547  int iflag = 0;
548  for (std::vector<hcaldqm::flag::Flag>::iterator ft = _vflags.begin(); ft != _vflags.end(); ++ft) {
549  _cSummaryvsLS_FED.setBinContent(eid, _currentLS, iflag, int(ft->_state));
550  fSum += (*ft);
551  iflag++;
552  ft->reset();
553  }
554  _cSummaryvsLS.setBinContent(eid, _currentLS, fSum._state);
555  } // End loop over FEDs
556 
557  // Reset per-LS containers
559  _xMissingLaserMon = 0;
560  } // End if _ptype != fOffline
561 }
std::vector< hcaldqm::flag::Flag > _vflags
Definition: LaserTask.h:59
hcaldqm::ContainerProf2D _cTimingMean_FEDuTCA
Definition: LaserTask.h:118
hcaldqm::ContainerXXX< int > _xNBadTimingRefLM
Definition: LaserTask.h:83
HcalSubdetector subdet() const
get the subdetector
Definition: HcalDetId.h:138
hcaldqm::ContainerXXX< double > _xSignalSum2
Definition: LaserTask.h:77
void fill(HcalDetId const &) override
std::vector< uint32_t > _vhashFEDs
Definition: LaserTask.h:65
hcaldqm::ContainerXXX< double > _xTimingRefLMSum
Definition: LaserTask.h:81
hcaldqm::ContainerXXX< int > _xEntries
Definition: LaserTask.h:78
hcaldqm::Container1D _cTimingRMS_Subdet
Definition: LaserTask.h:92
hcaldqm::ContainerProf2D _cSignalRMS_FEDVME
Definition: LaserTask.h:119
double _thresh_frac_timingreflm
Definition: LaserTask.h:140
virtual void reset()
Definition: ContainerXXX.h:292
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:19
hcaldqm::ContainerXXX< double > _xSignalSum
Definition: LaserTask.h:76
hcaldqm::ContainerXXX< double > _xTimingSum
Definition: LaserTask.h:79
hcaldqm::Container2D _cMissing_depth
Definition: LaserTask.h:125
hcaldqm::Container2D _cMissing_FEDVME
Definition: LaserTask.h:126
hcaldqm::ContainerProf2D _cSignalMean_depth
Definition: LaserTask.h:108
hcaldqm::Container2D _cSummaryvsLS_FED
Definition: LaserTask.h:155
hcaldqm::ContainerProf2D _cTimingRMS_FEDVME
Definition: LaserTask.h:121
hcaldqm::ContainerProf2D _cSignalMean_FEDVME
Definition: LaserTask.h:115
hcaldqm::Container1D _cTimingMean_Subdet
Definition: LaserTask.h:91
ProcessingType _ptype
Definition: DQModule.h:43
virtual void fill(uint32_t)
Definition: Container1D.cc:73
virtual void reset()
Definition: Container1D.cc:60
hcaldqm::ContainerProf2D _cTimingRMS_FEDuTCA
Definition: LaserTask.h:122
hcaldqm::ContainerProf2D _cSignalRMS_FEDuTCA
Definition: LaserTask.h:120
std::map< HcalSubdetector, std::pair< double, double > > _thresh_timingreflm
Definition: LaserTask.h:139
virtual void setBinContent(int, int, int)
hcaldqm::ContainerXXX< int > _xNChs
Definition: LaserTask.h:84
T sqrt(T t)
Definition: SSEVec.h:19
hcaldqm::ContainerProf2D _cTimingMean_FEDVME
Definition: LaserTask.h:117
std::vector< HcalGenericDetId > allPrecisionId() const
HcalElectronicsMap const * _emap
Definition: DQTask.h:59
hcaldqm::ContainerSingle2D _cSummaryvsLS
Definition: LaserTask.h:156
hcaldqm::Container2D _cMissing_FEDuTCA
Definition: LaserTask.h:127
hcaldqm::Container1D _cSignalMean_Subdet
Definition: LaserTask.h:87
bool isFEDHBHE(HcalElectronicsId const &)
Definition: Utilities.cc:142
hcaldqm::ContainerProf2D _cSignalMean_FEDuTCA
Definition: LaserTask.h:116
hcaldqm::ContainerProf2D _cTimingMean_depth
Definition: LaserTask.h:112
hcaldqm::electronicsmap::ElectronicsMap _ehashmap
Definition: LaserTask.h:62
void setBinContent(HcalDetId const &, int) override
Definition: Container2D.cc:163
int _xMissingLaserMon
Definition: LaserTask.h:142
virtual STDTYPE & get(HcalDetId const &)
Definition: ContainerXXX.h:197
hcaldqm::Container1D _cSignalRMS_Subdet
Definition: LaserTask.h:88
void fill(HcalDetId const &) override
Definition: Container2D.cc:52
bool isFEDHO(HcalElectronicsId const &)
Definition: Utilities.cc:180
std::vector< uint32_t > _vcdaqEids
Definition: DQTask.h:51
hcaldqm::ContainerXXX< double > _xTimingSum2
Definition: LaserTask.h:80
hcaldqm::ContainerProf2D _cSignalRMS_depth
Definition: LaserTask.h:109
Readout chain identification for Hcal.
bool isFEDHF(HcalElectronicsId const &)
Definition: Utilities.cc:156
hcaldqm::ContainerProf2D _cTimingRMS_depth
Definition: LaserTask.h:113
bool LaserTask::_isApplicable ( edm::Event const &  e)
overrideprotectedvirtual

Reimplemented from hcaldqm::DQTask.

Definition at line 811 of file LaserTask.cc.

References _laserType, hcaldqm::DQModule::_ptype, _tokuMN, DEFINE_FWK_MODULE, HcalUMNioDigi::eventType(), hcalcalib_dqm_sourceclient-live_cfg::eventType, hcaldqm::constants::EVENTTYPE_LASER, hcaldqm::fOnline, edm::Event::getByToken(), laserType, and HcalUMNioDigi::valueUserWord().

Referenced by dqmEndRun().

811  {
812  if (_ptype != fOnline)
813  return true;
814  else {
815  // fOnline mode
817  if (!e.getByToken(_tokuMN, cumn))
818  return false;
819 
820  // event type check first
821  uint8_t eventType = cumn->eventType();
822  if (eventType != constants::EVENTTYPE_LASER)
823  return false;
824 
825  // check if this analysis task is of the right laser type
826  uint32_t laserType = cumn->valueUserWord(0);
827  if (laserType == _laserType)
828  return true;
829  }
830 
831  return false;
832 }
uint32_t _laserType
Definition: LaserTask.h:73
ProcessingType _ptype
Definition: DQModule.h:43
uint32_t valueUserWord(int iword) const
uint8_t eventType() const
uint8_t const EVENTTYPE_LASER
Definition: Constants.h:280
edm::EDGetTokenT< HcalUMNioDigi > _tokuMN
Definition: LaserTask.h:56
void LaserTask::_process ( edm::Event const &  e,
edm::EventSetup const &  es 
)
overrideprotectedvirtual

Implements hcaldqm::DQTask.

Definition at line 563 of file LaserTask.cc.

References _cADC_SubdetPM, _cLaserMonSumQ, _cLaserMonSumQ_Event, _cLaserMonSumQ_LS, _cLaserMonTiming, _cLaserMonTiming_Event, _cLaserMonTiming_LS, _cShapeCut_FEDSlot, _cSignalvsBX_SubdetPM, _cSignalvsEvent_SubdetPM, _cSignalvsLS_SubdetPM, _cTiming_DigivsLaserMon_SubdetPM, _cTimingDiffEvent_SubdetPM, _cTimingDiffLS_SubdetPM, _cTimingvsBX_SubdetPM, _cTimingvsEvent_SubdetPM, _cTimingvsLS_SubdetPM, hcaldqm::DQModule::_currentLS, hcaldqm::DQTask::_dbService, _ehashmap, _laserMonThreshold, _laserMonTS0, hcaldqm::DQModule::_logger, _lowHBHE, _lowHF, _lowHO, hcaldqm::DQModule::_ptype, _tagHO, _tagQIE10, _tagQIE11, _tokHO, _tokLaserMon, _tokQIE10, _tokQIE11, _xEntries, _xMissingLaserMon, _xSignalSum, _xSignalSum2, _xTimingRefLMSum, _xTimingRefLMSum2, _xTimingSum, _xTimingSum2, ecalMGPA::adc(), hcaldqm::constants::adc2fC, hcaldqm::utilities::aveTS(), edm::SortedCollection< T, SORT >::begin(), edm::DataFrameContainer::begin(), edm::EventBase::bunchCrossing(), l1GtPatternGenerator_cfi::bx, QIE11DataFrame::detid(), QIE10DataFrame::detid(), Logger::dqmthrow(), runTauDisplay::eid, edm::SortedCollection< T, SORT >::end(), edm::DataFrameContainer::end(), edm::EventID::event(), edm::Event::eventAuxiliary(), hcaldqm::ContainerSingle1D::fill(), hcaldqm::Container2D::fill(), hcaldqm::ContainerProf2D::fill(), hcaldqm::Container1D::fill(), hcaldqm::fLocal, hcaldqm::fOnline, hcaldqm::ContainerXXX< STDTYPE >::get(), edm::Event::getByToken(), hcaldqm::utilities::getRBX(), HcalBarrel, HcalEndcap, HcalForward, mps_fire::i, edm::EventAuxiliary::id(), edm::InputTag::instance(), HcalDetId::iphi(), edm::InputTag::label(), hcaldqm::electronicsmap::ElectronicsMap::lookup(), SiStripPI::max, hcaldqm::utilities::maxTS(), min(), processLaserMon(), QIE11DataFrame::samples(), QIE10DataFrame::samples(), HODataFrame::size(), HcalDetId::subdet(), and hcaldqm::utilities::sumQ().

Referenced by dqmEndRun().

563  {
567 
568  if (!e.getByToken(_tokQIE11, c_QIE11))
569  _logger.dqmthrow("Collection QIE11DigiCollection isn't available " + _tagQIE11.label() + " " +
570  _tagQIE11.instance());
571  if (!e.getByToken(_tokHO, c_ho))
572  _logger.dqmthrow("Collection HODigiCollection isn't available " + _tagHO.label() + " " + _tagHO.instance());
573  if (!e.getByToken(_tokQIE10, c_QIE10))
574  _logger.dqmthrow("Collection QIE10DigiCollection isn't available " + _tagQIE10.label() + " " +
575  _tagQIE10.instance());
576 
577  // int currentEvent = e.eventAuxiliary().id().event();
578  int bx = e.bunchCrossing();
579 
580  // LASERMON
582  if (!e.getByToken(_tokLaserMon, cLaserMon)) {
583  _logger.dqmthrow("QIE10DigiCollection for laserMonDigis isn't available.");
584  }
585  std::vector<int> laserMonADC;
586  processLaserMon(cLaserMon, laserMonADC);
587 
588  // SumQ = peak +/- 3 TSes
589  // Timing = fC-weighted average (TS-TS0) * 25 ns, also in peak +/- 3 TSes
590  int peakTS = -1;
591  double peakLaserMonADC = -1;
592  for (unsigned int iTS = 0; iTS < laserMonADC.size(); ++iTS) {
593  if (laserMonADC[iTS] > peakLaserMonADC) {
594  peakLaserMonADC = laserMonADC[iTS];
595  peakTS = iTS;
596  }
597  }
598 
599  double laserMonSumQ = 0;
600  double laserMonTiming = 0.;
601 
602  if (peakTS >= 0) {
603  int minTS = std::max(0, peakTS - 3);
604  int maxTS = std::min(int(laserMonADC.size() - 1), peakTS + 3);
605  for (int iTS = minTS; iTS <= maxTS; ++iTS) {
606  double this_fC = hcaldqm::constants::adc2fC[laserMonADC[iTS]];
607  laserMonSumQ += this_fC;
608  laserMonTiming += 25. * (iTS - _laserMonTS0) * this_fC;
609  }
610  }
611  if (laserMonSumQ > 0.) {
612  laserMonTiming = laserMonTiming / laserMonSumQ;
613  } else {
615  }
616 
617  if (laserMonSumQ > _laserMonThreshold) {
618  _cLaserMonSumQ.fill(laserMonSumQ);
619  _cLaserMonTiming.fill(laserMonTiming);
620  if (_ptype == fOnline) {
621  _cLaserMonSumQ_LS.fill(_currentLS, laserMonSumQ);
622  _cLaserMonTiming_LS.fill(_currentLS, laserMonTiming);
623  } else if (_ptype == fLocal) {
624  int currentEvent = e.eventAuxiliary().id().event();
625  _cLaserMonSumQ_Event.fill(currentEvent, laserMonSumQ);
626  _cLaserMonTiming_Event.fill(currentEvent, laserMonTiming);
627  }
628  }
629 
630  for (QIE11DigiCollection::const_iterator it = c_QIE11->begin(); it != c_QIE11->end(); ++it) {
631  const QIE11DataFrame digi = static_cast<const QIE11DataFrame>(*it);
632  HcalDetId const& did = digi.detid();
633  if ((did.subdet() != HcalBarrel) && (did.subdet() != HcalEndcap)) {
634  continue;
635  }
636  uint32_t rawid = _ehashmap.lookup(did);
637  HcalElectronicsId const& eid(rawid);
638 
639  CaloSamples digi_fC = hcaldqm::utilities::loadADC2fCDB<QIE11DataFrame>(_dbService, did, digi);
640  //double sumQ = hcaldqm::utilities::sumQ_v10<QIE11DataFrame>(digi, 2.5, 0, digi.samples()-1);
641  double sumQ = hcaldqm::utilities::sumQDB<QIE11DataFrame>(_dbService, digi_fC, did, digi, 0, digi.samples() - 1);
642  if (sumQ < _lowHBHE)
643  continue;
644 
645  //double aveTS = hcaldqm::utilities::aveTS_v10<QIE11DataFrame>(digi, 2.5, 0,digi.samples()-1);
646  double aveTS = hcaldqm::utilities::aveTSDB<QIE11DataFrame>(_dbService, digi_fC, did, digi, 0, digi.samples() - 1);
647  _xSignalSum.get(did) += sumQ;
648  _xSignalSum2.get(did) += sumQ * sumQ;
649  _xTimingSum.get(did) += aveTS;
650  _xTimingSum2.get(did) += aveTS * aveTS;
651  _xEntries.get(did)++;
652 
653  for (int i = 0; i < digi.samples(); i++) {
654  if (_ptype == fLocal) {
656  eid, i, hcaldqm::utilities::adc2fCDBMinusPedestal<QIE11DataFrame>(_dbService, digi_fC, did, digi, i));
657  }
658  _cADC_SubdetPM.fill(did, digi[i].adc());
659  }
660 
661  // select based on local global
662  double digiTimingSOI = (aveTS - digi.presamples()) * 25.;
663  double deltaTiming = digiTimingSOI - laserMonTiming;
664  _cTiming_DigivsLaserMon_SubdetPM.fill(did, laserMonTiming, digiTimingSOI);
665  _xTimingRefLMSum.get(did) += deltaTiming;
666  _xTimingRefLMSum2.get(did) += deltaTiming * deltaTiming;
667  if (_ptype == fLocal) {
668  int currentEvent = e.eventAuxiliary().id().event();
669  _cTimingvsEvent_SubdetPM.fill(did, currentEvent, aveTS);
670  _cSignalvsEvent_SubdetPM.fill(did, currentEvent, sumQ);
671  _cTimingDiffEvent_SubdetPM.fill(did, currentEvent, hcaldqm::utilities::getRBX(did.iphi()), deltaTiming);
672  } else {
675  _cTimingvsBX_SubdetPM.fill(did, bx, aveTS);
676  _cSignalvsBX_SubdetPM.fill(did, bx, sumQ);
677  _cTimingDiffLS_SubdetPM.fill(did, _currentLS, hcaldqm::utilities::getRBX(did.iphi()), deltaTiming);
678  }
679  }
680  for (HODigiCollection::const_iterator it = c_ho->begin(); it != c_ho->end(); ++it) {
681  const HODataFrame digi = (const HODataFrame)(*it);
682  double sumQ = hcaldqm::utilities::sumQ<HODataFrame>(digi, 8.5, 0, digi.size() - 1);
683  if (sumQ < _lowHO)
684  continue;
685  HcalDetId did = digi.id();
686  HcalElectronicsId eid = digi.elecId();
687 
688  double aveTS = hcaldqm::utilities::aveTS<HODataFrame>(digi, 8.5, 0, digi.size() - 1);
689  _xSignalSum.get(did) += sumQ;
690  _xSignalSum2.get(did) += sumQ * sumQ;
691  _xTimingSum.get(did) += aveTS;
692  _xTimingSum2.get(did) += aveTS * aveTS;
693  _xEntries.get(did)++;
694 
695  for (int i = 0; i < digi.size(); i++) {
696  if (_ptype == fLocal) { // hidefed2crate
697  _cShapeCut_FEDSlot.fill(eid, i, digi.sample(i).nominal_fC() - 8.5);
698  }
699  _cADC_SubdetPM.fill(did, digi.sample(i).adc());
700  }
701 
702  // select based on local global
703  double digiTimingSOI = (aveTS - digi.presamples()) * 25.;
704  double deltaTiming = digiTimingSOI - laserMonTiming;
705  _cTiming_DigivsLaserMon_SubdetPM.fill(did, laserMonTiming, digiTimingSOI);
706  _xTimingRefLMSum.get(did) += deltaTiming;
707  _xTimingRefLMSum2.get(did) += deltaTiming * deltaTiming;
708  if (_ptype == fLocal) {
709  int currentEvent = e.eventAuxiliary().id().event();
710  _cTimingvsEvent_SubdetPM.fill(did, currentEvent, aveTS);
711  _cSignalvsEvent_SubdetPM.fill(did, currentEvent, sumQ);
712  _cTimingDiffEvent_SubdetPM.fill(did, currentEvent, hcaldqm::utilities::getRBX(did.iphi()), deltaTiming);
713  } else {
716  _cTimingvsBX_SubdetPM.fill(did, bx, aveTS);
717  _cSignalvsBX_SubdetPM.fill(did, bx, sumQ);
719  }
720  }
721  for (QIE10DigiCollection::const_iterator it = c_QIE10->begin(); it != c_QIE10->end(); ++it) {
722  const QIE10DataFrame digi = (const QIE10DataFrame)(*it);
723  HcalDetId did = digi.detid();
724  if (did.subdet() != HcalForward) {
725  continue;
726  }
728 
729  CaloSamples digi_fC = hcaldqm::utilities::loadADC2fCDB<QIE10DataFrame>(_dbService, did, digi);
730  double sumQ = hcaldqm::utilities::sumQDB<QIE10DataFrame>(_dbService, digi_fC, did, digi, 0, digi.samples() - 1);
731  //double sumQ = hcaldqm::utilities::sumQ_v10<QIE10DataFrame>(digi, 2.5, 0, digi.samples()-1);
732  if (sumQ < _lowHF)
733  continue;
734 
735  //double aveTS = hcaldqm::utilities::aveTS_v10<QIE10DataFrame>(digi, 2.5, 0, digi.samples()-1);
736  double aveTS = hcaldqm::utilities::aveTSDB<QIE10DataFrame>(_dbService, digi_fC, did, digi, 0, digi.samples() - 1);
737 
738  _xSignalSum.get(did) += sumQ;
739  _xSignalSum2.get(did) += sumQ * sumQ;
740  _xTimingSum.get(did) += aveTS;
741  _xTimingSum2.get(did) += aveTS * aveTS;
742  _xEntries.get(did)++;
743 
744  for (int i = 0; i < digi.samples(); i++) {
745  if (_ptype == fLocal) { // hidefed2crate
747  eid, (int)i, hcaldqm::utilities::adc2fCDBMinusPedestal<QIE10DataFrame>(_dbService, digi_fC, did, digi, i));
748  }
749  _cADC_SubdetPM.fill(did, digi[i].adc());
750  }
751 
752  // select based on local global
753  double digiTimingSOI = (aveTS - digi.presamples()) * 25.;
754  double deltaTiming = digiTimingSOI - laserMonTiming;
755  _cTiming_DigivsLaserMon_SubdetPM.fill(did, laserMonTiming, digiTimingSOI);
756  _xTimingRefLMSum.get(did) += deltaTiming;
757  _xTimingRefLMSum2.get(did) += deltaTiming * deltaTiming;
758  if (_ptype == fLocal) {
759  int currentEvent = e.eventAuxiliary().id().event();
760  _cTimingvsEvent_SubdetPM.fill(did, currentEvent, aveTS);
761  _cSignalvsEvent_SubdetPM.fill(did, currentEvent, sumQ);
762  _cTimingDiffEvent_SubdetPM.fill(did, currentEvent, hcaldqm::utilities::getRBX(did.iphi()), deltaTiming);
763  } else {
766  _cTimingvsBX_SubdetPM.fill(did, bx, aveTS);
767  _cSignalvsBX_SubdetPM.fill(did, bx, sumQ);
768  _cTimingDiffLS_SubdetPM.fill(did, _currentLS, hcaldqm::utilities::getRBX(did.iphi()), deltaTiming);
769  }
770  }
771 }
int samples() const
total number of samples in the digi
DetId detid() const
Get the detector id.
edm::InputTag _tagQIE11
Definition: LaserTask.h:49
hcaldqm::ContainerProf1D _cShapeCut_FEDSlot
Definition: LaserTask.h:97
double aveTS(DIGI const &digi, double ped=0, int i=0, int j=3)
Definition: Utilities.h:114
hcaldqm::ContainerProf1D _cSignalvsEvent_SubdetPM
Definition: LaserTask.h:99
hcaldqm::ContainerSingle1D _cLaserMonTiming
Definition: LaserTask.h:145
double _lowHF
Definition: LaserTask.h:72
int maxTS(DIGI const &digi, double ped=0)
Definition: Utilities.h:102
HcalSubdetector subdet() const
get the subdetector
Definition: HcalDetId.h:138
hcaldqm::ContainerXXX< double > _xSignalSum2
Definition: LaserTask.h:77
void fill(HcalDetId const &) override
hcaldqm::ContainerXXX< double > _xTimingRefLMSum
Definition: LaserTask.h:81
hcaldqm::ContainerXXX< int > _xEntries
Definition: LaserTask.h:78
double _lowHBHE
Definition: LaserTask.h:69
double _laserMonThreshold
Definition: LaserTask.h:138
std::vector< T >::const_iterator const_iterator
hcaldqm::ContainerProf1D _cTimingvsEvent_SubdetPM
Definition: LaserTask.h:98
const_iterator begin() const
hcaldqm::ContainerXXX< double > _xSignalSum
Definition: LaserTask.h:76
hcaldqm::ContainerXXX< double > _xTimingSum
Definition: LaserTask.h:79
hcaldqm::ContainerSingleProf1D _cLaserMonTiming_LS
Definition: LaserTask.h:147
int _laserMonTS0
Definition: LaserTask.h:137
edm::InputTag _tagHO
Definition: LaserTask.h:50
hcaldqm::Container1D _cADC_SubdetPM
Definition: LaserTask.h:94
hcaldqm::ContainerProf2D _cTimingDiffLS_SubdetPM
Definition: LaserTask.h:151
ProcessingType _ptype
Definition: DQModule.h:43
virtual void fill(uint32_t)
Definition: Container1D.cc:73
edm::EDGetTokenT< QIE10DigiCollection > _tokLaserMon
Definition: LaserTask.h:131
void processLaserMon(edm::Handle< QIE10DigiCollection > &col, std::vector< int > &iLaserMonADC)
Definition: LaserTask.cc:773
hcaldqm::ContainerProf2D _cTimingDiffEvent_SubdetPM
Definition: LaserTask.h:152
hcaldqm::ContainerSingleProf1D _cLaserMonSumQ_LS
Definition: LaserTask.h:146
void dqmthrow(std::string const &msg) const
Definition: Logger.h:12
edm::EDGetTokenT< QIE11DigiCollection > _tokQIE11
Definition: LaserTask.h:53
hcaldqm::ContainerSingleProf1D _cLaserMonTiming_Event
Definition: LaserTask.h:149
int size() const
total number of samples in the digi
Definition: HODataFrame.h:27
hcaldqm::ContainerSingle1D _cLaserMonSumQ
Definition: LaserTask.h:144
edm::EDGetTokenT< HODigiCollection > _tokHO
Definition: LaserTask.h:54
DetId detid() const
Get the detector id.
Logger _logger
Definition: DQModule.h:54
T min(T a, T b)
Definition: MathUtil.h:58
constexpr int adc(sample_type sample)
get the ADC sample (12 bits)
hcaldqm::ContainerXXX< double > _xTimingRefLMSum2
Definition: LaserTask.h:82
hcaldqm::ContainerProf1D _cSignalvsBX_SubdetPM
Definition: LaserTask.h:104
edm::EDGetTokenT< QIE10DigiCollection > _tokQIE10
Definition: LaserTask.h:55
double _lowHO
Definition: LaserTask.h:71
const_iterator end() const
double const adc2fC[256]
Definition: Constants.h:240
int iphi() const
get the cell iphi
Definition: HcalDetId.h:157
hcaldqm::ContainerProf1D _cSignalvsLS_SubdetPM
Definition: LaserTask.h:101
hcaldqm::ContainerProf1D _cTimingvsLS_SubdetPM
Definition: LaserTask.h:100
hcaldqm::Container2D _cTiming_DigivsLaserMon_SubdetPM
Definition: LaserTask.h:150
hcaldqm::electronicsmap::ElectronicsMap _ehashmap
Definition: LaserTask.h:62
boost::transform_iterator< IterHelp, boost::counting_iterator< int > > const_iterator
std::string const & label() const
Definition: InputTag.h:36
const_iterator end() const
int _xMissingLaserMon
Definition: LaserTask.h:142
virtual STDTYPE & get(HcalDetId const &)
Definition: ContainerXXX.h:197
edm::ESHandle< HcalDbService > _dbService
Definition: DQTask.h:58
void fill(HcalDetId const &) override
Definition: Container2D.cc:52
int getRBX(uint32_t iphi)
Definition: Utilities.cc:233
hcaldqm::ContainerSingleProf1D _cLaserMonSumQ_Event
Definition: LaserTask.h:148
hcaldqm::ContainerXXX< double > _xTimingSum2
Definition: LaserTask.h:80
int samples() const
total number of samples in the digi
Readout chain identification for Hcal.
std::string const & instance() const
Definition: InputTag.h:37
hcaldqm::ContainerProf1D _cTimingvsBX_SubdetPM
Definition: LaserTask.h:103
const_iterator begin() const
edm::InputTag _tagQIE10
Definition: LaserTask.h:51
double sumQ(DIGI const &digi, double ped, int i=0, int j=3)
Definition: Utilities.h:126
void LaserTask::_resetMonitors ( hcaldqm::UpdateFreq  uf)
overrideprotectedvirtual

Reimplemented from hcaldqm::DQTask.

Definition at line 430 of file LaserTask.cc.

Referenced by dqmEndRun().

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

Reimplemented from hcaldqm::DQTask.

Definition at line 55 of file LaserTask.cc.

References _cADC_SubdetPM, _cLaserMonSumQ, _cLaserMonSumQ_Event, _cLaserMonSumQ_LS, _cLaserMonTiming, _cLaserMonTiming_Event, _cLaserMonTiming_LS, _cMissing_depth, _cMissing_FEDuTCA, _cMissing_FEDVME, _cShapeCut_FEDSlot, _cSignalMean_depth, _cSignalMean_FEDuTCA, _cSignalMean_FEDVME, _cSignalMean_Subdet, _cSignalRMS_depth, _cSignalRMS_FEDuTCA, _cSignalRMS_FEDVME, _cSignalRMS_Subdet, _cSignalvsBX_SubdetPM, _cSignalvsEvent_SubdetPM, _cSignalvsLS_SubdetPM, _cSummaryvsLS, _cSummaryvsLS_FED, _cTiming_DigivsLaserMon_SubdetPM, _cTimingDiffEvent_SubdetPM, _cTimingDiffLS_SubdetPM, _cTimingMean_depth, _cTimingMean_FEDuTCA, _cTimingMean_FEDVME, _cTimingMean_Subdet, _cTimingRMS_depth, _cTimingRMS_FEDuTCA, _cTimingRMS_FEDVME, _cTimingRMS_Subdet, _cTimingvsBX_SubdetPM, _cTimingvsEvent_SubdetPM, _cTimingvsLS_SubdetPM, _ehashmap, hcaldqm::DQTask::_emap, _filter_uTCA, _filter_VME, hcaldqm::DQModule::_maxLS, hcaldqm::DQModule::_name, _nevents, hcaldqm::DQModule::_ptype, hcaldqm::DQModule::_subsystem, _vflags, _vhashFEDs, _xEntries, _xMissingLaserMon, _xNBadTimingRefLM, _xNChs, _xSignalSum, _xSignalSum2, _xTimingRefLMSum, _xTimingRefLMSum2, _xTimingSum, _xTimingSum2, hcaldqm::ContainerXXX< STDTYPE >::book(), hcaldqm::ContainerSingleProf1D::book(), hcaldqm::ContainerProf1D::book(), hcaldqm::ContainerSingle1D::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_128, hcaldqm::quantity::fBX, hcaldqm::electronicsmap::fD2EHashMap, hcaldqm::hashfunctions::fDChannel, hcaldqm::hashfunctions::fdepth, hcaldqm::utilities::fed2crate(), hcaldqm::constants::FED_VME_MIN, hcaldqm::hashfunctions::fElectronics, hcaldqm::quantity::ffC_1000, hcaldqm::quantity::ffC_1000000, hcaldqm::quantity::ffC_3000, 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::fOnline, hcaldqm::quantity::fQIE10fC_100000Coarse, hcaldqm::quantity::fRBX, hcaldqm::quantity::fSlotuTCA, hcaldqm::quantity::fSpigot, hcaldqm::quantity::fState, hcaldqm::hashfunctions::fSubdet, hcaldqm::hashfunctions::fSubdetPM, hcaldqm::quantity::fTime_ns_250, hcaldqm::quantity::fTime_ns_250_coarse, hcaldqm::quantity::fTiming_100TS, hcaldqm::quantity::fTiming_TS, hcaldqm::quantity::fTiming_TS200, hcaldqm::quantity::fTimingDiff_ns, edm::EventSetup::get(), hcaldqm::utilities::getFEDList(), hcaldqm::utilities::getFEDuTCAList(), hcaldqm::utilities::getFEDVMEList(), HcalDbService::getHcalMapping(), hcaldqm::ContainerProf1D::initialize(), hcaldqm::ContainerSingleProf1D::initialize(), hcaldqm::ContainerXXX< STDTYPE >::initialize(), hcaldqm::ContainerProf2D::initialize(), hcaldqm::filter::HashFilter::initialize(), hcaldqm::Container2D::initialize(), hcaldqm::ContainerSingle1D::initialize(), hcaldqm::ContainerSingle2D::initialize(), hcaldqm::electronicsmap::ElectronicsMap::initialize(), hcaldqm::Container1D::initialize(), HcalElectronicsId::rawId(), edm::RunAuxiliary::run(), edm::Run::runAuxiliary(), hcaldqm::ContainerSingle1D::showOverflowX(), hcaldqm::Container1D::showOverflowX(), hcaldqm::Container1D::showOverflowY(), hcaldqm::constants::SLOT_uTCA_MIN, and hcaldqm::constants::SPIGOT_MIN.

Referenced by ~LaserTask().

55  {
56  if (_ptype == fLocal)
57  if (r.runAuxiliary().run() == 1)
58  return;
59 
61 
63  es.get<HcalDbRecord>().get(dbService);
64  _emap = dbService->getHcalMapping();
65 
66  std::vector<uint32_t> vhashVME;
67  std::vector<uint32_t> vhashuTCA;
68  std::vector<uint32_t> vhashC36;
69  vhashVME.push_back(
71  vhashuTCA.push_back(HcalElectronicsId(CRATE_uTCA_MIN, SLOT_uTCA_MIN, FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
74 
75  // INITIALIZE
77  "SignalMean",
81  0);
83  "SignalRMS",
87  0);
89  "TimingMean",
93  0);
95  "TimingRMS",
99  0);
100 
102  "ADC",
106  0);
107 
108  if (_ptype == fLocal) { // hidefed2crate
110  "SignalMean",
115  0);
117  "SignalMean",
122  0);
124  "SignalRMS",
129  0);
131  "SignalRMS",
136  0);
138  "TimingMean",
143  0);
145  "TimingMean",
150  0);
152  "TimingRMS",
157  0);
159  "TimingRMS",
164  0);
166  "Missing",
171  0);
173  "Missing",
178  0);
179 
181  "Shape",
185  0);
186  }
188  "TimingvsEvent",
192  0);
194  "SignalvsEvent",
198  0);
200  "TimingvsLS",
204  0);
206  "SignalvsLS",
210  0);
212  "TimingvsBX",
216  0);
218  "SignalvsBX",
222  0);
223 
225  "SignalMean",
230  0);
232  "SignalRMS",
237  0);
239  "TimingMean",
244  0);
246  "TimingRMS",
251  0);
252 
254  "Missing",
259  0);
260 
261  // initialize compact containers
267 
268  // LaserMon containers
269  if (_ptype == fOnline || _ptype == fLocal) {
271  "LaserMonSumQ",
274  0);
276 
278  "LaserMonTiming",
281  0);
283 
284  if (_ptype == fOnline) {
286  "LaserMonSumQ_LS",
290  "LaserMonTiming_LS",
294  "TimingDiff_DigiMinusLaserMon",
299  0);
301  } else if (_ptype == fLocal) {
303  "LaserMonSumQ_Event",
307  "LaserMonTiming_Event",
311  "TimingDiff_DigiMinusLaserMon",
316  0);
318  }
320  _name,
321  "Timing_DigivsLaserMon",
326  0);
329 
334  _xMissingLaserMon = 0;
335 
336  std::vector<int> vFEDs = hcaldqm::utilities::getFEDList(_emap);
337  std::vector<int> vFEDsVME = hcaldqm::utilities::getFEDVMEList(_emap);
338  std::vector<int> vFEDsuTCA = hcaldqm::utilities::getFEDuTCAList(_emap);
339  for (std::vector<int>::const_iterator it = vFEDsVME.begin(); it != vFEDsVME.end(); ++it)
340  _vhashFEDs.push_back(
342  for (std::vector<int>::const_iterator it = vFEDsuTCA.begin(); it != vFEDsuTCA.end(); ++it) {
343  std::pair<uint16_t, uint16_t> cspair = utilities::fed2crate(*it);
344  _vhashFEDs.push_back(HcalElectronicsId(cspair.first, cspair.second, FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
345  }
346 
348  "SummaryvsLS",
353  0);
355  "SummaryvsLS",
359  0);
360  } // End if (_ptype == fOnline || _ptype == fLocal) {
361 
362  // BOOK
367 
372 
373  if (_ptype == fLocal) {
376  } else {
381  }
382 
383  if (_ptype == fLocal) { // hidefed2crate
395  }
397 
399 
405 
406  if (_ptype == fOnline || _ptype == fLocal) {
409  if (_ptype == fOnline) {
413  } else if (_ptype == fLocal) {
417  }
422  _xNChs.book(_emap);
425  }
426 
428 }
void initialize(std::string const &folder, hashfunctions::HashType, quantity::Quantity *, quantity::Quantity *, int debug=0) override
constexpr uint32_t rawId() const
hcaldqm::ContainerProf1D _cShapeCut_FEDSlot
Definition: LaserTask.h:97
hcaldqm::ContainerProf1D _cSignalvsEvent_SubdetPM
Definition: LaserTask.h:99
hcaldqm::ContainerSingle1D _cLaserMonTiming
Definition: LaserTask.h:145
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
std::vector< hcaldqm::flag::Flag > _vflags
Definition: LaserTask.h:59
int const CRATE_VME_MIN
Definition: Constants.h:83
hcaldqm::ContainerProf2D _cTimingMean_FEDuTCA
Definition: LaserTask.h:118
hcaldqm::ContainerXXX< int > _xNBadTimingRefLM
Definition: LaserTask.h:83
virtual void book(DQMStore::IBooker &, std::string subsystem="Hcal", std::string aux="")
hcaldqm::ContainerXXX< double > _xSignalSum2
Definition: LaserTask.h:77
std::pair< uint16_t, uint16_t > fed2crate(int fed)
Definition: Utilities.cc:10
std::vector< uint32_t > _vhashFEDs
Definition: LaserTask.h:65
hcaldqm::ContainerXXX< double > _xTimingRefLMSum
Definition: LaserTask.h:81
void initialize(HcalElectronicsMap const *, ElectronicsMapType etype=fHcalElectronicsMap)
hcaldqm::ContainerXXX< int > _xEntries
Definition: LaserTask.h:78
hcaldqm::Container1D _cTimingRMS_Subdet
Definition: LaserTask.h:92
hcaldqm::ContainerProf1D _cTimingvsEvent_SubdetPM
Definition: LaserTask.h:98
hcaldqm::ContainerProf2D _cSignalRMS_FEDVME
Definition: LaserTask.h:119
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:108
void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="") override
int const FIBER_VME_MIN
Definition: Constants.h:113
hcaldqm::ContainerXXX< double > _xSignalSum
Definition: LaserTask.h:76
hcaldqm::ContainerXXX< double > _xTimingSum
Definition: LaserTask.h:79
hcaldqm::Container2D _cMissing_depth
Definition: LaserTask.h:125
void initialize(std::string const &folder, quantity::Quantity *, quantity::Quantity *qy=new quantity::ValueQuantity(quantity::fN), int debug=0) override
hcaldqm::Container2D _cMissing_FEDVME
Definition: LaserTask.h:126
hcaldqm::ContainerProf2D _cSignalMean_depth
Definition: LaserTask.h:108
hcaldqm::ContainerSingleProf1D _cLaserMonTiming_LS
Definition: LaserTask.h:147
int const FIBERCH_MIN
Definition: Constants.h:122
hcaldqm::Container1D _cADC_SubdetPM
Definition: LaserTask.h:94
virtual void book(DQMStore::IBooker &, std::string subsystem="Hcal", std::string aux="")
std::vector< int > getFEDVMEList(HcalElectronicsMap const *)
Definition: Utilities.cc:101
hcaldqm::Container2D _cSummaryvsLS_FED
Definition: LaserTask.h:155
hcaldqm::ContainerProf2D _cTimingRMS_FEDVME
Definition: LaserTask.h:121
hcaldqm::ContainerProf2D _cTimingDiffLS_SubdetPM
Definition: LaserTask.h:151
hcaldqm::ContainerProf2D _cSignalMean_FEDVME
Definition: LaserTask.h:115
hcaldqm::Container1D _cTimingMean_Subdet
Definition: LaserTask.h:91
ProcessingType _ptype
Definition: DQModule.h:43
hcaldqm::ContainerProf2D _cTimingRMS_FEDuTCA
Definition: LaserTask.h:122
hcaldqm::ContainerProf2D _cSignalRMS_FEDuTCA
Definition: LaserTask.h:120
virtual void initialize(std::string const &folder, quantity::Quantity *, quantity::Quantity *qy=new quantity::ValueQuantity(quantity::fN), int debug=0)
hcaldqm::ContainerProf2D _cTimingDiffEvent_SubdetPM
Definition: LaserTask.h:152
hcaldqm::ContainerSingleProf1D _cLaserMonSumQ_LS
Definition: LaserTask.h:146
hcaldqm::filter::HashFilter _filter_uTCA
Definition: LaserTask.h:63
hcaldqm::ContainerXXX< int > _xNChs
Definition: LaserTask.h:84
int const FED_VME_MIN
Definition: Constants.h:70
hcaldqm::ContainerSingleProf1D _cLaserMonTiming_Event
Definition: LaserTask.h:149
hcaldqm::ContainerProf2D _cTimingMean_FEDVME
Definition: LaserTask.h:117
int _nevents
Definition: LaserTask.h:68
virtual void showOverflowX(bool showOverflow)
Definition: Container1D.cc:775
hcaldqm::ContainerSingle1D _cLaserMonSumQ
Definition: LaserTask.h:144
int const FIBER_uTCA_MIN1
Definition: Constants.h:116
virtual void showOverflowY(bool showOverflow)
Definition: Container1D.cc:777
hcaldqm::ContainerXXX< double > _xTimingRefLMSum2
Definition: LaserTask.h:82
virtual void showOverflowX(bool showOverflow)
std::string _name
Definition: DQModule.h:41
HcalElectronicsMap const * _emap
Definition: DQTask.h:59
hcaldqm::ContainerProf1D _cSignalvsBX_SubdetPM
Definition: LaserTask.h:104
hcaldqm::ContainerSingle2D _cSummaryvsLS
Definition: LaserTask.h:156
int const CRATE_uTCA_MIN
Definition: Constants.h:88
hcaldqm::Container2D _cMissing_FEDuTCA
Definition: LaserTask.h:127
hcaldqm::Container1D _cSignalMean_Subdet
Definition: LaserTask.h:87
hcaldqm::ContainerProf1D _cSignalvsLS_SubdetPM
Definition: LaserTask.h:101
hcaldqm::ContainerProf1D _cTimingvsLS_SubdetPM
Definition: LaserTask.h:100
virtual void book(HcalElectronicsMap const *)
Definition: ContainerXXX.h:87
hcaldqm::ContainerProf2D _cSignalMean_FEDuTCA
Definition: LaserTask.h:116
hcaldqm::Container2D _cTiming_DigivsLaserMon_SubdetPM
Definition: LaserTask.h:150
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
hcaldqm::ContainerProf2D _cTimingMean_depth
Definition: LaserTask.h:112
void book(DQMStore::IBooker &, std::string subsystem="Hcal", std::string aux="") override
hcaldqm::electronicsmap::ElectronicsMap _ehashmap
Definition: LaserTask.h:62
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
void initialize(std::string const &folder, hashfunctions::HashType, quantity::Quantity *, quantity::Quantity *, quantity::Quantity *qz=new quantity::ValueQuantity(quantity::fEnergy), int debug=0) override
int _xMissingLaserMon
Definition: LaserTask.h:142
std::vector< int > getFEDList(HcalElectronicsMap const *)
Definition: Utilities.cc:83
std::vector< int > getFEDuTCAList(HcalElectronicsMap const *)
Definition: Utilities.cc:121
hcaldqm::Container1D _cSignalRMS_Subdet
Definition: LaserTask.h:88
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::ContainerSingleProf1D _cLaserMonSumQ_Event
Definition: LaserTask.h:148
hcaldqm::ContainerXXX< double > _xTimingSum2
Definition: LaserTask.h:80
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::ContainerProf2D _cSignalRMS_depth
Definition: LaserTask.h:109
hcaldqm::filter::HashFilter _filter_VME
Definition: LaserTask.h:64
Readout chain identification for Hcal.
hcaldqm::ContainerProf1D _cTimingvsBX_SubdetPM
Definition: LaserTask.h:103
int const SLOT_uTCA_MIN
Definition: Constants.h:95
ib
Definition: cuy.py:662
hcaldqm::ContainerProf2D _cTimingRMS_depth
Definition: LaserTask.h:113
void LaserTask::dqmEndLuminosityBlock ( edm::LuminosityBlock const &  lb,
edm::EventSetup const &  es 
)
overridevirtual

Reimplemented from hcaldqm::DQTask.

Definition at line 803 of file LaserTask.cc.

References _dump(), hcaldqm::DQModule::_ptype, and hcaldqm::fLocal.

Referenced by dqmEndRun().

803  {
804  if (_ptype == fLocal)
805  return;
806  this->_dump();
807 
808  DQTask::dqmEndLuminosityBlock(lb, es);
809 }
virtual void _dump()
Definition: LaserTask.cc:432
ProcessingType _ptype
Definition: DQModule.h:43
void LaserTask::dqmEndRun ( edm::Run const &  r,
edm::EventSetup const &   
)
inlineoverridevirtual
void LaserTask::processLaserMon ( edm::Handle< QIE10DigiCollection > &  col,
std::vector< int > &  iLaserMonADC 
)
protected

Definition at line 773 of file LaserTask.cc.

References _laserMonCBox, _laserMonDigiOverlap, _laserMonIEta, _vLaserMonIPhi, edm::DataFrameContainer::begin(), edm::DataFrameContainer::end(), spr::find(), mps_fire::i, QIE10DataFrame::id(), and QIE10DataFrame::samples().

Referenced by _process(), and dqmEndRun().

773  {
774  for (QIE10DigiCollection::const_iterator it = col->begin(); it != col->end(); ++it) {
775  const QIE10DataFrame digi = (const QIE10DataFrame)(*it);
776  HcalCalibDetId hcdid(digi.id());
777 
778  if ((hcdid.ieta() != _laserMonIEta) || (hcdid.cboxChannel() != _laserMonCBox)) {
779  continue;
780  }
781 
782  unsigned int digiIndex =
783  std::find(_vLaserMonIPhi.begin(), _vLaserMonIPhi.end(), hcdid.iphi()) - _vLaserMonIPhi.begin();
784  if (digiIndex == _vLaserMonIPhi.size()) {
785  continue;
786  }
787 
788  // First digi: initialize the vectors to -1 (need to know the length of the digi)
789  if (iLaserMonADC.empty()) {
790  int totalNSamples = (digi.samples() - _laserMonDigiOverlap) * _vLaserMonIPhi.size();
791  for (int i = 0; i < totalNSamples; ++i) {
792  iLaserMonADC.push_back(-1);
793  }
794  }
795 
796  for (int subindex = 0; subindex < digi.samples() - _laserMonDigiOverlap; ++subindex) {
797  int totalIndex = (digi.samples() - _laserMonDigiOverlap) * digiIndex + subindex;
798  iLaserMonADC[totalIndex] = (digi[subindex].ok() ? digi[subindex].adc() : -1);
799  }
800  }
801 }
int samples() const
total number of samples in the digi
edm::DataFrame::id_type id() const
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
int _laserMonDigiOverlap
Definition: LaserTask.h:136
int _laserMonCBox
Definition: LaserTask.h:135
int _laserMonIEta
Definition: LaserTask.h:134
boost::transform_iterator< IterHelp, boost::counting_iterator< int > > const_iterator
const_iterator end() const
std::vector< int > _vLaserMonIPhi
Definition: LaserTask.h:133

Member Data Documentation

hcaldqm::Container1D LaserTask::_cADC_SubdetPM
protected

Definition at line 94 of file LaserTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerSingle1D LaserTask::_cLaserMonSumQ
protected

Definition at line 144 of file LaserTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerSingleProf1D LaserTask::_cLaserMonSumQ_Event
protected

Definition at line 148 of file LaserTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerSingleProf1D LaserTask::_cLaserMonSumQ_LS
protected

Definition at line 146 of file LaserTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerSingle1D LaserTask::_cLaserMonTiming
protected

Definition at line 145 of file LaserTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerSingleProf1D LaserTask::_cLaserMonTiming_Event
protected

Definition at line 149 of file LaserTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerSingleProf1D LaserTask::_cLaserMonTiming_LS
protected

Definition at line 147 of file LaserTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container2D LaserTask::_cMissing_depth
protected

Definition at line 125 of file LaserTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::Container2D LaserTask::_cMissing_FEDuTCA
protected

Definition at line 127 of file LaserTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::Container2D LaserTask::_cMissing_FEDVME
protected

Definition at line 126 of file LaserTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::ContainerProf1D LaserTask::_cShapeCut_FEDSlot
protected

Definition at line 97 of file LaserTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerProf2D LaserTask::_cSignalMean_depth
protected

Definition at line 108 of file LaserTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::ContainerProf2D LaserTask::_cSignalMean_FEDuTCA
protected

Definition at line 116 of file LaserTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::ContainerProf2D LaserTask::_cSignalMean_FEDVME
protected

Definition at line 115 of file LaserTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::Container1D LaserTask::_cSignalMean_Subdet
protected

Definition at line 87 of file LaserTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::ContainerProf2D LaserTask::_cSignalMeanQIE1011_depth
protected

Definition at line 110 of file LaserTask.h.

hcaldqm::Container1D LaserTask::_cSignalMeanQIE1011_Subdet
protected

Definition at line 89 of file LaserTask.h.

hcaldqm::ContainerProf2D LaserTask::_cSignalRMS_depth
protected

Definition at line 109 of file LaserTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::ContainerProf2D LaserTask::_cSignalRMS_FEDuTCA
protected

Definition at line 120 of file LaserTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::ContainerProf2D LaserTask::_cSignalRMS_FEDVME
protected

Definition at line 119 of file LaserTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::Container1D LaserTask::_cSignalRMS_Subdet
protected

Definition at line 88 of file LaserTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::ContainerProf2D LaserTask::_cSignalRMSQIE1011_depth
protected

Definition at line 111 of file LaserTask.h.

hcaldqm::Container1D LaserTask::_cSignalRMSQIE1011_Subdet
protected

Definition at line 90 of file LaserTask.h.

hcaldqm::ContainerProf1D LaserTask::_cSignalvsBX_SubdetPM
protected

Definition at line 104 of file LaserTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerProf1D LaserTask::_cSignalvsBXQIE1011_SubdetPM
protected

Definition at line 105 of file LaserTask.h.

hcaldqm::ContainerProf1D LaserTask::_cSignalvsEvent_SubdetPM
protected

Definition at line 99 of file LaserTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerProf1D LaserTask::_cSignalvsLS_SubdetPM
protected

Definition at line 101 of file LaserTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerProf1D LaserTask::_cSignalvsLSQIE1011_SubdetPM
protected

Definition at line 102 of file LaserTask.h.

hcaldqm::ContainerSingle2D LaserTask::_cSummaryvsLS
protected

Definition at line 156 of file LaserTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::Container2D LaserTask::_cSummaryvsLS_FED
protected

Definition at line 155 of file LaserTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::Container2D LaserTask::_cTiming_DigivsLaserMon_SubdetPM
protected

Definition at line 150 of file LaserTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerProf2D LaserTask::_cTimingDiffEvent_SubdetPM
protected

Definition at line 152 of file LaserTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerProf2D LaserTask::_cTimingDiffLS_SubdetPM
protected

Definition at line 151 of file LaserTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerProf2D LaserTask::_cTimingMean_depth
protected

Definition at line 112 of file LaserTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::ContainerProf2D LaserTask::_cTimingMean_FEDuTCA
protected

Definition at line 118 of file LaserTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::ContainerProf2D LaserTask::_cTimingMean_FEDVME
protected

Definition at line 117 of file LaserTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::Container1D LaserTask::_cTimingMean_Subdet
protected

Definition at line 91 of file LaserTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::ContainerProf2D LaserTask::_cTimingRMS_depth
protected

Definition at line 113 of file LaserTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::ContainerProf2D LaserTask::_cTimingRMS_FEDuTCA
protected

Definition at line 122 of file LaserTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::ContainerProf2D LaserTask::_cTimingRMS_FEDVME
protected

Definition at line 121 of file LaserTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::Container1D LaserTask::_cTimingRMS_Subdet
protected

Definition at line 92 of file LaserTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::ContainerProf1D LaserTask::_cTimingvsBX_SubdetPM
protected

Definition at line 103 of file LaserTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerProf1D LaserTask::_cTimingvsEvent_SubdetPM
protected

Definition at line 98 of file LaserTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerProf1D LaserTask::_cTimingvsLS_SubdetPM
protected

Definition at line 100 of file LaserTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::electronicsmap::ElectronicsMap LaserTask::_ehashmap
protected

Definition at line 62 of file LaserTask.h.

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

hcaldqm::filter::HashFilter LaserTask::_filter_uTCA
protected

Definition at line 63 of file LaserTask.h.

Referenced by bookHistograms().

hcaldqm::filter::HashFilter LaserTask::_filter_VME
protected

Definition at line 64 of file LaserTask.h.

Referenced by bookHistograms().

int LaserTask::_laserMonCBox
protected

Definition at line 135 of file LaserTask.h.

Referenced by LaserTask(), and processLaserMon().

int LaserTask::_laserMonDigiOverlap
protected

Definition at line 136 of file LaserTask.h.

Referenced by LaserTask(), and processLaserMon().

int LaserTask::_laserMonIEta
protected

Definition at line 134 of file LaserTask.h.

Referenced by LaserTask(), and processLaserMon().

double LaserTask::_laserMonThreshold
protected

Definition at line 138 of file LaserTask.h.

Referenced by _process(), and LaserTask().

int LaserTask::_laserMonTS0
protected

Definition at line 137 of file LaserTask.h.

Referenced by _process(), and LaserTask().

uint32_t LaserTask::_laserType
protected

Definition at line 73 of file LaserTask.h.

Referenced by _isApplicable(), and LaserTask().

double LaserTask::_lowHBHE
protected

Definition at line 69 of file LaserTask.h.

Referenced by _process(), and LaserTask().

double LaserTask::_lowHE
protected

Definition at line 70 of file LaserTask.h.

double LaserTask::_lowHF
protected

Definition at line 72 of file LaserTask.h.

Referenced by _process(), and LaserTask().

double LaserTask::_lowHO
protected

Definition at line 71 of file LaserTask.h.

Referenced by _process(), and LaserTask().

int LaserTask::_nevents
protected

Definition at line 68 of file LaserTask.h.

Referenced by bookHistograms(), and LaserTask().

edm::InputTag LaserTask::_tagHO
protected

Definition at line 50 of file LaserTask.h.

Referenced by _process(), and LaserTask().

edm::InputTag LaserTask::_tagLaserMon
protected

Definition at line 130 of file LaserTask.h.

Referenced by LaserTask().

edm::InputTag LaserTask::_tagQIE10
protected

Definition at line 51 of file LaserTask.h.

Referenced by _process(), and LaserTask().

edm::InputTag LaserTask::_tagQIE11
protected

Definition at line 49 of file LaserTask.h.

Referenced by _process(), and LaserTask().

edm::InputTag LaserTask::_taguMN
protected

Definition at line 52 of file LaserTask.h.

Referenced by LaserTask().

double LaserTask::_thresh_frac_timingreflm
protected

Definition at line 140 of file LaserTask.h.

Referenced by _dump(), and LaserTask().

double LaserTask::_thresh_min_lmsumq
protected

Definition at line 141 of file LaserTask.h.

Referenced by LaserTask().

std::map<HcalSubdetector, std::pair<double, double> > LaserTask::_thresh_timingreflm
protected

Definition at line 139 of file LaserTask.h.

Referenced by _dump(), and LaserTask().

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

Definition at line 54 of file LaserTask.h.

Referenced by _process(), and LaserTask().

edm::EDGetTokenT<QIE10DigiCollection> LaserTask::_tokLaserMon
protected

Definition at line 131 of file LaserTask.h.

Referenced by _process(), and LaserTask().

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

Definition at line 55 of file LaserTask.h.

Referenced by _process(), and LaserTask().

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

Definition at line 53 of file LaserTask.h.

Referenced by _process(), and LaserTask().

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

Definition at line 56 of file LaserTask.h.

Referenced by _isApplicable(), and LaserTask().

std::vector<hcaldqm::flag::Flag> LaserTask::_vflags
protected

Definition at line 59 of file LaserTask.h.

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

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

Definition at line 65 of file LaserTask.h.

Referenced by _dump(), and bookHistograms().

std::vector<int> LaserTask::_vLaserMonIPhi
protected

Definition at line 133 of file LaserTask.h.

Referenced by LaserTask(), and processLaserMon().

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

Definition at line 78 of file LaserTask.h.

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

int LaserTask::_xMissingLaserMon
protected

Definition at line 142 of file LaserTask.h.

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

hcaldqm::ContainerXXX<int> LaserTask::_xNBadTimingRefLM
protected

Definition at line 83 of file LaserTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::ContainerXXX<int> LaserTask::_xNChs
protected

Definition at line 84 of file LaserTask.h.

Referenced by _dump(), and bookHistograms().

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

Definition at line 76 of file LaserTask.h.

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

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

Definition at line 77 of file LaserTask.h.

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

hcaldqm::ContainerXXX<double> LaserTask::_xTimingRefLMSum
protected

Definition at line 81 of file LaserTask.h.

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

hcaldqm::ContainerXXX<double> LaserTask::_xTimingRefLMSum2
protected

Definition at line 82 of file LaserTask.h.

Referenced by _process(), and bookHistograms().

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

Definition at line 79 of file LaserTask.h.

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

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

Definition at line 80 of file LaserTask.h.

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

LaserTask.debug
LaserTask.laserMonCBox

Definition at line 29 of file LaserTask.py.

LaserTask.laserMonDigiOverlap

Definition at line 32 of file LaserTask.py.

LaserTask.laserMonIEta

Definition at line 30 of file LaserTask.py.

LaserTask.laserMonThreshold

Definition at line 34 of file LaserTask.py.

LaserTask.laserMonTS0

Definition at line 33 of file LaserTask.py.

LaserTask.laserTask

Definition at line 4 of file LaserTask.py.

LaserTask.laserType

Definition at line 24 of file LaserTask.py.

Referenced by _isApplicable().

LaserTask.mtype

Definition at line 13 of file LaserTask.py.

LaserTask.name

Definition at line 8 of file LaserTask.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().

LaserTask.nevents

Definition at line 26 of file LaserTask.py.

LaserTask.ptype

Definition at line 12 of file LaserTask.py.

LaserTask.runkeyName

Definition at line 11 of file LaserTask.py.

LaserTask.runkeyVal

Definition at line 10 of file LaserTask.py.

LaserTask.subsystem

Definition at line 14 of file LaserTask.py.

LaserTask.tagHBHE

Definition at line 17 of file LaserTask.py.

LaserTask.tagHF

Definition at line 19 of file LaserTask.py.

LaserTask.tagHO

Definition at line 18 of file LaserTask.py.

LaserTask.tagLaserMon

Definition at line 22 of file LaserTask.py.

LaserTask.tagRaw

Definition at line 21 of file LaserTask.py.

LaserTask.taguMN

Definition at line 20 of file LaserTask.py.

LaserTask.thresh_frac_timingreflm

Definition at line 35 of file LaserTask.py.

LaserTask.thresh_min_lmsumq

Definition at line 36 of file LaserTask.py.

LaserTask.thresh_timingreflm_HB

Definition at line 37 of file LaserTask.py.

LaserTask.thresh_timingreflm_HE

Definition at line 38 of file LaserTask.py.

LaserTask.thresh_timingreflm_HF

Definition at line 40 of file LaserTask.py.

LaserTask.thresh_timingreflm_HO

Definition at line 39 of file LaserTask.py.

LaserTask.vLaserMonIPhi

Definition at line 31 of file LaserTask.py.