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 one::DQMEDAnalyzer< T > hcaldqm::DQModule one::dqmimplementation::DQMBaseClass< T... >

Public Member Functions

void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
void endLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) override
 
void endRun (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 beginLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) override
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
void dqmBeginRun (edm::Run const &, edm::EventSetup const &) override
 
 DQTask (edm::ParameterSet const &)
 
void endLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) override
 
 ~DQTask () override
 
- Public Member Functions inherited from one::DQMEDAnalyzer< T >
 DQMEDAnalyzer ()=default
 
 DQMEDAnalyzer (DQMEDAnalyzer< T... > const &)=delete
 
 DQMEDAnalyzer (DQMEDAnalyzer< T... > &&)=delete
 
 ~DQMEDAnalyzer () override=default
 
- Public Member Functions inherited from hcaldqm::DQModule
 DQModule (edm::ParameterSet const &)
 
virtual ~DQModule ()(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 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 _tagHBHE
 
edm::InputTag _tagHE
 
edm::InputTag _tagHF
 
edm::InputTag _tagHO
 
edm::InputTag _tagLaserMon
 
edm::InputTag _taguMN
 
double _thresh_frac_timingreflm
 
double _thresh_min_lmsumq
 
std::map< HcalSubdetector, std::pair< double, double > > _thresh_timingreflm
 
edm::EDGetTokenT< HBHEDigiCollection_tokHBHE
 
edm::EDGetTokenT< QIE11DigiCollection_tokHE
 
edm::EDGetTokenT< QIE10DigiCollection_tokHF
 
edm::EDGetTokenT< HODigiCollection_tokHO
 
edm::EDGetTokenT< QIE10DigiCollection_tokLaserMon
 
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 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
 

Detailed Description

Definition at line 24 of file LaserTask.h.

Member Enumeration Documentation

enum LaserTask::LaserFlag
protected
Enumerator
fBadTiming 
fMissingLaserMon 
nLaserFlag 

Definition at line 67 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, _lowHE, _lowHF, _lowHO, _nevents, _tagHBHE, _tagHE, _tagHF, _tagHO, _tagLaserMon, _taguMN, _thresh_frac_timingreflm, _thresh_min_lmsumq, _thresh_timingreflm, _tokHBHE, _tokHE, _tokHF, _tokHO, _tokLaserMon, _tokuMN, _vflags, _vLaserMonIPhi, fBadTiming, nanoDQM_cfi::Flag, fMissingLaserMon, edm::ParameterSet::getUntrackedParameter(), HcalBarrel, HcalEndcap, HcalForward, HcalOuter, and nLaserFlag.

6  :
7  DQTask(ps)
8 {
9  _nevents = ps.getUntrackedParameter<int>("nevents", 2000);
10 
11  // tags
12  _tagHBHE = ps.getUntrackedParameter<edm::InputTag>("tagHBHE",
13  edm::InputTag("hcalDigis"));
14  _tagHE = ps.getUntrackedParameter<edm::InputTag>("tagHE",
15  edm::InputTag("hcalDigis"));
16  _tagHO = ps.getUntrackedParameter<edm::InputTag>("tagHO",
17  edm::InputTag("hcalDigis"));
18  _tagHF = ps.getUntrackedParameter<edm::InputTag>("tagHF",
19  edm::InputTag("hcalDigis"));
20  _taguMN = ps.getUntrackedParameter<edm::InputTag>("taguMN",
21  edm::InputTag("hcalDigis"));
22  _tagLaserMon = ps.getUntrackedParameter<edm::InputTag>("tagLaserMon",
23  edm::InputTag("LASERMON"));
24  _tokHBHE = consumes<HBHEDigiCollection>(_tagHBHE);
25  _tokHE = consumes<QIE11DigiCollection>(_tagHE);
26  _tokHO = consumes<HODigiCollection>(_tagHO);
27  _tokHF = consumes<QIE10DigiCollection>(_tagHF);
28  _tokuMN = consumes<HcalUMNioDigi>(_taguMN);
29  _tokLaserMon = consumes<QIE10DigiCollection>(_tagLaserMon);
30 
31  _vflags.resize(nLaserFlag);
33  _vflags[fMissingLaserMon]=hcaldqm::flag::Flag("MissingLaserMon");
34 
35  // constants
36  _lowHBHE = ps.getUntrackedParameter<double>("lowHBHE",
37  50);
38  _lowHE = ps.getUntrackedParameter<double>("lowHE",
39  150);
40  _lowHO = ps.getUntrackedParameter<double>("lowHO",
41  100);
42  _lowHF = ps.getUntrackedParameter<double>("lowHF",
43  50);
44  _laserType = (uint32_t)ps.getUntrackedParameter<uint32_t>("laserType");
45 
46  // Laser mon digi ordering list
47  _vLaserMonIPhi = ps.getUntrackedParameter<std::vector<int> >("vLaserMonIPhi");
48  _laserMonIEta = ps.getUntrackedParameter<int>("laserMonIEta");
49  _laserMonCBox = ps.getUntrackedParameter<int>("laserMonCBox");
50  _laserMonDigiOverlap = ps.getUntrackedParameter<int>("laserMonDigiOverlap");
51  _laserMonTS0 = ps.getUntrackedParameter<int>("laserMonTS0");
52  _laserMonThreshold = ps.getUntrackedParameter<double>("laserMonThreshold", 1.e5);
53  _thresh_frac_timingreflm = ps.getUntrackedParameter<double>("_thresh_frac_timingreflm", 0.01);
54  _thresh_min_lmsumq = ps.getUntrackedParameter<double>("thresh_min_lmsumq", 50000.);
55 
56  std::vector<double> vTimingRangeHB = ps.getUntrackedParameter<std::vector<double>>("thresh_timingreflm_HB", std::vector<double>({-70, -10.}));
57  std::vector<double> vTimingRangeHE = ps.getUntrackedParameter<std::vector<double>>("thresh_timingreflm_HE", std::vector<double>({-60., 0.}));
58  std::vector<double> vTimingRangeHO = ps.getUntrackedParameter<std::vector<double>>("thresh_timingreflm_HO", std::vector<double>({-50., 20.}));
59  std::vector<double> vTimingRangeHF = ps.getUntrackedParameter<std::vector<double>>("thresh_timingreflm_HF", std::vector<double>({-50., 20.}));
60  _thresh_timingreflm[HcalBarrel] = std::make_pair(vTimingRangeHB[0], vTimingRangeHB[1]);
61  _thresh_timingreflm[HcalEndcap] = std::make_pair(vTimingRangeHE[0], vTimingRangeHE[1]);
62  _thresh_timingreflm[HcalOuter] = std::make_pair(vTimingRangeHO[0], vTimingRangeHO[1]);
63  _thresh_timingreflm[HcalForward] = std::make_pair(vTimingRangeHF[0], vTimingRangeHF[1]);
64 }
edm::InputTag _tagHE
Definition: LaserTask.h:57
std::vector< hcaldqm::flag::Flag > _vflags
Definition: LaserTask.h:73
double _lowHF
Definition: LaserTask.h:86
DQTask(edm::ParameterSet const &)
Definition: DQTask.cc:6
edm::EDGetTokenT< QIE11DigiCollection > _tokHE
Definition: LaserTask.h:62
double _lowHBHE
Definition: LaserTask.h:83
double _lowHE
Definition: LaserTask.h:84
uint32_t _laserType
Definition: LaserTask.h:87
double _laserMonThreshold
Definition: LaserTask.h:153
double _thresh_frac_timingreflm
Definition: LaserTask.h:155
int _laserMonTS0
Definition: LaserTask.h:152
edm::InputTag _tagHO
Definition: LaserTask.h:58
edm::InputTag _tagHF
Definition: LaserTask.h:59
int _laserMonDigiOverlap
Definition: LaserTask.h:151
edm::EDGetTokenT< QIE10DigiCollection > _tokLaserMon
Definition: LaserTask.h:146
std::map< HcalSubdetector, std::pair< double, double > > _thresh_timingreflm
Definition: LaserTask.h:154
int _nevents
Definition: LaserTask.h:82
edm::EDGetTokenT< HODigiCollection > _tokHO
Definition: LaserTask.h:63
double _thresh_min_lmsumq
Definition: LaserTask.h:156
int _laserMonCBox
Definition: LaserTask.h:150
double _lowHO
Definition: LaserTask.h:85
edm::EDGetTokenT< HBHEDigiCollection > _tokHBHE
Definition: LaserTask.h:61
int _laserMonIEta
Definition: LaserTask.h:149
edm::InputTag _tagHBHE
Definition: LaserTask.h:56
edm::InputTag _tagLaserMon
Definition: LaserTask.h:145
edm::InputTag _taguMN
Definition: LaserTask.h:60
std::vector< int > _vLaserMonIPhi
Definition: LaserTask.h:148
edm::EDGetTokenT< HcalUMNioDigi > _tokuMN
Definition: LaserTask.h:65
edm::EDGetTokenT< QIE10DigiCollection > _tokHF
Definition: LaserTask.h:64
LaserTask::~LaserTask ( )
inlineoverride

Definition at line 28 of file LaserTask.h.

References bookHistograms().

29  {}

Member Function Documentation

void LaserTask::_dump ( )
protectedvirtual

Definition at line 398 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(), gen::n, hcaldqm::ContainerXXX< STDTYPE >::reset(), hcaldqm::flag::Flag::reset(), hcaldqm::Container1D::reset(), hcaldqm::Container2D::setBinContent(), hcaldqm::ContainerSingle2D::setBinContent(), mathSSE::sqrt(), and HcalDetId::subdet().

Referenced by endLuminosityBlock(), and endRun().

399 {
408 
409  if (_ptype == fLocal) { // hidefed2crate
418  }
419  if (_ptype != fOffline) {
420  _xNChs.reset();
421  }
422 
423  std::vector<HcalGenericDetId> dids = _emap->allPrecisionId();
424  for (std::vector<HcalGenericDetId>::const_iterator it=dids.begin();
425  it!=dids.end(); ++it)
426  {
427  if (!it->isHcalDetId())
428  continue;
429  HcalDetId did = HcalDetId(it->rawId());
431  int n = _xEntries.get(did);
432  // channels missing or low signal
433  if (n == 0) {
434  _cMissing_depth.fill(did);
435  if (_ptype == fLocal) { // hidefed2crate
436  if (eid.isVMEid())
438  else
440  }
441  continue;
442  }
443 
444  _xNChs.get(eid)++;
445 
446  double msig = _xSignalSum.get(did)/n;
447  double mtim = _xTimingSum.get(did)/n;
448  double rsig = sqrt(_xSignalSum2.get(did)/n-msig*msig);
449  double rtim = sqrt(_xTimingSum2.get(did)/n-mtim*mtim);
450 
451  _cSignalMean_Subdet.fill(did, msig);
452  _cSignalMean_depth.fill(did, msig);
453  _cSignalRMS_Subdet.fill(did, rsig);
454  _cSignalRMS_depth.fill(did, rsig);
455  _cTimingMean_Subdet.fill(did, mtim);
456  _cTimingMean_depth.fill(did, mtim);
457  _cTimingRMS_Subdet.fill(did, rtim);
458  _cTimingRMS_depth.fill(did, rtim);
459  if (_ptype == fLocal) { // hidefed2crate
460  if (eid.isVMEid())
461  {
463  _cSignalRMS_FEDVME.fill(eid, rsig);
465  _cTimingRMS_FEDVME.fill(eid, rtim);
466  }
467  else
468  {
473  }
474  }
475 
476  // Bad timing
477 
478  double timingreflm_mean = _xTimingRefLMSum.get(did) / n;
479  //double timingreflm_rms = sqrt(_xTimingRefLMSum2.get(did) / n - timingreflm_mean * timingreflm_mean);
480 
481  if ((timingreflm_mean < _thresh_timingreflm[did.subdet()].first) || (timingreflm_mean > _thresh_timingreflm[did.subdet()].second)) {
483  }
484  }
485  if (_ptype != fOffline) { // hidefed2crate
486  for (std::vector<uint32_t>::const_iterator it=_vhashFEDs.begin(); it!=_vhashFEDs.end(); ++it) {
487  hcaldqm::flag::Flag fSum("LASER");
489  std::vector<uint32_t>::const_iterator jt=
490  std::find(_vcdaqEids.begin(), _vcdaqEids.end(), (*it));
491  if (jt==_vcdaqEids.end())
492  {
493  // not @cDAQ
494  for (
495  uint32_t iflag=0; iflag<_vflags.size(); iflag++)
496  _cSummaryvsLS_FED.setBinContent(eid, _currentLS, int(iflag),
497  int(hcaldqm::flag::fNCDAQ));
499  continue;
500  }
501  // @cDAQ
503  int min_nchs = 10;
504  if (_xNChs.get(eid) < min_nchs) {
506  } else {
507  double frbadtimingreflm = double(_xNBadTimingRefLM.get(eid))/double(_xNChs.get(eid));
508  if (frbadtimingreflm > _thresh_frac_timingreflm) {
510  } else {
512  }
513  }
514  if (_xMissingLaserMon) {
516  } else {
518  }
519  }
520 
521  // Set SummaryVsLS bins
522  int iflag=0;
523  for (std::vector<hcaldqm::flag::Flag>::iterator ft=_vflags.begin();
524  ft!=_vflags.end(); ++ft)
525  {
527  int(ft->_state));
528  fSum+=(*ft);
529  iflag++;
530  ft->reset();
531  }
532  _cSummaryvsLS.setBinContent(eid, _currentLS, fSum._state);
533  } // End loop over FEDs
534 
535  // Reset per-LS containers
537  _xMissingLaserMon = 0;
538  } // End if _ptype != fOffline
539 }
std::vector< hcaldqm::flag::Flag > _vflags
Definition: LaserTask.h:73
hcaldqm::ContainerProf2D _cTimingMean_FEDuTCA
Definition: LaserTask.h:133
hcaldqm::ContainerXXX< int > _xNBadTimingRefLM
Definition: LaserTask.h:97
HcalSubdetector subdet() const
get the subdetector
Definition: HcalDetId.h:142
hcaldqm::ContainerXXX< double > _xSignalSum2
Definition: LaserTask.h:91
void fill(HcalDetId const &) override
std::vector< uint32_t > _vhashFEDs
Definition: LaserTask.h:79
hcaldqm::ContainerXXX< double > _xTimingRefLMSum
Definition: LaserTask.h:95
hcaldqm::ContainerXXX< int > _xEntries
Definition: LaserTask.h:92
hcaldqm::Container1D _cTimingRMS_Subdet
Definition: LaserTask.h:107
hcaldqm::ContainerProf2D _cSignalRMS_FEDVME
Definition: LaserTask.h:134
double _thresh_frac_timingreflm
Definition: LaserTask.h:155
virtual void reset()
Definition: ContainerXXX.h:364
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:20
hcaldqm::ContainerXXX< double > _xSignalSum
Definition: LaserTask.h:90
hcaldqm::ContainerXXX< double > _xTimingSum
Definition: LaserTask.h:93
hcaldqm::Container2D _cMissing_depth
Definition: LaserTask.h:140
hcaldqm::Container2D _cMissing_FEDVME
Definition: LaserTask.h:141
hcaldqm::ContainerProf2D _cSignalMean_depth
Definition: LaserTask.h:123
hcaldqm::Container2D _cSummaryvsLS_FED
Definition: LaserTask.h:170
hcaldqm::ContainerProf2D _cTimingRMS_FEDVME
Definition: LaserTask.h:136
hcaldqm::ContainerProf2D _cSignalMean_FEDVME
Definition: LaserTask.h:130
hcaldqm::Container1D _cTimingMean_Subdet
Definition: LaserTask.h:106
ProcessingType _ptype
Definition: DQModule.h:59
virtual void fill(uint32_t)
Definition: Container1D.cc:82
virtual void reset()
Definition: Container1D.cc:65
hcaldqm::ContainerProf2D _cTimingRMS_FEDuTCA
Definition: LaserTask.h:137
hcaldqm::ContainerProf2D _cSignalRMS_FEDuTCA
Definition: LaserTask.h:135
std::map< HcalSubdetector, std::pair< double, double > > _thresh_timingreflm
Definition: LaserTask.h:154
virtual void setBinContent(int, int, int)
hcaldqm::ContainerXXX< int > _xNChs
Definition: LaserTask.h:98
T sqrt(T t)
Definition: SSEVec.h:18
hcaldqm::ContainerProf2D _cTimingMean_FEDVME
Definition: LaserTask.h:132
std::vector< HcalGenericDetId > allPrecisionId() const
HcalElectronicsMap const * _emap
Definition: DQTask.h:73
hcaldqm::ContainerSingle2D _cSummaryvsLS
Definition: LaserTask.h:171
hcaldqm::Container2D _cMissing_FEDuTCA
Definition: LaserTask.h:142
hcaldqm::Container1D _cSignalMean_Subdet
Definition: LaserTask.h:102
bool isFEDHBHE(HcalElectronicsId const &)
Definition: Utilities.cc:172
hcaldqm::ContainerProf2D _cSignalMean_FEDuTCA
Definition: LaserTask.h:131
hcaldqm::ContainerProf2D _cTimingMean_depth
Definition: LaserTask.h:127
hcaldqm::electronicsmap::ElectronicsMap _ehashmap
Definition: LaserTask.h:76
void setBinContent(HcalDetId const &, int) override
Definition: Container2D.cc:234
int _xMissingLaserMon
Definition: LaserTask.h:157
virtual STDTYPE & get(HcalDetId const &)
Definition: ContainerXXX.h:247
hcaldqm::Container1D _cSignalRMS_Subdet
Definition: LaserTask.h:103
void fill(HcalDetId const &) override
Definition: Container2D.cc:58
bool isFEDHO(HcalElectronicsId const &)
Definition: Utilities.cc:212
std::vector< uint32_t > _vcdaqEids
Definition: DQTask.h:65
hcaldqm::ContainerXXX< double > _xTimingSum2
Definition: LaserTask.h:94
hcaldqm::ContainerProf2D _cSignalRMS_depth
Definition: LaserTask.h:124
Readout chain identification for Hcal.
bool isFEDHF(HcalElectronicsId const &)
Definition: Utilities.cc:187
hcaldqm::ContainerProf2D _cTimingRMS_depth
Definition: LaserTask.h:128
bool LaserTask::_isApplicable ( edm::Event const &  e)
overrideprotectedvirtual

Reimplemented from hcaldqm::DQTask.

Definition at line 866 of file LaserTask.cc.

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

Referenced by endRun().

867 {
868  if (_ptype!=fOnline)
869  return true;
870  else
871  {
872  // fOnline mode
874  if (!e.getByToken(_tokuMN, cumn))
875  return false;
876 
877  // event type check first
878  uint8_t eventType = cumn->eventType();
879  if (eventType!=constants::EVENTTYPE_LASER)
880  return false;
881 
882  // check if this analysis task is of the right laser type
883  uint32_t laserType = cumn->valueUserWord(0);
884  if (laserType==_laserType) return true;
885  }
886 
887  return false;
888 }
uint32_t _laserType
Definition: LaserTask.h:87
ProcessingType _ptype
Definition: DQModule.h:59
uint32_t valueUserWord(int iword) const
uint8_t eventType() const
uint8_t const EVENTTYPE_LASER
Definition: Constants.h:324
edm::EDGetTokenT< HcalUMNioDigi > _tokuMN
Definition: LaserTask.h:65
void LaserTask::_process ( edm::Event const &  e,
edm::EventSetup const &  es 
)
overrideprotectedvirtual

Implements hcaldqm::DQTask.

Definition at line 541 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, _lowHE, _lowHF, _lowHO, hcaldqm::DQModule::_ptype, _tagHBHE, _tagHE, _tagHF, _tagHO, _tokHBHE, _tokHE, _tokHF, _tokHO, _tokLaserMon, _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(), QIE11DataFrame::detid(), QIE10DataFrame::detid(), Logger::dqmthrow(), runTauDisplay::eid, edm::SortedCollection< T, SORT >::end(), edm::DataFrameContainer::end(), edm::EventID::event(), edm::Event::eventAuxiliary(), hcaldqm::Container2D::fill(), hcaldqm::ContainerSingle1D::fill(), hcaldqm::ContainerProf2D::fill(), hcaldqm::Container1D::fill(), hcaldqm::fLocal, hcaldqm::fOnline, hcaldqm::ContainerXXX< STDTYPE >::get(), edm::Event::getByToken(), hcaldqm::utilities::getRBX(), 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(), HBHEDataFrame::size(), HcalDetId::subdet(), and hcaldqm::utilities::sumQ().

Referenced by endRun().

543 {
548 
549  if (!e.getByToken(_tokHBHE, chbhe))
550  _logger.dqmthrow("Collection HBHEDigiCollection isn't available "
551  + _tagHBHE.label() + " " + _tagHBHE.instance());
552  if (!e.getByToken(_tokHE, cHE))
553  _logger.dqmthrow("Collection QIE11DigiCollection isn't available "
554  + _tagHE.label() + " " + _tagHE.instance());
555  if (!e.getByToken(_tokHO, cho))
556  _logger.dqmthrow("Collection HODigiCollection isn't available "
557  + _tagHO.label() + " " + _tagHO.instance());
558  if (!e.getByToken(_tokHF, chf))
559  _logger.dqmthrow("Collection QIE10DigiCollection isn't available "
560  + _tagHF.label() + " " + _tagHF.instance());
561 
562 // int currentEvent = e.eventAuxiliary().id().event();
563  int bx = e.bunchCrossing();
564 
565 
566  // LASERMON
568  if (!e.getByToken(_tokLaserMon, cLaserMon)) {
569  _logger.dqmthrow("QIE10DigiCollection for laserMonDigis isn't available.");
570  }
571  std::vector<int> laserMonADC;
572  processLaserMon(cLaserMon, laserMonADC);
573 
574  // SumQ = peak +/- 3 TSes
575  // Timing = fC-weighted average (TS-TS0) * 25 ns, also in peak +/- 3 TSes
576  int peakTS = -1;
577  double peakLaserMonADC = -1;
578  for (unsigned int iTS = 0; iTS < laserMonADC.size(); ++iTS) {
579  if (laserMonADC[iTS] > peakLaserMonADC) {
580  peakLaserMonADC = laserMonADC[iTS];
581  peakTS = iTS;
582  }
583  }
584 
585  double laserMonSumQ = 0;
586  double laserMonTiming = 0.;
587 
588  if (peakTS >= 0) {
589  int minTS = std::max(0, peakTS - 3);
590  int maxTS = std::min(int(laserMonADC.size()-1), peakTS + 3);
591  for (int iTS = minTS; iTS <= maxTS; ++iTS) {
592  double this_fC = hcaldqm::constants::adc2fC[laserMonADC[iTS]];
593  laserMonSumQ += this_fC;
594  laserMonTiming += 25. * (iTS - _laserMonTS0) * this_fC;
595  }
596  }
597  if (laserMonSumQ > 0.) {
598  laserMonTiming = laserMonTiming / laserMonSumQ;
599  } else {
601  }
602 
603  if (laserMonSumQ > _laserMonThreshold) {
604  _cLaserMonSumQ.fill(laserMonSumQ);
605  _cLaserMonTiming.fill(laserMonTiming);
606  if (_ptype == fOnline) {
607  _cLaserMonSumQ_LS.fill(_currentLS, laserMonSumQ);
608  _cLaserMonTiming_LS.fill(_currentLS, laserMonTiming);
609  } else if (_ptype == fLocal) {
610  int currentEvent = e.eventAuxiliary().id().event();
611  _cLaserMonSumQ_Event.fill(currentEvent, laserMonSumQ);
612  _cLaserMonTiming_Event.fill(currentEvent, laserMonTiming);
613  }
614  }
615 
616  for (HBHEDigiCollection::const_iterator it=chbhe->begin();
617  it!=chbhe->end(); ++it)
618  {
619  const HBHEDataFrame digi = (const HBHEDataFrame)(*it);
620  double sumQ = hcaldqm::utilities::sumQ<HBHEDataFrame>(digi, 2.5, 0,
621  digi.size()-1);
622  if (sumQ<_lowHBHE)
623  continue;
624  HcalDetId did = digi.id();
625  HcalElectronicsId eid = digi.elecId();
626 
627  double aveTS = hcaldqm::utilities::aveTS<HBHEDataFrame>(digi, 2.5, 0,
628  digi.size()-1);
629  _xSignalSum.get(did)+=sumQ;
630  _xSignalSum2.get(did)+=sumQ*sumQ;
631  _xTimingSum.get(did)+=aveTS;
632  _xTimingSum2.get(did)+=aveTS*aveTS;
633  _xEntries.get(did)++;
634 
635  for (int i=0; i<digi.size(); i++)
636  {
637  if (_ptype == fLocal) { // hidefed2crate
638  _cShapeCut_FEDSlot.fill(eid, i,
639  digi.sample(i).nominal_fC()-2.5);
640  }
641  _cADC_SubdetPM.fill(did, digi.sample(i).adc());
642  }
643 
644  // select based on local global
645  double digiTimingSOI = (aveTS - digi.presamples()) * 25.;
646  double deltaTiming = digiTimingSOI - laserMonTiming;
647  _cTiming_DigivsLaserMon_SubdetPM.fill(did, laserMonTiming, digiTimingSOI);
648  _xTimingRefLMSum.get(did) += deltaTiming;
649  _xTimingRefLMSum2.get(did) += deltaTiming * deltaTiming;
650  if (_ptype==fLocal) {
651  int currentEvent = e.eventAuxiliary().id().event();
652  _cTimingvsEvent_SubdetPM.fill(did, currentEvent, aveTS);
653  _cSignalvsEvent_SubdetPM.fill(did, currentEvent, sumQ);
654  _cTimingDiffLS_SubdetPM.fill(did, currentEvent, hcaldqm::utilities::getRBX(did.iphi()), deltaTiming);
655  }
656  else {
659  _cTimingvsBX_SubdetPM.fill(did, bx, aveTS);
660  _cSignalvsBX_SubdetPM.fill(did, bx, sumQ);
662  }
663  }
664  for (QIE11DigiCollection::const_iterator it=cHE->begin(); it!=cHE->end();
665  ++it)
666  {
667  const QIE11DataFrame digi = static_cast<const QIE11DataFrame>(*it);
668  HcalDetId const& did = digi.detid();
669  if (did.subdet() != HcalEndcap) {
670  continue;
671  }
672  uint32_t rawid = _ehashmap.lookup(did);
673  HcalElectronicsId const& eid(rawid);
674 
675  CaloSamples digi_fC = hcaldqm::utilities::loadADC2fCDB<QIE11DataFrame>(_dbService, did, digi);
676  //double sumQ = hcaldqm::utilities::sumQ_v10<QIE11DataFrame>(digi, 2.5, 0, digi.samples()-1);
677  double sumQ = hcaldqm::utilities::sumQDB<QIE11DataFrame>(_dbService, digi_fC, did, digi, 0, digi.samples()-1);
678  if (sumQ<_lowHE)
679  continue;
680 
681 
682  //double aveTS = hcaldqm::utilities::aveTS_v10<QIE11DataFrame>(digi, 2.5, 0,digi.samples()-1);
683  double aveTS = hcaldqm::utilities::aveTSDB<QIE11DataFrame>(_dbService, digi_fC, did, digi, 0, digi.samples()-1);
684  _xSignalSum.get(did)+=sumQ;
685  _xSignalSum2.get(did)+=sumQ*sumQ;
686  _xTimingSum.get(did)+=aveTS;
687  _xTimingSum2.get(did)+=aveTS*aveTS;
688  _xEntries.get(did)++;
689 
690  for (int i=0; i<digi.samples(); i++)
691  {
692  if (_ptype == fLocal) {
693  _cShapeCut_FEDSlot.fill(eid, i, hcaldqm::utilities::adc2fCDBMinusPedestal<QIE11DataFrame>(_dbService, digi_fC, did, digi, i));
694  }
695  _cADC_SubdetPM.fill(did, digi[i].adc());
696  }
697 
698  // select based on local global
699  double digiTimingSOI = (aveTS - digi.presamples()) * 25.;
700  double deltaTiming = digiTimingSOI - laserMonTiming;
701  _cTiming_DigivsLaserMon_SubdetPM.fill(did, laserMonTiming, digiTimingSOI);
702  _xTimingRefLMSum.get(did) += deltaTiming;
703  _xTimingRefLMSum2.get(did) += deltaTiming * deltaTiming;
704  if (_ptype==fLocal)
705  {
706  int currentEvent = e.eventAuxiliary().id().event();
707  _cTimingvsEvent_SubdetPM.fill(did, currentEvent, aveTS);
708  _cSignalvsEvent_SubdetPM.fill(did, currentEvent, sumQ);
709  _cTimingDiffEvent_SubdetPM.fill(did, currentEvent, hcaldqm::utilities::getRBX(did.iphi()), deltaTiming);
710  }
711  else
712  {
715  _cTimingvsBX_SubdetPM.fill(did, bx, aveTS);
716  _cSignalvsBX_SubdetPM.fill(did, bx, sumQ);
717  _cTimingDiffLS_SubdetPM.fill(did, _currentLS, hcaldqm::utilities::getRBX(did.iphi()), deltaTiming);
718  }
719  }
721  it!=cho->end(); ++it)
722  {
723  const HODataFrame digi = (const HODataFrame)(*it);
724  double sumQ = hcaldqm::utilities::sumQ<HODataFrame>(digi, 8.5, 0,
725  digi.size()-1);
726  if (sumQ<_lowHO)
727  continue;
728  HcalDetId did = digi.id();
729  HcalElectronicsId eid = digi.elecId();
730 
731  double aveTS = hcaldqm::utilities::aveTS<HODataFrame>(digi, 8.5, 0,
732  digi.size()-1);
733  _xSignalSum.get(did)+=sumQ;
734  _xSignalSum2.get(did)+=sumQ*sumQ;
735  _xTimingSum.get(did)+=aveTS;
736  _xTimingSum2.get(did)+=aveTS*aveTS;
737  _xEntries.get(did)++;
738 
739  for (int i=0; i<digi.size(); i++)
740  {
741  if (_ptype == fLocal) { // hidefed2crate
742  _cShapeCut_FEDSlot.fill(eid, i,
743  digi.sample(i).nominal_fC()-8.5);
744  }
745  _cADC_SubdetPM.fill(did, digi.sample(i).adc());
746  }
747 
748  // select based on local global
749  double digiTimingSOI = (aveTS - digi.presamples()) * 25.;
750  double deltaTiming = digiTimingSOI - laserMonTiming;
751  _cTiming_DigivsLaserMon_SubdetPM.fill(did, laserMonTiming, digiTimingSOI);
752  _xTimingRefLMSum.get(did) += deltaTiming;
753  _xTimingRefLMSum2.get(did) += deltaTiming * deltaTiming;
754  if (_ptype==fLocal)
755  {
756  int currentEvent = e.eventAuxiliary().id().event();
757  _cTimingvsEvent_SubdetPM.fill(did, currentEvent, aveTS);
758  _cSignalvsEvent_SubdetPM.fill(did, currentEvent, sumQ);
759  _cTimingDiffEvent_SubdetPM.fill(did, currentEvent, hcaldqm::utilities::getRBX(did.iphi()), deltaTiming);
760  }
761  else
762  {
765  _cTimingvsBX_SubdetPM.fill(did, bx, aveTS);
766  _cSignalvsBX_SubdetPM.fill(did, bx, sumQ);
768  }
769  }
771  it!=chf->end(); ++it)
772  {
773  const QIE10DataFrame digi = (const QIE10DataFrame)(*it);
774  HcalDetId did = digi.detid();
775  if (did.subdet() != HcalForward) {
776  continue;
777  }
779 
780  CaloSamples digi_fC = hcaldqm::utilities::loadADC2fCDB<QIE10DataFrame>(_dbService, did, digi);
781  double sumQ = hcaldqm::utilities::sumQDB<QIE10DataFrame>(_dbService, digi_fC, did, digi, 0, digi.samples()-1);
782  //double sumQ = hcaldqm::utilities::sumQ_v10<QIE10DataFrame>(digi, 2.5, 0, digi.samples()-1);
783  if (sumQ<_lowHF)
784  continue;
785 
786  //double aveTS = hcaldqm::utilities::aveTS_v10<QIE10DataFrame>(digi, 2.5, 0, digi.samples()-1);
787  double aveTS = hcaldqm::utilities::aveTSDB<QIE10DataFrame>(_dbService, digi_fC, did, digi, 0, digi.samples()-1);
788 
789  _xSignalSum.get(did)+=sumQ;
790  _xSignalSum2.get(did)+=sumQ*sumQ;
791  _xTimingSum.get(did)+=aveTS;
792  _xTimingSum2.get(did)+=aveTS*aveTS;
793  _xEntries.get(did)++;
794 
795  for (int i=0; i<digi.samples(); i++)
796  {
797  if (_ptype == fLocal) { // hidefed2crate
798  _cShapeCut_FEDSlot.fill(eid, (int)i, hcaldqm::utilities::adc2fCDBMinusPedestal<QIE10DataFrame>(_dbService, digi_fC, did, digi, i));
799  }
800  _cADC_SubdetPM.fill(did, digi[i].adc());
801  }
802 
803  // select based on local global
804  double digiTimingSOI = (aveTS - digi.presamples()) * 25.;
805  double deltaTiming = digiTimingSOI - laserMonTiming;
806  _cTiming_DigivsLaserMon_SubdetPM.fill(did, laserMonTiming, digiTimingSOI);
807  _xTimingRefLMSum.get(did) += deltaTiming;
808  _xTimingRefLMSum2.get(did) += deltaTiming * deltaTiming;
809  if (_ptype==fLocal)
810  {
811  int currentEvent = e.eventAuxiliary().id().event();
812  _cTimingvsEvent_SubdetPM.fill(did, currentEvent, aveTS);
813  _cSignalvsEvent_SubdetPM.fill(did, currentEvent, sumQ);
814  _cTimingDiffEvent_SubdetPM.fill(did, currentEvent, hcaldqm::utilities::getRBX(did.iphi()), deltaTiming);
815  }
816  else
817  {
820  _cTimingvsBX_SubdetPM.fill(did, bx, aveTS);
821  _cSignalvsBX_SubdetPM.fill(did, bx, sumQ);
822  _cTimingDiffLS_SubdetPM.fill(did, _currentLS, hcaldqm::utilities::getRBX(did.iphi()), deltaTiming);
823  }
824  }
825 }
int adc(sample_type sample)
get the ADC sample (12 bits)
int samples() const
total number of samples in the digi
DetId detid() const
Get the detector id.
hcaldqm::ContainerProf1D _cShapeCut_FEDSlot
Definition: LaserTask.h:112
double aveTS(DIGI const &digi, double ped=0, int i=0, int j=3)
Definition: Utilities.h:107
hcaldqm::ContainerProf1D _cSignalvsEvent_SubdetPM
Definition: LaserTask.h:114
hcaldqm::ContainerSingle1D _cLaserMonTiming
Definition: LaserTask.h:160
edm::InputTag _tagHE
Definition: LaserTask.h:57
double _lowHF
Definition: LaserTask.h:86
int maxTS(DIGI const &digi, double ped=0)
Definition: Utilities.h:93
edm::EDGetTokenT< QIE11DigiCollection > _tokHE
Definition: LaserTask.h:62
boost::transform_iterator< IterHelp, boost::counting_iterator< int > > const_iterator
HcalSubdetector subdet() const
get the subdetector
Definition: HcalDetId.h:142
hcaldqm::ContainerXXX< double > _xSignalSum2
Definition: LaserTask.h:91
void fill(HcalDetId const &) override
hcaldqm::ContainerXXX< double > _xTimingRefLMSum
Definition: LaserTask.h:95
hcaldqm::ContainerXXX< int > _xEntries
Definition: LaserTask.h:92
int size() const
total number of samples in the digi
Definition: HBHEDataFrame.h:31
double _lowHBHE
Definition: LaserTask.h:83
double _lowHE
Definition: LaserTask.h:84
double _laserMonThreshold
Definition: LaserTask.h:153
std::vector< HBHEDataFrame >::const_iterator const_iterator
hcaldqm::ContainerProf1D _cTimingvsEvent_SubdetPM
Definition: LaserTask.h:113
const_iterator begin() const
hcaldqm::ContainerXXX< double > _xSignalSum
Definition: LaserTask.h:90
hcaldqm::ContainerXXX< double > _xTimingSum
Definition: LaserTask.h:93
hcaldqm::ContainerSingleProf1D _cLaserMonTiming_LS
Definition: LaserTask.h:162
int _laserMonTS0
Definition: LaserTask.h:152
edm::InputTag _tagHO
Definition: LaserTask.h:58
hcaldqm::Container1D _cADC_SubdetPM
Definition: LaserTask.h:109
hcaldqm::ContainerProf2D _cTimingDiffLS_SubdetPM
Definition: LaserTask.h:166
edm::InputTag _tagHF
Definition: LaserTask.h:59
ProcessingType _ptype
Definition: DQModule.h:59
virtual void fill(uint32_t)
Definition: Container1D.cc:82
edm::EDGetTokenT< QIE10DigiCollection > _tokLaserMon
Definition: LaserTask.h:146
void processLaserMon(edm::Handle< QIE10DigiCollection > &col, std::vector< int > &iLaserMonADC)
Definition: LaserTask.cc:827
hcaldqm::ContainerProf2D _cTimingDiffEvent_SubdetPM
Definition: LaserTask.h:167
hcaldqm::ContainerSingleProf1D _cLaserMonSumQ_LS
Definition: LaserTask.h:161
void dqmthrow(std::string const &msg) const
Definition: Logger.h:15
hcaldqm::ContainerSingleProf1D _cLaserMonTiming_Event
Definition: LaserTask.h:164
int size() const
total number of samples in the digi
Definition: HODataFrame.h:31
hcaldqm::ContainerSingle1D _cLaserMonSumQ
Definition: LaserTask.h:159
edm::EDGetTokenT< HODigiCollection > _tokHO
Definition: LaserTask.h:63
DetId detid() const
Get the detector id.
Logger _logger
Definition: DQModule.h:70
T min(T a, T b)
Definition: MathUtil.h:58
hcaldqm::ContainerXXX< double > _xTimingRefLMSum2
Definition: LaserTask.h:96
hcaldqm::ContainerProf1D _cSignalvsBX_SubdetPM
Definition: LaserTask.h:119
double _lowHO
Definition: LaserTask.h:85
const_iterator end() const
double const adc2fC[256]
Definition: Constants.h:271
edm::EDGetTokenT< HBHEDigiCollection > _tokHBHE
Definition: LaserTask.h:61
int iphi() const
get the cell iphi
Definition: HcalDetId.h:157
hcaldqm::ContainerProf1D _cSignalvsLS_SubdetPM
Definition: LaserTask.h:116
hcaldqm::ContainerProf1D _cTimingvsLS_SubdetPM
Definition: LaserTask.h:115
edm::InputTag _tagHBHE
Definition: LaserTask.h:56
hcaldqm::Container2D _cTiming_DigivsLaserMon_SubdetPM
Definition: LaserTask.h:165
hcaldqm::electronicsmap::ElectronicsMap _ehashmap
Definition: LaserTask.h:76
std::string const & label() const
Definition: InputTag.h:36
const_iterator end() const
int _xMissingLaserMon
Definition: LaserTask.h:157
virtual STDTYPE & get(HcalDetId const &)
Definition: ContainerXXX.h:247
edm::ESHandle< HcalDbService > _dbService
Definition: DQTask.h:72
void fill(HcalDetId const &) override
Definition: Container2D.cc:58
int getRBX(uint32_t iphi)
Definition: Utilities.cc:252
hcaldqm::ContainerSingleProf1D _cLaserMonSumQ_Event
Definition: LaserTask.h:163
hcaldqm::ContainerXXX< double > _xTimingSum2
Definition: LaserTask.h:94
edm::EDGetTokenT< QIE10DigiCollection > _tokHF
Definition: LaserTask.h:64
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:118
const_iterator begin() const
double sumQ(DIGI const &digi, double ped, int i=0, int j=3)
Definition: Utilities.h:121
void LaserTask::_resetMonitors ( hcaldqm::UpdateFreq  uf)
overrideprotectedvirtual

Reimplemented from hcaldqm::DQTask.

Definition at line 393 of file LaserTask.cc.

Referenced by endRun().

394 {
395  DQTask::_resetMonitors(uf);
396 }
void LaserTask::bookHistograms ( DQMStore::IBooker ib,
edm::Run const &  r,
edm::EventSetup const &  es 
)
override

Definition at line 66 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::ContainerProf2D::book(), hcaldqm::ContainerSingle1D::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::ContainerSingleProf1D::initialize(), hcaldqm::ContainerProf1D::initialize(), hcaldqm::ContainerProf2D::initialize(), hcaldqm::ContainerXXX< STDTYPE >::initialize(), hcaldqm::Container2D::initialize(), hcaldqm::ContainerSingle1D::initialize(), hcaldqm::ContainerSingle2D::initialize(), hcaldqm::filter::HashFilter::initialize(), hcaldqm::Container1D::initialize(), hcaldqm::electronicsmap::ElectronicsMap::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().

68 {
69  if (_ptype==fLocal)
70  if (r.runAuxiliary().run()==1)
71  return;
72 
73  DQTask::bookHistograms(ib, r, es);
74 
76  es.get<HcalDbRecord>().get(dbService);
77  _emap = dbService->getHcalMapping();
78 
79  std::vector<uint32_t> vhashVME;
80  std::vector<uint32_t> vhashuTCA;
81  std::vector<uint32_t> vhashC36;
82  vhashVME.push_back(HcalElectronicsId(constants::FIBERCH_MIN,
84  vhashuTCA.push_back(HcalElectronicsId(CRATE_uTCA_MIN, SLOT_uTCA_MIN,
85  FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
87  vhashVME);
89  vhashuTCA);
90 
91  // INITIALIZE
92  _cSignalMean_Subdet.initialize(_name, "SignalMean",
96  _cSignalRMS_Subdet.initialize(_name, "SignalRMS",
100  _cTimingMean_Subdet.initialize(_name, "TimingMean",
104  _cTimingRMS_Subdet.initialize(_name, "TimingRMS",
108 
113 
114  if (_ptype == fLocal) { // hidefed2crate
115  _cSignalMean_FEDVME.initialize(_name, "SignalMean",
120  _cSignalMean_FEDuTCA.initialize(_name, "SignalMean",
125  _cSignalRMS_FEDVME.initialize(_name, "SignalRMS",
130  _cSignalRMS_FEDuTCA.initialize(_name, "SignalRMS",
135  _cTimingMean_FEDVME.initialize(_name, "TimingMean",
140  _cTimingMean_FEDuTCA.initialize(_name, "TimingMean",
145  _cTimingRMS_FEDVME.initialize(_name, "TimingRMS",
150  _cTimingRMS_FEDuTCA.initialize(_name, "TimingRMS",
155  _cMissing_FEDVME.initialize(_name, "Missing",
165 
170  }
171  _cTimingvsEvent_SubdetPM.initialize(_name, "TimingvsEvent",
175  _cSignalvsEvent_SubdetPM.initialize(_name, "SignalvsEvent",
179  _cTimingvsLS_SubdetPM.initialize(_name, "TimingvsLS",
183  _cSignalvsLS_SubdetPM.initialize(_name, "SignalvsLS",
187  _cTimingvsBX_SubdetPM.initialize(_name, "TimingvsBX",
191  _cSignalvsBX_SubdetPM.initialize(_name, "SignalvsBX",
195 
196  _cSignalMean_depth.initialize(_name, "SignalMean",
201  _cSignalRMS_depth.initialize(_name, "SignalRMS",
206  _cTimingMean_depth.initialize(_name, "TimingMean",
211  _cTimingRMS_depth.initialize(_name, "TimingRMS",
216 
217  _cMissing_depth.initialize(_name, "Missing",
222 
223 
224  // initialize compact containers
230 
231  // LaserMon containers
232  if (_ptype == fOnline || _ptype == fLocal) {
234  "LaserMonSumQ",
238 
240  "LaserMonTiming",
244 
245  if (_ptype == fOnline) {
247  "LaserMonSumQ_LS",
250  );
252  "LaserMonTiming_LS",
255  );
256  _cTimingDiffLS_SubdetPM.initialize(_name, "TimingDiff_DigiMinusLaserMon",
262  } else if (_ptype == fLocal) {
264  "LaserMonSumQ_Event",
267  );
269  "LaserMonTiming_Event",
272  );
273  _cTimingDiffEvent_SubdetPM.initialize(_name, "TimingDiff_DigiMinusLaserMon",
279  }
280  _cTiming_DigivsLaserMon_SubdetPM.initialize(_name, "Timing_DigivsLaserMon",
287 
292  _xMissingLaserMon = 0;
293 
294  std::vector<int> vFEDs = hcaldqm::utilities::getFEDList(_emap);
295  std::vector<int> vFEDsVME = hcaldqm::utilities::getFEDVMEList(_emap);
296  std::vector<int> vFEDsuTCA = hcaldqm::utilities::getFEDuTCAList(_emap);
297  for (std::vector<int>::const_iterator it=vFEDsVME.begin();
298  it!=vFEDsVME.end(); ++it)
300  FIBER_VME_MIN, SPIGOT_MIN, (*it)-FED_VME_MIN).rawId());
301  for (std::vector<int>::const_iterator it=vFEDsuTCA.begin();
302  it!=vFEDsuTCA.end(); ++it)
303  {
304  std::pair<uint16_t, uint16_t> cspair = utilities::fed2crate(*it);
305  _vhashFEDs.push_back(HcalElectronicsId(
306  cspair.first, cspair.second, FIBER_uTCA_MIN1,
307  FIBERCH_MIN, false).rawId());
308  }
309 
310  _cSummaryvsLS_FED.initialize(_name, "SummaryvsLS",
315  _cSummaryvsLS.initialize(_name, "SummaryvsLS",
319  } // End if (_ptype == fOnline || _ptype == fLocal) {
320 
321 
322  // BOOK
327 
332 
333  if (_ptype==fLocal)
334  {
337  }
338  else
339  {
344  }
345 
346  if (_ptype == fLocal) { // hidefed2crate
358  }
360 
362 
368 
369  if (_ptype == fOnline || _ptype == fLocal) {
372  if (_ptype == fOnline) {
376  } else if (_ptype == fLocal) {
380  }
385  _xNChs.book(_emap);
388  }
389 
391 }
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:112
hcaldqm::ContainerProf1D _cSignalvsEvent_SubdetPM
Definition: LaserTask.h:114
hcaldqm::ContainerSingle1D _cLaserMonTiming
Definition: LaserTask.h:160
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:40
std::vector< hcaldqm::flag::Flag > _vflags
Definition: LaserTask.h:73
int const CRATE_VME_MIN
Definition: Constants.h:111
hcaldqm::ContainerProf2D _cTimingMean_FEDuTCA
Definition: LaserTask.h:133
hcaldqm::ContainerXXX< int > _xNBadTimingRefLM
Definition: LaserTask.h:97
virtual void book(DQMStore::IBooker &, std::string subsystem="Hcal", std::string aux="")
hcaldqm::ContainerXXX< double > _xSignalSum2
Definition: LaserTask.h:91
std::pair< uint16_t, uint16_t > fed2crate(int fed)
Definition: Utilities.cc:12
std::vector< uint32_t > _vhashFEDs
Definition: LaserTask.h:79
hcaldqm::ContainerXXX< double > _xTimingRefLMSum
Definition: LaserTask.h:95
void initialize(HcalElectronicsMap const *, ElectronicsMapType etype=fHcalElectronicsMap)
hcaldqm::ContainerXXX< int > _xEntries
Definition: LaserTask.h:92
hcaldqm::Container1D _cTimingRMS_Subdet
Definition: LaserTask.h:107
hcaldqm::ContainerProf1D _cTimingvsEvent_SubdetPM
Definition: LaserTask.h:113
hcaldqm::ContainerProf2D _cSignalRMS_FEDVME
Definition: LaserTask.h:134
virtual void initialize(std::string const &folder, quantity::Quantity *, quantity::Quantity *, quantity::Quantity *qz=new quantity::ValueQuantity(quantity::fN), int debug=0)
virtual example_stream void bookHistograms(DQMStore::IBooker &,@example_stream edm::Run const &,@example_stream edm::EventSetup const &) override
int const SPIGOT_MIN
Definition: Constants.h:136
void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="") override
int const FIBER_VME_MIN
Definition: Constants.h:141
hcaldqm::ContainerXXX< double > _xSignalSum
Definition: LaserTask.h:90
hcaldqm::ContainerXXX< double > _xTimingSum
Definition: LaserTask.h:93
hcaldqm::Container2D _cMissing_depth
Definition: LaserTask.h:140
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:141
hcaldqm::ContainerProf2D _cSignalMean_depth
Definition: LaserTask.h:123
hcaldqm::ContainerSingleProf1D _cLaserMonTiming_LS
Definition: LaserTask.h:162
int const FIBERCH_MIN
Definition: Constants.h:151
hcaldqm::Container1D _cADC_SubdetPM
Definition: LaserTask.h:109
virtual void book(DQMStore::IBooker &, std::string subsystem="Hcal", std::string aux="")
std::vector< int > getFEDVMEList(HcalElectronicsMap const *)
Definition: Utilities.cc:119
hcaldqm::Container2D _cSummaryvsLS_FED
Definition: LaserTask.h:170
hcaldqm::ContainerProf2D _cTimingRMS_FEDVME
Definition: LaserTask.h:136
hcaldqm::ContainerProf2D _cTimingDiffLS_SubdetPM
Definition: LaserTask.h:166
hcaldqm::ContainerProf2D _cSignalMean_FEDVME
Definition: LaserTask.h:130
hcaldqm::Container1D _cTimingMean_Subdet
Definition: LaserTask.h:106
ProcessingType _ptype
Definition: DQModule.h:59
hcaldqm::ContainerProf2D _cTimingRMS_FEDuTCA
Definition: LaserTask.h:137
hcaldqm::ContainerProf2D _cSignalRMS_FEDuTCA
Definition: LaserTask.h:135
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:167
hcaldqm::ContainerSingleProf1D _cLaserMonSumQ_LS
Definition: LaserTask.h:161
hcaldqm::filter::HashFilter _filter_uTCA
Definition: LaserTask.h:77
hcaldqm::ContainerXXX< int > _xNChs
Definition: LaserTask.h:98
int const FED_VME_MIN
Definition: Constants.h:98
hcaldqm::ContainerSingleProf1D _cLaserMonTiming_Event
Definition: LaserTask.h:164
hcaldqm::ContainerProf2D _cTimingMean_FEDVME
Definition: LaserTask.h:132
int _nevents
Definition: LaserTask.h:82
virtual void showOverflowX(bool showOverflow)
hcaldqm::ContainerSingle1D _cLaserMonSumQ
Definition: LaserTask.h:159
int const FIBER_uTCA_MIN1
Definition: Constants.h:144
virtual void showOverflowY(bool showOverflow)
hcaldqm::ContainerXXX< double > _xTimingRefLMSum2
Definition: LaserTask.h:96
virtual void showOverflowX(bool showOverflow)
std::string _name
Definition: DQModule.h:57
HcalElectronicsMap const * _emap
Definition: DQTask.h:73
hcaldqm::ContainerProf1D _cSignalvsBX_SubdetPM
Definition: LaserTask.h:119
hcaldqm::ContainerSingle2D _cSummaryvsLS
Definition: LaserTask.h:171
int const CRATE_uTCA_MIN
Definition: Constants.h:116
hcaldqm::Container2D _cMissing_FEDuTCA
Definition: LaserTask.h:142
hcaldqm::Container1D _cSignalMean_Subdet
Definition: LaserTask.h:102
hcaldqm::ContainerProf1D _cSignalvsLS_SubdetPM
Definition: LaserTask.h:116
hcaldqm::ContainerProf1D _cTimingvsLS_SubdetPM
Definition: LaserTask.h:115
virtual void book(HcalElectronicsMap const *)
Definition: ContainerXXX.h:97
hcaldqm::ContainerProf2D _cSignalMean_FEDuTCA
Definition: LaserTask.h:131
hcaldqm::Container2D _cTiming_DigivsLaserMon_SubdetPM
Definition: LaserTask.h:165
virtual void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="")
Definition: Container1D.cc:777
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:31
hcaldqm::ContainerProf2D _cTimingMean_depth
Definition: LaserTask.h:127
void book(DQMStore::IBooker &, std::string subsystem="Hcal", std::string aux="") override
hcaldqm::electronicsmap::ElectronicsMap _ehashmap
Definition: LaserTask.h:76
void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="") 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:157
std::vector< int > getFEDList(HcalElectronicsMap const *)
Definition: Utilities.cc:95
std::vector< int > getFEDuTCAList(HcalElectronicsMap const *)
Definition: Utilities.cc:145
hcaldqm::Container1D _cSignalRMS_Subdet
Definition: LaserTask.h:103
const HcalElectronicsMap * getHcalMapping() const
virtual void initialize(FilterType ftype, hashfunctions::HashType htype, std::vector< uint32_t > const &)
Definition: HashFilter.cc:28
std::string _subsystem
Definition: DQModule.h:64
hcaldqm::ContainerSingleProf1D _cLaserMonSumQ_Event
Definition: LaserTask.h:163
hcaldqm::ContainerXXX< double > _xTimingSum2
Definition: LaserTask.h:94
virtual void initialize(hashfunctions::HashType, int debug=0)
Definition: ContainerXXX.h:89
void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="") override
Definition: Container2D.cc:894
hcaldqm::ContainerProf2D _cSignalRMS_depth
Definition: LaserTask.h:124
hcaldqm::filter::HashFilter _filter_VME
Definition: LaserTask.h:78
Readout chain identification for Hcal.
hcaldqm::ContainerProf1D _cTimingvsBX_SubdetPM
Definition: LaserTask.h:118
int const SLOT_uTCA_MIN
Definition: Constants.h:123
hcaldqm::ContainerProf2D _cTimingRMS_depth
Definition: LaserTask.h:128
void LaserTask::endLuminosityBlock ( edm::LuminosityBlock const &  lb,
edm::EventSetup const &  es 
)
override

Definition at line 856 of file LaserTask.cc.

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

Referenced by endRun().

858 {
859  if (_ptype==fLocal)
860  return;
861  this->_dump();
862 
863  DQTask::endLuminosityBlock(lb, es);
864 }
virtual void _dump()
Definition: LaserTask.cc:398
ProcessingType _ptype
Definition: DQModule.h:59
void LaserTask::endRun ( edm::Run const &  r,
edm::EventSetup const &   
)
inlineoverride

Definition at line 33 of file LaserTask.h.

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

34  {
36  {
37  if (r.runAuxiliary().run()==1)
38  return;
39  else
40  this->_dump();
41  }
42  }
virtual void _dump()
Definition: LaserTask.cc:398
ProcessingType _ptype
Definition: DQModule.h:59
void LaserTask::processLaserMon ( edm::Handle< QIE10DigiCollection > &  col,
std::vector< int > &  iLaserMonADC 
)
protected

Definition at line 827 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 endRun().

827  {
828  for (QIE10DigiCollection::const_iterator it=col->begin(); it!=col->end(); ++it) {
829  const QIE10DataFrame digi = (const QIE10DataFrame)(*it);
830  HcalCalibDetId hcdid(digi.id());
831 
832  if ((hcdid.ieta() != _laserMonIEta) || (hcdid.cboxChannel() != _laserMonCBox)) {
833  continue;
834  }
835 
836  unsigned int digiIndex = std::find(_vLaserMonIPhi.begin(), _vLaserMonIPhi.end(), hcdid.iphi()) - _vLaserMonIPhi.begin();
837  if (digiIndex == _vLaserMonIPhi.size()) {
838  continue;
839  }
840 
841  // First digi: initialize the vectors to -1 (need to know the length of the digi)
842  if (iLaserMonADC.empty()) {
843  int totalNSamples = (digi.samples() - _laserMonDigiOverlap) * _vLaserMonIPhi.size();
844  for (int i = 0; i < totalNSamples; ++i) {
845  iLaserMonADC.push_back(-1);
846  }
847  }
848 
849  for (int subindex = 0; subindex < digi.samples() - _laserMonDigiOverlap; ++subindex) {
850  int totalIndex = (digi.samples() - _laserMonDigiOverlap) * digiIndex + subindex;
851  iLaserMonADC[totalIndex] = (digi[subindex].ok() ? digi[subindex].adc() : -1);
852  }
853  }
854 }
int samples() const
total number of samples in the digi
boost::transform_iterator< IterHelp, boost::counting_iterator< int > > const_iterator
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:20
int _laserMonDigiOverlap
Definition: LaserTask.h:151
int _laserMonCBox
Definition: LaserTask.h:150
int _laserMonIEta
Definition: LaserTask.h:149
const_iterator end() const
std::vector< int > _vLaserMonIPhi
Definition: LaserTask.h:148

Member Data Documentation

hcaldqm::Container1D LaserTask::_cADC_SubdetPM
protected

Definition at line 109 of file LaserTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerSingle1D LaserTask::_cLaserMonSumQ
protected

Definition at line 159 of file LaserTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerSingleProf1D LaserTask::_cLaserMonSumQ_Event
protected

Definition at line 163 of file LaserTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerSingleProf1D LaserTask::_cLaserMonSumQ_LS
protected

Definition at line 161 of file LaserTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerSingle1D LaserTask::_cLaserMonTiming
protected

Definition at line 160 of file LaserTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerSingleProf1D LaserTask::_cLaserMonTiming_Event
protected

Definition at line 164 of file LaserTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerSingleProf1D LaserTask::_cLaserMonTiming_LS
protected

Definition at line 162 of file LaserTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container2D LaserTask::_cMissing_depth
protected

Definition at line 140 of file LaserTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::Container2D LaserTask::_cMissing_FEDuTCA
protected

Definition at line 142 of file LaserTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::Container2D LaserTask::_cMissing_FEDVME
protected

Definition at line 141 of file LaserTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::ContainerProf1D LaserTask::_cShapeCut_FEDSlot
protected

Definition at line 112 of file LaserTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerProf2D LaserTask::_cSignalMean_depth
protected

Definition at line 123 of file LaserTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::ContainerProf2D LaserTask::_cSignalMean_FEDuTCA
protected

Definition at line 131 of file LaserTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::ContainerProf2D LaserTask::_cSignalMean_FEDVME
protected

Definition at line 130 of file LaserTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::Container1D LaserTask::_cSignalMean_Subdet
protected

Definition at line 102 of file LaserTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::ContainerProf2D LaserTask::_cSignalMeanQIE1011_depth
protected

Definition at line 125 of file LaserTask.h.

hcaldqm::Container1D LaserTask::_cSignalMeanQIE1011_Subdet
protected

Definition at line 104 of file LaserTask.h.

hcaldqm::ContainerProf2D LaserTask::_cSignalRMS_depth
protected

Definition at line 124 of file LaserTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::ContainerProf2D LaserTask::_cSignalRMS_FEDuTCA
protected

Definition at line 135 of file LaserTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::ContainerProf2D LaserTask::_cSignalRMS_FEDVME
protected

Definition at line 134 of file LaserTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::Container1D LaserTask::_cSignalRMS_Subdet
protected

Definition at line 103 of file LaserTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::ContainerProf2D LaserTask::_cSignalRMSQIE1011_depth
protected

Definition at line 126 of file LaserTask.h.

hcaldqm::Container1D LaserTask::_cSignalRMSQIE1011_Subdet
protected

Definition at line 105 of file LaserTask.h.

hcaldqm::ContainerProf1D LaserTask::_cSignalvsBX_SubdetPM
protected

Definition at line 119 of file LaserTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerProf1D LaserTask::_cSignalvsBXQIE1011_SubdetPM
protected

Definition at line 120 of file LaserTask.h.

hcaldqm::ContainerProf1D LaserTask::_cSignalvsEvent_SubdetPM
protected

Definition at line 114 of file LaserTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerProf1D LaserTask::_cSignalvsLS_SubdetPM
protected

Definition at line 116 of file LaserTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerProf1D LaserTask::_cSignalvsLSQIE1011_SubdetPM
protected

Definition at line 117 of file LaserTask.h.

hcaldqm::ContainerSingle2D LaserTask::_cSummaryvsLS
protected

Definition at line 171 of file LaserTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::Container2D LaserTask::_cSummaryvsLS_FED
protected

Definition at line 170 of file LaserTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::Container2D LaserTask::_cTiming_DigivsLaserMon_SubdetPM
protected

Definition at line 165 of file LaserTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerProf2D LaserTask::_cTimingDiffEvent_SubdetPM
protected

Definition at line 167 of file LaserTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerProf2D LaserTask::_cTimingDiffLS_SubdetPM
protected

Definition at line 166 of file LaserTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerProf2D LaserTask::_cTimingMean_depth
protected

Definition at line 127 of file LaserTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::ContainerProf2D LaserTask::_cTimingMean_FEDuTCA
protected

Definition at line 133 of file LaserTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::ContainerProf2D LaserTask::_cTimingMean_FEDVME
protected

Definition at line 132 of file LaserTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::Container1D LaserTask::_cTimingMean_Subdet
protected

Definition at line 106 of file LaserTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::ContainerProf2D LaserTask::_cTimingRMS_depth
protected

Definition at line 128 of file LaserTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::ContainerProf2D LaserTask::_cTimingRMS_FEDuTCA
protected

Definition at line 137 of file LaserTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::ContainerProf2D LaserTask::_cTimingRMS_FEDVME
protected

Definition at line 136 of file LaserTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::Container1D LaserTask::_cTimingRMS_Subdet
protected

Definition at line 107 of file LaserTask.h.

Referenced by _dump(), and bookHistograms().

hcaldqm::ContainerProf1D LaserTask::_cTimingvsBX_SubdetPM
protected

Definition at line 118 of file LaserTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerProf1D LaserTask::_cTimingvsEvent_SubdetPM
protected

Definition at line 113 of file LaserTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerProf1D LaserTask::_cTimingvsLS_SubdetPM
protected

Definition at line 115 of file LaserTask.h.

Referenced by _process(), and bookHistograms().

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

Definition at line 76 of file LaserTask.h.

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

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

Definition at line 77 of file LaserTask.h.

Referenced by bookHistograms().

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

Definition at line 78 of file LaserTask.h.

Referenced by bookHistograms().

int LaserTask::_laserMonCBox
protected

Definition at line 150 of file LaserTask.h.

Referenced by LaserTask(), and processLaserMon().

int LaserTask::_laserMonDigiOverlap
protected

Definition at line 151 of file LaserTask.h.

Referenced by LaserTask(), and processLaserMon().

int LaserTask::_laserMonIEta
protected

Definition at line 149 of file LaserTask.h.

Referenced by LaserTask(), and processLaserMon().

double LaserTask::_laserMonThreshold
protected

Definition at line 153 of file LaserTask.h.

Referenced by _process(), and LaserTask().

int LaserTask::_laserMonTS0
protected

Definition at line 152 of file LaserTask.h.

Referenced by _process(), and LaserTask().

uint32_t LaserTask::_laserType
protected

Definition at line 87 of file LaserTask.h.

Referenced by _isApplicable(), and LaserTask().

double LaserTask::_lowHBHE
protected

Definition at line 83 of file LaserTask.h.

Referenced by _process(), and LaserTask().

double LaserTask::_lowHE
protected

Definition at line 84 of file LaserTask.h.

Referenced by _process(), and LaserTask().

double LaserTask::_lowHF
protected

Definition at line 86 of file LaserTask.h.

Referenced by _process(), and LaserTask().

double LaserTask::_lowHO
protected

Definition at line 85 of file LaserTask.h.

Referenced by _process(), and LaserTask().

int LaserTask::_nevents
protected

Definition at line 82 of file LaserTask.h.

Referenced by bookHistograms(), and LaserTask().

edm::InputTag LaserTask::_tagHBHE
protected

Definition at line 56 of file LaserTask.h.

Referenced by _process(), and LaserTask().

edm::InputTag LaserTask::_tagHE
protected

Definition at line 57 of file LaserTask.h.

Referenced by _process(), and LaserTask().

edm::InputTag LaserTask::_tagHF
protected

Definition at line 59 of file LaserTask.h.

Referenced by _process(), and LaserTask().

edm::InputTag LaserTask::_tagHO
protected

Definition at line 58 of file LaserTask.h.

Referenced by _process(), and LaserTask().

edm::InputTag LaserTask::_tagLaserMon
protected

Definition at line 145 of file LaserTask.h.

Referenced by LaserTask().

edm::InputTag LaserTask::_taguMN
protected

Definition at line 60 of file LaserTask.h.

Referenced by LaserTask().

double LaserTask::_thresh_frac_timingreflm
protected

Definition at line 155 of file LaserTask.h.

Referenced by _dump(), and LaserTask().

double LaserTask::_thresh_min_lmsumq
protected

Definition at line 156 of file LaserTask.h.

Referenced by LaserTask().

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

Definition at line 154 of file LaserTask.h.

Referenced by _dump(), and LaserTask().

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

Definition at line 61 of file LaserTask.h.

Referenced by _process(), and LaserTask().

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

Definition at line 62 of file LaserTask.h.

Referenced by _process(), and LaserTask().

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

Definition at line 64 of file LaserTask.h.

Referenced by _process(), and LaserTask().

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

Definition at line 63 of file LaserTask.h.

Referenced by _process(), and LaserTask().

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

Definition at line 146 of file LaserTask.h.

Referenced by _process(), and LaserTask().

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

Definition at line 65 of file LaserTask.h.

Referenced by _isApplicable(), and LaserTask().

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

Definition at line 73 of file LaserTask.h.

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

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

Definition at line 79 of file LaserTask.h.

Referenced by _dump(), and bookHistograms().

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

Definition at line 148 of file LaserTask.h.

Referenced by LaserTask(), and processLaserMon().

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

Definition at line 92 of file LaserTask.h.

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

int LaserTask::_xMissingLaserMon
protected

Definition at line 157 of file LaserTask.h.

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

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

Definition at line 97 of file LaserTask.h.

Referenced by _dump(), and bookHistograms().

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

Definition at line 98 of file LaserTask.h.

Referenced by _dump(), and bookHistograms().

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

Definition at line 90 of file LaserTask.h.

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

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

Definition at line 91 of file LaserTask.h.

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

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

Definition at line 95 of file LaserTask.h.

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

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

Definition at line 96 of file LaserTask.h.

Referenced by _process(), and bookHistograms().

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

Definition at line 93 of file LaserTask.h.

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

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

Definition at line 94 of file LaserTask.h.

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