Skip to content
Snippets Groups Projects
Commit 5687274a authored by Sylvester Joosten's avatar Sylvester Joosten
Browse files

Update README.md

parent 177d8613
No related branches found
No related tags found
No related merge requests found
...@@ -18,7 +18,7 @@ Note: the following instructions are given assuming you are using `bash` as your ...@@ -18,7 +18,7 @@ Note: the following instructions are given assuming you are using `bash` as your
export PREFIX="/path/to/your/prefix"; mkdir -p $PREFIX export PREFIX="/path/to/your/prefix"; mkdir -p $PREFIX
``` ```
## Install all necessary dependencies ## Install all necessary dependencies
Ensure you have `cmake`, a modern c++ compiler (gcc4.8+ or clang3.5+) and a `gfortran` installed Ensure you have `cmake`, ROOT, a modern c++ compiler (gcc4.8+ or clang3.5+) and `gfortran` installed
### nanocernlib ### nanocernlib
You will need to install a the necessary cernlib routines through the `nanocernlib` library. You will need to install a the necessary cernlib routines through the `nanocernlib` library.
```bash ```bash
...@@ -60,4 +60,46 @@ It requires the following arguments: ...@@ -60,4 +60,46 @@ It requires the following arguments:
- `--conf`: a configuration file, see `$PREFIX/src/pythia6m/program/example-config.json` for an example. - `--conf`: a configuration file, see `$PREFIX/src/pythia6m/program/example-config.json` for an example.
- `--run`: a run number. This is also used as the random seed for this run - `--run`: a run number. This is also used as the random seed for this run
- `--events`: the number of events to be generated - `--events`: the number of events to be generated
- `--out`: the output directory. This is where the output files will be placed - `--out`: the output directory. This is where the output files will be placed
\ No newline at end of file
## Output
The generated events are written to a ROOT TTree. The following variables are written to the tree for each of the generated events:
```c++
// event level
int32_t evnum; // the event index
int32_t evgen; // the total number of generated events sofar.
// this includes generated events that were somehow cut out
double xsec; // the total generated cross section
// the last stored value is the best estimate of the total
// cross section.
// To obtain the cross section for a subset of n events:
// xsec_n = n * xsec / evgen;
int32_t process; // PYTHIA process number
double s; // s for this event
// particle level
std::vector<int32_t> index; // The index of this track, equal to the fortran
// index, so the C-index is (index - 1)
std::vector<int32_t> status; // LUND track status (see pythia manual)
std::vector<int32_t> type; // LUND particle type
std::vector<int32_t> parent; // fortran index of the parent, 0 if initial
std::vector<int32_t> daughter1; // fortran index of first daughter, 0 if none
std::vector<int32_t> daughter2; // fortran index of last daughter, 0 if none
std::vector<int32_t> charge; // charge
std::vector<ROOT::Math::XYZTVector> vertex; // vertex 4-vector
std::vector<ROOT::Math::XYZTVector> mom; // momentum 4-vector
std::vector<double> mass; // mass
std::vector<bool> init; // is this an initial particle?
std::vector<bool> lund; // is this a final particle produced by PYTHIA?
```
The following additional variables are written when running with an electron beam:
```c++
// event level
double Q2; // Generated Q2
double nu; // Generated nu
double x; // Generated Bjorken-x
double y; // Generated y
double W2; // Generated W2
int32_t scat_index; // the C-index of the scattered (NOT THE FORTRAN INDEX)
// of the scattered lepton
```
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment