11 #include <generators/modules/CosmicsModule.h>
12 #include <framework/datastore/StoreArray.h>
13 #include <boost/assign/std/vector.hpp>
17 using namespace boost::assign;
31 setDescription(
"cosmics generator to generate cosmic ray tracks");
34 m_parameters.level = 1;
35 m_parameters.ipRequirement = 0;
36 m_parameters.ipdr = 3.;
37 m_parameters.ipdz = 3.;
38 m_parameters.ptmin = 0.7;
39 m_parameters.cylindricalR = 125.0;
42 addParam(
"level", m_parameters.level,
43 "level of the generator (1 or 2 with slightly different kinematic distributions and mu+/mu- ratio), default is 1",
45 addParam(
"ipRequirement", m_parameters.ipRequirement,
46 "Radial and longitudinal constraints near the Interaction Point can be required (ipRequirement == 1), default is 0 (no additional IP requirements)",
47 m_parameters.ipRequirement);
48 addParam(
"ipdr", m_parameters.ipdr,
49 "Constraint on the radial distance from the IP in cm, default is 3.", m_parameters.ipdr);
50 addParam(
"ipdz", m_parameters.ipdz,
51 "Constraint on the longitudinal distance from the IP in cm, default is 3, default is 3.", m_parameters.ipdz);
52 addParam(
"ptmin", m_parameters.ptmin,
53 "Minimal value of the transverse momentum in GeV, default is 0.7", m_parameters.ptmin);
54 addParam(
"cylindricalR", m_parameters.cylindricalR,
55 "Radius of tube around detector at whose surface particles are generated (in cm), default is 125, but this does not include whole Belle 2 detector!",
56 m_parameters.cylindricalR);
59 void CosmicsModule::initialize()
63 mcparticle.registerInDataStore();
65 m_cosmics.setParameters(m_parameters);
69 void CosmicsModule::event()
72 m_particleGraph.
clear();
73 m_cosmics.generateEvent(m_particleGraph);
74 m_particleGraph.generateList();
75 }
catch (runtime_error& e) {