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

Auxiliary plot fit function of JFitK40.cc. More...

#include <string>
#include <iostream>
#include <iomanip>
#include <cmath>
#include "TROOT.h"
#include "TFile.h"
#include "TH1D.h"
#include "JDetector/JModule.hh"
#include "JDetector/JDetectorToolkit.hh"
#include "JDetector/JDetectorSupportkit.hh"
#include "JCalibrate/JCalibrateK40.hh"
#include "JCalibrate/JFitK40.hh"
#include "Jeep/JProperties.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

Auxiliary plot fit function of JFitK40.cc.

Author
mdejong

Definition in file JPlotK40.cc.

Function Documentation

int main ( int  argc,
char **  argv 
)

Definition at line 30 of file JPlotK40.cc.

31 {
32  using namespace std;
33  using namespace JPP;
34 
35  JK40Parameters K40 = JK40Parameters::getInstance();
36 
37  string outputFile;
38  int debug;
39 
40  try {
41 
42  JProperties properties;
43 
44  properties.insert(gmake_property(K40.R));
45  properties.insert(gmake_property(K40.p1));
46  properties.insert(gmake_property(K40.p2));
47  properties.insert(gmake_property(K40.p3));
48  properties.insert(gmake_property(K40.p4));
49 
50  JParser<> zap("Auxiliary plot fit function of JFitK40.cc.");
51 
52  zap['@'] = make_field(properties) = JPARSER::initialised();
53  zap['o'] = make_field(outputFile, "output file.") = "k40.root";
54  zap['d'] = make_field(debug, "debug.") = 1;
55 
56  zap(argc, argv);
57  }
58  catch(const exception &error) {
59  FATAL(error.what() << endl);
60  }
61 
62 
63  const JModule module = getModule<JKM3NeT_t>(1001);
64 
65  const JModel model(module, K40);
66 
67  const int nx = model.getNumberOfPairs();
68  const double xmin = -0.5;
69  const double xmax = nx - 0.5;
70 
71 
72  TFile out(outputFile.c_str(), "recreate");
73 
74  TH1D h1("h1", NULL, nx, xmin, xmax);
75 
76  for (int ix = 1; ix <= h1.GetXaxis()->GetNbins(); ++ix) {
77 
78  const Double_t x = h1.GetXaxis()->GetBinCenter(ix);
79 
80  const pair_type pair = model.getPair((int) x);
81  const double rate = model.getValue(pair);
82 
83  h1.SetBinContent(ix, rate);
84  }
85 
86  out.Write();
87  out.Close();
88 }
const double xmax
Definition: JQuadrature.cc:24
Utility class to parse command line options.
Definition: JParser.hh:1514
JCombinatorics::pair_type pair_type
#define gmake_property(A)
macros to convert (template) parameter to JPropertiesElement object
then set_variable singlesRate set_variable doublesRate set_variable numberOfSlices echo Generating random background echo Singles rate
Utility class to parse parameter values.
Definition: JProperties.hh:497
Empty structure for specification of parser element that is initialised (i.e. does not require input)...
Definition: JParser.hh:83
string outputFile
T & getInstance(const T &object)
Get static instance from temporary object.
Definition: JObject.hh:75
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
Definition: JParser.hh:1989
#define FATAL(A)
Definition: JMessage.hh:67
const double xmin
Definition: JQuadrature.cc:23
int debug
debug level