Jpp
Main Page
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
examples
JSirene
JPythia.cc
Go to the documentation of this file.
1
2
#include <string>
3
#include <iostream>
4
#include <iomanip>
5
6
#include "TROOT.h"
7
#include "TFile.h"
8
#include "TH1D.h"
9
10
#include "
JSirene/JPythia.hh
"
11
#include "
JGizmo/JManager.hh
"
12
13
#include "
Jeep/JParser.hh
"
14
#include "
Jeep/JMessage.hh
"
15
16
17
/**
18
* \file
19
* Auxiliary program histogram plot EM-equivalent energy for hadrons.
20
* \author mdejong
21
*/
22
int
main
(
int
argc,
char
**argv)
23
{
24
using namespace
std;
25
using namespace
JPP;
26
27
string
outputFile
;
28
double
epsilon;
29
bool
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
);
39
40
zap(argc, argv);
41
}
42
catch
(
const
exception &error) {
43
FATAL
(error.what() << endl);
44
}
45
46
47
48
JGIZMO::JManager<int, TH1D>
zmap(
new
TH1D(
"E[%]"
, NULL, 500, -0.8, 9.0));
49
50
const
int
buffer[] = {
51
TRACK_TYPE_PHOTON
,
52
TRACK_TYPE_NEUTRAL_PION
,
53
TRACK_TYPE_NEUTRAL_ANTIPION
,
54
TRACK_TYPE_ELECTRON
,
55
TRACK_TYPE_ANTIELECTRON
,
56
TRACK_TYPE_CHARGED_PION_PLUS
,
57
TRACK_TYPE_CHARGED_PION_MINUS
,
58
-1 };
59
60
map<int, double>
Y;
61
62
for
(
const
int
*type = buffer; *type != -1; ++type) {
63
Y[*type] = epsilon * (type - buffer);
64
}
65
66
for
(
int
i = 1; i <= zmap->GetNbinsX(); ++i) {
67
68
const
double
x = zmap->GetBinCenter(i);
69
const
double
E
= pow(10.0, x);
70
71
for
(
const
int
*type = buffer; *type != -1; ++type) {
72
zmap[*type]->SetBinContent(i,
pythia
(*type, E)/E + Y[*type]);
73
}
74
}
75
76
zmap.
Write
(
outputFile
.c_str());
77
}
JAANET::TRACK_TYPE_CHARGED_PION_MINUS
Definition:
JParticleTypes.hh:94
JPARSER::JParser
Utility class to parse command line options.
Definition:
JParser.hh:1493
JPythia.hh
std::map
Definition:
JSTDTypes.hh:16
JAANET::TRACK_TYPE_CHARGED_PION_PLUS
Definition:
JParticleTypes.hh:72
JAANET::TRACK_TYPE_PHOTON
Definition:
JParticleTypes.hh:70
JManager.hh
Dynamic ROOT object management.
JSIRENE::pythia
static const JPythia pythia
Function object for relative light yield as a function of GEANT particle code.
Definition:
JPythia.hh:96
outputFile
string outputFile
Definition:
JDAQTimesliceSelector.cc:37
JGIZMO::JManager
Auxiliary class to manage set of compatible ROOT objects (e.g.
Definition:
JManager.hh:42
make_field
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
Definition:
JParser.hh:1954
JGIZMO::JManager::Write
void Write(TDirectory &out, const bool wm=false)
Write objects to file.
Definition:
JManager.hh:294
JAANET::TRACK_TYPE_NEUTRAL_PION
Definition:
JParticleTypes.hh:71
debug
int debug
debug level
Definition:
JSirene.cc:61
JAANET::TRACK_TYPE_ANTIELECTRON
Definition:
JParticleTypes.hh:87
JMessage.hh
General purpose messaging.
JAANET::TRACK_TYPE_ELECTRON
Definition:
JParticleTypes.hh:64
FATAL
#define FATAL(A)
Definition:
JMessage.hh:67
JParser.hh
Utility class to parse command line options.
JAANET::TRACK_TYPE_NEUTRAL_ANTIPION
Definition:
JParticleTypes.hh:93
E
then usage $script[input file[working directory[option]]] nWhere option can be E
Definition:
JMuonPostfit.sh:37
main
int main(int argc, char *argv[])
Definition:
Main.cpp:15
Generated by
1.8.5