25 int main(
int argc,
char **argv)
33 typedef JRange<double> JRange_t;
38 double minDistanceHV = 2 * 3.14;
39 JRange_t rangeHV = JRange_t(-1500 + 1e-2,
49 JParser<> zap(
"Example program to interpolate high-voltage versus gain ASCII data.");
65 catch (
const exception& error) {
66 FATAL(error.what() << endl);
69 JHVInterpolator::setMinHVDistance(minDistanceHV);
70 JHVInterpolator::setHVRange (rangeHV);
71 JHVInterpolator::setGainRange (rangeGain);
73 TMultiGraph graph (output.getObjectName(), NULL);
74 JHVInterpolator interpolator(graph);
78 for (map_t::const_iterator i = input.cbegin(); i != input.cend(); ++i) {
80 const double HV = i->first;
81 const double gain = i->second.first;
82 const double gainError = i->second.second;
86 interpolator.AddPoint(HV, gain, gainError);
89 NOTICE(
FILL(100,
'-') <<
" Interpolated high-voltage" << setfill(
' ') << endl);
93 const double targetHV = interpolator.getTargetHV (targetGain);
94 const double targetHVError = interpolator.getTargetHVError(targetGain);
96 NOTICE(
FIXED(35,2) << right << -targetHV <<
" +/- " <<
97 FIXED(8, 2) << left << targetHVError <<
98 FIXED(9, 2) << right << targetGain << endl);
100 catch (
const exception& error) {
101 FATAL(error.what() << endl);
104 TFile
file(output.getFilename().c_str(),
"RECREATE");
Utility class to parse command line options.
int main(int argc, char *argv[])
Time calibration (including definition of sign of time offset).
#define gmake_property(A)
macro to convert (template) parameter to JPropertiesElement object
static const double FITTOT_GAIN_MAX
Default maximal gain.
static const double FITTOT_GAIN_MIN
Default minimal gain.
Utility class to parse parameter values.
Empty structure for specification of parser element that is initialised (i.e. does not require input)...
then usage $script< string identifier >< detectorfile > input file(toashort file)+" "\nNote that the input files and toashort files should be one-to-one related." fi if (( $
Dynamic ROOT object management.
Auxiliary data structure for floating point format specification.
I/O formatting auxiliaries.
Auxiliary data structure to store high-voltage versus gain data and interpolate the nominal high-volt...
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
const double NOMINAL_GAIN
Specification for normalized gain corresponding to a one photo-electron pulse.
General purpose messaging.
Auxiliary data structure for sequence of same character.
then $JPP_DIR examples JDetector JToT o $OUTPUT_FILE n N $NPE P gain
Utility class to parse command line options.