Jpp
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Functions
JTransitTime.cc File Reference

Example program to histogram PMT transit time distribution. More...

#include <string>
#include <iostream>
#include <iomanip>
#include "TROOT.h"
#include "TFile.h"
#include "TH1D.h"
#include "JDetector/JPMTTransitTimeProbability.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 PMT transit time distribution.

Author
mdejong

Definition in file JTransitTime.cc.

Function Documentation

int main ( int  argc,
char **  argv 
)

Definition at line 22 of file JTransitTime.cc.

23 {
24  using namespace std;
25  using namespace JPP;
26 
27  string outputFile;
28  int debug;
29 
30  try {
31 
32  JParser<> zap("Example program to histogram PMT transit time distribution.");
33 
34  zap['o'] = make_field(outputFile) = "histogram.root";
35  zap['d'] = make_field(debug) = 0;
36 
37  zap(argc, argv);
38  }
39  catch(const exception &error) {
40  FATAL(error.what() << endl);
41  }
42 
43 
44  TFile out(outputFile.c_str(), "recreate");
45 
46  TH1D h1("tts", NULL, 480, -20.0, +100.0);
47  TH1D h2("tt2", NULL, 800,-100.0, +100.0);
48 
49  for (int i = 1; i <= h1.GetNbinsX(); ++i) {
50 
51  const double t1 = h1.GetBinCenter(i);
52 
53  h1.SetBinContent(i, getTransitionTimeProbability(t1));
54  }
55 
56  for (int i = 1; i <= h2.GetNbinsX(); ++i) {
57 
58  const double t1 = h2.GetBinCenter(i);
59 
60  h2.SetBinContent(i, getTransitionTimeProbability2D(t1));
61  }
62 
63  out.Write();
64  out.Close();
65 }
Utility class to parse command line options.
Definition: JParser.hh:1410
static const JTransitionTimeProbability getTransitionTimeProbability
Function object of transition time prabability.
string outputFile
static const JTransitionTimeProbability2D getTransitionTimeProbability2D
Function object of twofold transition time prabability.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
Definition: JParser.hh:1836
int debug
debug level
Definition: JSirene.cc:59
#define FATAL(A)
Definition: JMessage.hh:65