G4DarkBreM
v2.1.0
Geant4 Dark Bremmstrahlung from MadGraph
|
namespace holding implementation of library parsing More...
Functions | |
void | lhe (boost::iostreams::filtering_istream &reader, int aprime_lhe_id, std::map< int, std::map< double, std::vector< OutgoingKinematics >>> &lib) |
Parse an LHE file from the input stream. More... | |
void | csv (boost::iostreams::filtering_istream &reader, std::map< int, std::map< double, std::vector< OutgoingKinematics >>> &lib) |
parse the input stream as a CSV file, filling the input library More... | |
namespace holding implementation of library parsing
void g4db::parse::csv | ( | boost::iostreams::filtering_istream & | reader, |
std::map< int, std::map< double, std::vector< OutgoingKinematics >>> & | lib | ||
) |
parse the input stream as a CSV file, filling the input library
The CSV file is expected to have a single header line which names the columns. These column names have no requirements (besides the existence of this line).
The CSV is required to have 10 columns on all non-empty lines of the file. The 10 columns of the CSV all are in MeV and in order are
[in] | reader | input stream reading the file |
[in,out] | lib | dark brem event library to fill |
void g4db::parse::lhe | ( | boost::iostreams::filtering_istream & | reader, |
int | aprime_lhe_id, | ||
std::map< int, std::map< double, std::vector< OutgoingKinematics >>> & | lib | ||
) |
Parse an LHE file from the input stream.
We go line-by-line through the input text stream, looking for dark brem events. A "dark brem event" in this context is defined below.
We also check each line if it contains a 'Znuc' string. Looking for the target Z value from this line matching the following format.
This is supposed to match a line of the param_card dumped into the header of the LHE. In other words, this parser should function properly if your MG/ME model has a configurable parameter in param_card.dat for the target Z and that parameter is called 'Znuc'.
This matches a subcomponent of the LHE scheme written by MadGraph/MadEvent (hence the reason this is the "lhe" parser); however, a lot of information is skipped and additional assumptions are made in order to increase the parsing speed.
The lepton_id
is allowed to be either 11 or 13 everywhere. No consistency checking is done.
The E
from the first line is used as the incident lepton energy. The four-momentum from the middle line is the recoil lepton's four momentum, and the four-momentum from the last line (A') is used in conjuction with the recoil four-momentum to calculate the center of momentum vector.
[in] | reader | input stream reading the file |
[in] | aprime_lhe_id | ID number of the dark photon within the LHE file |
[in,out] | lib | dark brem event library to fill |