52   double      fractionThreshold;
 
   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;
 
   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);
 
   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(),
 
  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();
 
  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(),
 
  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);
 
static const char * status_p
 
static const char * mul_p
 
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
 
Utility class to parse command line options.
 
Auxiliary class to manage set of compatible ROOT objects (e.g. histograms) using unique keys.
 
bool select(const Trk &trk, const Evt &evt)
Event selection.
 
std::vector< T > convolve(const std::vector< T > &input, const std::vector< T > &kernel)
Convolute data with given kernel.
 
static const double H
Planck constant [eV s].
 
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
 
TH1 * projectHistogram(const TH2 &h2, const Double_t xmin, const Double_t xmax, const char projection)
Helper method for ROOT histogram projections.
 
TGraph * histogramToGraph(const TH1 &h1)
Helper method to convert a 1D histogram to a graph.
 
static const int NUMBER_OF_PMTS
Total number of PMTs in module.