32 int main(
int argc,
char **argv)
42 JAbstractHistogram_t X;
43 JAbstractHistogram_t Y;
48 JParser<> zap(
"Example program to histogram trigger efficiency.");
52 zap[
'X'] =
make_field(X,
"Energy binning") = JAbstractHistogram_t(20, 1e-3, 100.0);
53 zap[
'Y'] =
make_field(Y,
"Zenith-angle binning") = JAbstractHistogram_t(20, -1.0, 1.0);
58 catch(
const exception &error) {
59 FATAL(error.what() << endl);
68 X.getNumberOfBins(), X.getLowerLimit(), X.getUpperLimit(),
69 Y.getNumberOfBins(), Y.getLowerLimit(), Y.getUpperLimit());
71 X.getNumberOfBins(), X.getLowerLimit(), X.getUpperLimit(),
72 Y.getNumberOfBins(), Y.getLowerLimit(), Y.getUpperLimit());
74 X.getNumberOfBins(), X.getLowerLimit(), X.getUpperLimit(),
75 Y.getNumberOfBins(), Y.getLowerLimit(), Y.getUpperLimit());
86 const Evt*
event = ps;
92 if (hit != event->mc_hits.cend() &&
primary != event->mc_trks.cend()) {
101 STATUS(
"event: " << setw(10) << in.getCounter() <<
'\r');
DEBUG(endl);
103 const Evt*
event = in.next();
109 if (hit != event->mc_hits.cend() &&
primary != event->mc_trks.cend()) {
116 for (Int_t i = 1; i <= h1.GetNbinsX(); ++i) {
117 for (Int_t
j = 1;
j <= h1.GetNbinsY(); ++
j) {
119 const Double_t z1 = h1.GetBinContent(i,
j);
120 const Double_t z0 = h0.GetBinContent(i,
j);
124 const Double_t z3 = z1 / z0;
125 const Double_t w3 = sqrt(z1 * (z0 - z1) / (z0*z0*z0));
127 h2.SetBinContent(i,
j, z3);
128 h2.SetBinError (i,
j, w3);
131 ERROR(
"Bin " << h0.GetName() <<
"[" << i <<
"," <<
j <<
"] empty." << endl);
General purpose messaging.
#define DEBUG(A)
Message macros.
Utility class to parse command line options.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
ROOT TTree parameter settings of various packages.
int main(int argc, char **argv)
Synchronously read DAQ events and Monte Carlo events (and optionally other events).
Utility class to parse command line options.
virtual bool hasNext() override
Check availability of next element.
counter_type getCounter() const
Get counter.
bool is_initialstate(const Trk &track)
Test whether given track corresponds to an initial state particle.
bool is_noise(const Hit &hit)
Verify hit origin.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
KM3NeT DAQ data structures and auxiliaries.
The Evt class respresent a Monte Carlo (MC) event as well as an offline event.
General purpose class for multiple pointers.
Auxiliary class to synchronously read DAQ events and Monte Carlo events (and optionally other events)...
virtual bool hasNext() override
Check availability of next element.
virtual const multi_pointer_type & next() override
Get next element.