33 using namespace KM3NETDAQ;
41 JParser<> zap(
"Example program to histogram trigger efficiency.");
49 catch(
const exception &error) {
50 FATAL(error.what() << endl);
58 TH1D h0(
"h0", NULL, 100, 0.5, 100.5);
59 TH1D h1(
"h1", NULL, 100, 0.5, 100.5);
60 TH1D h2(
"h2", NULL, 100, 0.5, 100.5);
65 while (inputFile.hasNext()) {
67 STATUS(
"event: " << setw(10) << inputFile.getCounter() <<
'\r');
DEBUG(endl);
71 const Evt*
event = ps;
73 const int n =
event->mc_hits.size() - count_if(event->mc_hits.begin(),
event->mc_hits.cend(), &
is_noise);
75 h1.Fill((Double_t) n, 1.0);
82 STATUS(
"event: " << setw(10) <<
in.getCounter() <<
'\r');
DEBUG(endl);
84 const Evt*
event =
in.next();
86 const int n =
event->mc_hits.size() - count_if(event->mc_hits.begin(),
event->mc_hits.cend(), &
is_noise);
88 h0.Fill((Double_t) n, 1.0);
93 for (Int_t
i = 1;
i <= h1.GetNbinsX(); ++
i) {
95 const Double_t y1 = h1.GetBinContent(
i);
96 const Double_t y0 = h0.GetBinContent(
i);
100 const Double_t y3 = y1 / y0;
101 const Double_t w3 = sqrt(y1 * (y0 - y1) / (y0*y0*y0));
103 h2.SetBinContent(
i, y3);
104 h2.SetBinError (
i, w3);
107 ERROR(
"Bin " << h0.GetName() <<
"[" <<
i <<
"] empty." << endl);
Utility class to parse command line options.
Auxiliary class to synchronously read DAQ events and Monte Carlo events (and optionally other events)...
bool is_noise(const Hit &hit)
Verify hit origin.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
General purpose class for object reading from a list of file names.
General purpose class for multiple pointers.
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2] eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY JAcoustics sh $DETECTOR_ID source JAcousticsToolkit sh CHECK_EXIT_CODE typeset A EMITTERS get_tripods $WORKDIR tripod txt EMITTERS get_transmitters $WORKDIR transmitter txt EMITTERS for EMITTER in
The Evt class respresent a Monte Carlo (MC) event as well as an offline event.
#define DEBUG(A)
Message macros.