18 std::vector<int32_t> slots = channelPSet.getUntrackedParameter<std::vector<int32_t> >(
"slot");
19 std::vector<int32_t> fibers = channelPSet.getUntrackedParameter<std::vector<int32_t> >(
"fiber");
20 std::vector<int32_t> fiberChannels = channelPSet.getUntrackedParameter<std::vector<int32_t> >(
"fiber_channel");
21 for (
unsigned int i = 0;
i < crates.size(); ++
i) {
22 _channels.push_back({crates[
i], slots[
i], fibers[
i], fiberChannels[
i]});
36 for (
auto& it_gid : gids) {
42 if ((
eid.crateId() == it_channel.crate) && (
eid.slot() == it_channel.slot) &&
43 (
eid.fiberIndex() == it_channel.fiber) && (
eid.fiberChanId() == it_channel.fiberChannel)) {
52 ib.setCurrentFolder(
"Hcal/FCDTask/ADC");
53 _cADC[it_eid] =
ib.book1DD(histoname.c_str(), histoname.c_str(), 256, 0, 256);
54 _cADC[it_eid]->setAxisTitle(
"ADC", 1);
55 _cADC[it_eid]->setAxisTitle(
"N", 2);
57 ib.setCurrentFolder(
"Hcal/FCDTask/ADC_vs_TS"),
58 _cADC_vs_TS[it_eid] =
ib.book2D(histoname.c_str(), histoname.c_str(), 10, 0, 10, 64, 0, 256);
62 ib.setCurrentFolder(
"Hcal/FCDTask/TDCTime");
63 _cTDCTime[it_eid] =
ib.book1DD(histoname.c_str(), histoname.c_str(), 500, 0., 250.);
64 _cTDCTime[it_eid]->setAxisTitle(
"TDC time [ns]", 1);
66 ib.setCurrentFolder(
"Hcal/FCDTask/TDC");
67 _cTDC[it_eid] =
ib.book1DD(histoname.c_str(), histoname.c_str(), 64, -0.5, 63.5);
68 _cTDC[it_eid]->setAxisTitle(
"TDC", 1);
78 for (
auto it = digis->
begin(); it != digis->
end(); it++) {
91 if (digi[
i].le_tdc() <= 50.) {
92 double tdctime = 25. *
i + 0.5 * digi[
i].le_tdc();
std::map< HcalElectronicsId, MonitorElement * > _cADC
constexpr DetId detid() const
Get the detector id.
T getParameter(std::string const &) const
FCDTask(edm::ParameterSet const &)
void initialize(HcalElectronicsMap const *, ElectronicsMapType etype=fHcalElectronicsMap)
edm::ESGetToken< HcalDbService, HcalDbRecord > hcalDbServiceToken_
std::string to_string(const V &value)
const HcalElectronicsMap * getHcalMapping() const
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
T getUntrackedParameter(std::string const &, T const &) const
uint32_t lookup(DetId const &)
std::vector< HcalElectronicsId > _fcd_eids
std::map< HcalElectronicsId, MonitorElement * > _cTDCTime
#define DEFINE_FWK_MODULE(type)
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const
const_iterator end() const
bool operator==(const FCDTask::FCDChannel &lhs, const FCDTask::FCDChannel &rhs)
std::vector< FCDChannel > _channels
const_iterator begin() const
The iterator returned can not safely be used across threads.
std::map< HcalElectronicsId, MonitorElement * > _cADC_vs_TS
edm::EDGetTokenT< QIE10DigiCollection > _tokQIE10
std::vector< HcalGenericDetId > allPrecisionId() const
HcalElectronicsMap const * _emap
std::map< HcalElectronicsId, MonitorElement * > _cTDC
Readout chain identification for Hcal.
constexpr int samples() const
total number of samples in the digi
uint16_t *__restrict__ uint16_t const *__restrict__ adc
hcaldqm::electronicsmap::ElectronicsMap _ehashmap
void analyze(edm::Event const &, edm::EventSetup const &) override
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override