64 std::vector<uint32_t> vVME;
65 std::vector<uint32_t> vuTCA;
76 std::vector<uint32_t> vhashQIE1011;
293 for (
int i = 0;
i < 4; ++
i) {
309 std::vector<uint32_t> vFEDHF;
328 for (std::vector<int>::const_iterator it=vFEDsVME.begin();
329 it!=vFEDsVME.end(); ++it)
333 for (std::vector<int>::const_iterator it=vFEDsuTCA.begin();
334 it!=vFEDsuTCA.end(); ++it)
497 for (
int i = 0;
i < 4; ++
i) {
499 sprintf(aux,
"%d_uTCA",
i);
502 sprintf(aux,
"%d_VME",
i);
543 _meLEDMon = ib.
book2D(
"LED_ADCvsBX",
"Pin diode ADC vs BX", 99, -0.5, 3564-0.5, 64, -0.5, 255.5);
551 for (std::vector<HcalGenericDetId>::const_iterator it=gids.begin();
552 it!=gids.end(); ++it)
554 if (!it->isHcalDetId())
600 DQTask::_resetMonitors(uf);
645 uint32_t rawidValid = 0;
646 uint32_t rawidHBValid = 0;
647 uint32_t rawidHEValid = 0;
669 rawidHBValid = did.
rawId();
671 rawidHEValid = did.
rawId();
687 short this_capidmbx = (it->sample(it->presamples()).capid() - bx) % 4;
688 if (this_capidmbx < 0) {
693 if (!good_capidmbx) {
706 double sumQ = hcaldqm::utilities::sumQDB<HBHEDataFrame>(
_dbService, digi_fC, did, *it, 0, it->
size()-1);
743 for (
int i=0;
i<it->size();
i++)
758 double timing = hcaldqm::utilities::aveTSDB<HBHEDataFrame>(
_dbService, digi_fC, did, *it, 0, it->size()-1);
793 did.subdet()==
HcalBarrel?numChsCut++:numChsCutHE++;
811 if (did.
depth() == 10) {
837 rawidHBValid = did.
rawId();
839 rawidHEValid = did.
rawId();
863 short this_capidmbx = (digi[soi].capid() - bx) % 4;
864 if (this_capidmbx < 0) {
869 if (!good_capidmbx) {
881 double sumQ = hcaldqm::utilities::sumQDB<QIE11DataFrame>(
_dbService, digi_fC, did, digi, 0, digi.
samples()-1);
917 for (
int i=0;
i<digi.samples();
i++) {
918 double q = hcaldqm::utilities::adc2fCDBMinusPedestal<QIE11DataFrame>(
_dbService, digi_fC, did, digi,
i);
923 if (digi[i].tdc() <50) {
924 double time = i*25. + (digi[
i].tdc() / 2.);
930 if ((50 <= digi[i].tdc()) && (digi[i].tdc() <= 61)) {
947 double timing = hcaldqm::utilities::aveTSDB<QIE11DataFrame>(
_dbService, digi_fC, did, digi, 0, digi.samples()-1);
982 did.subdet()==
HcalBarrel?numChsCut++:numChsCutHE++;
987 if (rawidHBValid!=0 && rawidHEValid!=0)
1029 rawidValid = did.
rawId();
1044 short this_capidmbx = (it->sample(it->presamples()).capid() - bx) % 4;
1045 if (this_capidmbx < 0) {
1050 if (!good_capidmbx) {
1063 double sumQ = hcaldqm::utilities::sumQDB<HODataFrame>(
_dbService, digi_fC, did, *it, 0, it->
size()-1);
1097 for (
int i=0;
i<it->size();
i++)
1111 double timing = hcaldqm::utilities::aveTSDB<HODataFrame>(
_dbService, digi_fC, did, *it, 0, it->size()-1);
1164 numChs=0; numChsCut=0;
1186 rawidValid = did.
rawId();
1204 if (digi[
i].soi()) {
1209 short this_capidmbx = (digi[soi].capid() - bx) % 4;
1210 if (this_capidmbx < 0) {
1215 if (!good_capidmbx) {
1227 double sumQ = hcaldqm::utilities::sumQDB<QIE10DataFrame>(
_dbService, digi_fC, did, digi, 0, digi.
samples()-1);
1264 for (
int i=0;
i<digi.samples();
i++)
1266 double q = hcaldqm::utilities::adc2fCDBMinusPedestal<QIE10DataFrame>(
_dbService, digi_fC, did, digi,
i);
1272 if (digi[i].le_tdc() <50) {
1273 double time = i*25. + (digi[
i].le_tdc() / 2.);
1280 if ((50 <= digi[i].le_tdc()) && (digi[i].le_tdc() <= 61)) {
1296 double timing = hcaldqm::utilities::aveTS_v10<QIE10DataFrame>(digi, 2.5, 0,
1298 double q1 = hcaldqm::utilities::adc2fCDBMinusPedestal<QIE10DataFrame>(
_dbService, digi_fC, did, digi, 1);
1299 double q2 = hcaldqm::utilities::adc2fCDBMinusPedestal<QIE10DataFrame>(
_dbService, digi_fC, did, digi, 2);
1300 double q2q12 = q2/(q1+
q2);
1368 DQTask::beginLuminosityBlock(lb, es);
1377 for (uintCompactMap::const_iterator it=
_xUniHF.
begin();
1380 uint32_t hash1 = it->first;
1382 double x1 = it->second;
1384 for (uintCompactMap::const_iterator jt=
_xUniHF.
begin();
1389 double x2 = jt->second;
1398 for (std::vector<uint32_t>::const_iterator it=
_vhashFEDs.begin();
1404 std::vector<uint32_t>::const_iterator cit=
std::find(
1409 for (uint32_t iflag=0; iflag<
_vflags.size(); iflag++)
1433 double fr = double(
_xNChs.
get(eid))/
double(
1462 for (std::vector<hcaldqm::flag::Flag>::iterator ft=
_vflags.begin();
1482 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 getUntrackedParameter(std::string const &, T const &) const
MonitorElement * meNumEvents1LS
hcaldqm::Container1D _cADC_SubdetPM
hcaldqm::Container1D _cADC_SubdetPM_QIE1011
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
auto_ptr< ClusterSequence > cs
hcaldqm::ContainerProf1D _cSumQvsBX_SubdetPM
virtual bool exists(HcalDetId const &)
MonitorElement * _meLEDMon
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)
MonitorElement * _meLEDEventCount
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)
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
int depth() const
get the tower depth
virtual void fill(uint32_t)
void setLumiFlag()
this ME is meant to be stored for each luminosity section
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::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)
virtual example_stream void bookHistograms(DQMStore::IBooker &,@example_stream edm::Run const &,@example_stream edm::EventSetup const &) override
int const FIBER_uTCA_MIN1
hcaldqm::Container1D _cfC_SubdetPM_QIE1011
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]
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
void setCurrentFolder(const std::string &fullpath)
bool isFEDHBHE(HcalElectronicsId const &)
virtual void book(HcalElectronicsMap const *)
MonitorElement * book2D(Args &&...args)
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::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::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()
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
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
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