8 #include "TGraphErrors.h"
24 int main(
int argc,
char **argv)
35 JParser<> zap(
"Auxiliary application to fit mechanical constants.");
37 zap[
'f'] =
make_field(inputFile,
"input file; see https://git.km3net.de/calibration/input_tables");
43 catch(
const exception &error) {
44 FATAL(error.what() << endl);
48 const double error = 0.2;
56 ifstream
in(inputFile.c_str());
62 DEBUG(
"Header " << buffer << endl);
64 const locale
loc(
in.getloc(),
new JWhiteSpacesFacet(
in.getloc(),
", \t\r\n"));
68 for (
double x,
y;
in >> x >>
y; ) {
81 DEBUG(
"Number of points " <<
g1.GetN() << endl);
84 TF1
f1(
"f1",
"[0]*(x + [1]*log(1.0 - [2]*x))");
86 f1.SetParameter(0, ymax /
xmax);
87 f1.SetParameter(1, 0.25 *
xmax);
88 f1.SetParameter(2, 0.50 /
xmax);
93 cout << inputFile << endl;
95 cout <<
"T_x = " <<
FIXED(5,2) << f1.GetParameter(0) <<
" [s^2/m^2] * v_x^2" << endl;
97 cout <<
"b [m] " <<
FIXED(7,3) << f1.GetParameter(1) << endl;
98 cout <<
"a [m^-1] " <<
FIXED(7,5) << f1.GetParameter(2) << endl;
Utility class to parse command line options.
int main(int argc, char *argv[])
void AddPoint(TGraph *g1, const Double_t x, const Double_t y)
Add point to TGraph.
Auxiliary data structure for floating point format specification.
const JPolynome f1(1.0, 2.0, 3.0)
Function.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
std::istream & getline(std::istream &in, JString &object)
Read string from input stream until end of line.
General purpose messaging.
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
Utility class to parse command line options.
#define DEBUG(A)
Message macros.
Double_t g1(const Double_t x)
Function.