Jpp test-rotations-new
the software that should make you happy
Loading...
Searching...
No Matches
JPythia.cc File Reference

Auxiliary program histogram plot EM-equivalent energy for hadrons. More...

#include <string>
#include <iostream>
#include <iomanip>
#include "TROOT.h"
#include "TFile.h"
#include "TH1D.h"
#include "JSirene/JPythia.hh"
#include "JROOT/JManager.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 program histogram plot EM-equivalent energy for hadrons.

Author
mdejong

Definition in file JPythia.cc.

Function Documentation

◆ main()

int main ( int argc,
char ** argv )

Definition at line 22 of file JPythia.cc.

23{
24 using namespace std;
25 using namespace JPP;
26
27 string outputFile;
28 double epsilon;
29 int debug;
30
31 try {
32
33 JParser<> zap("Auxiliary program histogram plot EM-equivalent energy for hadrons."\
34 "\nNote that the results have a small offset to effectively be visualised.");
35
36 zap['o'] = make_field(outputFile) = "pythia.root";
37 zap['e'] = make_field(epsilon) = 0.004;
38 zap['d'] = make_field(debug) = 2;
39
40 zap(argc, argv);
41 }
42 catch(const exception &error) {
43 FATAL(error.what() << endl);
44 }
45
46
47 JManager<int, TH1D> zmap(new TH1D("E[%]", NULL, 500, -0.8, 9.0));
48
49 const int buffer[] = {
52 //TRACK_TYPE_NEUTRAL_ANTIPION,
57 -1 };
58
59 map<int, double> Y; // offsets for graphics
60
61 for (const int *type = buffer; *type != -1; ++type) {
62 Y[*type] = epsilon * (type - buffer);
63 }
64
65 for (int i = 1; i <= zmap->GetNbinsX(); ++i) {
66
67 const double x = zmap->GetBinCenter(i);
68 const double E = pow(10.0, x);
69
70 for (const int *type = buffer; *type != -1; ++type) {
71 zmap[*type]->SetBinContent(i, pythia(*type, E)/E + Y[*type]);
72 }
73 }
74
75 zmap.Write(outputFile.c_str());
76}
string outputFile
#define FATAL(A)
Definition JMessage.hh:67
int debug
debug level
Definition JSirene.cc:72
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
Definition JParser.hh:2142
Utility class to parse command line options.
Definition JParser.hh:1698
const double epsilon
@ TRACK_TYPE_CHARGED_PION_MINUS
@ TRACK_TYPE_CHARGED_PION_PLUS
@ TRACK_TYPE_NEUTRAL_PION
@ TRACK_TYPE_ELECTRON
@ TRACK_TYPE_ANTIELECTRON
T pow(const T &x, const double y)
Power .
Definition JMath.hh:97
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
double pythia(const int type, const double E)
Get equivalent EM-energy for given pion energy.
Definition pythia.hh:245