|
|
Go to the documentation of this file.
41 std::vector<double> vTimingRangeHB =
42 ps.
getUntrackedParameter<std::vector<double>>(
"thresh_timingreflm_HB", std::vector<double>({-70, -10.}));
43 std::vector<double> vTimingRangeHE =
44 ps.
getUntrackedParameter<std::vector<double>>(
"thresh_timingreflm_HE", std::vector<double>({-60., 0.}));
45 std::vector<double> vTimingRangeHO =
46 ps.
getUntrackedParameter<std::vector<double>>(
"thresh_timingreflm_HO", std::vector<double>({-50., 20.}));
47 std::vector<double> vTimingRangeHF =
48 ps.
getUntrackedParameter<std::vector<double>>(
"thresh_timingreflm_HF", std::vector<double>({-50., 20.}));
57 if (
r.runAuxiliary().run() == 1)
66 std::vector<uint32_t> vhashVME;
67 std::vector<uint32_t> vhashuTCA;
68 std::vector<uint32_t> vhashC36;
294 "TimingDiff_DigiMinusLaserMon",
303 "LaserMonSumQ_Event",
307 "LaserMonTiming_Event",
311 "TimingDiff_DigiMinusLaserMon",
321 "Timing_DigivsLaserMon",
339 for (std::vector<int>::const_iterator it = vFEDsVME.begin(); it != vFEDsVME.end(); ++it)
342 for (std::vector<int>::const_iterator it = vFEDsuTCA.begin(); it != vFEDsuTCA.end(); ++it) {
457 for (std::vector<HcalGenericDetId>::const_iterator it = dids.begin(); it != dids.end(); ++it) {
458 if (!it->isHcalDetId())
515 for (std::vector<uint32_t>::const_iterator it =
_vhashFEDs.begin(); it !=
_vhashFEDs.end(); ++it) {
521 for (uint32_t iflag = 0; iflag <
_vflags.size(); iflag++)
548 for (std::vector<hcaldqm::flag::Flag>::iterator ft =
_vflags.begin(); ft !=
_vflags.end(); ++ft) {
571 if (!
e.getByToken(
_tokHO, c_ho))
578 int bx =
e.bunchCrossing();
583 _logger.
dqmthrow(
"QIE10DigiCollection for laserMonDigis isn't available.");
585 std::vector<int> laserMonADC;
591 double peakLaserMonADC = -1;
592 for (
unsigned int iTS = 0; iTS < laserMonADC.size(); ++iTS) {
593 if (laserMonADC[iTS] > peakLaserMonADC) {
594 peakLaserMonADC = laserMonADC[iTS];
599 double laserMonSumQ = 0;
600 double laserMonTiming = 0.;
603 int minTS =
std::max(0, peakTS - 3);
604 int maxTS =
std::min(
int(laserMonADC.size() - 1), peakTS + 3);
605 for (
int iTS = minTS; iTS <=
maxTS; ++iTS) {
607 laserMonSumQ += this_fC;
611 if (laserMonSumQ > 0.) {
612 laserMonTiming = laserMonTiming / laserMonSumQ;
624 int currentEvent =
e.eventAuxiliary().id().event();
631 const QIE11DataFrame digi = static_cast<const QIE11DataFrame>(*it);
641 double sumQ = hcaldqm::utilities::sumQDB<QIE11DataFrame>(
_dbService, digi_fC, did, digi, 0, digi.
samples() - 1);
646 double aveTS = hcaldqm::utilities::aveTSDB<QIE11DataFrame>(
_dbService, digi_fC, did, digi, 0, digi.
samples() - 1);
656 eid,
i, hcaldqm::utilities::adc2fCDBMinusPedestal<QIE11DataFrame>(
_dbService, digi_fC, did, digi,
i));
663 double deltaTiming = digiTimingSOI - laserMonTiming;
668 int currentEvent =
e.eventAuxiliary().id().event();
682 double sumQ = hcaldqm::utilities::sumQ<HODataFrame>(digi, 8.5, 0, digi.
size() - 1);
688 double aveTS = hcaldqm::utilities::aveTS<HODataFrame>(digi, 8.5, 0, digi.
size() - 1);
695 for (
int i = 0;
i < digi.
size();
i++) {
704 double deltaTiming = digiTimingSOI - laserMonTiming;
709 int currentEvent =
e.eventAuxiliary().id().event();
730 double sumQ = hcaldqm::utilities::sumQDB<QIE10DataFrame>(
_dbService, digi_fC, did, digi, 0, digi.
samples() - 1);
736 double aveTS = hcaldqm::utilities::aveTSDB<QIE10DataFrame>(
_dbService, digi_fC, did, digi, 0, digi.
samples() - 1);
747 eid, (
int)
i, hcaldqm::utilities::adc2fCDBMinusPedestal<QIE10DataFrame>(
_dbService, digi_fC, did, digi,
i));
754 double deltaTiming = digiTimingSOI - laserMonTiming;
759 int currentEvent =
e.eventAuxiliary().id().event();
782 unsigned int digiIndex =
789 if (iLaserMonADC.empty()) {
791 for (
int i = 0;
i < totalNSamples; ++
i) {
792 iLaserMonADC.push_back(-1);
798 iLaserMonADC[totalIndex] = (digi[subindex].ok() ? digi[subindex].adc() : -1);
804 auto lumiCache = luminosityBlockCache(lb.
index());
811 DQTask::globalEndLuminosityBlock(lb, es);
hcaldqm::ContainerProf2D _cSignalMean_FEDuTCA
hcaldqm::ContainerProf1D _cSignalvsEvent_SubdetPM
virtual void showOverflowX(bool showOverflow)
constexpr const HcalQIESample & sample(int i) const
access a sample
virtual void initialize(hashfunctions::HashType, int debug=0)
hcaldqm::Container2D _cMissing_FEDVME
void globalEndLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &) override
constexpr double nominal_fC() const
get the nominal FC (no calibrations applied)
virtual void showOverflowX(bool showOverflow)
hcaldqm::ContainerProf2D _cSignalMean_FEDVME
hcaldqm::ContainerProf2D _cSignalRMS_FEDuTCA
virtual void initialize(std::string const &folder, hashfunctions::HashType, quantity::Quantity *, quantity::Quantity *, quantity::Quantity *qz=new quantity::ValueQuantity(quantity::fN), int debug=0)
std::vector< T >::const_iterator const_iterator
uint32_t lookup(DetId const &)
example_stream void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
uint8_t eventType() const
hcaldqm::ContainerProf2D _cTimingRMS_FEDVME
edm::InputTag _tagLaserMon
boost::transform_iterator< IterHelp, boost::counting_iterator< int > > const_iterator
constexpr int presamples() const
for backward compatibility
constexpr int iphi() const
get the cell iphi
constexpr int samples() const
total number of samples in the digi
void _resetMonitors(hcaldqm::UpdateFreq) override
hcaldqm::Container1D _cSignalRMS_Subdet
void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="") override
hcaldqm::Container2D _cMissing_FEDuTCA
hcaldqm::electronicsmap::ElectronicsMap _ehashmap
LuminosityBlockIndex index() const
constexpr int adc() const
get the ADC sample
uint16_t *__restrict__ uint16_t const *__restrict__ adc
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
hcaldqm::filter::HashFilter _filter_uTCA
constexpr int presamples() const
for backward compatibility
void initialize(HcalElectronicsMap const *, ElectronicsMapType etype=fHcalElectronicsMap)
int getRBX(uint32_t iphi)
void initialize(std::string const &folder, quantity::Quantity *, quantity::Quantity *qy=new quantity::ValueQuantity(quantity::fN), int debug=0) override
const int FIBER_uTCA_MIN1
void _process(edm::Event const &, edm::EventSetup const &) override
edm::EDGetTokenT< HcalUMNioDigi > _tokuMN
hcaldqm::ContainerXXX< int > _xNChs
double _thresh_frac_timingreflm
hcaldqm::ContainerXXX< double > _xTimingRefLMSum2
hcaldqm::ContainerProf2D _cSignalMean_depth
hcaldqm::ContainerProf2D _cSignalRMS_depth
hcaldqm::ContainerProf1D _cTimingvsBX_SubdetPM
T getUntrackedParameter(std::string const &, T const &) const
hcaldqm::ContainerXXX< int > _xEntries
int maxTS(DIGI const &digi, double ped=0)
std::vector< hcaldqm::flag::Flag > _vflags
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
hcaldqm::Container1D _cTimingRMS_Subdet
double _laserMonThreshold
constexpr HcalElectronicsId const & elecId() const
std::vector< int > getFEDList(HcalElectronicsMap const *)
double sumQ(DIGI const &digi, double ped, int i=0, int j=3)
std::map< HcalSubdetector, std::pair< double, double > > _thresh_timingreflm
const HcalElectronicsMap * getHcalMapping() const
std::vector< HcalGenericDetId > allPrecisionId() const
edm::EDGetTokenT< QIE10DigiCollection > _tokQIE10
hcaldqm::Container1D _cTimingMean_Subdet
hcaldqm::ContainerProf1D _cSignalvsLS_SubdetPM
#define DEFINE_FWK_MODULE(type)
hcaldqm::ContainerProf2D _cTimingMean_depth
constexpr DetId detid() const
Get the detector id.
const_iterator begin() 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
virtual void initialize(FilterType ftype, hashfunctions::HashType htype, std::vector< uint32_t > const &)
Readout chain identification for Hcal.
uint32_t valueUserWord(int iword) const
hcaldqm::ContainerProf1D _cShapeCut_FEDSlot
constexpr int samples() const
total number of samples in the digi
bool isFEDHF(HcalElectronicsId const &)
hcaldqm::ContainerProf1D _cSignalvsBX_SubdetPM
void setBinContent(HcalDetId const &, int) override
hcaldqm::ContainerProf2D _cTimingMean_FEDuTCA
std::vector< uint32_t > _vhashFEDs
LaserTask(edm::ParameterSet const &)
const uint8_t EVENTTYPE_LASER
void dqmthrow(std::string const &msg) const
void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="") override
void fill(HcalDetId const &) override
hcaldqm::ContainerProf2D _cTimingRMS_FEDuTCA
virtual void fill(uint32_t)
const_iterator end() const
hcaldqm::ContainerXXX< double > _xTimingSum
void processLaserMon(edm::Handle< QIE10DigiCollection > &col, std::vector< int > &iLaserMonADC)
hcaldqm::Container2D _cMissing_depth
edm::EDGetTokenT< QIE10DigiCollection > _tokLaserMon
constexpr HcalSubdetector subdet() const
get the subdetector
hcaldqm::ContainerProf2D _cTimingRMS_depth
hcaldqm::ContainerSingleProf1D _cLaserMonTiming_Event
bool _isApplicable(edm::Event const &) override
hcaldqm::Container1D _cADC_SubdetPM
const_iterator begin() const
The iterator returned can not safely be used across threads.
edm::ESHandle< HcalDbService > _dbService
hcaldqm::ContainerSingleProf1D _cLaserMonTiming_LS
constexpr int size() const
total number of samples in the digi
virtual void book(DQMStore::IBooker &, std::string subsystem="Hcal", std::string aux="")
hcaldqm::ContainerProf2D _cSignalRMS_FEDVME
hcaldqm::ContainerProf2D _cTimingDiffEvent_SubdetPM
hcaldqm::ContainerProf1D _cTimingvsLS_SubdetPM
constexpr DetId detid() const
Get the detector id.
edm::EDGetTokenT< HODigiCollection > _tokHO
double aveTS(DIGI const &digi, double ped=0, int i=0, int j=3)
hcaldqm::Container1D _cSignalMean_Subdet
std::vector< uint32_t > _vcdaqEids
void fill(HcalDetId const &) override
hcaldqm::ContainerProf2D _cTimingMean_FEDVME
constexpr int presamples() const
number of samples before the sample from the triggered beam crossing (according to the hardware)
hcaldqm::Container2D _cTiming_DigivsLaserMon_SubdetPM
void initialize(std::string const &folder, hashfunctions::HashType, quantity::Quantity *, quantity::Quantity *, int debug=0) override
hcaldqm::ContainerSingleProf1D _cLaserMonSumQ_Event
bool isFEDHBHE(HcalElectronicsId const &)
virtual void setBinContent(int, int, int)
hcaldqm::ContainerSingle1D _cLaserMonSumQ
constexpr uint32_t rawId() const
hcaldqm::ContainerXXX< int > _xNBadTimingRefLM
const HcalElectronicsMap * _emap
virtual void book(DQMStore::IBooker &, std::string subsystem="Hcal", std::string aux="")
hcaldqm::ContainerSingle2D _cSummaryvsLS
hcaldqm::ContainerXXX< double > _xSignalSum2
std::pair< uint16_t, uint16_t > fed2crate(int fed)
bool isFEDHO(HcalElectronicsId const &)
std::vector< int > getFEDVMEList(HcalElectronicsMap const *)
virtual void book(HcalElectronicsMap const *)
virtual STDTYPE & get(HcalDetId const &)
hcaldqm::ContainerXXX< double > _xSignalSum
std::vector< int > _vLaserMonIPhi
hcaldqm::ContainerProf2D _cTimingDiffLS_SubdetPM
virtual void initialize(std::string const &folder, quantity::Quantity *, quantity::Quantity *qy=new quantity::ValueQuantity(quantity::fN), int debug=0)
virtual void initialize(std::string const &folder, quantity::Quantity *, quantity::Quantity *, quantity::Quantity *qz=new quantity::ValueQuantity(quantity::fN), int debug=0)
virtual void initialize(std::string const &folder, hashfunctions::HashType, quantity::Quantity *, quantity::Quantity *qy=new quantity::ValueQuantity(quantity::fN), int debug=0)
void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="") override
hcaldqm::ContainerSingle1D _cLaserMonTiming
edm::EDGetTokenT< QIE11DigiCollection > _tokQIE11
constexpr HcalDetId const & id() const
constexpr edm::DataFrame::id_type id() const
hcaldqm::ContainerProf1D _cTimingvsEvent_SubdetPM
std::vector< int > getFEDuTCAList(HcalElectronicsMap const *)
const_iterator end() const
hcaldqm::Container2D _cSummaryvsLS_FED
hcaldqm::filter::HashFilter _filter_VME
virtual void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="")
hcaldqm::ContainerXXX< double > _xTimingSum2
void book(DQMStore::IBooker &, std::string subsystem="Hcal", std::string aux="") override
hcaldqm::ContainerXXX< double > _xTimingRefLMSum
hcaldqm::ContainerSingleProf1D _cLaserMonSumQ_LS
double _thresh_min_lmsumq
virtual void showOverflowY(bool showOverflow)