27 static const char*
const first_t =
"first";
44int main(
int argc,
char **argv)
61 JParser<> zap(
"Auxiliary program to histogram bin-by-bin deviations of a set of 1D histograms.");
63 zap[
'f'] =
make_field(inputFile,
"<input file>:<object name>");
67 zap[
'F'] =
make_field(formula,
"ROOT TFormula (may contain method names of object)") =
"0";
73 catch(
const exception &error) {
82 TH1* h1 =
dynamic_cast<TH1*
>(getObject(*input));
105 X.getNumberOfBins(), X.getLowerLimit(), X.getUpperLimit());
113 const double y1 = getResult(formula, h1);
115 DEBUG(h1->GetName() <<
' ' << formula <<
' ' << y1 <<
endl);
117 for (
Int_t i = 1; i <= h1->GetNbinsX(); ++i) {
121 h0->Fill(reverse ? y1 -
yp :
yp - y1);
128 for (
Int_t i = 1; i <= h1->GetNbinsX(); ++i) {
130 const double y1 = h1->GetBinContent(i);
136 h0->Fill(reverse ? y1 -
yp :
yp - y1);
142 const double y1 = getResult(formula);
144 for (
Int_t i = 1; i <= h1->GetNbinsX(); ++i) {
150 h0->Fill(reverse ? y1 -
yp :
yp - y1);
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 main(int argc, char **argv)
Auxiliary class to handle file name, ROOT directory and object name.
Template definition of a multi-dimensional oscillation probability interpolation table.
Utility class to parse command line options.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).