24 #include <CLHEP/Units/SystemOfUnits.h> 29 : zdcHits(ps.getUntrackedParameter<
std::
string>(
"HitCollection",
"ZdcHits")),
30 outFile_(ps.getUntrackedParameter<
std::
string>(
"outputFile",
"zdcHitStudy.root")),
31 verbose_(ps.getUntrackedParameter<
bool>(
"Verbose",
false)),
38 ib.setCurrentFolder(
"ZDCDigiValidation");
40 ib.setScope(MonitorElementData::Scope::RUN);
54 ib.setCurrentFolder(
"ZDCDigiValidation/ZDC_Digis/1D_fC");
55 meZdcfCPHAD =
ib.book1D(
"PHAD_TotalfC",
"PZDC_HAD_TotalfC", 1000, -50, 10000);
59 meZdcfCPTOT =
ib.book1D(
"PZDC_TotalfC",
"PZDC_TotalfC", 1000, -50, 20000);
63 meZdcfCNHAD =
ib.book1D(
"NHAD_TotalfC",
"NZDC_HAD_TotalfC", 1000, -50, 10000);
67 meZdcfCNTOT =
ib.book1D(
"NZDC_TotalfC",
"NZDC_TotalfC", 1000, -50, 20000);
73 ib.setCurrentFolder(
"ZDCDigiValidation/ZDC_Digis/fCvsTS/PZDC");
120 ib.setCurrentFolder(
"ZDCDigiValidation/ZDC_Digis/fCvsTS/NZDC");
169 ib.setCurrentFolder(
"ZDCDigiValidation/ZDC_Digis/2D_EMvHAD");
172 meZdcfCPEMvHAD =
ib.book2D(
"PEMvPHAD",
"PZDC_EMvHAD", 200, -25, 12000, 200, -25, 15000);
177 meZdcfCNEMvHAD =
ib.book2D(
"NEMvNHAD",
"NZDC_EMvHAD", 1000, -25, 12000, 1000, -25, 15000);
194 bool gotZDCDigis =
true;
204 double totalPHADCharge = 0;
205 double totalNHADCharge = 0;
206 double totalPEMCharge = 0;
207 double totalNEMCharge = 0;
208 double totalPCharge = 0;
209 double totalNCharge = 0;
212 if (gotZDCDigis ==
true) {
222 for (
int i = 0;
i < digi.
size(); ++
i)
245 if (
i == 4 ||
i == 5 ||
i == 6)
249 for (
int i = 0;
i < digi.
size(); ++
i) {
270 if (
i == 4 ||
i == 5 ||
i == 6)
279 for (
int i = 0;
i < digi.
size(); ++
i) {
305 if (
i == 4 ||
i == 5 ||
i == 6)
309 for (
int i = 0;
i < digi.
size(); ++
i) {
335 if (
i == 4 ||
i == 5 ||
i == 6)
341 totalPCharge = totalPHADCharge + (0.1) * totalPEMCharge;
342 totalNCharge = totalNHADCharge + (0.1) * totalNEMCharge;
346 for (
int i = 0;
i < digi.
size(); ++
i)
Log< level::Info, true > LogVerbatim
const HcalQIESample & sample(int i) const
access a sample
virtual void setOption(const char *option)
constexpr double nominal_fC() const
get the nominal FC (no calibrations applied)
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
std::vector< T >::const_iterator const_iterator
MonitorElement * meZdcfCPTOT
MonitorElement * meZdcPEM1fCvsTS
MonitorElement * meZdcfCPEMvHAD
void dqmEndRun(const edm::Run &run, const edm::EventSetup &c) override
MonitorElement * meZdcPHAD2fCvsTS
MonitorElement * meZdcfCNTOT
MonitorElement * meZdcPHAD3fCvsTS
MonitorElement * meZdcfCPHAD
const std::string zdcHits
MonitorElement * meZdcNHAD2fCvsTS
void analyze(const edm::Event &e, const edm::EventSetup &c) override
MonitorElement * meZdcPEM3fCvsTS
MonitorElement * meZdcNHAD3fCvsTS
MonitorElement * meZdcPEM2fCvsTS
#define DEFINE_FWK_MODULE(type)
MonitorElement * meZdcNEM2fCvsTS
MonitorElement * meZdcNEM4fCvsTS
MonitorElement * meZdcNEM3fCvsTS
const_iterator begin() const
const HcalZDCDetId & id() const
MonitorElement * meZdcPHAD1fCvsTS
int size() const
total number of samples in the digi
const_iterator end() const
MonitorElement * meZdcNHAD4fCvsTS
MonitorElement * meZdcNHAD1fCvsTS
const edm::EDGetTokenT< ZDCDigiCollection > tok_zdc_
MonitorElement * meZdcfCNHAD
constexpr Section section() const
get the section
constexpr int adc() const
get the ADC sample
MonitorElement * meZdcfCNEMvHAD
constexpr int32_t channel() const
get the channel
MonitorElement * meZdcPHAD4fCvsTS
constexpr int32_t zside() const
get the z-side of the cell (1/-1)
ZDCDigiStudy(const edm::ParameterSet &ps)
MonitorElement * meZdcPEM4fCvsTS
MonitorElement * meZdcPEM5fCvsTS
MonitorElement * meZdcNEM1fCvsTS
const std::string outFile_
MonitorElement * meZdcNEM5fCvsTS
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)