30inline std::istream&
operator>>(std::istream& in, TString&
object)
32 return object.ReadLine(in);
42inline std::ostream&
operator<<(std::ostream& out,
const TString&
object)
44 return out <<
object.Data();
53int main(
int argc,
char **argv)
67 JParser<> zap(
"Auxiliary program to print ROOT fit results.");
69 zap[
'f'] =
make_field(inputFile,
"histogram, e.g: <file name>:<object name>");
70 zap[
'='] =
make_field(fcn,
"function name") =
".*";
78 catch(
const exception &error) {
79 FATAL(error.what() << endl);
83 TObject* p = getObject(inputFile);
86 FATAL(
"No object at " << inputFile << endl);
91 if (f1 == NULL &&
dynamic_cast<TF1*
> (p) != NULL) { f1 =
dynamic_cast<TF1*
>(p); }
92 if (f1 == NULL &&
dynamic_cast<TH1*
> (p) != NULL) { f1 = getFunction(
dynamic_cast<TH1*
> (p), fcn.c_str()); };
93 if (f1 == NULL &&
dynamic_cast<TGraph*
> (p) != NULL) { f1 = getFunction(
dynamic_cast<TGraph*
> (p), fcn.c_str()); };
94 if (f1 == NULL &&
dynamic_cast<TGraph2D*
>(p) != NULL) { f1 = getFunction(
dynamic_cast<TGraph2D*
>(p), fcn.c_str()); };
97 FATAL(
"No function at " << inputFile <<
" " << fcn << endl);
100 for (
int i = 0; i != f1->GetNpar(); ++i) {
101 if (parameter.count(f1->GetParName(i)) != 0) {
102 cout <<
FIXED(20,10) << f1->GetParameter(i) <<
' '
103 <<
FIXED(20,10) << f1->GetParError (i) << endl;
108 cout << f1->EvalPar(x.data()) << endl;
112 cout <<
SCIENTIFIC(15,5) << getResult(formula, f1) << endl;
General purpose messaging.
Utility class to parse command line options.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
int main(int argc, char **argv)
std::istream & operator>>(std::istream &in, TString &object)
Read formula from input stream.
std::ostream & operator<<(std::ostream &out, const TString &object)
Write formula to output stream.
I/O formatting auxiliaries.
Auxiliary class to define a range between two values.
Auxiliary class to handle file name, ROOT directory and object name.
Utility class to parse command line options.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Auxiliary data structure for floating point format specification.
Empty structure for specification of parser element that is initialised (i.e. does not require input)...
Auxiliary data structure for floating point format specification.