39 int main(
int argc,
char **argv)
53 JParser<> zap(
"Example program to check contents of acoustic events.");
55 zap[
'f'] =
make_field(inputFile,
"output of JKatoomba[.sh]");
56 zap[
'n'] =
make_field(numberOfEvents) = JLimit_t::max();
64 catch(
const exception &error) {
65 FATAL(error.what() << endl);
81 STATUS(
"loading input from file(s) " << inputFile <<
"... " << flush);
83 dynamics.
load(inputFile);
91 Double_t
xmin = numeric_limits<Double_t>::max();
92 Double_t
xmax = numeric_limits<Double_t>::lowest();
96 if (!
string->second.empty()) {
102 const JFormat_t format(4, 0, std::ios_base::fmtflags(),
'0');
104 JManager<int, TH2D> H2(
new TH2D (
"[%].tilt", NULL, 300, -3.0, +3.0, 300, -3.0, +3.0),
'%', format);
112 TH1D* ho = HO[
string->first];
113 TH1D* ha = HA[
string->first];
115 for (Int_t
i = 1;
i <= HO->GetXaxis()->GetNbins(); ++
i) {
117 const Double_t
x = HO->GetXaxis()->GetBinCenter(
i);
126 catch(
const exception& error) {
135 if (
string->second.size() > 1) {
137 TH2D* h2 = H2[
string->first];
138 TH1D* ht = HT[
string->first];
142 const double t1 = q->getX() - p->getX();
147 const double tx = 600.0e3 * (q->getY().tx - p->getY().tx) / t1;
148 const double ty = 600.0e3 * (q->getY().ty - p->getY().ty) / t1;
150 if (t1 > 0 && t1 < Tmax_s) {
157 ZO[
string->first].put(
i->getX(),
i->getY().getAngle());
158 ZA[
string->first].put(
i->getX(),
i->getY().getLength());
166 out << *H2 << H2 << *HT << HT << HO << HA;
Utility class to parse command line options.
int main(int argc, char *argv[])
ROOT TTree parameter settings of various packages.
double getAngle() const
Get angle.
ROOT TTree parameter settings.
JPosition position
position calibration
#define MAKE_CSTRING(A)
Make C-string.
Dynamic ROOT object management.
Auxiliary data structure to build TGraph.
Data structure for detector geometry and calibration.
void load(JObjectIterator_t &input)
Load calibration data.
data_type::const_iterator const_iterator
Auxiliary class for defining the range of iterations of objects.
const_iterator end() const
end of calibration data
Auxiliary class to manage set of compatible ROOT objects (e.g. histograms) using unique keys...
I/O formatting auxiliaries.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
set_variable E_E log10(E_{fit}/E_{#mu})"
Dynamic detector calibration.
General purpose messaging.
Auxiliary data structure for sequence of same character.
Scanning of objects from multiple files according a format that follows from the extension of each fi...
Dynamic detector calibration.
void load(const std::string &file_name, JDetector &detector)
Load detector from input file.
General purpose class for object reading from a list of file names.
Utility class to parse command line options.
const_iterator begin() const
begin of calibration data
const JLimit & getLimit() const
Get limit.
do set_variable DETECTOR_TXT $WORKDIR detector
double getLength() const
Get length.