52   double      fractionThreshold;
 
   54   JRange<int> multiplicity;
 
   58     JParser<> zap(
"Auxiliary program to build supernova background from JKexing2D output");
 
   60     zap[
'f'] = 
make_field(inputFile,   
"input file (JKexing2D).");
 
   62     zap[
'w'] = 
make_field(windowSize,  
"size of the sliding window to test") = 5;
 
   63     zap[
'M'] = 
make_field(multiplicity, 
"final multiplicity range") = JRange<int>(7,11);
 
   64     zap[
'F'] = 
make_field(fractionThreshold, 
"minimum fraction of active channels to compute distribution") = 0.99;
 
   69   catch(
const exception &error) {
 
   70     FATAL(error.what() << endl);
 
   73   typedef JManager<int,    TH1D>  JManager_i1D_t;
 
   74   typedef JManager<string, TH1D>  JManager_s1D_t;
 
   75   typedef JManager<string, TH2D>  JManager2D_t;
 
   79   TFile 
in(inputFile.c_str(), 
"exist");
 
   81   TParameter<int>* runNumber;
 
   83   in.GetObject(
"RUNNR", runNumber);
 
   85   JManager2D_t   MT =   JManager2D_t::Read(
in, 
mul_p   , 
'%');
 
   86   JManager_s1D_t ST = JManager_s1D_t::Read(
in, 
status_p, 
'%');
 
   92   const int    factoryLimit_peak = 250;
 
   93   const int    factoryLimit_runs = 10000;
 
  102     string title = 
"MD_" + (*f) + 
"_%";
 
  103     mmap[*
f] = JManager_i1D_t(
new TH1D(title.c_str(), NULL, factoryLimit_peak, 0, factoryLimit_peak)); 
 
  107   const double xmin = -0.5;
 
  108   const double xmax = nx - 0.5;
 
  112   JManager_s1D_t TD(
new TH1D(Form(
"SNT_[%d,%d]_", multiplicity.first, multiplicity.second) + TString(
"%"), NULL, factoryLimit_peak, -0.5, -0.5 + factoryLimit_peak));
 
  117   JManager2D_t  BL(
new TH2D(
"BL_%", NULL, 100, 
epsilon, 1 + 
epsilon, factoryLimit_peak, -0.5, -0.5 + factoryLimit_peak));
 
  121   JManager_s1D_t 
H(
new TH1D(
"H_%", NULL, factoryLimit_runs, 0, factoryLimit_runs));
 
  125   TH1D* LT = 
new TH1D(
"LIVETIME_ACF", NULL, 100, 
epsilon, 1 + 
epsilon);
 
  131   const int       nb        = activeChannelFraction->GetN();
 
  132   const Double_t* arr_acf_y = activeChannelFraction->GetY();
 
  136   LT->FillN(nb, arr_acf_y, NULL);
 
  162       transform(vec_acf_y.begin(),
 
  165                 back_inserter(select),
 
  166                 greater_equal<double> {});
 
  168       mmap[*
f][M]->FillN(nb, count_vs_frame[*
f]->GetY(), &select[0]);
 
  174       MUL_EFF[*
f]->FillN(nb,
 
  177                          count_vs_frame[*
f]->GetY());
 
  182   int RUNNR = runNumber->GetVal();
 
  188     const TH1* px = 
projectHistogram(*MT[*
f], multiplicity.getLowerLimit(), multiplicity.getUpperLimit(), 
'x');
 
  194     TD[*
f]->FillN(events_per_frame->GetN(), events_per_frame->GetY(), NULL);
 
  199     vector<double> vec(events_per_frame->GetY(), events_per_frame->GetY() + nb);
 
  204     TD[(*f) + 
"_nTS"]->FillN(events_per_frame_sliding.size(),
 
  205                              &events_per_frame_sliding[0],
 
  212                   events_per_frame->GetY(),
 
  217     px = 
projectHistogram(*MT[*f], multiplicity.getLowerLimit(), multiplicity.getUpperLimit(), 
'x');
 
  219     int peak = px->GetMaximum();
 
  223     H[
"PK_" + (*f)]->Fill(RUNNR, peak);
 
  229   double BI = (ST[
"PMT"]->GetSumOfWeights() / ST[
"PMT"]->GetEntries());
 
  231   H[
"BIOLUM"]->Fill(RUNNR, BI);
 
  239   TDirectory* bm = out.mkdir(
"BIOLUM");
 
  240   TDirectory* hs = out.mkdir(
"HISTORY");  
 
  248     string dir_name = 
"MUL_" + (*f); 
 
  249     TDirectory* dir = out.mkdir(dir_name.c_str());
 
  250     mmap[*
f].Write(*dir);
 
Utility class to parse command line options. 
 
bool select(const Trk &trk, const Evt &evt)
Event selection. 
 
static const char * mul_p
 
static const char * status_p
 
o $QUALITY_ROOT d $DEBUG!CHECK_EXIT_CODE JPlot1D f
 
static const double H
Planck constant [eV s]. 
 
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object 
 
TGraph * histogramToGraph(const TH1 &h1)
Helper method to convert a 1D histogram to a graph. 
 
std::vector< T > convolve(const std::vector< T > &input, const std::vector< T > &kernel)
Convolute data with given kernel. 
 
static const int NUMBER_OF_PMTS
Total number of PMTs in module. 
 
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
 
TH1 * projectHistogram(const TH2 &h2, const Double_t xmin, const Double_t xmax, const char projection)
Helper method for ROOT histogram projections.