28 const char*
const Mass_t =
"Mass";
29 const char*
const Volume_t =
"Volume";
39 int main(
int argc,
char **argv)
55 JParser<> zap(
"Example program to histogram neutrino effective mass for triggered events.");
59 zap[
'X'] =
make_field(logx,
"Use logarithm of energy");
61 zap[
'O'] =
make_field(option,
"Result option") = Mass_t, Volume_t;
66 catch(
const exception &error) {
67 FATAL(error.what() << endl);
72 double Xmin = numeric_limits<double>::max();
73 double Xmax = numeric_limits<double>::lowest();
79 const JVolume volume(scanner->getHeader(), logx);
91 NOTICE(
"Scanning file type " << scanner->getName() << endl);
92 DEBUG (header << endl);
94 const JEvtWeight& weighter = scanner->getEvtWeighter();
96 if (!header.
is_valid(&JHead::genvol)) {
97 FATAL(
"Mising normalisation in header." << endl);
102 if (header.
is_valid(&JHead::cut_nu))
107 while (scanner->hasNext()) {
109 STATUS(
"event: " << setw(10) << scanner->getCounter() <<
'\r');
DEBUG(endl);
111 const Evt*
event = scanner->next();
117 (logx ? log(10.0) *
primary.E * hm->GetBinWidth(1) : hm->GetBinWidth(1)) /
120 if (option == Mass_t) {
122 }
else if (option == Volume_t) {
138 FATAL(error << endl);
int main(int argc, char **argv)
Dynamic ROOT object management.
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
int numberOfBins
number of bins for average CDF integral of optical module
ROOT TTree parameter settings of various packages.
const JHead & getHeader() const
Get header.
bool is_valid(T JHead::*pd) const
Check validity of given data member in JHead.
Utility class to parse command line options.
Auxiliary class to manage set of compatible ROOT objects (e.g. histograms) using unique keys.
double getVolume(const JType< JEvtWeightGSeaGen > &type, const Evt &evt)
Get volume of given event according given weighter.
const Trk & get_primary(const Evt &evt)
Get primary.
static const double PI
Mathematical constants.
static const double DENSITY_SEA_WATER
Fixed environment values.
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.
Abstract base class for event weighing.
Auxiliary class for histogramming of effective volume.
Double_t getXmax() const
Get maximal abscissa value.
Double_t getXmin() const
Get minimal abscissa value.
JRange_t cosT
Cosine zenith angle range
double numberOfEvents
Number of events.
Auxiliary class for organising Monte Carlo file scanners associated with event weighters.
std::vector< filescanner_type >::iterator iterator
std::vector< filescanner_type >::const_iterator const_iterator
Auxiliary base class for list of file names.
The Trk class represents a Monte Carlo (MC) particle as well as a reconstructed track/shower.