25int main(
int argc,
char **argv)
31 JLimit_t& numberOfEvents = inputFile.getLimit();
33 bool overwriteDetector;
38 JParser<> zap(
"Auxialiry program to determine average creep of strings.");
40 zap[
'f'] =
make_field(inputFile,
"input file (output of JKatoomba[.sh])");
42 zap[
'a'] =
make_field(detectorFile,
"detector file.") =
"";
43 zap[
'A'] =
make_field(overwriteDetector,
"overwrite detector file provided through '-a' with average stretching.");
48 catch(
const exception &error) {
49 FATAL(error.what() << endl);
54 if (detectorFile !=
"") {
71 for (JEvt::const_iterator i = evt->begin(); i != evt->end(); ++i) {
79 cout << setw(4) << i->first <<
' '
80 << setw(6) << i->second.getCount() <<
' '
81 <<
FIXED(9,6) << i->second.getMean (0.0) <<
' '
82 <<
FIXED(9,6) << i->second.getSTDev(0.0) << endl;
86 if (overwriteDetector) {
90 for (JDetector::iterator module =
detector.begin(); module !=
detector.end(); ++module) {
91 buffer[module->getString()][module->getFloor()] = &(*module);
96 if (buffer.count(i->first) != 0 && buffer[i->first].count(0) != 0) {
98 const double z0 = buffer[i->first][0]->getZ();
100 for (
auto& module : buffer[i->first]) {
102 if (module.second->getFloor() != 0) {
104 const double z1 =
module.second->getZ();
106 module.second->add(JPosition3D(0.0, 0.0, i->second.getMean(0.0) * (z1 - z0)));
112 FATAL(
"Missing location " <<
FILL(4,
'0') << i->first <<
'.' <<
FILL(2,
'0') << 0 <<
FILL() << endl);
116 NOTICE(
"Store stretching data on file " << detectorFile << endl);
ROOT TTree parameter settings.
Data structure for detector geometry and calibration.
General purpose messaging.
#define DEBUG(A)
Message macros.
Scanning of objects from multiple files according a format that follows from the extension of each fi...
Utility class to parse command line options.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
I/O formatting auxiliaries.
Utility class to parse command line options.
General purpose class for object reading from a list of file names.
virtual bool hasNext() override
Check availability of next element.
counter_type getCounter() const
Get counter.
virtual const pointer_type & next() override
Get next element.
void load(const std::string &file_name, JDetector &detector)
Load detector from input file.
void store(const std::string &file_name, const JDetector &detector)
Store detector to output file.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Auxiliary data structure for sequence of same character.
Auxiliary data structure for floating point format specification.
Auxiliary class for defining the range of iterations of objects.
static counter_type max()
Get maximum counter value.