92 unsigned int n_digi_etl[2] = {0, 0};
94 for (
const auto& dataFrame : *etlDigiHitsHandle) {
98 const auto&
sample = dataFrame.sample(isample);
105 if (thedet ==
nullptr)
106 throw cms::Exception(
"EtlDigiHitsValidation") <<
"GeographicalID: " << std::hex << geoId.
rawId() <<
" (" 107 << detId.
rawId() <<
") is invalid!" <<
std::dec << std::endl;
111 const auto& global_point = thedet->
toGlobal(local_point);
115 int idet = (detId.
zside() + 1) / 2;
149 meNhits_[0] = ibook.
book1D(
"EtlNhitsZneg",
"Number of ETL DIGI hits (-Z);N_{DIGI}", 100, 0., 5000.);
150 meNhits_[1] = ibook.
book1D(
"EtlNhitsZpos",
"Number of ETL DIGI hits (+Z);N_{DIGI}", 100, 0., 5000.);
152 meHitCharge_[0] = ibook.
book1D(
"EtlHitChargeZneg",
"ETL DIGI hits charge (-Z);Q_{DIGI} [ADC counts]", 100, 0., 256.);
153 meHitCharge_[1] = ibook.
book1D(
"EtlHitChargeZpos",
"ETL DIGI hits charge (+Z);Q_{DIGI} [ADC counts]", 100, 0., 256.);
154 meHitTime_[0] = ibook.
book1D(
"EtlHitTimeZneg",
"ETL DIGI hits ToA (-Z);ToA_{DIGI} [TDC counts]", 100, 0., 2000.);
155 meHitTime_[1] = ibook.
book1D(
"EtlHitTimeZpos",
"ETL DIGI hits ToA (+Z);ToA_{DIGI} [TDC counts]", 100, 0., 2000.);
158 "ETL DIGI hits occupancy (-Z);X_{DIGI} [cm];Y_{DIGI} [cm]",
166 "ETL DIGI hits occupancy (+Z);X_{DIGI} [cm];Y_{DIGI} [cm]",
174 meHitX_[0] = ibook.
book1D(
"EtlHitXZneg",
"ETL DIGI hits X (-Z);X_{DIGI} [cm]", 100, -130., 130.);
175 meHitX_[1] = ibook.
book1D(
"EtlHitXZpos",
"ETL DIGI hits X (+Z);X_{DIGI} [cm]", 100, -130., 130.);
176 meHitY_[0] = ibook.
book1D(
"EtlHitYZneg",
"ETL DIGI hits Y (-Z);Y_{DIGI} [cm]", 100, -130., 130.);
177 meHitY_[1] = ibook.
book1D(
"EtlHitYZpos",
"ETL DIGI hits Y (+Z);Y_{DIGI} [cm]", 100, -130., 130.);
178 meHitZ_[0] = ibook.
book1D(
"EtlHitZZneg",
"ETL DIGI hits Z (-Z);Z_{DIGI} [cm]", 100, -304.2, -303.4);
179 meHitZ_[1] = ibook.
book1D(
"EtlHitZZpos",
"ETL DIGI hits Z (+Z);Z_{DIGI} [cm]", 100, 303.4, 304.2);
181 meHitPhi_[0] = ibook.
book1D(
"EtlHitPhiZneg",
"ETL DIGI hits #phi (-Z);#phi_{DIGI} [rad]", 100, -3.15, 3.15);
182 meHitPhi_[1] = ibook.
book1D(
"EtlHitPhiZpos",
"ETL DIGI hits #phi (+Z);#phi_{DIGI} [rad]", 100, -3.15, 3.15);
183 meHitEta_[0] = ibook.
book1D(
"EtlHitEtaZneg",
"ETL DIGI hits #eta (-Z);#eta_{DIGI}", 100, -3.2, -1.56);
184 meHitEta_[1] = ibook.
book1D(
"EtlHitEtaZpos",
"ETL DIGI hits #eta (+Z);#eta_{DIGI}", 100, 1.56, 3.2);
187 "ETL DIGI ToA vs charge (-Z);Q_{DIGI} [ADC counts];ToA_{DIGI} [TDC counts]",
194 "ETL DIGI ToA vs charge (+Z);Q_{DIGI} [ADC counts];ToA_{DIGI} [TDC counts]",
201 "ETL DIGI charge vs #phi (-Z);#phi_{DIGI} [rad];Q_{DIGI} [ADC counts]",
208 "ETL DIGI charge vs #phi (+Z);#phi_{DIGI} [rad];Q_{DIGI} [ADC counts]",
215 "EtlHitQvsEtaZneg",
"ETL DIGI charge vs #eta (-Z);#eta_{DIGI};Q_{DIGI} [ADC counts]", 50, -3.2, -1.56, 0., 1024.);
217 "EtlHitQvsEtaZpos",
"ETL DIGI charge vs #eta (+Z);#eta_{DIGI};Q_{DIGI} [ADC counts]", 50, 1.56, 3.2, 0., 1024.);
219 "ETL DIGI ToA vs #phi (-Z);#phi_{DIGI} [rad];ToA_{DIGI} [TDC counts]",
226 "ETL DIGI ToA vs #phi (+Z);#phi_{DIGI} [rad];ToA_{DIGI} [TDC counts]",
233 "EtlHitTvsEtaZneg",
"ETL DIGI ToA vs #eta (-Z);#eta_{DIGI};ToA_{DIGI} [TDC counts]", 50, -3.2, -1.56, 0., 1024.);
235 "EtlHitTvsEtaZpos",
"ETL DIGI ToA vs #eta (+Z);#eta_{DIGI};ToA_{DIGI} [TDC counts]", 50, 1.56, 3.2, 0., 1024.);
245 descriptions.
add(
"etlDigiHitsDefault", desc);
T getParameter(std::string const &) const
MonitorElement * meHitTvsPhi_[2]
MonitorElement * meHitEta_[2]
MonitorElement * bookProfile(Args &&...args)
virtual const Topology & topology() const
GlobalPoint toGlobal(const Local2DPoint &lp) const
Conversion to the global R.F. from the R.F. of the GeomDet.
constexpr uint32_t rawId() const
get the raw id
MonitorElement * meHitTvsQ_[2]
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
edm::EDGetTokenT< ETLDigiCollection > etlDigiHitsToken_
Handle< PROD > getHandle(EDGetTokenT< PROD > token) const
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
const MTDGeomDet * idToDet(DetId) const override
#define DEFINE_FWK_MODULE(type)
void setCurrentFolder(std::string const &fullpath)
void analyze(const edm::Event &, const edm::EventSetup &) override
~EtlDigiHitsValidation() override
MonitorElement * meHitTvsEta_[2]
ETLDetId geographicalId() const
MonitorElement * meNhits_[2]
MonitorElement * meHitCharge_[2]
MonitorElement * book1D(Args &&...args)
virtual float localX(float mpX) const =0
MonitorElement * meHitX_[2]
ParameterDescriptionBase * add(U const &iLabel, T const &value)
MonitorElement * meHitZ_[2]
MonitorElement * meHitY_[2]
MonitorElement * book2D(Args &&...args)
MonitorElement * meHitQvsEta_[2]
MonitorElement * meHitQvsPhi_[2]
void add(std::string const &label, ParameterSetDescription const &psetDescription)
MonitorElement * meHitPhi_[2]
MonitorElement * meHitTime_[2]
Detector identifier class for the Endcap Timing Layer.
EtlDigiHitsValidation(const edm::ParameterSet &)
virtual float localY(float mpY) const =0
auto makeValid(const U &iOtherHandleType) noexcept(false)
const std::string folder_
T const * product() const
MonitorElement * meOccupancy_[2]