35{
38
40 string usr;
41 string pwd;
42 string cookie;
43
45 string detectorFile;
47
49
50 try {
51
52 JParser<> zap(
"Program to create input data for HV-tuning.");
53
58 zap[
'f'] =
make_field(inputFiles,
"map of run numbers to file names (i.e. to the output of JFitToT)");
59 zap[
'a'] =
make_field(detectorFile,
"detector file");
62
63 zap(argc, argv);
64 }
65 catch(const exception &error) {
66 FATAL(error.what() << endl);
67 }
68
69
71
73
74 try {
75
77
78 JDB::reset(usr, pwd, cookie);
79
80
81
83
84 const int runNr = fileIt->first;
85
86 NOTICE(
"Extracting Gain-/HV-data for run " << runNr << endl);
87
88 {
89 TFile fitData(fileIt->second.c_str(), "READ");
90
93
95
96 const int domID =
detector.getModule(
JLocation(table.DUID, table.FLOORID)).getID();
97 const string pmtID =
MAKE_STRING(right << domID <<
'.' <<
FILL(2,
'0') << table.CABLEPOS);
98
100 const TF1* f1 = (h1 != NULL ? h1->GetFunction(
FITTOT_FNAME.c_str()) : NULL);
101
103
104 if (f1 != NULL) {
105
107
108 const double gain = f1->GetParameter(Ngain);
109 const double gainError = f1->GetParError (Ngain);
110
111 interpolator.AddPoint(table.HV_VALUE, gain, gainError);
112 }
113 }
114
115 rs.Close();
116 }
117 }
118
119 } catch (const exception& error) {
120
121 FATAL(error.what() << endl);
122 }
123
124
125
126
128
130
134 }
135 }
136
137 out << manager;
138
139 out.Close();
140}
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
#define MAKE_CSTRING(A)
Make C-string.
#define MAKE_STRING(A)
Make string.
Logical location of module.
Utility class to parse command line options.
Auxiliary class to manage set of compatible ROOT objects (e.g. histograms) using unique keys.
Object reading from a list of files.
virtual bool hasNext() override
Check availability of next element.
static const char *const FITTOT_GAIN_PARNAME
static const std::string FITTOT_FNAME
static const std::string FITTOT_SUFFIX
ResultSet & getResultSet(const std::string &query)
Get result set.
const char * getTable()
Get table name.
JDetectorsHelper & getDetector()
Auxiliary function for helper object initialisation.
std::vector< JServer > getServernames()
Get list of names of available database servers.
void load(const std::string &file_name, JDetector &detector)
Load detector from input file.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
bool putObject(TDirectory &dir, const TObject &object)
Write object to ROOT directory.
Auxiliary data structure for sequence of same character.
Auxiliary data structure to store high-voltage versus gain data and interpolate the nominal high-volt...
Wrapper class for server name.
Template definition for getting table specific selector.