18 boost::program_options::options_description& opt) {
19 using namespace boost::program_options;
21 opt.add_options()(
"pg-nparticles",
value<size_t>()->default_value(1.),
22 "number of particles.")(
24 "range in which the d0 parameter is simulated in [mm]. Please hand"
25 "over by simply seperating the values by space")(
27 "range in which the z0 parameter is simulated in [mm]. Please hand"
28 "over by simply seperating the values by space")(
30 "range in which the t0 parameter is simulated in [ns]. Please hand"
31 "over by simply seperating the values by space")(
34 "range in which the phi0 parameter is simulated. Please hand over by "
35 "simply seperating the values by space")(
38 "range in which the eta parameter is simulated. Please hand over by "
39 "simply seperating the values by space")(
41 "range in which the pt in [GeV] parameter is simulated. Please hand "
42 "over by simply seperating the values by space")(
44 "PDG number of the particle, will be adjusted for charge flip.")(
45 "pg-randomize-charge", bool_switch(),
46 "flip the charge (and change PDG accordingly).");
50 const boost::program_options::variables_map& vm) {
51 using namespace Acts::UnitLiterals;
54 auto d0 = vm[
"pg-d0-range"].template as<read_range>();
55 auto z0 = vm[
"pg-z0-range"].template as<read_range>();
56 auto t0 = vm[
"pg-t0-range"].template as<read_range>();
57 auto phi = vm[
"pg-phi-range"].template as<read_range>();
58 auto eta = vm[
"pg-eta-range"].template as<read_range>();
59 auto pt = vm[
"pg-pt-range"].template as<read_range>();
62 pgCfg.
numParticles = vm[
"pg-nparticles"].template as<size_t>();
63 pgCfg.d0Range = {{d0[0] * 1
_mm, d0[1] * 1_mm}};
64 pgCfg.z0Range = {{
z0[0] * 1
_mm,
z0[1] * 1_mm}};
65 pgCfg.t0Range = {{t0[0] * 1_ns, t0[1] * 1_ns}};
66 pgCfg.phiRange = {{
phi[0],
phi[1]}};
67 pgCfg.etaRange = {{
eta[0],
eta[1]}};
68 pgCfg.ptRange = {{
pt[0] * 1
_GeV,
pt[1] * 1_GeV}};
71 pgCfg.randomizeCharge = vm[
"pg-randomize-charge"].template as<bool>();