PYTHIA
8.316
|
Class for doing Pythia runs in parallel. More...
#include <PythiaParallel.h>
Public Member Functions | |
PythiaParallel (string xmlDir="../share/Pythia8/xmldoc", bool printBanner=true) | |
Constructor. More... | |
bool | readString (string setting, bool warn=true) |
Read in one update for a setting or particle data from a single line. | |
bool | readFile (string fileName, bool warn=true, int subrun=SUBRUNDEFAULT) |
Read in updates for settings or particle data from user-defined file. More... | |
bool | readFile (string fileName, int subrun) |
bool | readFile (istream &is=cin, bool warn=true, int subrun=SUBRUNDEFAULT) |
bool | readFile (istream &is, int subrun) |
bool | init () |
Initialize all Pythia objects. | |
bool | init (function< bool(Pythia *)> additionalSetup) |
void | foreach (function< void(Pythia *)> action) |
Perform the specified action for each Pythia instance. More... | |
void | foreachAsync (function< void(Pythia *)> action) |
Perform the specified action for each instance in parallel. More... | |
void | stat (bool combine=true) |
vector< long > | run (long nEvents, function< void(Pythia *)> callback) |
Generate events in parallel. | |
vector< long > | run (function< void(Pythia *)> callback) |
double | sigmaGen () const |
Weighted average of the generated cross section for each Pythia instance. | |
double | weightSum () const |
Sum of weights from all Pythia instances. | |
Public Attributes | |
Pythia | pythiaHelper |
Pythia object used for loading data. | |
Settings & | settings |
The settings that will be used to initialize Pythia instances. | |
ParticleData & | particleData |
The particle database that will be used to initialize Pythia instances. | |
Class for doing Pythia runs in parallel.
PythiaParallel | ( | string | xmlDir = "../share/Pythia8/xmldoc" , |
bool | printBanner = true |
||
) |
void foreach | ( | function< void(Pythia *)> | action | ) |
Perform the specified action for each Pythia instance.
Perform action in serial.
void foreachAsync | ( | function< void(Pythia *)> | action | ) |
Perform the specified action for each instance in parallel.
Perform action in parallel.
bool init | ( | function< bool(Pythia *)> | additionalSetup | ) |
Initialize error printing.
Read settings.
Set seeds.
Create instances in parallel.
Wait for all initialization threads to finish.
Set initialization.
Print warning message and return.
bool readFile | ( | string | fileName, |
bool | warn = true , |
||
int | subrun = SUBRUNDEFAULT |
||
) |
Read in updates for settings or particle data from user-defined file.
Hand over real work to next method.
void stat | ( | bool | combine = true | ) |
Write final statistics, combining errors from each Pythia instance. For all PhysicsBase objects, combine that PhysicsBase object across all threads, if onStat is defined for that specific PhysicsBase type.
Loop through all PhysicsBase-derived objects.
Check the PhysicsBase objects are consistent.
Push back the PhysicsBase object.
Print the stats.