Jpp  test_elongated_shower_pde
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Functions
JToTProbability.cc File Reference

Example program to histogram time-over-threshold probability distributions. More...

#include <string>
#include <iostream>
#include <iomanip>
#include "TROOT.h"
#include "TFile.h"
#include "TH1D.h"
#include "JDetector/JPMTParameters.hh"
#include "JDetector/JPMTAnalogueSignalProcessor.hh"
#include "Jeep/JPrint.hh"
#include "Jeep/JParser.hh"
#include "Jeep/JMessage.hh"

Go to the source code of this file.

Functions

int main (int argc, char **argv)
 

Detailed Description

Example program to histogram time-over-threshold probability distributions.

Author
mdejong

Definition in file JToTProbability.cc.

Function Documentation

int main ( int  argc,
char **  argv 
)

Definition at line 24 of file JToTProbability.cc.

25 {
26  using namespace std;
27  using namespace JPP;
28 
29  string outputFile;
30  JPMTParameters parameters;
31  double NPE;
32  int debug;
33 
34  try {
35 
36  JProperties properties = parameters.getProperties();
37 
38  JParser<> zap("Example program to histogram time-over-threshold probability distributions.");
39 
40  zap['o'] = make_field(outputFile) = "time-over-threshold.root";
41  zap['P'] = make_field(properties) = JPARSER::initialised();
42  zap['N'] = make_field(NPE);
43  zap['d'] = make_field(debug) = 0;
44 
45  zap(argc, argv);
46 
47  }
48  catch(const exception &error) {
49  FATAL(error.what() << endl);
50  }
51 
52  const JPMTAnalogueSignalProcessor cpu(parameters);
53 
54  TFile out(outputFile.c_str(), "recreate");
55 
56 
57  const double xmin = 0.5;
58  const double xmax = 255.5;
59  const int nx = (int) ((xmax - xmin) / 1.0);
60 
61  TH1D h0("h0", NULL, nx, xmin, xmax);
62 
63  for (int i = 1; i <= h0.GetNbinsX(); ++i) {
64 
65  const double x = h0.GetBinCenter(i);
66  const double y = getTimeOverThresholdProbability(cpu, x, NPE);
67 
68  h0.SetBinContent(i, y);
69  }
70 
71  out.Write();
72  out.Close();
73 }
Utility class to parse command line options.
Definition: JParser.hh:1500
double getTimeOverThresholdProbability(const JPMTAnalogueSignalProcessor &pmt, const double tot_ns, const double NPE, const double precision=1.0e-4)
Get time-over-threshold probability.
Utility class to parse parameter values.
Definition: JProperties.hh:496
*fatal Wrong number of arguments esac JCookie sh typeset Z DETECTOR typeset Z SOURCE_RUN typeset Z TARGET_RUN set_variable PARAMETERS_FILE $WORKDIR parameters
Definition: diff-Tuna.sh:38
Empty structure for specification of parser element that is initialised (i.e. does not require input)...
Definition: JParser.hh:66
string outputFile
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
Definition: JParser.hh:1961
int debug
debug level
Definition: JSirene.cc:68
#define FATAL(A)
Definition: JMessage.hh:67