3 using namespace hcaldqm;
4 using namespace hcaldqm::constants;
36 _refDigiSize[
HcalEndcap] = (int)vrefDigiSize[1];
37 _refDigiSize[
HcalOuter] = (int)vrefDigiSize[2];
52 _emap = dbs->getHcalMapping();
56 for (
unsigned i = 0;
i < eids.size();
i++) {
86 std::vector<uint32_t> vVME;
87 std::vector<uint32_t> vuTCA;
95 std::vector<uint32_t> vhashQIE8;
99 std::vector<uint32_t> vhashQIE1011;
100 vhashQIE1011.push_back(
102 vhashQIE1011.push_back(
104 vhashQIE1011.push_back(
108 std::vector<uint32_t> vhash_TDC2bit;
109 vhash_TDC2bit.push_back(
111 vhash_TDC2bit.push_back(
115 std::vector<uint32_t> vhash_TDC6bit;
116 vhash_TDC6bit.push_back(
118 vhash_TDC6bit.push_back(
120 vhash_TDC6bit.push_back(
122 vhash_TDC6bit.push_back(
398 "OccupancyCutvsiphi",
404 "OccupancyCutvsieta",
427 "OccupancyCutvsiphivsLS",
440 for (
int i = 0;
i < 4; ++
i) {
470 std::vector<uint32_t> vFEDHF;
482 for (std::vector<int>::const_iterator it = vFEDsVME.begin(); it != vFEDsVME.end(); ++it)
485 for (std::vector<int>::const_iterator it = vFEDsuTCA.begin(); it != vFEDsuTCA.end(); ++it) {
595 "LED_CUCountvsLSmod60",
663 for (
int i = 0;
i < 4; ++
i) {
664 constexpr
unsigned int kSize = 32;
666 snprintf(aux, kSize,
"%d_uTCA",
i);
716 for (std::vector<HcalGenericDetId>::const_iterator it = gids.begin(); it != gids.end(); ++it) {
717 if (!it->isHcalDetId())
751 DQTask::_resetMonitors(uf);
790 lumiCache->EvtCntLS == 1) {
791 for (std::vector<uint32_t>::const_iterator it =
_vhashFEDs.begin(); it !=
_vhashFEDs.end(); ++it) {
799 uint32_t rawidValid = 0;
800 uint32_t rawidHBValid = 0;
801 uint32_t rawidHEValid = 0;
824 bool channelLEDSignalPresent =
false;
829 channelLEDSignalPresent =
true;
832 if (channelLEDSignalPresent) {
841 bool channelLEDSignalPresent =
false;
846 channelLEDSignalPresent =
true;
849 if (channelLEDSignalPresent) {
869 rawidHBValid = did.
rawId();
871 rawidHEValid = did.
rawId();
892 short this_capidmbx = (digi[soi].capid() -
bx) % 4;
893 if (this_capidmbx < 0) {
898 if (!good_capidmbx) {
909 double sumQ = hcaldqm::utilities::sumQDB<QIE11DataFrame>(
_dbService, digi_fC, did, digi, 0, digi.
samples() - 1);
937 for (
int i = 0;
i < digi.samples();
i++) {
938 double q = hcaldqm::utilities::adc2fCDBMinusPedestal<QIE11DataFrame>(
_dbService, digi_fC, did, digi,
i);
946 if (digi[i].tdc() < 2) {
947 double time = i * 25. + (digi[
i].tdc() * 12.5);
955 if (digi[i].tdc() < 50) {
956 double time = i * 25. + (digi[
i].tdc() / 2.);
962 if ((50 <= digi[i].tdc()) && (digi[i].tdc() <= 61)) {
981 hcaldqm::utilities::aveTSDB<QIE11DataFrame>(
_dbService, digi_fC, did, digi, 0, digi.samples() - 1,
false);
986 did, hcaldqm::utilities::aveTSDB<QIE11DataFrame>(_dbService, digi_fC, did, digi, 0, digi.samples() - 1));
1011 did.subdet() ==
HcalBarrel ? numChsCut++ : numChsCutHE++;
1013 did.subdet() ==
HcalBarrel ? numChs++ : numChsHE++;
1016 if (rawidHBValid != 0 && rawidHEValid != 0) {
1047 bool channelLEDSignalPresent =
false;
1048 for (
int i = 0;
i < digi.
size();
i++) {
1052 channelLEDSignalPresent =
true;
1055 if (channelLEDSignalPresent) {
1073 rawidValid = did.
rawId();
1085 short this_capidmbx = (it->sample(it->presamples()).capid() -
bx) % 4;
1086 if (this_capidmbx < 0) {
1091 if (!good_capidmbx) {
1103 double sumQ = hcaldqm::utilities::sumQDB<HODataFrame>(
_dbService, digi_fC, did, *it, 0, it->
size() - 1);
1125 for (
int i = 0;
i < it->size();
i++) {
1138 double timing = hcaldqm::utilities::aveTSDB<HODataFrame>(
_dbService, digi_fC, did, *it, 0, it->size() - 1,
false);
1146 did, hcaldqm::utilities::aveTSDB<HODataFrame>(_dbService, digi_fC, did, *it, 0, it->size() - 1));
1173 if (rawidValid != 0) {
1203 bool channelLEDSignalPresent =
false;
1208 channelLEDSignalPresent =
true;
1211 if (channelLEDSignalPresent) {
1230 rawidValid = did.
rawId();
1245 if (digi[
i].soi()) {
1250 short this_capidmbx = (digi[soi].capid() -
bx) % 4;
1251 if (this_capidmbx < 0) {
1256 if (!good_capidmbx) {
1267 double sumQ = hcaldqm::utilities::sumQDB<QIE10DataFrame>(
_dbService, digi_fC, did, digi, 0, digi.
samples() - 1);
1294 for (
int i = 0;
i < digi.samples();
i++) {
1295 double q = hcaldqm::utilities::adc2fCDBMinusPedestal<QIE10DataFrame>(
_dbService, digi_fC, did, digi,
i);
1301 if (digi[i].le_tdc() < 50) {
1302 double time = i * 25. + (digi[
i].le_tdc() / 2.);
1309 if ((50 <= digi[i].le_tdc()) && (digi[i].le_tdc() <= 61)) {
1324 double timing = hcaldqm::utilities::aveTS_v10<QIE10DataFrame>(digi, 2.5, 0, digi.samples() - 1);
1325 double q1 = hcaldqm::utilities::adc2fCDBMinusPedestal<QIE10DataFrame>(
_dbService, digi_fC, did, digi, 1);
1326 double q2 = hcaldqm::utilities::adc2fCDBMinusPedestal<QIE10DataFrame>(
_dbService, digi_fC, did, digi, 2);
1327 double q2q12 = q2 / (q1 + q2);
1370 if (rawidValid != 0) {
1382 return DQTask::globalBeginLuminosityBlock(lb, es);
1386 auto lumiCache = luminosityBlockCache(lb.
index());
1394 uint32_t hash1 = it->first;
1396 double x1 = it->second;
1401 double x2 = jt->second;
1410 for (std::vector<uint32_t>::const_iterator it =
_vhashFEDs.begin(); it !=
_vhashFEDs.end(); ++it) {
1417 for (uint32_t iflag = 0; iflag <
_vflags.size(); iflag++)
1488 for (std::vector<hcaldqm::flag::Flag>::iterator ft =
_vflags.begin(); ft !=
_vflags.end(); ++ft) {
1507 DQTask::globalEndLuminosityBlock(lb, es);
void initialize(std::string const &folder, hashfunctions::HashType, quantity::Quantity *, quantity::Quantity *, int debug=0) override
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
edm::ESGetToken< HcalDbService, HcalDbRecord > hcalDbServiceToken_
MonitorElement * meNumEvents1LS
hcaldqm::Container1D _LED_CUCountvsLSmod60_Subdet
hcaldqm::Container1D _cADC_SubdetPM
hcaldqm::Container1D _cADC_SubdetPM_QIE1011
hcaldqm::Container1D _LED_CUCountvsLS_Subdet
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::Container2D _cLETDCvsADC_2bit_SubdetPM
hcaldqm::ContainerProf1D _cSumQvsBX_SubdetPM
virtual bool exists(HcalDetId const &)
constexpr int size() const
total number of samples in the digi
void fill(HcalDetId const &) override
std::map< HcalSubdetector, int > _refDigiSize
hcaldqm::Container2D _cADCvsTS_SubdetPM
std::pair< uint16_t, uint16_t > fed2crate(int fed)
LuminosityBlockIndex index() const
CalibDetType calibFlavor() const
get the flavor of this calibration detid
virtual void setCurrentFolder(std::string const &fullpath)
hcaldqm::Container1D _cTimingCutHTH_SubdetPM
hcaldqm::ContainerProf1D _cQ2Q12CutvsLS_FEDHF
MonitorElement * meUnknownIds1LS
bool getByToken(EDGetToken token, Handle< PROD > &result) const
void globalEndLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &) override
void initialize(HcalElectronicsMap const *, ElectronicsMapType etype=fHcalElectronicsMap)
#define DEFINE_FWK_MODULE(type)
unique_ptr< ClusterSequence > cs
std::shared_ptr< hcaldqm::Cache > globalBeginLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &) const override
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< T >::const_iterator const_iterator
hcaldqm::Container2D _cLETDCvsTS_2bit_SubdetPM
int bunchCrossing() const
hcaldqm::ContainerSingle2D _cCapidMinusBXmod4_CrateSlotuTCA[4]
edm::EDGetTokenT< QIE10DigiCollection > _tokQIE10
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
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
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="")
example_stream void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
std::vector< int > getFEDVMEList(HcalElectronicsMap const *)
hcaldqm::filter::HashFilter _filter_VME
virtual CompactMap::const_iterator end()
uint32_t lookup(DetId const &)
constexpr DetId detid() const
Get the detector id.
constexpr HcalSubdetector subdet() const
get the subdetector
MonitorElement * book1DD(TString const &name, TString const &title, int nchX, double lowX, double highX, FUNC onbooking=NOOP())
virtual void fill(uint32_t)
hcaldqm::Container2D _cLETDCvsADC_6bit_SubdetPM
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::Container1D _cDigiSize_Crate
hcaldqm::Container1D _cShapeCut_FED
hcaldqm::Container2D _cOccupancyCut_depth
hcaldqm::ContainerProf1D _cOccupancyCutvsBX_Subdet
edm::EDGetTokenT< QIE11DigiCollection > _tokQIE11
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
std::vector< HcalGenericDetId > allPrecisionId() const
LuminosityBlock const & getLuminosityBlock() const
hcaldqm::Container1D _cBadTDCValues_SubdetPM
hcaldqm::ContainerProf1D _cTimingCutvsLS_SubdetPM
UseScope< MonitorElementData::Scope::LUMI > UseLumiScope
hcaldqm::filter::HashFilter _filter_TDC2bit
hcaldqm::ContainerProf1D _cSumQvsBX_SubdetPM_QIE1011
uint32_t hash_Subdet(HcalDetId const &)
hcaldqm::Container2D _cOccupancy_depth
HcalElectronicsMap const * _emap
hcaldqm::Container2D _cSummaryvsLS_FED
hcaldqm::filter::HashFilter _filter_FEDHF
int iphi() const
get the low-edge iphi (if relevant)
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
constexpr int samples() const
total number of samples in the digi
bool isFEDHBHE(HcalElectronicsId const &)
virtual void book(HcalElectronicsMap const *)
std::vector< HcalElectronicsId > allElectronicsId() const
int size() const
get the size
HcalOtherSubdetector subdet() const
get the category
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
constexpr int samples() const
total number of samples in the digi
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
boost::transform_iterator< IterHelp, boost::counting_iterator< int > > const_iterator
std::vector< hcaldqm::flag::Flag > _vflags
void setBinContent(HcalDetId const &, int) override
hcaldqm::Container2D _cOccupancyCut_ElectronicsuTCA
int cboxChannel() const
get the calibration box channel (if relevant)
virtual STDTYPE & get(HcalDetId const &)
edm::ESHandle< HcalDbService > _dbService
hcaldqm::Container1D _cBadTDCvsBX_SubdetPM
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
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::Container2D _cLETDCvsTS_6bit_SubdetPM
hcaldqm::ContainerProf1D _cDigiSizevsLS_FED
hcaldqm::ContainerXXX< uint32_t > _xNChs
HcalSubdetector hcalSubdet() const
get the HcalSubdetector (if relevant)
hcaldqm::filter::HashFilter _filter_TDC6bit
virtual void fill(int, int)
hcaldqm::electronicsmap::ElectronicsMap _ehashmap
hcaldqm::ContainerProf1D _cOccupancyCutvsLS_Subdet
virtual void initialize(hashfunctions::HashType, int debug=0)
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const
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
hcaldqm::Container1D _cOccupancyvsieta_Subdet
Readout chain identification for Hcal.
const DetId lookup(HcalElectronicsId fId) const
lookup the logical detid associated with the given electronics id
bool isFEDHF(HcalElectronicsId const &)
hcaldqm::ContainerProf2D _cTimingCut_ElectronicsuTCA
hcaldqm::Container1D _cSumQ_SubdetPM_QIE1011
hcaldqm::Container1D _cTimingCut_SubdetPM
uint16_t *__restrict__ uint16_t const *__restrict__ adc
hcaldqm::Container2D _cOccupancy_FEDuTCA
hcaldqm::Container1D _cCapidMinusBXmod4_SubdetPM
hcaldqm::ContainerXXX< uint32_t > _xUniHF
constexpr DetId detid() const
Get the detector id.
double sumQ(DIGI const &digi, double ped, int i=0, int j=3)
hcaldqm::Container1D _cfC_SubdetPM
hcaldqm::Container2D _cOccupancy_ElectronicsuTCA