55 std::vector<edm::ParameterSet> vLedCalibChannels = ps.
getParameter<std::vector<edm::ParameterSet>>(
"ledCalibrationChannels");
56 for (
int i = 0;
i <= 3; ++
i) {
75 std::vector<int32_t> subdet_calib_ietas = vLedCalibChannels[
i].getUntrackedParameter<std::vector<int32_t>>(
"ieta");
76 std::vector<int32_t> subdet_calib_iphis = vLedCalibChannels[
i].getUntrackedParameter<std::vector<int32_t>>(
"iphi");
77 std::vector<int32_t> subdet_calib_depths = vLedCalibChannels[
i].getUntrackedParameter<std::vector<int32_t>>(
"depth");
78 for (
unsigned int ichannel = 0; ichannel < subdet_calib_ietas.size(); ++ichannel) {
93 std::vector<uint32_t> vVME;
94 std::vector<uint32_t> vuTCA;
105 std::vector<uint32_t> vhashQIE1011;
322 for (
int i = 0;
i < 4; ++
i) {
350 std::vector<uint32_t> vFEDHF;
369 for (std::vector<int>::const_iterator it=vFEDsVME.begin();
370 it!=vFEDsVME.end(); ++it)
374 for (std::vector<int>::const_iterator it=vFEDsuTCA.begin();
375 it!=vFEDsuTCA.end(); ++it)
560 for (
int i = 0;
i < 4; ++
i) {
563 snprintf(aux, kSize,
"%d_uTCA",
i);
566 snprintf(aux, kSize,
"%d_VME",
i);
617 for (std::vector<HcalGenericDetId>::const_iterator it=gids.begin();
618 it!=gids.end(); ++it)
620 if (!it->isHcalDetId())
662 DQTask::_resetMonitors(uf);
707 uint32_t rawidValid = 0;
708 uint32_t rawidHBValid = 0;
709 uint32_t rawidHEValid = 0;
731 rawidHBValid = did.
rawId();
733 rawidHEValid = did.
rawId();
749 short this_capidmbx = (it->sample(it->presamples()).capid() - bx) % 4;
750 if (this_capidmbx < 0) {
755 if (!good_capidmbx) {
770 double sumQ = hcaldqm::utilities::sumQDB<HBHEDataFrame>(
_dbService, digi_fC, did, *it, 0, it->
size()-1);
807 for (
int i=0;
i<it->size();
i++)
822 double timing = hcaldqm::utilities::aveTSDB<HBHEDataFrame>(
_dbService, digi_fC, did, *it, 0, it->size()-1);
857 did.subdet()==
HcalBarrel?numChsCut++:numChsCutHE++;
878 bool channelLEDSignalPresent =
false;
883 channelLEDSignalPresent =
true;
886 if (channelLEDSignalPresent) {
906 rawidHBValid = did.
rawId();
908 rawidHEValid = did.
rawId();
932 short this_capidmbx = (digi[soi].capid() - bx) % 4;
933 if (this_capidmbx < 0) {
938 if (!good_capidmbx) {
952 double sumQ = hcaldqm::utilities::sumQDB<QIE11DataFrame>(
_dbService, digi_fC, did, digi, 0, digi.
samples()-1);
988 for (
int i=0;
i<digi.samples();
i++) {
989 double q = hcaldqm::utilities::adc2fCDBMinusPedestal<QIE11DataFrame>(
_dbService, digi_fC, did, digi,
i);
994 if (digi[i].tdc() <50) {
995 double time = i*25. + (digi[
i].tdc() / 2.);
1001 if ((50 <= digi[i].tdc()) && (digi[i].tdc() <= 61)) {
1018 double timing = hcaldqm::utilities::aveTSDB<QIE11DataFrame>(
_dbService, digi_fC, did, digi, 0, digi.samples()-1);
1053 did.subdet()==
HcalBarrel?numChsCut++:numChsCutHE++;
1055 did.subdet()==
HcalBarrel?numChs++:numChsHE++;
1058 if (rawidHBValid!=0 && rawidHEValid!=0)
1100 rawidValid = did.
rawId();
1115 short this_capidmbx = (it->sample(it->presamples()).capid() - bx) % 4;
1116 if (this_capidmbx < 0) {
1121 if (!good_capidmbx) {
1136 double sumQ = hcaldqm::utilities::sumQDB<HODataFrame>(
_dbService, digi_fC, did, *it, 0, it->
size()-1);
1170 for (
int i=0;
i<it->size();
i++)
1184 double timing = hcaldqm::utilities::aveTSDB<HODataFrame>(
_dbService, digi_fC, did, *it, 0, it->size()-1);
1237 numChs=0; numChsCut=0;
1257 bool channelLEDSignalPresent =
false;
1262 channelLEDSignalPresent =
true;
1265 if (channelLEDSignalPresent) {
1284 rawidValid = did.
rawId();
1302 if (digi[
i].soi()) {
1307 short this_capidmbx = (digi[soi].capid() - bx) % 4;
1308 if (this_capidmbx < 0) {
1313 if (!good_capidmbx) {
1327 double sumQ = hcaldqm::utilities::sumQDB<QIE10DataFrame>(
_dbService, digi_fC, did, digi, 0, digi.
samples()-1);
1364 for (
int i=0;
i<digi.samples();
i++)
1366 double q = hcaldqm::utilities::adc2fCDBMinusPedestal<QIE10DataFrame>(
_dbService, digi_fC, did, digi,
i);
1372 if (digi[i].le_tdc() <50) {
1373 double time = i*25. + (digi[
i].le_tdc() / 2.);
1380 if ((50 <= digi[i].le_tdc()) && (digi[i].le_tdc() <= 61)) {
1396 double timing = hcaldqm::utilities::aveTS_v10<QIE10DataFrame>(digi, 2.5, 0,
1398 double q1 = hcaldqm::utilities::adc2fCDBMinusPedestal<QIE10DataFrame>(
_dbService, digi_fC, did, digi, 1);
1399 double q2 = hcaldqm::utilities::adc2fCDBMinusPedestal<QIE10DataFrame>(
_dbService, digi_fC, did, digi, 2);
1400 double q2q12 = q2/(q1+
q2);
1468 DQTask::beginLuminosityBlock(lb, es);
1471 for (std::vector<uint32_t>::const_iterator it=
_vhashFEDs.begin();
1485 for (uintCompactMap::const_iterator it=
_xUniHF.
begin();
1488 uint32_t hash1 = it->first;
1490 double x1 = it->second;
1492 for (uintCompactMap::const_iterator jt=
_xUniHF.
begin();
1497 double x2 = jt->second;
1506 for (std::vector<uint32_t>::const_iterator it=
_vhashFEDs.begin();
1512 std::vector<uint32_t>::const_iterator cit=
std::find(
1517 for (uint32_t iflag=0; iflag<
_vflags.size(); iflag++)
1541 double fr = double(
_xNChs.
get(eid))/
double(
1593 for (std::vector<hcaldqm::flag::Flag>::iterator ft=
_vflags.begin();
1613 DQTask::endLuminosityBlock(lb, es);
int adc(sample_type sample)
get the ADC sample (12 bits)
int samples() const
total number of samples in the digi
void initialize(std::string const &folder, hashfunctions::HashType, quantity::Quantity *, quantity::Quantity *, int debug=0) override
DetId detid() const
Get the detector id.
hcaldqm::ContainerProf1D _cTimingCutvsiphi_SubdetPM
constexpr uint32_t rawId() const
void _process(edm::Event const &, edm::EventSetup const &) override
hcaldqm::ContainerXXX< uint32_t > _xBadCapid
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
MonitorElement * meNumEvents1LS
hcaldqm::Container1D _LED_CUCountvsLSmod60_Subdet
hcaldqm::Container1D _cADC_SubdetPM
hcaldqm::Container1D _cADC_SubdetPM_QIE1011
hcaldqm::Container1D _LED_CUCountvsLS_Subdet
void endLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &) override
virtual void initialize(std::string const &folder, hashfunctions::HashType, quantity::Quantity *, quantity::Quantity *qy=new quantity::ValueQuantity(quantity::fN), int debug=0)
hcaldqm::Container1D _cOccupancyCutvsieta_Subdet
hcaldqm::ContainerProf1D _cSumQvsBX_SubdetPM
virtual bool exists(HcalDetId const &)
boost::transform_iterator< IterHelp, boost::counting_iterator< int > > const_iterator
HcalSubdetector subdet() const
get the subdetector
void fill(HcalDetId const &) override
std::map< HcalSubdetector, int > _refDigiSize
hcaldqm::Container2D _cADCvsTS_SubdetPM
std::pair< uint16_t, uint16_t > fed2crate(int fed)
void beginLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &) override
edm::EDGetTokenT< QIE11DigiCollection > _tokHE
hcaldqm::ContainerProf1D _cQ2Q12CutvsLS_FEDHF
MonitorElement * meUnknownIds1LS
edm::EDGetTokenT< HBHEDigiCollection > _tokHBHE
bool getByToken(EDGetToken token, Handle< PROD > &result) const
void initialize(HcalElectronicsMap const *, ElectronicsMapType etype=fHcalElectronicsMap)
#define DEFINE_FWK_MODULE(type)
unique_ptr< ClusterSequence > cs
hcaldqm::Container2D _cLETDCTimevsADC_SubdetPM
virtual CompactMap::const_iterator begin()
std::map< HcalSubdetector, short > _capidmbx
constexpr uint32_t rawId() const
get the raw id
std::vector< HBHEDataFrame >::const_iterator const_iterator
int bunchCrossing() const
hcaldqm::ContainerSingle2D _cCapidMinusBXmod4_CrateSlotuTCA[4]
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
void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="") override
hcaldqm::ContainerProf2D _cSumQ_depth
edm::EDGetTokenT< HODigiCollection > _tokHO
hcaldqm::Container1D _cOccupancyCutvsiphi_SubdetPM
const_iterator begin() const
hcaldqm::ContainerProf1D _cSumQvsLS_SubdetPM_QIE1011
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
hcaldqm::ContainerSingle2D _cSummaryvsLS
hcaldqm::ContainerProf2D _cTimingCut_FEDVME
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
hcaldqm::Container2D _cOccupancyCutvsiphivsLS_SubdetPM
hcaldqm::ContainerXXX< uint32_t > _xDigiSize
hcaldqm::ContainerProf2D _cTimingCut_FEDuTCA
hcaldqm::Container1D _cBadTDCvsLS_SubdetPM
virtual void book(DQMStore::IBooker &, std::string subsystem="Hcal", std::string aux="")
std::vector< int > getFEDVMEList(HcalElectronicsMap const *)
hcaldqm::filter::HashFilter _filter_VME
virtual CompactMap::const_iterator end()
uint32_t lookup(DetId const &)
hcaldqm::Container2D _cLETDCvsTS_SubdetPM
virtual void fill(uint32_t)
void setLumiFlag()
this ME is meant to be stored for each luminosity section
void setCurrentFolder(std::string const &fullpath)
hcaldqm::Container2D _cOccupancy_CrateSlot
virtual void setBinContent(int, int, int)
constexpr bool isVMEid() const
void dqmthrow(std::string const &msg) const
ContainerXXX< uint32_t > _xQuality
hcaldqm::ContainerSingle2D _cCapid_BadvsFEDvsLS
hcaldqm::Container2D _cADCvsTS_SubdetPM_QIE1011
hcaldqm::Container2D _cOccupancyCut_ElectronicsVME
hcaldqm::Container1D _cDigiSize_Crate
hcaldqm::Container1D _cShapeCut_FED
hcaldqm::Container2D _cOccupancyCut_depth
hcaldqm::ContainerProf1D _cOccupancyCutvsBX_Subdet
MonitorElement * book1D(Args &&...args)
int const FIBER_uTCA_MIN1
hcaldqm::Container1D _cfC_SubdetPM_QIE1011
std::map< HcalSubdetector, std::vector< HcalDetId > > _ledCalibrationChannels
hash_function_did const hash_did[nHashType_did]
hcaldqm::ContainerProf2D _cTimingCut_depth
DetId detid() const
Get the detector id.
std::vector< HcalGenericDetId > allPrecisionId() const
hcaldqm::Container1D _cBadTDCValues_SubdetPM
hcaldqm::Container2D _cOccupancy_FEDVME
hcaldqm::ContainerProf1D _cTimingCutvsLS_SubdetPM
hcaldqm::Container2D _cOccupancyCut_FEDVME
hcaldqm::ContainerProf1D _cSumQvsBX_SubdetPM_QIE1011
hcaldqm::ContainerSingle2D _cCapidMinusBXmod4_CrateSlotVME[4]
uint32_t hash_Subdet(HcalDetId const &)
hcaldqm::Container2D _cOccupancy_depth
HcalElectronicsMap const * _emap
hcaldqm::Container2D _cSummaryvsLS_FED
hcaldqm::filter::HashFilter _filter_FEDHF
const_iterator end() const
edm::EDGetTokenT< QIE10DigiCollection > _tokHF
DigiTask(edm::ParameterSet const &)
hcaldqm::ContainerProf1D _cOccupancyvsLS_Subdet
void _resetMonitors(hcaldqm::UpdateFreq) override
hcaldqm::ContainerProf1D _cSumQvsLS_SubdetPM
hcaldqm::ContainerXXX< uint32_t > _xUni
hcaldqm::ContainerProf1D _cTimingCutvsLS_FED
hcaldqm::Container2D _cOccupancyCut_FEDuTCA
hcaldqm::Container2D _cOccupancy_ElectronicsVME
bool isFEDHBHE(HcalElectronicsId const &)
virtual void book(HcalElectronicsMap const *)
int size() const
get the size
hcaldqm::Container1D _cDigiSize_FED
hcaldqm::filter::HashFilter _filter_QIE8
virtual void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="")
virtual void initialize(std::string const &folder, hashfunctions::HashType, quantity::Quantity *, quantity::Quantity *, quantity::Quantity *qz=new quantity::ValueQuantity(quantity::fN), int debug=0)
hcaldqm::Container2D _LED_ADCvsBX_Subdet
hcaldqm::ContainerXXX< uint32_t > _xNChsNominal
hcaldqm::Container1D _cSumQ_SubdetPM
hcaldqm::Container1D _cOccupancyvsiphi_SubdetPM
void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="") override
hcaldqm::ContainerProf1D _cTimingCutvsieta_Subdet
hcaldqm::ContainerSingle2D _cCapid_BadvsFEDvsLSmod60
hcaldqm::Container1D _cLETDCTime_SubdetPM
hcaldqm::electronicsmap::ElectronicsMap _dhashmap
void initialize(std::string const &folder, hashfunctions::HashType, quantity::Quantity *, quantity::Quantity *, quantity::Quantity *qz=new quantity::ValueQuantity(quantity::fEnergy), int debug=0) override
std::vector< hcaldqm::flag::Flag > _vflags
void setBinContent(HcalDetId const &, int) override
const_iterator end() const
hcaldqm::Container2D _cOccupancyCut_ElectronicsuTCA
hcaldqm::ContainerProf2D _cTimingCut_ElectronicsVME
hcaldqm::Container2D _cLETDCvsADC_SubdetPM
virtual STDTYPE & get(HcalDetId const &)
edm::ESHandle< HcalDbService > _dbService
hcaldqm::Container1D _cBadTDCvsBX_SubdetPM
virtual void setLumiFlag()
virtual double getBinContent(HcalDetId const &)
std::vector< int > getFEDList(HcalElectronicsMap const *)
hcaldqm::Container2D _cOccupancy_Crate
std::vector< int > getFEDuTCAList(HcalElectronicsMap const *)
void fill(HcalDetId const &) override
const HcalElectronicsMap * getHcalMapping() const
virtual void initialize(FilterType ftype, hashfunctions::HashType htype, std::vector< uint32_t > const &)
hcaldqm::filter::HashFilter _filter_uTCA
bool isFEDHO(HcalElectronicsId const &)
std::vector< uint32_t > _vcdaqEids
hcaldqm::ContainerProf1D _cDigiSizevsLS_FED
hcaldqm::ContainerXXX< uint32_t > _xNChs
virtual void fill(int, int)
hcaldqm::electronicsmap::ElectronicsMap _ehashmap
hcaldqm::ContainerProf1D _cOccupancyCutvsLS_Subdet
virtual void initialize(hashfunctions::HashType, int debug=0)
hcaldqm::filter::HashFilter _filter_QIE1011
void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="") override
hcaldqm::Container2D _cBadTDCCount_depth
hcaldqm::ContainerProf2D _cLETDCTime_depth
std::vector< uint32_t > _vhashFEDs
int samples() const
total number of samples in the digi
hcaldqm::Container1D _cOccupancyvsieta_Subdet
Readout chain identification for Hcal.
bool isFEDHF(HcalElectronicsId const &)
hcaldqm::ContainerProf2D _cTimingCut_ElectronicsuTCA
const_iterator begin() const
hcaldqm::Container1D _cSumQ_SubdetPM_QIE1011
hcaldqm::Container1D _cTimingCut_SubdetPM
hcaldqm::Container2D _cOccupancy_FEDuTCA
hcaldqm::Container1D _cCapidMinusBXmod4_SubdetPM
hcaldqm::ContainerXXX< uint32_t > _xUniHF
double sumQ(DIGI const &digi, double ped, int i=0, int j=3)
hcaldqm::Container1D _cfC_SubdetPM
hcaldqm::Container2D _cOccupancy_ElectronicsuTCA