49 std::vector<edm::ParameterSet> vLedCalibChannels =
50 ps.
getParameter<std::vector<edm::ParameterSet>>(
"ledCalibrationChannels");
51 for (
int i = 0;
i <= 3; ++
i) {
70 std::vector<int32_t> subdet_calib_ietas = vLedCalibChannels[
i].getUntrackedParameter<std::vector<int32_t>>(
"ieta");
71 std::vector<int32_t> subdet_calib_iphis = vLedCalibChannels[
i].getUntrackedParameter<std::vector<int32_t>>(
"iphi");
72 std::vector<int32_t> subdet_calib_depths =
73 vLedCalibChannels[
i].getUntrackedParameter<std::vector<int32_t>>(
"depth");
74 for (
unsigned int ichannel = 0; ichannel < subdet_calib_ietas.size(); ++ichannel) {
76 HcalOther, subdet_calib_ietas[ichannel], subdet_calib_iphis[ichannel], subdet_calib_depths[ichannel]));
88 std::vector<uint32_t> vVME;
89 std::vector<uint32_t> vuTCA;
97 std::vector<uint32_t> vhashQIE8;
102 std::vector<uint32_t> vhashQIE1011;
109 std::vector<uint32_t> vhash_TDC2bit;
110 vhash_TDC2bit.push_back(
112 vhash_TDC2bit.push_back(
116 std::vector<uint32_t> vhash_TDC6bit;
117 vhash_TDC6bit.push_back(
119 vhash_TDC6bit.push_back(
121 vhash_TDC6bit.push_back(
123 vhash_TDC6bit.push_back(
393 "OccupancyCutvsiphi",
399 "OccupancyCutvsieta",
422 "OccupancyCutvsiphivsLS",
435 for (
int i = 0;
i < 4; ++
i) {
471 std::vector<uint32_t> vFEDHF;
483 for (std::vector<int>::const_iterator it = vFEDsVME.begin(); it != vFEDsVME.end(); ++it)
486 for (std::vector<int>::const_iterator it = vFEDsuTCA.begin(); it != vFEDsuTCA.end(); ++it) {
638 "LED_CUCountvsLSmod60",
709 for (
int i = 0;
i < 4; ++
i) {
712 snprintf(aux, kSize,
"%d_uTCA",
i);
715 snprintf(aux, kSize,
"%d_VME",
i);
765 for (std::vector<HcalGenericDetId>::const_iterator it = gids.begin(); it != gids.end(); ++it) {
766 if (!it->isHcalDetId())
799 DQTask::_resetMonitors(uf);
834 uint32_t rawidValid = 0;
835 uint32_t rawidHBValid = 0;
836 uint32_t rawidHEValid = 0;
860 bool channelLEDSignalPresent =
false;
865 channelLEDSignalPresent =
true;
868 if (channelLEDSignalPresent) {
888 rawidHBValid = did.
rawId();
890 rawidHEValid = did.
rawId();
911 short this_capidmbx = (digi[soi].capid() - bx) % 4;
912 if (this_capidmbx < 0) {
917 if (!good_capidmbx) {
931 double sumQ = hcaldqm::utilities::sumQDB<QIE11DataFrame>(
_dbService, digi_fC, did, digi, 0, digi.
samples() - 1);
962 for (
int i = 0;
i < digi.samples();
i++) {
963 double q = hcaldqm::utilities::adc2fCDBMinusPedestal<QIE11DataFrame>(
_dbService, digi_fC, did, digi,
i);
971 if (digi[i].tdc() < 2) {
972 double time = i * 25. + (digi[
i].tdc() * 12.5);
980 if (digi[i].tdc() < 50) {
981 double time = i * 25. + (digi[
i].tdc() / 2.);
987 if ((50 <= digi[i].tdc()) && (digi[i].tdc() <= 61)) {
1005 hcaldqm::utilities::aveTSDB<QIE11DataFrame>(
_dbService, digi_fC, did, digi, 0, digi.samples() - 1);
1036 did.subdet() ==
HcalBarrel ? numChsCut++ : numChsCutHE++;
1038 did.subdet() ==
HcalBarrel ? numChs++ : numChsHE++;
1041 if (rawidHBValid != 0 && rawidHEValid != 0) {
1072 rawidValid = did.
rawId();
1084 short this_capidmbx = (it->sample(it->presamples()).capid() - bx) % 4;
1085 if (this_capidmbx < 0) {
1090 if (!good_capidmbx) {
1105 double sumQ = hcaldqm::utilities::sumQDB<HODataFrame>(
_dbService, digi_fC, did, *it, 0, it->
size() - 1);
1134 for (
int i = 0;
i < it->size();
i++) {
1146 double timing = hcaldqm::utilities::aveTSDB<HODataFrame>(
_dbService, digi_fC, did, *it, 0, it->size() - 1);
1182 if (rawidValid != 0) {
1213 bool channelLEDSignalPresent =
false;
1218 channelLEDSignalPresent =
true;
1221 if (channelLEDSignalPresent) {
1240 rawidValid = did.
rawId();
1255 if (digi[
i].soi()) {
1260 short this_capidmbx = (digi[soi].capid() - bx) % 4;
1261 if (this_capidmbx < 0) {
1266 if (!good_capidmbx) {
1280 double sumQ = hcaldqm::utilities::sumQDB<QIE10DataFrame>(
_dbService, digi_fC, did, digi, 0, digi.
samples() - 1);
1313 for (
int i = 0;
i < digi.samples();
i++) {
1314 double q = hcaldqm::utilities::adc2fCDBMinusPedestal<QIE10DataFrame>(
_dbService, digi_fC, did, digi,
i);
1320 if (digi[i].le_tdc() < 50) {
1321 double time = i * 25. + (digi[
i].le_tdc() / 2.);
1328 if ((50 <= digi[i].le_tdc()) && (digi[i].le_tdc() <= 61)) {
1343 double timing = hcaldqm::utilities::aveTS_v10<QIE10DataFrame>(digi, 2.5, 0, digi.samples() - 1);
1344 double q1 = hcaldqm::utilities::adc2fCDBMinusPedestal<QIE10DataFrame>(
_dbService, digi_fC, did, digi, 1);
1345 double q2 = hcaldqm::utilities::adc2fCDBMinusPedestal<QIE10DataFrame>(
_dbService, digi_fC, did, digi, 2);
1346 double q2q12 = q2 / (q1 +
q2);
1392 if (rawidValid != 0) {
1403 DQTask::beginLuminosityBlock(lb, es);
1406 for (std::vector<uint32_t>::const_iterator it =
_vhashFEDs.begin(); it !=
_vhashFEDs.end(); ++it) {
1418 uint32_t hash1 = it->first;
1420 double x1 = it->second;
1425 double x2 = jt->second;
1434 for (std::vector<uint32_t>::const_iterator it =
_vhashFEDs.begin(); it !=
_vhashFEDs.end(); ++it) {
1441 for (uint32_t iflag = 0; iflag <
_vflags.size(); iflag++)
1512 for (std::vector<hcaldqm::flag::Flag>::iterator ft =
_vflags.begin(); ft !=
_vflags.end(); ++ft) {
1531 DQTask::endLuminosityBlock(lb, es);
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::Container2D _cLETDCvsADC_2bit_SubdetPM
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
hcaldqm::ContainerProf1D _cQ2Q12CutvsLS_FEDHF
MonitorElement * meUnknownIds1LS
bool getByToken(EDGetToken token, Handle< PROD > &result) const
void initialize(HcalElectronicsMap const *, ElectronicsMapType etype=fHcalElectronicsMap)
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< 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
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 &)
virtual void fill(uint32_t)
#define DEFINE_FWK_MODULE(type)
hcaldqm::Container2D _cLETDCvsADC_6bit_SubdetPM
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)
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
DetId detid() const
Get the detector id.
std::vector< HcalGenericDetId > allPrecisionId() const
hcaldqm::Container1D _cBadTDCValues_SubdetPM
hcaldqm::Container2D _cOccupancy_FEDVME
constexpr int adc(sample_type sample)
get the ADC sample (12 bits)
hcaldqm::ContainerProf1D _cTimingCutvsLS_SubdetPM
hcaldqm::Container2D _cOccupancyCut_FEDVME
hcaldqm::filter::HashFilter _filter_TDC2bit
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
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
example_stream void bookHistograms(DQMStore::IBooker &,@example_stream edm::Run const &,@example_stream edm::EventSetup const &) 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
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::Container2D _cLETDCvsTS_6bit_SubdetPM
hcaldqm::ContainerProf1D _cDigiSizevsLS_FED
hcaldqm::ContainerXXX< uint32_t > _xNChs
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)
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