12 #include "TTimeStamp.h"
40 JKey_t(
const int string,
42 const std::string& parameter) :
56 friend inline bool operator<(
const JKey_t&
first,
const JKey_t& second)
58 if (first.string == second.string) {
60 if (first.floor == second.floor)
61 return first.parameter < second.parameter;
63 return first.floor < second.floor;
67 return first.string < second.string;
77 std::string toString()
const
79 std::ostringstream os;
94 friend inline std::ostream&
operator<<(std::ostream& out,
const JKey_t&
object)
98 return out << setw(3) << setfill(
'0') <<
object.string <<
'.'
99 << setw(2) << setfill(
'0') <<
object.floor <<
'.'
100 << setfill(
' ') <<
object.parameter;
105 std::string parameter;
116 int main(
int argc,
char **argv)
129 JParser<> zap(
"Auxiliary program to convert ROOT TTree with slow control data to ROOT TGraph's.");
131 zap[
'f'] =
make_field(inputFile,
"ROOT input file (output file of JTuna).");
132 zap[
'n'] =
make_field(numberOfEvents) = JLimit::max();
139 catch(
const exception &error) {
140 FATAL(error.what() << endl);
149 long long int counter = 0;
151 for (inputFile.rewind(); inputFile.hasNext(); ++counter) {
164 floors .insert(p->
floor);
174 JGraph g1(
i->second,
i->first.toString().c_str());
178 g1.SetMinimum(
range.getLowerLimit());
179 g1.SetMaximum(
range.getUpperLimit());
186 os <<
"set_variable NUMBER_OF_STRINGS " << setw(4) <<
strings.size() <<
";" << endl;
187 os <<
"set_variable NUMBER_OF_FLOORS " << setw(4) << floors. size() <<
";" << endl;
189 os <<
"set_variable FIRST_STRING " << setw(4) << *
strings. begin() <<
";" << endl;
190 os <<
"set_variable LAST_STRING " << setw(4) << *
strings.rbegin() <<
";" << endl;
192 if (!floors.empty()) {
193 os <<
"set_variable FIRST_FLOOR " << setw(4) << *floors. begin() <<
";" << endl;
194 os <<
"set_variable LAST_FLOOR " << setw(4) << *floors. rbegin() <<
";" << endl;
196 os <<
"set_array STRINGS ";
200 TNamed meta(
"TUNA", os.str().c_str());
Utility class to parse command line options.
int main(int argc, char *argv[])
double getTime() const
Get time.
void put(const Double_t x, const Double_t y)
Put data.
Data structure for graph data.
bool operator<(const Head &first, const Head &second)
Less than operator.
Empty structure for specification of parser element that is initialised (i.e. does not require input)...
then usage $script< detector specific pre-calibration script >< option > nAuxiliary script to make scan of pre stretching of detector strings(see JEditDetector)." "\nPossible options
Auxiliary data structure to build TGraph.
then git check attr all $INPUT_FILE grep filter
then echo The file $DIR KM3NeT_00000001_00000000 root already please rename or remove it first
Auxiliary class for defining the range of iterations of objects.
I/O formatting auxiliaries.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
ROOT TTree parameter settings.
General purpose messaging.
Scanning of objects from multiple files according a format that follows from the extension of each fi...
z range($ZMAX-$ZMIN)< $MINIMAL_DZ." fi fi typeset -Z 4 STRING typeset -Z 2 FLOOR JPlot1D -f $
Auxiliary class to define a range between two values.
General purpose class for object reading from a list of file names.
Utility class to parse command line options.
void copy(const Head &from, JHead &to)
Copy header from from to to.
const JLimit & getLimit() const
Get limit.
#define DEBUG(A)
Message macros.
Double_t g1(const Double_t x)
Function.