|
|
Go to the documentation of this file.
46 std::vector<edm::ParameterSet> vLedCalibChannels =
47 ps.
getParameter<std::vector<edm::ParameterSet>>(
"ledCalibrationChannels");
48 for (
int i = 0;
i <= 3; ++
i) {
67 std::vector<int32_t> subdet_calib_ietas = vLedCalibChannels[
i].getUntrackedParameter<std::vector<int32_t>>(
"ieta");
68 std::vector<int32_t> subdet_calib_iphis = vLedCalibChannels[
i].getUntrackedParameter<std::vector<int32_t>>(
"iphi");
69 std::vector<int32_t> subdet_calib_depths =
70 vLedCalibChannels[
i].getUntrackedParameter<std::vector<int32_t>>(
"depth");
71 for (
unsigned int ichannel = 0; ichannel < subdet_calib_ietas.size(); ++ichannel) {
73 HcalOther, subdet_calib_ietas[ichannel], subdet_calib_iphis[ichannel], subdet_calib_depths[ichannel]));
85 std::vector<uint32_t> vVME;
86 std::vector<uint32_t> vuTCA;
94 std::vector<uint32_t> vhashQIE8;
98 std::vector<uint32_t> vhashQIE1011;
99 vhashQIE1011.push_back(
101 vhashQIE1011.push_back(
103 vhashQIE1011.push_back(
107 std::vector<uint32_t> vhash_TDC2bit;
108 vhash_TDC2bit.push_back(
110 vhash_TDC2bit.push_back(
114 std::vector<uint32_t> vhash_TDC6bit;
115 vhash_TDC6bit.push_back(
117 vhash_TDC6bit.push_back(
119 vhash_TDC6bit.push_back(
121 vhash_TDC6bit.push_back(
391 "OccupancyCutvsiphi",
397 "OccupancyCutvsieta",
420 "OccupancyCutvsiphivsLS",
433 for (
int i = 0;
i < 4; ++
i) {
469 std::vector<uint32_t> vFEDHF;
481 for (std::vector<int>::const_iterator it = vFEDsVME.begin(); it != vFEDsVME.end(); ++it)
484 for (std::vector<int>::const_iterator it = vFEDsuTCA.begin(); it != vFEDsuTCA.end(); ++it) {
636 "LED_CUCountvsLSmod60",
709 for (
int i = 0;
i < 4; ++
i) {
710 constexpr
unsigned int kSize = 32;
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())
800 DQTask::_resetMonitors(uf);
824 if (!
e.getByToken(
_tokHO, c_ho))
830 int bx =
e.bunchCrossing();
833 auto lumiCache = luminosityBlockCache(
e.getLuminosityBlock().index());
839 lumiCache->EvtCntLS == 1) {
840 for (std::vector<uint32_t>::const_iterator it =
_vhashFEDs.begin(); it !=
_vhashFEDs.end(); ++it) {
848 uint32_t rawidValid = 0;
849 uint32_t rawidHBValid = 0;
850 uint32_t rawidHEValid = 0;
860 const QIE11DataFrame digi = static_cast<const QIE11DataFrame>(*it);
874 bool channelLEDSignalPresent =
false;
879 channelLEDSignalPresent =
true;
882 if (channelLEDSignalPresent) {
902 rawidHBValid = did.
rawId();
904 rawidHEValid = did.
rawId();
925 short this_capidmbx = (digi[soi].capid() -
bx) % 4;
926 if (this_capidmbx < 0) {
931 if (!good_capidmbx) {
945 double sumQ = hcaldqm::utilities::sumQDB<QIE11DataFrame>(
_dbService, digi_fC, did, digi, 0, digi.
samples() - 1);
977 double q = hcaldqm::utilities::adc2fCDBMinusPedestal<QIE11DataFrame>(
_dbService, digi_fC, did, digi,
i);
985 if (digi[
i].tdc() < 2) {
986 double time =
i * 25. + (digi[
i].tdc() * 12.5);
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)) {
1019 hcaldqm::utilities::aveTSDB<QIE11DataFrame>(
_dbService, digi_fC, did, digi, 0, digi.
samples() - 1);
1038 if (
eid.isVMEid()) {
1055 if (rawidHBValid != 0 && rawidHEValid != 0) {
1086 rawidValid = did.
rawId();
1098 short this_capidmbx = (it->sample(it->presamples()).capid() -
bx) % 4;
1099 if (this_capidmbx < 0) {
1104 if (!good_capidmbx) {
1109 if (
eid.isVMEid()) {
1119 double sumQ = hcaldqm::utilities::sumQDB<HODataFrame>(
_dbService, digi_fC, did, *it, 0, it->size() - 1);
1132 if (
eid.isVMEid()) {
1148 for (
int i = 0;
i < it->size();
i++) {
1160 double timing = hcaldqm::utilities::aveTSDB<HODataFrame>(
_dbService, digi_fC, did, *it, 0, it->size() - 1);
1179 if (
eid.isVMEid()) {
1196 if (rawidValid != 0) {
1213 const QIE10DataFrame digi = static_cast<const QIE10DataFrame>(*it);
1227 bool channelLEDSignalPresent =
false;
1232 channelLEDSignalPresent =
true;
1235 if (channelLEDSignalPresent) {
1254 rawidValid = did.
rawId();
1269 if (digi[
i].soi()) {
1274 short this_capidmbx = (digi[soi].capid() -
bx) % 4;
1275 if (this_capidmbx < 0) {
1280 if (!good_capidmbx) {
1285 if (
eid.isVMEid()) {
1294 double sumQ = hcaldqm::utilities::sumQDB<QIE10DataFrame>(
_dbService, digi_fC, did, digi, 0, digi.
samples() - 1);
1312 if (
eid.isVMEid()) {
1328 double q = hcaldqm::utilities::adc2fCDBMinusPedestal<QIE10DataFrame>(
_dbService, digi_fC, did, digi,
i);
1334 if (digi[
i].le_tdc() < 50) {
1335 double time =
i * 25. + (digi[
i].le_tdc() / 2.);
1342 if ((50 <= digi[
i].le_tdc()) && (digi[
i].le_tdc() <= 61)) {
1357 double timing = hcaldqm::utilities::aveTS_v10<QIE10DataFrame>(digi, 2.5, 0, digi.
samples() - 1);
1358 double q1 = hcaldqm::utilities::adc2fCDBMinusPedestal<QIE10DataFrame>(
_dbService, digi_fC, did, digi, 1);
1359 double q2 = hcaldqm::utilities::adc2fCDBMinusPedestal<QIE10DataFrame>(
_dbService, digi_fC, did, digi, 2);
1360 double q2q12 =
q2 / (
q1 +
q2);
1388 if (
eid.isVMEid()) {
1406 if (rawidValid != 0) {
1418 return DQTask::globalBeginLuminosityBlock(lb, es);
1422 auto lumiCache = luminosityBlockCache(lb.
index());
1430 uint32_t hash1 = it->first;
1432 double x1 = it->second;
1437 double x2 = jt->second;
1446 for (std::vector<uint32_t>::const_iterator it =
_vhashFEDs.begin(); it !=
_vhashFEDs.end(); ++it) {
1453 for (uint32_t iflag = 0; iflag <
_vflags.size(); iflag++)
1524 for (std::vector<hcaldqm::flag::Flag>::iterator ft =
_vflags.begin(); ft !=
_vflags.end(); ++ft) {
1543 DQTask::globalEndLuminosityBlock(lb, es);
hcaldqm::Container1D _cBadTDCvsBX_SubdetPM
hcaldqm::Container1D _cADC_SubdetPM_QIE1011
hcaldqm::ContainerSingle2D _cCapid_BadvsFEDvsLSmod60
constexpr int adc(sample_type sample)
get the ADC sample (12 bits)
virtual void initialize(hashfunctions::HashType, int debug=0)
hcaldqm::Container1D _cOccupancyCutvsiphi_SubdetPM
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
std::vector< T >::const_iterator const_iterator
hcaldqm::Container1D _cSumQ_SubdetPM
hcaldqm::Container1D _cfC_SubdetPM
uint32_t lookup(DetId const &)
example_stream void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
hcaldqm::Container2D _cOccupancy_FEDVME
hcaldqm::Container1D _cDigiSize_Crate
MonitorElement * meNumEvents1LS
boost::transform_iterator< IterHelp, boost::counting_iterator< int > > const_iterator
virtual bool exists(HcalDetId const &)
constexpr int samples() const
total number of samples in the digi
unique_ptr< ClusterSequence > cs
hcaldqm::Container2D _cADCvsTS_SubdetPM_QIE1011
hcaldqm::Container2D _cOccupancyCutvsiphivsLS_SubdetPM
void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="") override
LuminosityBlockIndex index() const
void initialize(HcalElectronicsMap const *, ElectronicsMapType etype=fHcalElectronicsMap)
std::map< HcalSubdetector, std::vector< HcalDetId > > _ledCalibrationChannels
hcaldqm::Container1D _cShapeCut_FED
void globalEndLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &) override
hcaldqm::Container1D _cTimingCut_SubdetPM
hcaldqm::ContainerProf1D _cTimingCutvsiphi_SubdetPM
hcaldqm::ContainerXXX< uint32_t > _xBadCapid
hcaldqm::Container1D _cBadTDCValues_SubdetPM
hcaldqm::ContainerProf1D _cOccupancyvsLS_Subdet
const int FIBER_uTCA_MIN1
hcaldqm::Container2D _cLETDCvsTS_6bit_SubdetPM
DigiTask(edm::ParameterSet const &)
hcaldqm::Container2D _cOccupancyCut_ElectronicsVME
hcaldqm::ContainerXXX< uint32_t > _xUni
hcaldqm::Container1D _cOccupancyvsieta_Subdet
T getUntrackedParameter(std::string const &, T const &) const
virtual double getBinContent(HcalDetId const &)
hcaldqm::ContainerProf1D _cTimingCutvsieta_Subdet
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
hcaldqm::ContainerSingle2D _cCapidMinusBXmod4_CrateSlotVME[4]
edm::EDGetTokenT< QIE10DigiCollection > _tokQIE10
hcaldqm::Container1D _cSumQ_SubdetPM_QIE1011
std::vector< int > getFEDList(HcalElectronicsMap const *)
double sumQ(DIGI const &digi, double ped, int i=0, int j=3)
const HcalElectronicsMap * getHcalMapping() const
ContainerXXX< uint32_t > _xQuality
std::vector< uint32_t > _vhashFEDs
hcaldqm::Container1D _LED_CUCountvsLSmod60_Subdet
hcaldqm::ContainerProf2D _cTimingCut_ElectronicsVME
hcaldqm::Container2D _cOccupancyCut_FEDuTCA
virtual void fill(int, int)
std::vector< HcalGenericDetId > allPrecisionId() const
void _resetMonitors(hcaldqm::UpdateFreq) override
virtual CompactMap::const_iterator begin()
hcaldqm::ContainerProf2D _cTimingCut_FEDuTCA
hcaldqm::ContainerProf2D _cTimingCut_FEDVME
std::map< HcalSubdetector, short > _capidmbx
#define DEFINE_FWK_MODULE(type)
hcaldqm::ContainerXXX< uint32_t > _xUniHF
constexpr DetId detid() const
Get the detector id.
hcaldqm::Container1D _cADC_SubdetPM
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
hcaldqm::Container2D _cOccupancy_FEDuTCA
uint32_t hash_Subdet(HcalDetId const &)
virtual void initialize(FilterType ftype, hashfunctions::HashType htype, std::vector< uint32_t > const &)
virtual CompactMap::const_iterator end()
hcaldqm::filter::HashFilter _filter_TDC6bit
Readout chain identification for Hcal.
hcaldqm::Container2D _cSummaryvsLS_FED
hcaldqm::ContainerProf1D _cOccupancyCutvsBX_Subdet
hcaldqm::electronicsmap::ElectronicsMap _ehashmap
constexpr int samples() const
total number of samples in the digi
const hash_function_did hash_did[nHashType_did]
hcaldqm::Container1D _cDigiSize_FED
hcaldqm::ContainerProf2D _cTimingCut_depth
bool isFEDHF(HcalElectronicsId const &)
void setBinContent(HcalDetId const &, int) override
hcaldqm::Container1D _LED_CUCountvsLS_Subdet
hcaldqm::Container2D _cOccupancyCut_FEDVME
hcaldqm::filter::HashFilter _filter_uTCA
hcaldqm::ContainerProf1D _cSumQvsLS_SubdetPM_QIE1011
void dqmthrow(std::string const &msg) const
hcaldqm::Container2D _cADCvsTS_SubdetPM
hcaldqm::ContainerSingle2D _cSummaryvsLS
void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="") override
hcaldqm::ContainerProf2D _cLETDCTime_depth
void fill(HcalDetId const &) override
hcaldqm::Container1D _cLETDCTime_SubdetPM
hcaldqm::ContainerProf2D _cTimingCut_ElectronicsuTCA
virtual void fill(uint32_t)
hcaldqm::ContainerProf1D _cTimingCutvsLS_FED
const_iterator end() const
hcaldqm::Container2D _cBadTDCCount_depth
hcaldqm::ContainerProf1D _cOccupancyCutvsLS_Subdet
constexpr HcalSubdetector subdet() const
get the subdetector
edm::EDGetTokenT< HODigiCollection > _tokHO
hcaldqm::filter::HashFilter _filter_VME
hcaldqm::Container2D _LED_ADCvsBX_Subdet
hcaldqm::filter::HashFilter _filter_TDC2bit
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
const_iterator begin() const
The iterator returned can not safely be used across threads.
edm::ESHandle< HcalDbService > _dbService
hcaldqm::ContainerXXX< uint32_t > _xDigiSize
hcaldqm::ContainerSingle2D _cCapid_BadvsFEDvsLS
hcaldqm::Container2D _cLETDCvsTS_2bit_SubdetPM
UseScope< MonitorElementData::Scope::LUMI > UseLumiScope
hcaldqm::Container2D _cOccupancy_ElectronicsuTCA
hcaldqm::electronicsmap::ElectronicsMap _dhashmap
constexpr DetId detid() const
Get the detector id.
hcaldqm::Container1D _cBadTDCvsLS_SubdetPM
hcaldqm::Container1D _cCapidMinusBXmod4_SubdetPM
std::vector< uint32_t > _vcdaqEids
hcaldqm::ContainerProf1D _cQ2Q12CutvsLS_FEDHF
hcaldqm::ContainerXXX< uint32_t > _xNChs
void fill(HcalDetId const &) override
T getParameter(std::string const &) const
hcaldqm::Container2D _cLETDCvsADC_6bit_SubdetPM
void initialize(std::string const &folder, hashfunctions::HashType, quantity::Quantity *, quantity::Quantity *, int debug=0) override
hcaldqm::Container2D _cOccupancy_ElectronicsVME
constexpr uint32_t rawId() const
get the raw id
hcaldqm::ContainerSingle2D _cCapidMinusBXmod4_CrateSlotuTCA[4]
hcaldqm::Container1D _cfC_SubdetPM_QIE1011
bool isFEDHBHE(HcalElectronicsId const &)
virtual void setBinContent(int, int, int)
constexpr uint32_t rawId() const
hcaldqm::Container2D _cOccupancyCut_depth
hcaldqm::Container2D _cLETDCvsADC_2bit_SubdetPM
const HcalElectronicsMap * _emap
virtual void book(DQMStore::IBooker &, std::string subsystem="Hcal", std::string aux="")
std::pair< uint16_t, uint16_t > fed2crate(int fed)
bool isFEDHO(HcalElectronicsId const &)
hcaldqm::Container2D _cOccupancyCut_ElectronicsuTCA
hcaldqm::Container2D _cOccupancy_depth
std::vector< int > getFEDVMEList(HcalElectronicsMap const *)
std::vector< hcaldqm::flag::Flag > _vflags
void _process(edm::Event const &, edm::EventSetup const &) override
virtual void book(HcalElectronicsMap const *)
std::shared_ptr< hcaldqm::Cache > globalBeginLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &) const override
hcaldqm::filter::HashFilter _filter_QIE8
virtual STDTYPE & get(HcalDetId const &)
hcaldqm::Container2D _cOccupancy_Crate
hcaldqm::ContainerProf1D _cSumQvsLS_SubdetPM
hcaldqm::ContainerProf1D _cTimingCutvsLS_SubdetPM
hcaldqm::Container2D _cOccupancy_CrateSlot
hcaldqm::Container2D _cLETDCTimevsADC_SubdetPM
virtual void initialize(std::string const &folder, quantity::Quantity *, quantity::Quantity *, quantity::Quantity *qz=new quantity::ValueQuantity(quantity::fN), int debug=0)
std::map< HcalSubdetector, int > _refDigiSize
virtual void initialize(std::string const &folder, hashfunctions::HashType, quantity::Quantity *, quantity::Quantity *qy=new quantity::ValueQuantity(quantity::fN), int debug=0)
hcaldqm::Container1D _cOccupancyvsiphi_SubdetPM
hcaldqm::ContainerProf1D _cSumQvsBX_SubdetPM
void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="") override
hcaldqm::Container1D _cOccupancyCutvsieta_Subdet
hcaldqm::ContainerProf2D _cSumQ_depth
hcaldqm::filter::HashFilter _filter_FEDHF
std::vector< int > getFEDuTCAList(HcalElectronicsMap const *)
hcaldqm::ContainerProf1D _cDigiSizevsLS_FED
const_iterator end() const
virtual void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="")
hcaldqm::ContainerProf1D _cSumQvsBX_SubdetPM_QIE1011
MonitorElement * meUnknownIds1LS
edm::EDGetTokenT< QIE11DigiCollection > _tokQIE11
hcaldqm::filter::HashFilter _filter_QIE1011