28 int main(
int argc,
char **argv)
32 using namespace KM3NETDAQ;
43 JParser<> zap(
"Auxiliary program to project single PMT data from 2D histogram.");
45 zap[
'a'] =
make_field(detectorFile,
"detector file.");
46 zap[
'f'] =
make_field(inputFile,
"input file.");
54 catch(
const exception &error) {
55 FATAL(error.what() << endl);
59 gErrorIgnoreLevel = kError;
81 TFile
in(inputFile.c_str(),
"read");
83 TH2D* h2 = (TH2D*)
in.Get(
MAKE_CSTRING(pmt.getModuleID() << extension));
86 FATAL(
"Missing histogram for module " << pmt.getModuleID() << endl);
89 TH1D
h1(
MAKE_CSTRING(pmt.getModuleID() <<
'.' <<
FILL(2,
'0') << pmt.getTDC()), NULL, h2->GetYaxis()->GetNbins(), h2->GetYaxis()->GetXmin(), h2->GetYaxis()->GetXmax());
91 for (
size_t i = 0; i != module.size(); ++i) {
93 const Int_t ix = combinatorics.getIndex(pmt.getTDC(), i) + 1;
95 for (Int_t iy = 1; iy <= h2->GetYaxis()->GetNbins(); ++iy) {
96 h1.SetBinContent(iy, h2->GetBinContent(ix,iy));
97 h1.SetBinError (iy, h2->GetBinError (ix,iy));
Utility class to parse command line options.
int main(int argc, char *argv[])
const JModule & getModule(const JObjectID &id) const
Get module parameters.
Data structure for a composite optical module.
Router for direct addressing of module data in detector data structure.
#define MAKE_CSTRING(A)
Make C-string.
then for HISTOGRAM in h0 h1
Data structure for detector geometry and calibration.
static const char *const _2F
Name extension for 2F rate fitted.
I/O formatting auxiliaries.
Auxiliary class to sort pairs of PMT addresses within optical module.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
static const char *const _2R
Name extension for 2D rate measured.
General purpose messaging.
Auxiliary data structure for sequence of same character.
Direct access to module in detector data structure.
void load(const std::string &file_name, JDetector &detector)
Load detector from input file.
Utility class to parse command line options.
do set_variable DETECTOR_TXT $WORKDIR detector
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2] eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY JAcoustics sh $DETECTOR_ID source JAcousticsToolkit sh CHECK_EXIT_CODE typeset A EMITTERS get_tripods $WORKDIR tripod txt EMITTERS get_transmitters $WORKDIR transmitter txt EMITTERS for EMITTER in
static const char *const _2S
Name extension for 2D counts.