35   using namespace KM3NETDAQ;
 
   37   const char* 
const address_t  =  
"address";
 
   38   const char* 
const index_t    =  
"index";
 
   50     zap[
'f'] = 
make_field(inputFile,         
"1st output of JMergeCalibrateK40 and 2nd output of JFitK40");
 
   52     zap[
'a'] = 
make_field(detectorFile,      
"detector file.");
 
   53     zap[
'O'] = 
make_field(option,            
"axis label")               = address_t, index_t;
 
   58   catch(
const exception &error) {
 
   59     FATAL(error.what() << endl);
 
   68   catch(
const JException& error) {
 
   75   TFile* 
in[] = { NULL, NULL };
 
   77   for (
int i = 0; 
i != 2; ++
i) {
 
   79     in[
i] = TFile::Open(inputFile[
i].c_str(), 
"exist");
 
   81     if (
in[
i] == NULL || !
in[
i]->IsOpen()) {
 
   82       FATAL(
"File: " << inputFile[
i] << 
" not opened." << endl);
 
   89   for (JDetector::iterator module = 
detector.begin(); module != 
detector.end(); ++module) {
 
   91     if (module->getFloor() == 0) { 
 
  100     if (h2[0] == NULL || h2[0]->GetEntries() == 0 ||
 
  101         h2[1] == NULL || h2[1]->GetEntries() == 0) {
 
  105     DEBUG(
"Module " << setw(10) << module->getID() << 
' ' << 
getLabel(module->getLocation()) << endl);
 
  107     const JCombinatorics_t combinatorics(*module);
 
  109     const JModuleAddressMap memo = demo.get(module->getID());
 
  112             h2[0]->GetXaxis()->GetNbins(), h2[0]->GetXaxis()->GetXmin(), h2[0]->GetXaxis()->GetXmax());
 
  118     for (
int ix = 1; ix <= h2[0]->GetXaxis()->GetNbins(); ++ix) {
 
  127       for (
int iy = 1; iy <= h2[0]->GetYaxis()->GetNbins(); ++iy) {
 
  129         const double y1 = h2[0]->GetBinContent(ix,iy);
 
  130         const double w1 = h2[0]->GetBinError  (ix,iy);
 
  131         const double f1 = h2[1]->GetBinContent(ix,iy);
 
  145         h1.SetBinContent(ix, V);
 
  147         hx.Fill(pair.first,  pair.second, V);
 
  148         hx.Fill(pair.second, pair.first,  V);
 
  151       DEBUG(setw(3) << ix << 
' ' 
  152             << 
"(" << 
FILL(2,
'0') << pair.first              << 
"," << 
FILL(2,
'0') << pair.second              << 
")" << 
FILL() << 
' ' 
  153             << 
"(" << memo.getPMTPhysicalAddress(pair.first) << 
"," << memo.getPMTPhysicalAddress(pair.second) << 
")" << 
FILL() << 
' ' 
  154             << 
FIXED(9,2) << Y << 
' ' 
  155             << 
FIXED(9,2) << F << 
' ' 
  156             << 
FIXED(9,2) << V << ' ' << (fabs(V) > 3.0 ? 
"***" : 
"") <<endl);
 
  159     if (option == address_t) {
 
  167   for (
int i = 0; 
i != 2; ++
i) {
 
Utility class to parse command line options. 
 
JCombinatorics::pair_type pair_type
 
std::string getLabel(const JLocation &location)
Get module label for monitoring and other applications. 
 
#define MAKE_CSTRING(A)
Make C-string. 
 
then fatal Wrong number of arguments fi set_variable STRING $argv[1] set_variable DETECTORXY_TXT $WORKDIR $DETECTORXY_TXT tail read X Y CHI2 RMS printf optimum n $X $Y $CHI2 $RMS awk v Y
 
Auxiliary data structure for floating point format specification. 
 
V(JDAQEvent-JTriggerReprocessor)*1.0/(JDAQEvent+1.0e-10)
 
const JPolynome f1(1.0, 2.0, 3.0)
Function. 
 
static const char *const _2F
Name extension for 2F rate fitted. 
 
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object 
 
void setAxisLabels(TAxis *axis, const JModuleAddressMap &memo)
Set axis with PMT address labels. 
 
static const char *const _2R
Name extension for 2D rate measured. 
 
JDetectorAddressMap & getDetectorAddressMap()
Get detector address map. 
 
Auxiliary data structure for sequence of same character. 
 
then usage $script< input file >[option[primary[working directory]]] nWhere option can be N
 
void load(const std::string &file_name, JDetector &detector)
Load detector from input file. 
 
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
 
do set_variable DETECTOR_TXT $WORKDIR detector
 
static const int NUMBER_OF_PMTS
Total number of PMTs in module. 
 
#define DEBUG(A)
Message macros.