CMS 3D CMS Logo

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

#include <LaserTask.h>

Inheritance diagram for LaserTask:
hcaldqm::DQTask DQMOneEDAnalyzer< edm::LuminosityBlockCache< hcaldqm::Cache > > hcaldqm::DQModule 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
 
void globalEndLuminosityBlock (edm::LuminosityBlock const &, 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 dqmBeginRun (edm::Run const &, edm::EventSetup const &) override
 
 DQTask (edm::ParameterSet const &)
 
std::shared_ptr< hcaldqm::CacheglobalBeginLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) const override
 
void globalEndLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) override
 
 ~DQTask () override
 
- Public Member Functions inherited from DQMOneEDAnalyzer< edm::LuminosityBlockCache< hcaldqm::Cache > >
void accumulate (edm::Event const &event, edm::EventSetup const &setup) override
 
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
 
virtual bool getCanSaveByLumi ()
 
- Public Member Functions inherited from edm::one::EDProducer< edm::EndRunProducer, edm::one::WatchRuns, edm::Accumulator, Args... >
 EDProducer ()=default
 
 EDProducer (const EDProducer &)=delete
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
const EDProduceroperator= (const EDProducer &)=delete
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
bool wantsInputProcessBlocks () const final
 
bool wantsProcessBlocks () 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
 
std::vector< bool > const & recordProvenanceList () 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)
 
TypeLabelList const & typeLabelList () const
 used by the fwk to register the list of products of this module More...
 
 ~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
 
ESResolverIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
std::vector< ESResolverIndex > const & esGetTokenIndicesVector (edm::Transition iTrans) const
 
std::vector< ESRecordIndex > const & esGetTokenRecordIndicesVector (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::array< std::vector< ModuleDescription const *> *, NumBranchTypes > &modulesAll, std::vector< ModuleProcessName > &modulesInPreviousProcesses, 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
 
void selectInputProcessBlocks (ProductRegistry const &productRegistry, ProcessBlockHelperBase const &processBlockHelperBase)
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProductResolverIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 
- Public Member Functions inherited from hcaldqm::DQModule
 DQModule (edm::ParameterSet const &)
 
virtual ~DQModule () noexcept(false)
 

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
template<Transition Tr = Transition::Event>
auto produces (std::string instanceName) noexcept
 declare what type of product will make and with which optional label More...
 
template<Transition B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<BranchType B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<class ProductType >
BranchAliasSetterT< ProductType > produces ()
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces ()
 
template<class ProductType >
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces ()
 
template<Transition Tr = Transition::Event>
auto produces () noexcept
 
ProducesCollector producesCollector ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B = InEvent>
EDConsumerBaseAdaptor< Bconsumes (edm::InputTag tag) noexcept
 
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 ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<Transition Tr = Transition::Event>
constexpr auto esConsumes ()
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag)
 
template<Transition Tr = Transition::Event>
ESGetTokenGeneric esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey)
 Used with EventSetupRecord::doGet. More...
 
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)
 
void resetItemsToGetFrom (BranchType iType)
 

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::ContainerProf1D _cShapeCut_FEDSlot
 
hcaldqm::ContainerProf2D _cSignalMean_depth
 
hcaldqm::ContainerProf2D _cSignalMean_FEDuTCA
 
hcaldqm::Container1D _cSignalMean_Subdet
 
hcaldqm::ContainerProf2D _cSignalMeanQIE1011_depth
 
hcaldqm::Container1D _cSignalMeanQIE1011_Subdet
 
hcaldqm::ContainerProf2D _cSignalRMS_depth
 
hcaldqm::ContainerProf2D _cSignalRMS_FEDuTCA
 
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::Container1D _cTimingMean_Subdet
 
hcaldqm::ContainerProf2D _cTimingRMS_depth
 
hcaldqm::ContainerProf2D _cTimingRMS_FEDuTCA
 
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
 
edm::ESGetToken< HcalDbService, HcalDbRecordhcalDbServiceToken_
 
- Protected Attributes inherited from hcaldqm::DQTask
ContainerI _cEvsPerLS
 
ContainerI _cEvsTotal
 
ContainerS _cProcessingTypeName
 
ContainerS _cRunKeyName
 
ContainerI _cRunKeyVal
 
edm::ESHandle< HcalDbService_dbService
 
HcalElectronicsMap const * _emap = nullptr
 
int _procLSs
 
edm::InputTag _tagRaw
 
edm::EDGetTokenT< FEDRawDataCollection_tokRaw
 
std::vector< uint32_t > _vcdaqEids
 
ContainerXXX< uint32_t > _xQuality
 
edm::ESGetToken< HcalChannelQuality, HcalChannelQualityRcdhcalChannelQualityToken_
 
edm::ESGetToken< HcalDbService, HcalDbRecordhcalDbServiceToken_
 
edm::ESGetToken< RunInfo, RunInfoRcdrunInfoToken_
 
- Protected Attributes inherited from DQMOneEDAnalyzer< edm::LuminosityBlockCache< hcaldqm::Cache > >
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::LuminosityBlockCache< hcaldqm::Cache > >
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
template<typename T >
using BranchAliasSetterT = ProductRegistryHelper::BranchAliasSetterT< T >
 
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 hcaldqm::DQTask
static void fillPSetDescription (edm::ParameterSetDescription &des)
 
- Static Public Member Functions inherited from edm::one::EDProducerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
- Static Public Member Functions inherited from hcaldqm::DQModule
static void fillPSetDescription (edm::ParameterSetDescription &desc)
 

Detailed Description

Definition at line 24 of file LaserTask.h.

Member Enumeration Documentation

◆ LaserFlag

enum LaserTask::LaserFlag
protected
Enumerator
fBadTiming 
fMissingLaserMon 
nLaserFlag 

Definition at line 59 of file LaserTask.h.

Constructor & Destructor Documentation

◆ LaserTask()

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_cfi::Flag, fMissingLaserMon, edm::ParameterSet::getUntrackedParameter(), HcalBarrel, HcalEndcap, HcalForward, HcalOuter, ProducerED_cfi::InputTag, and nLaserFlag.

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

◆ ~LaserTask()

LaserTask::~LaserTask ( )
inlineoverride

Definition at line 27 of file LaserTask.h.

27 {}

Member Function Documentation

◆ _dump()

void LaserTask::_dump ( )
protectedvirtual

Definition at line 392 of file LaserTask.cc.

References _cMissing_depth, _cMissing_FEDuTCA, _cSignalMean_depth, _cSignalMean_FEDuTCA, _cSignalMean_Subdet, _cSignalRMS_depth, _cSignalRMS_FEDuTCA, _cSignalRMS_Subdet, _cSummaryvsLS, _cSummaryvsLS_FED, _cTimingMean_depth, _cTimingMean_FEDuTCA, _cTimingMean_Subdet, _cTimingRMS_depth, _cTimingRMS_FEDuTCA, _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(), ALPAKA_ACCELERATOR_NAMESPACE::vertexFinder::it, 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 dqmEndRun(), and globalEndLuminosityBlock().

392  {
401 
402  if (_ptype == fLocal) { // hidefed2crate
407  }
408  if (_ptype != fOffline) {
409  _xNChs.reset();
410  }
411 
412  std::vector<HcalGenericDetId> dids = _emap->allPrecisionId();
413  for (std::vector<HcalGenericDetId>::const_iterator it = dids.begin(); it != dids.end(); ++it) {
414  if (!it->isHcalDetId())
415  continue;
416  HcalDetId did = HcalDetId(it->rawId());
418  int n = _xEntries.get(did);
419  // channels missing or low signal
420  if (n == 0) {
421  _cMissing_depth.fill(did);
422  if (_ptype == fLocal) { // hidefed2crate
423  if (!eid.isVMEid())
425  }
426  continue;
427  }
428 
429  _xNChs.get(eid)++;
430 
431  double msig = _xSignalSum.get(did) / n;
432  double mtim = _xTimingSum.get(did) / n;
433  double rsig = sqrt(_xSignalSum2.get(did) / n - msig * msig);
434  double rtim = sqrt(_xTimingSum2.get(did) / n - mtim * mtim);
435 
436  _cSignalMean_Subdet.fill(did, msig);
437  _cSignalMean_depth.fill(did, msig);
438  _cSignalRMS_Subdet.fill(did, rsig);
439  _cSignalRMS_depth.fill(did, rsig);
440  _cTimingMean_Subdet.fill(did, mtim);
441  _cTimingMean_depth.fill(did, mtim);
442  _cTimingRMS_Subdet.fill(did, rtim);
443  _cTimingRMS_depth.fill(did, rtim);
444  if (_ptype == fLocal) { // hidefed2crate
445  if (!eid.isVMEid()) {
450  }
451  }
452 
453  // Bad timing
454 
455  double timingreflm_mean = _xTimingRefLMSum.get(did) / n;
456  //double timingreflm_rms = sqrt(_xTimingRefLMSum2.get(did) / n - timingreflm_mean * timingreflm_mean);
457 
458  if ((timingreflm_mean < _thresh_timingreflm[did.subdet()].first) ||
459  (timingreflm_mean > _thresh_timingreflm[did.subdet()].second)) {
461  }
462  }
463  if (_ptype != fOffline) { // hidefed2crate
464  for (std::vector<uint32_t>::const_iterator it = _vhashFEDs.begin(); it != _vhashFEDs.end(); ++it) {
465  hcaldqm::flag::Flag fSum("LASER");
467  std::vector<uint32_t>::const_iterator jt = std::find(_vcdaqEids.begin(), _vcdaqEids.end(), (*it));
468  if (jt == _vcdaqEids.end()) {
469  // not @cDAQ
470  for (uint32_t iflag = 0; iflag < _vflags.size(); iflag++)
473  continue;
474  }
475  // @cDAQ
477  int min_nchs = 10;
478  if (_xNChs.get(eid) < min_nchs) {
480  } else {
481  double frbadtimingreflm = double(_xNBadTimingRefLM.get(eid)) / double(_xNChs.get(eid));
482  if (frbadtimingreflm > _thresh_frac_timingreflm) {
484  } else {
486  }
487  }
488  if (_xMissingLaserMon) {
490  } else {
492  }
493  }
494 
495  // Set SummaryVsLS bins
496  int iflag = 0;
497  for (std::vector<hcaldqm::flag::Flag>::iterator ft = _vflags.begin(); ft != _vflags.end(); ++ft) {
498  _cSummaryvsLS_FED.setBinContent(eid, _currentLS, iflag, int(ft->_state));
499  fSum += (*ft);
500  iflag++;
501  ft->reset();
502  }
503  _cSummaryvsLS.setBinContent(eid, _currentLS, fSum._state);
504  } // End loop over FEDs
505 
506  // Reset per-LS containers
508  _xMissingLaserMon = 0;
509  } // End if _ptype != fOffline
510 }
std::vector< hcaldqm::flag::Flag > _vflags
Definition: LaserTask.h:60
hcaldqm::ContainerProf2D _cTimingMean_FEDuTCA
Definition: LaserTask.h:117
hcaldqm::ContainerXXX< int > _xNBadTimingRefLM
Definition: LaserTask.h:84
hcaldqm::ContainerXXX< double > _xSignalSum2
Definition: LaserTask.h:78
void fill(HcalDetId const &) override
std::vector< uint32_t > _vhashFEDs
Definition: LaserTask.h:66
hcaldqm::ContainerXXX< double > _xTimingRefLMSum
Definition: LaserTask.h:82
hcaldqm::ContainerXXX< int > _xEntries
Definition: LaserTask.h:79
hcaldqm::Container1D _cTimingRMS_Subdet
Definition: LaserTask.h:93
double _thresh_frac_timingreflm
Definition: LaserTask.h:136
virtual void reset()
Definition: ContainerXXX.h:293
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:77
hcaldqm::ContainerXXX< double > _xTimingSum
Definition: LaserTask.h:80
hcaldqm::Container2D _cMissing_depth
Definition: LaserTask.h:122
hcaldqm::ContainerProf2D _cSignalMean_depth
Definition: LaserTask.h:109
hcaldqm::Container2D _cSummaryvsLS_FED
Definition: LaserTask.h:151
constexpr HcalSubdetector subdet() const
get the subdetector
Definition: HcalDetId.h:138
hcaldqm::Container1D _cTimingMean_Subdet
Definition: LaserTask.h:92
ProcessingType _ptype
Definition: DQModule.h:44
virtual void fill(uint32_t)
Definition: Container1D.cc:73
virtual void reset()
Definition: Container1D.cc:60
hcaldqm::ContainerProf2D _cTimingRMS_FEDuTCA
Definition: LaserTask.h:119
hcaldqm::ContainerProf2D _cSignalRMS_FEDuTCA
Definition: LaserTask.h:118
std::map< HcalSubdetector, std::pair< double, double > > _thresh_timingreflm
Definition: LaserTask.h:135
virtual void setBinContent(int, int, int)
hcaldqm::ContainerXXX< int > _xNChs
Definition: LaserTask.h:85
T sqrt(T t)
Definition: SSEVec.h:19
HcalElectronicsMap const * _emap
Definition: DQTask.h:81
hcaldqm::ContainerSingle2D _cSummaryvsLS
Definition: LaserTask.h:152
hcaldqm::Container2D _cMissing_FEDuTCA
Definition: LaserTask.h:123
hcaldqm::Container1D _cSignalMean_Subdet
Definition: LaserTask.h:88
bool isFEDHBHE(HcalElectronicsId const &)
Definition: Utilities.cc:156
hcaldqm::ContainerProf2D _cSignalMean_FEDuTCA
Definition: LaserTask.h:116
hcaldqm::ContainerProf2D _cTimingMean_depth
Definition: LaserTask.h:113
hcaldqm::electronicsmap::ElectronicsMap _ehashmap
Definition: LaserTask.h:63
void setBinContent(HcalDetId const &, int) override
Definition: Container2D.cc:163
int _xMissingLaserMon
Definition: LaserTask.h:138
virtual STDTYPE & get(HcalDetId const &)
Definition: ContainerXXX.h:198
std::vector< HcalGenericDetId > allPrecisionId() const
hcaldqm::Container1D _cSignalRMS_Subdet
Definition: LaserTask.h:89
void fill(HcalDetId const &) override
Definition: Container2D.cc:52
bool isFEDHO(HcalElectronicsId const &)
Definition: Utilities.cc:182
std::vector< uint32_t > _vcdaqEids
Definition: DQTask.h:69
hcaldqm::ContainerXXX< double > _xTimingSum2
Definition: LaserTask.h:81
hcaldqm::ContainerProf2D _cSignalRMS_depth
Definition: LaserTask.h:110
Readout chain identification for Hcal.
bool isFEDHF(HcalElectronicsId const &)
Definition: Utilities.cc:170
hcaldqm::ContainerProf2D _cTimingRMS_depth
Definition: LaserTask.h:114

◆ _isApplicable()

bool LaserTask::_isApplicable ( edm::Event const &  e)
overrideprotectedvirtual

Reimplemented from hcaldqm::DQTask.

Definition at line 763 of file LaserTask.cc.

References _laserType, hcaldqm::DQModule::_ptype, _tokuMN, MillePedeFileConverter_cfg::e, QIE11Task_cfi::eventType, HcalUMNioDigi::eventType(), hcaldqm::constants::EVENTTYPE_LASER, hcaldqm::fOnline, LaserTask_cfi::laserType, and HcalUMNioDigi::valueUserWord().

763  {
764  if (_ptype != fOnline)
765  return true;
766  else {
767  // fOnline mode
769  if (!e.getByToken(_tokuMN, cumn))
770  return false;
771 
772  // event type check first
773  uint8_t eventType = cumn->eventType();
775  return false;
776 
777  // check if this analysis task is of the right laser type
778  uint32_t laserType = cumn->valueUserWord(0);
779  if (laserType == _laserType)
780  return true;
781  }
782 
783  return false;
784 }
uint32_t _laserType
Definition: LaserTask.h:74
ProcessingType _ptype
Definition: DQModule.h:44
uint32_t valueUserWord(int iword) const
uint8_t eventType() const
uint8_t const EVENTTYPE_LASER
Definition: Constants.h:299
edm::EDGetTokenT< HcalUMNioDigi > _tokuMN
Definition: LaserTask.h:56

◆ _process()

void LaserTask::_process ( edm::Event const &  e,
edm::EventSetup const &  es 
)
overrideprotectedvirtual

Implements hcaldqm::DQTask.

Definition at line 512 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, gpuClustering::adc, hcaldqm::constants::adc2fC, hcaldqm::utilities::aveTS(), edm::SortedCollection< T, SORT >::begin(), edm::DataFrameContainer::begin(), nano_mu_digi_cff::bx, QIE11DataFrame::detid(), QIE10DataFrame::detid(), Logger::dqmthrow(), MillePedeFileConverter_cfg::e, runTauDisplay::eid, edm::SortedCollection< T, SORT >::end(), edm::DataFrameContainer::end(), hcaldqm::ContainerSingle1D::fill(), hcaldqm::Container2D::fill(), hcaldqm::ContainerProf2D::fill(), hcaldqm::Container1D::fill(), hcaldqm::fLocal, hcaldqm::fOnline, hcaldqm::ContainerXXX< STDTYPE >::get(), hcaldqm::utilities::getRBX(), HcalBarrel, HcalEndcap, HcalForward, mps_fire::i, edm::InputTag::instance(), HcalDetId::iphi(), ALPAKA_ACCELERATOR_NAMESPACE::vertexFinder::it, edm::InputTag::label(), hcaldqm::electronicsmap::ElectronicsMap::lookup(), SiStripPI::max, hcaldqm::utilities::maxTS(), SiStripPI::min, processLaserMon(), QIE11DataFrame::samples(), QIE10DataFrame::samples(), HODataFrame::size(), HcalDetId::subdet(), and hcaldqm::utilities::sumQ().

512  {
516 
517  if (!e.getByToken(_tokQIE11, c_QIE11))
518  _logger.dqmthrow("Collection QIE11DigiCollection isn't available " + _tagQIE11.label() + " " +
519  _tagQIE11.instance());
520  if (!e.getByToken(_tokHO, c_ho))
521  _logger.dqmthrow("Collection HODigiCollection isn't available " + _tagHO.label() + " " + _tagHO.instance());
522  if (!e.getByToken(_tokQIE10, c_QIE10))
523  _logger.dqmthrow("Collection QIE10DigiCollection isn't available " + _tagQIE10.label() + " " +
524  _tagQIE10.instance());
525 
526  // int currentEvent = e.eventAuxiliary().id().event();
527  int bx = e.bunchCrossing();
528 
529  // LASERMON
531  if (!e.getByToken(_tokLaserMon, cLaserMon)) {
532  _logger.dqmthrow("QIE10DigiCollection for laserMonDigis isn't available.");
533  }
534  std::vector<int> laserMonADC;
535  processLaserMon(cLaserMon, laserMonADC);
536 
537  // SumQ = peak +/- 3 TSes
538  // Timing = fC-weighted average (TS-TS0) * 25 ns, also in peak +/- 3 TSes
539  int peakTS = -1;
540  double peakLaserMonADC = -1;
541  for (unsigned int iTS = 0; iTS < laserMonADC.size(); ++iTS) {
542  if (laserMonADC[iTS] > peakLaserMonADC) {
543  peakLaserMonADC = laserMonADC[iTS];
544  peakTS = iTS;
545  }
546  }
547 
548  double laserMonSumQ = 0;
549  double laserMonTiming = 0.;
550 
551  if (peakTS >= 0) {
552  int minTS = std::max(0, peakTS - 3);
553  int maxTS = std::min(int(laserMonADC.size() - 1), peakTS + 3);
554  for (int iTS = minTS; iTS <= maxTS; ++iTS) {
555  double this_fC = hcaldqm::constants::adc2fC[laserMonADC[iTS]];
556  laserMonSumQ += this_fC;
557  laserMonTiming += 25. * (iTS - _laserMonTS0) * this_fC;
558  }
559  }
560  if (laserMonSumQ > 0.) {
561  laserMonTiming = laserMonTiming / laserMonSumQ;
562  } else {
564  }
565 
566  if (laserMonSumQ > _laserMonThreshold) {
567  _cLaserMonSumQ.fill(laserMonSumQ);
568  _cLaserMonTiming.fill(laserMonTiming);
569  if (_ptype == fOnline) {
570  _cLaserMonSumQ_LS.fill(_currentLS, laserMonSumQ);
571  _cLaserMonTiming_LS.fill(_currentLS, laserMonTiming);
572  } else if (_ptype == fLocal) {
573  int currentEvent = e.eventAuxiliary().id().event();
574  _cLaserMonSumQ_Event.fill(currentEvent, laserMonSumQ);
575  _cLaserMonTiming_Event.fill(currentEvent, laserMonTiming);
576  }
577  }
578 
579  for (QIE11DigiCollection::const_iterator it = c_QIE11->begin(); it != c_QIE11->end(); ++it) {
580  const QIE11DataFrame digi = static_cast<const QIE11DataFrame>(*it);
581  HcalDetId const& did = digi.detid();
582  if ((did.subdet() != HcalBarrel) && (did.subdet() != HcalEndcap)) {
583  continue;
584  }
585  uint32_t rawid = _ehashmap.lookup(did);
586  HcalElectronicsId const& eid(rawid);
587 
588  CaloSamples digi_fC = hcaldqm::utilities::loadADC2fCDB<QIE11DataFrame>(_dbService, did, digi);
589  //double sumQ = hcaldqm::utilities::sumQ_v10<QIE11DataFrame>(digi, 2.5, 0, digi.samples()-1);
590  double sumQ = hcaldqm::utilities::sumQDB<QIE11DataFrame>(_dbService, digi_fC, did, digi, 0, digi.samples() - 1);
591  if (sumQ < _lowHBHE)
592  continue;
593 
594  //double aveTS = hcaldqm::utilities::aveTS_v10<QIE11DataFrame>(digi, 2.5, 0,digi.samples()-1);
595  double aveTS = hcaldqm::utilities::aveTSDB<QIE11DataFrame>(_dbService, digi_fC, did, digi, 0, digi.samples() - 1);
596  _xSignalSum.get(did) += sumQ;
597  _xSignalSum2.get(did) += sumQ * sumQ;
598  _xTimingSum.get(did) += aveTS;
599  _xTimingSum2.get(did) += aveTS * aveTS;
600  _xEntries.get(did)++;
601 
602  for (int i = 0; i < digi.samples(); i++) {
603  if (_ptype == fLocal) {
605  eid, i, hcaldqm::utilities::adc2fCDBMinusPedestal<QIE11DataFrame>(_dbService, digi_fC, did, digi, i));
606  }
607  _cADC_SubdetPM.fill(did, digi[i].adc());
608  }
609 
610  // select based on local global
611  double digiTimingSOI = (aveTS - digi.presamples()) * 25.;
612  double deltaTiming = digiTimingSOI - laserMonTiming;
613  _cTiming_DigivsLaserMon_SubdetPM.fill(did, laserMonTiming, digiTimingSOI);
614  _xTimingRefLMSum.get(did) += deltaTiming;
615  _xTimingRefLMSum2.get(did) += deltaTiming * deltaTiming;
616  if (_ptype == fLocal) {
617  int currentEvent = e.eventAuxiliary().id().event();
618  _cTimingvsEvent_SubdetPM.fill(did, currentEvent, aveTS);
619  _cSignalvsEvent_SubdetPM.fill(did, currentEvent, sumQ);
620  _cTimingDiffEvent_SubdetPM.fill(did, currentEvent, hcaldqm::utilities::getRBX(did.iphi()), deltaTiming);
621  } else {
626  _cTimingDiffLS_SubdetPM.fill(did, _currentLS, hcaldqm::utilities::getRBX(did.iphi()), deltaTiming);
627  }
628  }
629  for (HODigiCollection::const_iterator it = c_ho->begin(); it != c_ho->end(); ++it) {
630  const HODataFrame digi = (const HODataFrame)(*it);
631  double sumQ = hcaldqm::utilities::sumQ<HODataFrame>(digi, 8.5, 0, digi.size() - 1);
632  if (sumQ < _lowHO)
633  continue;
634  HcalDetId did = digi.id();
635  HcalElectronicsId eid = digi.elecId();
636 
637  double aveTS = hcaldqm::utilities::aveTS<HODataFrame>(digi, 8.5, 0, digi.size() - 1);
638  _xSignalSum.get(did) += sumQ;
639  _xSignalSum2.get(did) += sumQ * sumQ;
640  _xTimingSum.get(did) += aveTS;
641  _xTimingSum2.get(did) += aveTS * aveTS;
642  _xEntries.get(did)++;
643 
644  for (int i = 0; i < digi.size(); i++) {
645  if (_ptype == fLocal) { // hidefed2crate
646  _cShapeCut_FEDSlot.fill(eid, i, digi.sample(i).nominal_fC() - 8.5);
647  }
648  _cADC_SubdetPM.fill(did, digi.sample(i).adc());
649  }
650 
651  // select based on local global
652  double digiTimingSOI = (aveTS - digi.presamples()) * 25.;
653  double deltaTiming = digiTimingSOI - laserMonTiming;
654  _cTiming_DigivsLaserMon_SubdetPM.fill(did, laserMonTiming, digiTimingSOI);
655  _xTimingRefLMSum.get(did) += deltaTiming;
656  _xTimingRefLMSum2.get(did) += deltaTiming * deltaTiming;
657  if (_ptype == fLocal) {
658  int currentEvent = e.eventAuxiliary().id().event();
659  _cTimingvsEvent_SubdetPM.fill(did, currentEvent, aveTS);
660  _cSignalvsEvent_SubdetPM.fill(did, currentEvent, sumQ);
661  _cTimingDiffEvent_SubdetPM.fill(did, currentEvent, hcaldqm::utilities::getRBX(did.iphi()), deltaTiming);
662  } else {
668  }
669  }
670  for (QIE10DigiCollection::const_iterator it = c_QIE10->begin(); it != c_QIE10->end(); ++it) {
671  const QIE10DataFrame digi = (const QIE10DataFrame)(*it);
672  HcalDetId did = digi.detid();
673  if (did.subdet() != HcalForward) {
674  continue;
675  }
677 
678  CaloSamples digi_fC = hcaldqm::utilities::loadADC2fCDB<QIE10DataFrame>(_dbService, did, digi);
679  double sumQ = hcaldqm::utilities::sumQDB<QIE10DataFrame>(_dbService, digi_fC, did, digi, 0, digi.samples() - 1);
680  //double sumQ = hcaldqm::utilities::sumQ_v10<QIE10DataFrame>(digi, 2.5, 0, digi.samples()-1);
681  if (sumQ < _lowHF)
682  continue;
683 
684  //double aveTS = hcaldqm::utilities::aveTS_v10<QIE10DataFrame>(digi, 2.5, 0, digi.samples()-1);
685  double aveTS = hcaldqm::utilities::aveTSDB<QIE10DataFrame>(_dbService, digi_fC, did, digi, 0, digi.samples() - 1);
686 
687  _xSignalSum.get(did) += sumQ;
688  _xSignalSum2.get(did) += sumQ * sumQ;
689  _xTimingSum.get(did) += aveTS;
690  _xTimingSum2.get(did) += aveTS * aveTS;
691  _xEntries.get(did)++;
692 
693  for (int i = 0; i < digi.samples(); i++) {
694  if (_ptype == fLocal) { // hidefed2crate
696  eid, (int)i, hcaldqm::utilities::adc2fCDBMinusPedestal<QIE10DataFrame>(_dbService, digi_fC, did, digi, i));
697  }
698  _cADC_SubdetPM.fill(did, digi[i].adc());
699  }
700 
701  // select based on local global
702  double digiTimingSOI = (aveTS - digi.presamples()) * 25.;
703  double deltaTiming = digiTimingSOI - laserMonTiming;
704  _cTiming_DigivsLaserMon_SubdetPM.fill(did, laserMonTiming, digiTimingSOI);
705  _xTimingRefLMSum.get(did) += deltaTiming;
706  _xTimingRefLMSum2.get(did) += deltaTiming * deltaTiming;
707  if (_ptype == fLocal) {
708  int currentEvent = e.eventAuxiliary().id().event();
709  _cTimingvsEvent_SubdetPM.fill(did, currentEvent, aveTS);
710  _cSignalvsEvent_SubdetPM.fill(did, currentEvent, sumQ);
711  _cTimingDiffEvent_SubdetPM.fill(did, currentEvent, hcaldqm::utilities::getRBX(did.iphi()), deltaTiming);
712  } else {
717  _cTimingDiffLS_SubdetPM.fill(did, _currentLS, hcaldqm::utilities::getRBX(did.iphi()), deltaTiming);
718  }
719  }
720 }
edm::InputTag _tagQIE11
Definition: LaserTask.h:49
hcaldqm::ContainerProf1D _cShapeCut_FEDSlot
Definition: LaserTask.h:98
constexpr DetId detid() const
Get the detector id.
double aveTS(DIGI const &digi, double ped=0, int i=0, int j=3)
Definition: Utilities.h:115
hcaldqm::ContainerProf1D _cSignalvsEvent_SubdetPM
Definition: LaserTask.h:100
hcaldqm::ContainerSingle1D _cLaserMonTiming
Definition: LaserTask.h:141
double _lowHF
Definition: LaserTask.h:73
int maxTS(DIGI const &digi, double ped=0)
Definition: Utilities.h:103
hcaldqm::ContainerXXX< double > _xSignalSum2
Definition: LaserTask.h:78
void fill(HcalDetId const &) override
hcaldqm::ContainerXXX< double > _xTimingRefLMSum
Definition: LaserTask.h:82
hcaldqm::ContainerXXX< int > _xEntries
Definition: LaserTask.h:79
std::string const & instance() const
Definition: InputTag.h:37
void dqmthrow(std::string const &msg) const
Definition: Logger.h:12
double _lowHBHE
Definition: LaserTask.h:70
double _laserMonThreshold
Definition: LaserTask.h:134
std::vector< T >::const_iterator const_iterator
hcaldqm::ContainerProf1D _cTimingvsEvent_SubdetPM
Definition: LaserTask.h:99
std::string const & label() const
Definition: InputTag.h:36
hcaldqm::ContainerXXX< double > _xSignalSum
Definition: LaserTask.h:77
hcaldqm::ContainerXXX< double > _xTimingSum
Definition: LaserTask.h:80
constexpr DetId detid() const
Get the detector id.
hcaldqm::ContainerSingleProf1D _cLaserMonTiming_LS
Definition: LaserTask.h:143
int _laserMonTS0
Definition: LaserTask.h:133
edm::InputTag _tagHO
Definition: LaserTask.h:50
hcaldqm::Container1D _cADC_SubdetPM
Definition: LaserTask.h:95
hcaldqm::ContainerProf2D _cTimingDiffLS_SubdetPM
Definition: LaserTask.h:147
constexpr HcalSubdetector subdet() const
get the subdetector
Definition: HcalDetId.h:138
ProcessingType _ptype
Definition: DQModule.h:44
virtual void fill(uint32_t)
Definition: Container1D.cc:73
edm::EDGetTokenT< QIE10DigiCollection > _tokLaserMon
Definition: LaserTask.h:127
void processLaserMon(edm::Handle< QIE10DigiCollection > &col, std::vector< int > &iLaserMonADC)
Definition: LaserTask.cc:722
hcaldqm::ContainerProf2D _cTimingDiffEvent_SubdetPM
Definition: LaserTask.h:148
hcaldqm::ContainerSingleProf1D _cLaserMonSumQ_LS
Definition: LaserTask.h:142
edm::EDGetTokenT< QIE11DigiCollection > _tokQIE11
Definition: LaserTask.h:53
hcaldqm::ContainerSingleProf1D _cLaserMonTiming_Event
Definition: LaserTask.h:145
hcaldqm::ContainerSingle1D _cLaserMonSumQ
Definition: LaserTask.h:140
edm::EDGetTokenT< HODigiCollection > _tokHO
Definition: LaserTask.h:54
Logger _logger
Definition: DQModule.h:55
const_iterator begin() const
hcaldqm::ContainerXXX< double > _xTimingRefLMSum2
Definition: LaserTask.h:83
hcaldqm::ContainerProf1D _cSignalvsBX_SubdetPM
Definition: LaserTask.h:105
edm::EDGetTokenT< QIE10DigiCollection > _tokQIE10
Definition: LaserTask.h:55
double _lowHO
Definition: LaserTask.h:72
const_iterator end() const
const_iterator end() const
double const adc2fC[256]
Definition: Constants.h:257
hcaldqm::ContainerProf1D _cSignalvsLS_SubdetPM
Definition: LaserTask.h:102
hcaldqm::ContainerProf1D _cTimingvsLS_SubdetPM
Definition: LaserTask.h:101
constexpr int samples() const
total number of samples in the digi
hcaldqm::Container2D _cTiming_DigivsLaserMon_SubdetPM
Definition: LaserTask.h:146
const_iterator begin() const
The iterator returned can not safely be used across threads.
hcaldqm::electronicsmap::ElectronicsMap _ehashmap
Definition: LaserTask.h:63
boost::transform_iterator< IterHelp, boost::counting_iterator< int > > const_iterator
int _xMissingLaserMon
Definition: LaserTask.h:138
constexpr int size() const
total number of samples in the digi
Definition: HODataFrame.h:27
virtual STDTYPE & get(HcalDetId const &)
Definition: ContainerXXX.h:198
edm::ESHandle< HcalDbService > _dbService
Definition: DQTask.h:80
void fill(HcalDetId const &) override
Definition: Container2D.cc:52
int getRBX(uint32_t iphi)
Definition: Utilities.cc:242
hcaldqm::ContainerSingleProf1D _cLaserMonSumQ_Event
Definition: LaserTask.h:144
hcaldqm::ContainerXXX< double > _xTimingSum2
Definition: LaserTask.h:81
Readout chain identification for Hcal.
hcaldqm::ContainerProf1D _cTimingvsBX_SubdetPM
Definition: LaserTask.h:104
constexpr int iphi() const
get the cell iphi
Definition: HcalDetId.h:157
constexpr int samples() const
total number of samples in the digi
uint16_t *__restrict__ uint16_t const *__restrict__ adc
edm::InputTag _tagQIE10
Definition: LaserTask.h:51
double sumQ(DIGI const &digi, double ped, int i=0, int j=3)
Definition: Utilities.h:127

◆ _resetMonitors()

void LaserTask::_resetMonitors ( hcaldqm::UpdateFreq  uf)
overrideprotectedvirtual

Reimplemented from hcaldqm::DQTask.

Definition at line 390 of file LaserTask.cc.

390 { DQTask::_resetMonitors(uf); }

◆ bookHistograms()

void LaserTask::bookHistograms ( DQMStore::IBooker ib,
edm::Run const &  r,
edm::EventSetup const &  es 
)
overridevirtual

Reimplemented from hcaldqm::DQTask.

Definition at line 56 of file LaserTask.cc.

References _cADC_SubdetPM, _cLaserMonSumQ, _cLaserMonSumQ_Event, _cLaserMonSumQ_LS, _cLaserMonTiming, _cLaserMonTiming_Event, _cLaserMonTiming_LS, _cMissing_depth, _cMissing_FEDuTCA, _cShapeCut_FEDSlot, _cSignalMean_depth, _cSignalMean_FEDuTCA, _cSignalMean_Subdet, _cSignalRMS_depth, _cSignalRMS_FEDuTCA, _cSignalRMS_Subdet, _cSignalvsBX_SubdetPM, _cSignalvsEvent_SubdetPM, _cSignalvsLS_SubdetPM, _cSummaryvsLS, _cSummaryvsLS_FED, _cTiming_DigivsLaserMon_SubdetPM, _cTimingDiffEvent_SubdetPM, _cTimingDiffLS_SubdetPM, _cTimingMean_depth, _cTimingMean_FEDuTCA, _cTimingMean_Subdet, _cTimingRMS_depth, _cTimingRMS_FEDuTCA, _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::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::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, hcaldqm::utilities::getFEDList(), hcaldqm::utilities::getFEDuTCAList(), hcaldqm::utilities::getFEDVMEList(), edm::EventSetup::getHandle(), HcalDbService::getHcalMapping(), hcalDbServiceToken_, cuy::ib, hcaldqm::ContainerProf1D::initialize(), hcaldqm::ContainerSingleProf1D::initialize(), hcaldqm::ContainerProf2D::initialize(), hcaldqm::ContainerXXX< STDTYPE >::initialize(), hcaldqm::filter::HashFilter::initialize(), hcaldqm::ContainerSingle1D::initialize(), hcaldqm::Container2D::initialize(), hcaldqm::ContainerSingle2D::initialize(), hcaldqm::electronicsmap::ElectronicsMap::initialize(), hcaldqm::Container1D::initialize(), ALPAKA_ACCELERATOR_NAMESPACE::vertexFinder::it, alignCSCRings::r, nano_mu_digi_cff::rawId, HcalElectronicsId::rawId(), hcaldqm::ContainerSingle1D::showOverflowX(), hcaldqm::Container1D::showOverflowX(), hcaldqm::Container1D::showOverflowY(), hcaldqm::constants::SLOT_uTCA_MIN, and hcaldqm::constants::SPIGOT_MIN.

56  {
57  if (_ptype == fLocal)
58  if (r.runAuxiliary().run() == 1)
59  return;
60 
62 
63  edm::ESHandle<HcalDbService> dbService = es.getHandle(hcalDbServiceToken_);
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(
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  "SignalRMS",
122  0);
124  "TimingMean",
129  0);
131  "TimingRMS",
136  0);
138  "Missing",
143  0);
144 
146  "Shape",
150  0);
151  }
153  "TimingvsEvent",
157  0);
159  "SignalvsEvent",
163  0);
165  "TimingvsLS",
169  0);
171  "SignalvsLS",
175  0);
177  "TimingvsBX",
181  0);
183  "SignalvsBX",
187  0);
188 
190  "SignalMean",
195  0);
197  "SignalRMS",
202  0);
204  "TimingMean",
209  0);
211  "TimingRMS",
216  0);
217 
219  "Missing",
224  0);
225 
226  // initialize compact containers
232 
233  // LaserMon containers
234  if (_ptype == fOnline || _ptype == fLocal) {
236  "LaserMonSumQ",
239  0);
241 
243  "LaserMonTiming",
246  0);
248 
249  if (_ptype == fOnline) {
251  "LaserMonSumQ_LS",
255  "LaserMonTiming_LS",
259  "TimingDiff_DigiMinusLaserMon",
264  0);
266  } else if (_ptype == fLocal) {
268  "LaserMonSumQ_Event",
272  "LaserMonTiming_Event",
276  "TimingDiff_DigiMinusLaserMon",
281  0);
283  }
285  _name,
286  "Timing_DigivsLaserMon",
291  0);
294 
299  _xMissingLaserMon = 0;
300 
301  std::vector<int> vFEDs = hcaldqm::utilities::getFEDList(_emap);
302  std::vector<int> vFEDsVME = hcaldqm::utilities::getFEDVMEList(_emap);
303  std::vector<int> vFEDsuTCA = hcaldqm::utilities::getFEDuTCAList(_emap);
304  for (std::vector<int>::const_iterator it = vFEDsVME.begin(); it != vFEDsVME.end(); ++it)
305  _vhashFEDs.push_back(
307  for (std::vector<int>::const_iterator it = vFEDsuTCA.begin(); it != vFEDsuTCA.end(); ++it) {
308  std::pair<uint16_t, uint16_t> cspair = utilities::fed2crate(*it);
309  _vhashFEDs.push_back(HcalElectronicsId(cspair.first, cspair.second, FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
310  }
311 
313  "SummaryvsLS",
318  0);
320  "SummaryvsLS",
324  0);
325  } // End if (_ptype == fOnline || _ptype == fLocal) {
326 
327  // BOOK
332 
337 
338  if (_ptype == fLocal) {
341  } else {
346  }
347 
348  if (_ptype == fLocal) { // hidefed2crate
355  }
357 
359 
365 
366  if (_ptype == fOnline || _ptype == fLocal) {
369  if (_ptype == fOnline) {
373  } else if (_ptype == fLocal) {
377  }
382  _xNChs.book(_emap);
385  }
386 
388 }
void initialize(std::string const &folder, hashfunctions::HashType, quantity::Quantity *, quantity::Quantity *, int debug=0) override
hcaldqm::ContainerProf1D _cShapeCut_FEDSlot
Definition: LaserTask.h:98
hcaldqm::ContainerProf1D _cSignalvsEvent_SubdetPM
Definition: LaserTask.h:100
hcaldqm::ContainerSingle1D _cLaserMonTiming
Definition: LaserTask.h:141
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:60
int const CRATE_VME_MIN
Definition: Constants.h:99
hcaldqm::ContainerProf2D _cTimingMean_FEDuTCA
Definition: LaserTask.h:117
hcaldqm::ContainerXXX< int > _xNBadTimingRefLM
Definition: LaserTask.h:84
virtual void book(DQMStore::IBooker &, std::string subsystem="Hcal", std::string aux="")
hcaldqm::ContainerXXX< double > _xSignalSum2
Definition: LaserTask.h:78
std::pair< uint16_t, uint16_t > fed2crate(int fed)
Definition: Utilities.cc:10
std::vector< uint32_t > _vhashFEDs
Definition: LaserTask.h:66
hcaldqm::ContainerXXX< double > _xTimingRefLMSum
Definition: LaserTask.h:82
void initialize(HcalElectronicsMap const *, ElectronicsMapType etype=fHcalElectronicsMap)
hcaldqm::ContainerXXX< int > _xEntries
Definition: LaserTask.h:79
hcaldqm::Container1D _cTimingRMS_Subdet
Definition: LaserTask.h:93
hcaldqm::ContainerProf1D _cTimingvsEvent_SubdetPM
Definition: LaserTask.h:99
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:124
void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="") override
const HcalElectronicsMap * getHcalMapping() const
int const FIBER_VME_MIN
Definition: Constants.h:129
hcaldqm::ContainerXXX< double > _xSignalSum
Definition: LaserTask.h:77
hcaldqm::ContainerXXX< double > _xTimingSum
Definition: LaserTask.h:80
hcaldqm::Container2D _cMissing_depth
Definition: LaserTask.h:122
void initialize(std::string const &folder, quantity::Quantity *, quantity::Quantity *qy=new quantity::ValueQuantity(quantity::fN), int debug=0) override
hcaldqm::ContainerProf2D _cSignalMean_depth
Definition: LaserTask.h:109
hcaldqm::ContainerSingleProf1D _cLaserMonTiming_LS
Definition: LaserTask.h:143
int const FIBERCH_MIN
Definition: Constants.h:138
hcaldqm::Container1D _cADC_SubdetPM
Definition: LaserTask.h:95
virtual void book(DQMStore::IBooker &, std::string subsystem="Hcal", std::string aux="")
example_stream void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
std::vector< int > getFEDVMEList(HcalElectronicsMap const *)
Definition: Utilities.cc:115
hcaldqm::Container2D _cSummaryvsLS_FED
Definition: LaserTask.h:151
hcaldqm::ContainerProf2D _cTimingDiffLS_SubdetPM
Definition: LaserTask.h:147
hcaldqm::Container1D _cTimingMean_Subdet
Definition: LaserTask.h:92
ProcessingType _ptype
Definition: DQModule.h:44
hcaldqm::ContainerProf2D _cTimingRMS_FEDuTCA
Definition: LaserTask.h:119
hcaldqm::ContainerProf2D _cSignalRMS_FEDuTCA
Definition: LaserTask.h:118
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:148
hcaldqm::ContainerSingleProf1D _cLaserMonSumQ_LS
Definition: LaserTask.h:142
hcaldqm::filter::HashFilter _filter_uTCA
Definition: LaserTask.h:64
hcaldqm::ContainerXXX< int > _xNChs
Definition: LaserTask.h:85
int const FED_VME_MIN
Definition: Constants.h:86
edm::ESGetToken< HcalDbService, HcalDbRecord > hcalDbServiceToken_
Definition: LaserTask.h:57
hcaldqm::ContainerSingleProf1D _cLaserMonTiming_Event
Definition: LaserTask.h:145
int _nevents
Definition: LaserTask.h:69
virtual void showOverflowX(bool showOverflow)
Definition: Container1D.cc:769
hcaldqm::ContainerSingle1D _cLaserMonSumQ
Definition: LaserTask.h:140
int const FIBER_uTCA_MIN1
Definition: Constants.h:132
virtual void showOverflowY(bool showOverflow)
Definition: Container1D.cc:771
hcaldqm::ContainerXXX< double > _xTimingRefLMSum2
Definition: LaserTask.h:83
virtual void showOverflowX(bool showOverflow)
std::string _name
Definition: DQModule.h:42
HcalElectronicsMap const * _emap
Definition: DQTask.h:81
hcaldqm::ContainerProf1D _cSignalvsBX_SubdetPM
Definition: LaserTask.h:105
hcaldqm::ContainerSingle2D _cSummaryvsLS
Definition: LaserTask.h:152
int const CRATE_uTCA_MIN
Definition: Constants.h:104
hcaldqm::Container2D _cMissing_FEDuTCA
Definition: LaserTask.h:123
hcaldqm::Container1D _cSignalMean_Subdet
Definition: LaserTask.h:88
hcaldqm::ContainerProf1D _cSignalvsLS_SubdetPM
Definition: LaserTask.h:102
hcaldqm::ContainerProf1D _cTimingvsLS_SubdetPM
Definition: LaserTask.h:101
virtual void book(HcalElectronicsMap const *)
Definition: ContainerXXX.h:88
hcaldqm::ContainerProf2D _cSignalMean_FEDuTCA
Definition: LaserTask.h:116
hcaldqm::Container2D _cTiming_DigivsLaserMon_SubdetPM
Definition: LaserTask.h:146
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:113
void book(DQMStore::IBooker &, std::string subsystem="Hcal", std::string aux="") override
hcaldqm::electronicsmap::ElectronicsMap _ehashmap
Definition: LaserTask.h:63
void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="") override
constexpr uint32_t rawId() const
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:138
std::vector< int > getFEDList(HcalElectronicsMap const *)
Definition: Utilities.cc:97
std::vector< int > getFEDuTCAList(HcalElectronicsMap const *)
Definition: Utilities.cc:135
hcaldqm::Container1D _cSignalRMS_Subdet
Definition: LaserTask.h:89
virtual void initialize(FilterType ftype, hashfunctions::HashType htype, std::vector< uint32_t > const &)
Definition: HashFilter.cc:17
std::string _subsystem
Definition: DQModule.h:49
hcaldqm::ContainerSingleProf1D _cLaserMonSumQ_Event
Definition: LaserTask.h:144
hcaldqm::ContainerXXX< double > _xTimingSum2
Definition: LaserTask.h:81
virtual void initialize(hashfunctions::HashType, int debug=0)
Definition: ContainerXXX.h:82
void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="") override
Definition: Container2D.cc:567
hcaldqm::ContainerProf2D _cSignalRMS_depth
Definition: LaserTask.h:110
hcaldqm::filter::HashFilter _filter_VME
Definition: LaserTask.h:65
Readout chain identification for Hcal.
hcaldqm::ContainerProf1D _cTimingvsBX_SubdetPM
Definition: LaserTask.h:104
int const SLOT_uTCA_MIN
Definition: Constants.h:111
ib
Definition: cuy.py:661
hcaldqm::ContainerProf2D _cTimingRMS_depth
Definition: LaserTask.h:114

◆ dqmEndRun()

void LaserTask::dqmEndRun ( edm::Run const &  r,
edm::EventSetup const &   
)
inlineoverridevirtual

Reimplemented from DQMOneEDAnalyzer< edm::LuminosityBlockCache< hcaldqm::Cache > >.

Definition at line 30 of file LaserTask.h.

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

30  {
31  if (_ptype == hcaldqm::fLocal) {
32  if (r.runAuxiliary().run() == 1)
33  return;
34  else
35  this->_dump();
36  }
37  }
virtual void _dump()
Definition: LaserTask.cc:392
ProcessingType _ptype
Definition: DQModule.h:44

◆ globalEndLuminosityBlock()

void LaserTask::globalEndLuminosityBlock ( edm::LuminosityBlock const &  lb,
edm::EventSetup const &  es 
)
override

Definition at line 752 of file LaserTask.cc.

References hcaldqm::DQModule::_currentLS, _dump(), hcaldqm::DQModule::_ptype, hcaldqm::fLocal, and edm::LuminosityBlock::index().

752  {
753  auto lumiCache = luminosityBlockCache(lb.index());
754  _currentLS = lumiCache->currentLS;
755 
756  if (_ptype == fLocal)
757  return;
758  this->_dump();
759 
760  DQTask::globalEndLuminosityBlock(lb, es);
761 }
virtual void _dump()
Definition: LaserTask.cc:392
ProcessingType _ptype
Definition: DQModule.h:44

◆ processLaserMon()

void LaserTask::processLaserMon ( edm::Handle< QIE10DigiCollection > &  col,
std::vector< int > &  iLaserMonADC 
)
protected

Definition at line 722 of file LaserTask.cc.

References _laserMonCBox, _laserMonDigiOverlap, _laserMonIEta, _vLaserMonIPhi, cuy::col, spr::find(), mps_fire::i, QIE10DataFrame::id(), ALPAKA_ACCELERATOR_NAMESPACE::vertexFinder::it, and QIE10DataFrame::samples().

Referenced by _process().

722  {
723  for (QIE10DigiCollection::const_iterator it = col->begin(); it != col->end(); ++it) {
724  const QIE10DataFrame digi = (const QIE10DataFrame)(*it);
725  HcalCalibDetId hcdid(digi.id());
726 
727  if ((hcdid.ieta() != _laserMonIEta) || (hcdid.cboxChannel() != _laserMonCBox)) {
728  continue;
729  }
730 
731  unsigned int digiIndex =
732  std::find(_vLaserMonIPhi.begin(), _vLaserMonIPhi.end(), hcdid.iphi()) - _vLaserMonIPhi.begin();
733  if (digiIndex == _vLaserMonIPhi.size()) {
734  continue;
735  }
736 
737  // First digi: initialize the vectors to -1 (need to know the length of the digi)
738  if (iLaserMonADC.empty()) {
739  int totalNSamples = (digi.samples() - _laserMonDigiOverlap) * _vLaserMonIPhi.size();
740  for (int i = 0; i < totalNSamples; ++i) {
741  iLaserMonADC.push_back(-1);
742  }
743  }
744 
745  for (int subindex = 0; subindex < digi.samples() - _laserMonDigiOverlap; ++subindex) {
746  int totalIndex = (digi.samples() - _laserMonDigiOverlap) * digiIndex + subindex;
747  iLaserMonADC[totalIndex] = (digi[subindex].ok() ? digi[subindex].adc() : -1);
748  }
749  }
750 }
constexpr edm::DataFrame::id_type id() 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:132
int _laserMonCBox
Definition: LaserTask.h:131
int _laserMonIEta
Definition: LaserTask.h:130
boost::transform_iterator< IterHelp, boost::counting_iterator< int > > const_iterator
std::vector< int > _vLaserMonIPhi
Definition: LaserTask.h:129
col
Definition: cuy.py:1009
constexpr int samples() const
total number of samples in the digi

Member Data Documentation

◆ _cADC_SubdetPM

hcaldqm::Container1D LaserTask::_cADC_SubdetPM
protected

Definition at line 95 of file LaserTask.h.

Referenced by _process(), and bookHistograms().

◆ _cLaserMonSumQ

hcaldqm::ContainerSingle1D LaserTask::_cLaserMonSumQ
protected

Definition at line 140 of file LaserTask.h.

Referenced by _process(), and bookHistograms().

◆ _cLaserMonSumQ_Event

hcaldqm::ContainerSingleProf1D LaserTask::_cLaserMonSumQ_Event
protected

Definition at line 144 of file LaserTask.h.

Referenced by _process(), and bookHistograms().

◆ _cLaserMonSumQ_LS

hcaldqm::ContainerSingleProf1D LaserTask::_cLaserMonSumQ_LS
protected

Definition at line 142 of file LaserTask.h.

Referenced by _process(), and bookHistograms().

◆ _cLaserMonTiming

hcaldqm::ContainerSingle1D LaserTask::_cLaserMonTiming
protected

Definition at line 141 of file LaserTask.h.

Referenced by _process(), and bookHistograms().

◆ _cLaserMonTiming_Event

hcaldqm::ContainerSingleProf1D LaserTask::_cLaserMonTiming_Event
protected

Definition at line 145 of file LaserTask.h.

Referenced by _process(), and bookHistograms().

◆ _cLaserMonTiming_LS

hcaldqm::ContainerSingleProf1D LaserTask::_cLaserMonTiming_LS
protected

Definition at line 143 of file LaserTask.h.

Referenced by _process(), and bookHistograms().

◆ _cMissing_depth

hcaldqm::Container2D LaserTask::_cMissing_depth
protected

Definition at line 122 of file LaserTask.h.

Referenced by _dump(), and bookHistograms().

◆ _cMissing_FEDuTCA

hcaldqm::Container2D LaserTask::_cMissing_FEDuTCA
protected

Definition at line 123 of file LaserTask.h.

Referenced by _dump(), and bookHistograms().

◆ _cShapeCut_FEDSlot

hcaldqm::ContainerProf1D LaserTask::_cShapeCut_FEDSlot
protected

Definition at line 98 of file LaserTask.h.

Referenced by _process(), and bookHistograms().

◆ _cSignalMean_depth

hcaldqm::ContainerProf2D LaserTask::_cSignalMean_depth
protected

Definition at line 109 of file LaserTask.h.

Referenced by _dump(), and bookHistograms().

◆ _cSignalMean_FEDuTCA

hcaldqm::ContainerProf2D LaserTask::_cSignalMean_FEDuTCA
protected

Definition at line 116 of file LaserTask.h.

Referenced by _dump(), and bookHistograms().

◆ _cSignalMean_Subdet

hcaldqm::Container1D LaserTask::_cSignalMean_Subdet
protected

Definition at line 88 of file LaserTask.h.

Referenced by _dump(), and bookHistograms().

◆ _cSignalMeanQIE1011_depth

hcaldqm::ContainerProf2D LaserTask::_cSignalMeanQIE1011_depth
protected

Definition at line 111 of file LaserTask.h.

◆ _cSignalMeanQIE1011_Subdet

hcaldqm::Container1D LaserTask::_cSignalMeanQIE1011_Subdet
protected

Definition at line 90 of file LaserTask.h.

◆ _cSignalRMS_depth

hcaldqm::ContainerProf2D LaserTask::_cSignalRMS_depth
protected

Definition at line 110 of file LaserTask.h.

Referenced by _dump(), and bookHistograms().

◆ _cSignalRMS_FEDuTCA

hcaldqm::ContainerProf2D LaserTask::_cSignalRMS_FEDuTCA
protected

Definition at line 118 of file LaserTask.h.

Referenced by _dump(), and bookHistograms().

◆ _cSignalRMS_Subdet

hcaldqm::Container1D LaserTask::_cSignalRMS_Subdet
protected

Definition at line 89 of file LaserTask.h.

Referenced by _dump(), and bookHistograms().

◆ _cSignalRMSQIE1011_depth

hcaldqm::ContainerProf2D LaserTask::_cSignalRMSQIE1011_depth
protected

Definition at line 112 of file LaserTask.h.

◆ _cSignalRMSQIE1011_Subdet

hcaldqm::Container1D LaserTask::_cSignalRMSQIE1011_Subdet
protected

Definition at line 91 of file LaserTask.h.

◆ _cSignalvsBX_SubdetPM

hcaldqm::ContainerProf1D LaserTask::_cSignalvsBX_SubdetPM
protected

Definition at line 105 of file LaserTask.h.

Referenced by _process(), and bookHistograms().

◆ _cSignalvsBXQIE1011_SubdetPM

hcaldqm::ContainerProf1D LaserTask::_cSignalvsBXQIE1011_SubdetPM
protected

Definition at line 106 of file LaserTask.h.

◆ _cSignalvsEvent_SubdetPM

hcaldqm::ContainerProf1D LaserTask::_cSignalvsEvent_SubdetPM
protected

Definition at line 100 of file LaserTask.h.

Referenced by _process(), and bookHistograms().

◆ _cSignalvsLS_SubdetPM

hcaldqm::ContainerProf1D LaserTask::_cSignalvsLS_SubdetPM
protected

Definition at line 102 of file LaserTask.h.

Referenced by _process(), and bookHistograms().

◆ _cSignalvsLSQIE1011_SubdetPM

hcaldqm::ContainerProf1D LaserTask::_cSignalvsLSQIE1011_SubdetPM
protected

Definition at line 103 of file LaserTask.h.

◆ _cSummaryvsLS

hcaldqm::ContainerSingle2D LaserTask::_cSummaryvsLS
protected

Definition at line 152 of file LaserTask.h.

Referenced by _dump(), and bookHistograms().

◆ _cSummaryvsLS_FED

hcaldqm::Container2D LaserTask::_cSummaryvsLS_FED
protected

Definition at line 151 of file LaserTask.h.

Referenced by _dump(), and bookHistograms().

◆ _cTiming_DigivsLaserMon_SubdetPM

hcaldqm::Container2D LaserTask::_cTiming_DigivsLaserMon_SubdetPM
protected

Definition at line 146 of file LaserTask.h.

Referenced by _process(), and bookHistograms().

◆ _cTimingDiffEvent_SubdetPM

hcaldqm::ContainerProf2D LaserTask::_cTimingDiffEvent_SubdetPM
protected

Definition at line 148 of file LaserTask.h.

Referenced by _process(), and bookHistograms().

◆ _cTimingDiffLS_SubdetPM

hcaldqm::ContainerProf2D LaserTask::_cTimingDiffLS_SubdetPM
protected

Definition at line 147 of file LaserTask.h.

Referenced by _process(), and bookHistograms().

◆ _cTimingMean_depth

hcaldqm::ContainerProf2D LaserTask::_cTimingMean_depth
protected

Definition at line 113 of file LaserTask.h.

Referenced by _dump(), and bookHistograms().

◆ _cTimingMean_FEDuTCA

hcaldqm::ContainerProf2D LaserTask::_cTimingMean_FEDuTCA
protected

Definition at line 117 of file LaserTask.h.

Referenced by _dump(), and bookHistograms().

◆ _cTimingMean_Subdet

hcaldqm::Container1D LaserTask::_cTimingMean_Subdet
protected

Definition at line 92 of file LaserTask.h.

Referenced by _dump(), and bookHistograms().

◆ _cTimingRMS_depth

hcaldqm::ContainerProf2D LaserTask::_cTimingRMS_depth
protected

Definition at line 114 of file LaserTask.h.

Referenced by _dump(), and bookHistograms().

◆ _cTimingRMS_FEDuTCA

hcaldqm::ContainerProf2D LaserTask::_cTimingRMS_FEDuTCA
protected

Definition at line 119 of file LaserTask.h.

Referenced by _dump(), and bookHistograms().

◆ _cTimingRMS_Subdet

hcaldqm::Container1D LaserTask::_cTimingRMS_Subdet
protected

Definition at line 93 of file LaserTask.h.

Referenced by _dump(), and bookHistograms().

◆ _cTimingvsBX_SubdetPM

hcaldqm::ContainerProf1D LaserTask::_cTimingvsBX_SubdetPM
protected

Definition at line 104 of file LaserTask.h.

Referenced by _process(), and bookHistograms().

◆ _cTimingvsEvent_SubdetPM

hcaldqm::ContainerProf1D LaserTask::_cTimingvsEvent_SubdetPM
protected

Definition at line 99 of file LaserTask.h.

Referenced by _process(), and bookHistograms().

◆ _cTimingvsLS_SubdetPM

hcaldqm::ContainerProf1D LaserTask::_cTimingvsLS_SubdetPM
protected

Definition at line 101 of file LaserTask.h.

Referenced by _process(), and bookHistograms().

◆ _ehashmap

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

Definition at line 63 of file LaserTask.h.

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

◆ _filter_uTCA

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

Definition at line 64 of file LaserTask.h.

Referenced by bookHistograms().

◆ _filter_VME

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

Definition at line 65 of file LaserTask.h.

Referenced by bookHistograms().

◆ _laserMonCBox

int LaserTask::_laserMonCBox
protected

Definition at line 131 of file LaserTask.h.

Referenced by LaserTask(), and processLaserMon().

◆ _laserMonDigiOverlap

int LaserTask::_laserMonDigiOverlap
protected

Definition at line 132 of file LaserTask.h.

Referenced by LaserTask(), and processLaserMon().

◆ _laserMonIEta

int LaserTask::_laserMonIEta
protected

Definition at line 130 of file LaserTask.h.

Referenced by LaserTask(), and processLaserMon().

◆ _laserMonThreshold

double LaserTask::_laserMonThreshold
protected

Definition at line 134 of file LaserTask.h.

Referenced by _process(), and LaserTask().

◆ _laserMonTS0

int LaserTask::_laserMonTS0
protected

Definition at line 133 of file LaserTask.h.

Referenced by _process(), and LaserTask().

◆ _laserType

uint32_t LaserTask::_laserType
protected

Definition at line 74 of file LaserTask.h.

Referenced by _isApplicable(), and LaserTask().

◆ _lowHBHE

double LaserTask::_lowHBHE
protected

Definition at line 70 of file LaserTask.h.

Referenced by _process(), and LaserTask().

◆ _lowHE

double LaserTask::_lowHE
protected

Definition at line 71 of file LaserTask.h.

◆ _lowHF

double LaserTask::_lowHF
protected

Definition at line 73 of file LaserTask.h.

Referenced by _process(), and LaserTask().

◆ _lowHO

double LaserTask::_lowHO
protected

Definition at line 72 of file LaserTask.h.

Referenced by _process(), and LaserTask().

◆ _nevents

int LaserTask::_nevents
protected

Definition at line 69 of file LaserTask.h.

Referenced by bookHistograms(), and LaserTask().

◆ _tagHO

edm::InputTag LaserTask::_tagHO
protected

Definition at line 50 of file LaserTask.h.

Referenced by _process(), and LaserTask().

◆ _tagLaserMon

edm::InputTag LaserTask::_tagLaserMon
protected

Definition at line 126 of file LaserTask.h.

Referenced by LaserTask().

◆ _tagQIE10

edm::InputTag LaserTask::_tagQIE10
protected

Definition at line 51 of file LaserTask.h.

Referenced by _process(), and LaserTask().

◆ _tagQIE11

edm::InputTag LaserTask::_tagQIE11
protected

Definition at line 49 of file LaserTask.h.

Referenced by _process(), and LaserTask().

◆ _taguMN

edm::InputTag LaserTask::_taguMN
protected

Definition at line 52 of file LaserTask.h.

Referenced by LaserTask().

◆ _thresh_frac_timingreflm

double LaserTask::_thresh_frac_timingreflm
protected

Definition at line 136 of file LaserTask.h.

Referenced by _dump(), and LaserTask().

◆ _thresh_min_lmsumq

double LaserTask::_thresh_min_lmsumq
protected

Definition at line 137 of file LaserTask.h.

Referenced by LaserTask().

◆ _thresh_timingreflm

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

Definition at line 135 of file LaserTask.h.

Referenced by _dump(), and LaserTask().

◆ _tokHO

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

Definition at line 54 of file LaserTask.h.

Referenced by _process(), and LaserTask().

◆ _tokLaserMon

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

Definition at line 127 of file LaserTask.h.

Referenced by _process(), and LaserTask().

◆ _tokQIE10

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

Definition at line 55 of file LaserTask.h.

Referenced by _process(), and LaserTask().

◆ _tokQIE11

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

Definition at line 53 of file LaserTask.h.

Referenced by _process(), and LaserTask().

◆ _tokuMN

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

Definition at line 56 of file LaserTask.h.

Referenced by _isApplicable(), and LaserTask().

◆ _vflags

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

Definition at line 60 of file LaserTask.h.

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

◆ _vhashFEDs

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

Definition at line 66 of file LaserTask.h.

Referenced by _dump(), and bookHistograms().

◆ _vLaserMonIPhi

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

Definition at line 129 of file LaserTask.h.

Referenced by LaserTask(), and processLaserMon().

◆ _xEntries

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

Definition at line 79 of file LaserTask.h.

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

◆ _xMissingLaserMon

int LaserTask::_xMissingLaserMon
protected

Definition at line 138 of file LaserTask.h.

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

◆ _xNBadTimingRefLM

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

Definition at line 84 of file LaserTask.h.

Referenced by _dump(), and bookHistograms().

◆ _xNChs

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

Definition at line 85 of file LaserTask.h.

Referenced by _dump(), and bookHistograms().

◆ _xSignalSum

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

Definition at line 77 of file LaserTask.h.

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

◆ _xSignalSum2

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

Definition at line 78 of file LaserTask.h.

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

◆ _xTimingRefLMSum

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

Definition at line 82 of file LaserTask.h.

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

◆ _xTimingRefLMSum2

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

Definition at line 83 of file LaserTask.h.

Referenced by _process(), and bookHistograms().

◆ _xTimingSum

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

Definition at line 80 of file LaserTask.h.

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

◆ _xTimingSum2

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

Definition at line 81 of file LaserTask.h.

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

◆ hcalDbServiceToken_

edm::ESGetToken<HcalDbService, HcalDbRecord> LaserTask::hcalDbServiceToken_
protected

Definition at line 57 of file LaserTask.h.

Referenced by bookHistograms().