16
EUROPEAN ORGANIZATION FOR NUCLEAR RESEARCH (CERN) CERN-SHiP-INT-2017-001 August 24, 2017 Description of the SHiP FixedTargetGenerator E. van Herwijnen 1 and T. Ruf 1 1 CERN Abstract This note describes the simulation of fixed target collisions for the SHiP experimental setup within the FairShip framework.

Description of the SHiP FixedTargetGenerator - cds.cern.ch · (/physics lists/em/GammaToMuons true) and positron annihilation (electron at rest) to two muons (/physics lists/em/PositronToMuons

Embed Size (px)

Citation preview

EUROPEAN ORGANIZATION FOR NUCLEAR RESEARCH (CERN)

CERN-SHiP-INT-2017-001August 24, 2017

Description of the SHiPFixedTargetGenerator

E. van Herwijnen1 and T. Ruf1

1CERN

Abstract

This note describes the simulation of fixed target collisions for the SHiP experimentalsetup within the FairShip framework.

Contents

1 Introduction 1

2 Setup 1

3 Output 3

4 Examples, Results and Comparisons 4

5 History 5

6 Particle fluxes for the muon flux measurement 9

1 Introduction

This note describes the FixedTargetGenerator of the SHiP experiment. It serves threemain purposes, provide muons leaving the hadron absorber for further processing withdifferent setups of the active muon shield, provide neutrinos (electron/muon/tau) forbackground studies in the SHiP experiment and for signal reconstruction in the tau-neutrino detector, and finally any other particles leaving the hadron absorber for studyingpotential backgrounds. It is integrated in the FairShip software based on the FairRootframework [1].

The fixed-target events can either be simulated using GEANT4 [2] directly, shootinga 400 GeV proton on the SHiP target, or by simulating first proton on proton or protonon neutron fixed target events with Pythia8 [3], and transporting the produced particleswith GEANT4, or by reading an external file with prefabricated charm (beauty) hadronsproduced by the SHiP Pythia6 cascade event generator [4]. An option is provided to useEvtGen [5] as decayer instead of Pythia8.

Particles are transported by Geant4 if their kinetic energy is above a certain thresholdin order to speed up the simulation and generate more energetic background with lessCPU time. All particles which leave the Hadron Absorber are recorded if their kineticenergy is above the threshold. An additional option exists to store only muons. In allcases, the kinematics of neutrinos, P/PT correlations are stored in 2-dim histograms.

The history of all saved particles, mother particles and the code of the Geant4 processwhich produced the particle, are also stored.

The package consists of FairShip/muonShieldOptimization/run_fixedTarget.py,the overall steering program, FairShip/muonShieldOptimization/exitHadronAbsorber.(h)(cxx) providing the recording plane and interaction with Geant4, and FairShip/

shipgen/FixedTargetGenerator.(h)(cxx) providing the input to Geant4.

2 Setup

The scoring plane is made by the class exitHadronAbsorber sitting inFairShip/muonShieldOptimization. The plane is either positioned after"MuonShieldArea 1/MagnAbsorb2 MagCRB 1", see Fig.1, which is one of the mag-nets inside the hadron absorber of the standard SHiP experimental setup, or at fzPos, aparameter to be provided via SetZposition(Float t x) method. SHiP units should beused, centimeter = 1.

The class exitHadronAbsorber interacts with Geant4 in two ways. First, Geant4 willcall for any particle newly created the method exitHadronAbsorber::PreTrack. If itskinetic energy is below a certain threshold, SetEnergyCut(Float t emax), the transportof this particle is stopped. Second, for any particle reaching the scoring plane, the AddHit

method is called. It records, the position and momentum when it hits the plane aswell as all the information about the particle when it had been created. If the kineticenergy of the particle is above the threshold, the information is stored as a vetoPoint

object in a vetoPoint container, together with the full history of the particle, mother,

1

Target

Hadron Absorber

Magnetized part of Hadron Absorber(B=0 default)

Scoring Plane

Start of Muon Shield

Figure 1: Setup with SHiP target, hadron absorber and scoring plane.

grandmother, . . . , as MCTrack objects in the MCTrack container. An additional optionexists, SetOnlyMuons(), to store only muons. In addition, information about neutrinomomentum and P/PT correlations are stored in 1(2)-dim histograms for further processingby Genie and GenieEventGenerator.

The standard target setup of SHiP is invoked by run fixedTarget.py

using ShipTargetStation("TargetStation", ship geo.target.length,

ship geo.hadronAbsorber.length,...) and ShipMuonShield("MuonShield",

ship geo.muShieldDesign, "ShipMuonShield",...).The class FixedTargetGenerator provides the input for Geant4 by adding parti-

cles on the stack with the information about particle ID, momentum, position, timeof flight, mother index in stack, weight and the ID of the process which created theparticle. If the kinetic energy of the particle is above a given threshold, to be set bySetEnergyCut(ecut*u.GeV), and flagged as final particle by Pythia8, then it is flaggedfor further processing by Geant4. In the most simple setup, where only Geant4 is used,SetG4only(), only the 400 GeV incoming proton is put on the stack.

The second way of running the FixedTargetGenerator is by starting with Pythia8.The main reason for this is the production of heavy flavour hadrons, mainly charmbut also beauty. In this case, two instances of Pythia8 are setup, one for proton onproton fixed target and for the proton on neutron fixed target. The interaction point isplaced randomly inside the SHiP target according to the actual material density and theintegrated interaction length describing the intensity loss of the incoming beam. Accordingto the material (Z/A) at the chosen interaction point, either a proton on proton orproton on neutron event is generated. Since the particle table of Pythia8 is not reallymaintained, specially for charm and beauty, the option exists (current set as default

2

in run fixedTarget.py) to use EvtGen for particle decays WithEvtGen(). Short-livedparticles, which still live long enough to undergo hadronic interactions in the target beforedecaying, cτ > 1 mm, are set stable for Pythia8 and EvtGen in order to have themtransported by Geant4. This includes the strange particles KL, KS, Λ0, Σ−, Σ+, Ξ−, Ξ0

and Ω−.The above procedure neglects charm production in cascade processes, like pro-

ton/neutrons/pions/kaons produced in the primary proton-nucleon collision interactingwith the target material. Do take this into account, a procedure exists within Fair-Ship using Pythia6, makeCascade.py. This program gives as output a list of charm(beauty) hadrons produced in fixed-target collisions. The FixedTargetGenerator can takethis list of hadrons (simple ROOT ntuple: ROOT.TNtuple("pythia6","pythia6 heavy

flavour","id:px:py:pz:E:M:mid:mpx:mpy:mpz:mE:mM") with information about parti-cle ID, momentum, and mother ID and its momentum. The heavy hadron is entered intoPythia8 and decayed by Pythia8 respectively EvtGen, the particles are positioned in theSHiP target according to material density, total interaction length up to the productionpoint, and level in the cascade (if given). The stable decay products are transported byGeant4 as with the other two methods. Each event is given a weight corresponding to thecharm(beauty) cross section over the total cross section and the total number of generatedinput events.

The major background for the SHiP experiment are muons. A special source of muonswith very large momentum are rare decays of low-mass resonances BR(η → µ+µ−) = (5.8±0.8)× 10−6, BR(ρ0 → µ+µ−) = (4.55± 0.28)× 10−5, BR(ω → µ+µ−) = (9.0± 3.1)× 10−5,BR(η′ → µ+µ−γ) = (1.08 ± 0.27) × 10−4 and BR(Φ → µ+µ−) = (2.87 ± 0.19) × 10−4.The decay tables of Geant4 and EvtGen for low mass particles are rather simple, forexample BR(ρ0 → π+π−) = 100%, no other decays. Therefore, the Pythia8 decay ta-ble is used as reference. The importing of the Pythia8 values to Geant4 is done by apython module called AddDiMuonDecayChannelsToG4 with a Pythia8 instance as argu-ment: AddDiMuonDecayChannelsToG4.Initialize(P8gen.GetPythia()). It is possibleto increase artificially the branching ratios using the method SetBoost(boostDiMuon) ofthe FixedTargetGenerator for special studies. Values up to 1000 should be ok, whichwill leave the 2µ channel still small compared to the main decay channels.

There are also other rare processes, like gamma conversion to two muons(/physics lists/em/GammaToMuons true) and positron annihilation (electron at rest) totwo muons (/physics lists/em/PositronToMuons true). These process are switchedon by default in g4Config.C and their cross section can be increased artificially with aSetCrossSecFactor(boostFactor) method for studying their effect on the background.

3 Output

After FixedTargetGenerator has finished processing a given number of events, a postprocessing step is started to clean the output from empty events, removing all events with noparticle reaching the scoring plane. A file header is being created which corresponds to the

3

number of simulated proton on target (POT) collisions for this file. The ROOT tree savedcontains two containers, one cbmsim/vetoPoint with the entries of the scoring plane, andcbmsim/MCTrack with the particle hitting the scoring plane and all particles associated withit. This ROOT tree can be used for further processing by the muonsBackgroundGenerator.The saved histograms of the neutrino kinematics can be used as input for the generationof Genie neutrino inelastic scattering events.

4 Examples, Results and Comparisons

• python $FAIRSHIP/muonShieldOptimization/run fixedTarget.py -n 100000

-e 0.5 -r 400 -G

Will simulate 100000 proton on target collisions with a kinetic energy cut of> 0.5 GeV using directly Geant4 and assigning the run number 400. Execution onSurface Pro, Ubuntu 16.10, took 29200 s and produced 3757 events with activityafter the hadron absorber.

• python $FAIRSHIP/muonShieldOptimization/run fixedTarget.py -n 100000

-e 0.5 -r 100 -P

Will simulate 100000 proton on target collisions with a kinetic energy cut of> 0.5 GeV using Pythia8 for the primary interaction followed by Geant4, assigningthe run number 100. Execution on Surface Pro, Ubuntu 16.10, took 26500 s andproduced 3747 events with activity after the hadron absorber.

• python $FAIRSHIP/muonShieldOptimization/run fixedTarget.py -n 100000

-e 0.5 -r 500 -V

Will simulate 100000 proton on target collisions with a kinetic energy cut of> 0.5 GeV using Pythia8 for the primary interaction, using EvtGen for the decay ofshortlived particles, except for mesons with a di-muon channel, followed by Geant4,assigning the run number 500. Execution on Surface Pro, Ubuntu 16.10, took33000 s and produced 3749 events with activity after the hadron absorber.

For this low energy cut, events with activity after the hadron absorber are dominated byneutrinos, see Fig.4. Geant4, Pythia8 and Pythia8 together with EvtGen give very similarresults. Also note, only muons with energies above ∼ 10 GeV are able pass the hadronabsorber. Increasing the energy cut to > 10.0 GeV, about 10 times more proton on targetcan be simulated for the same amount of CPU time. The energy distributions obtainedfor muons with Geant4 only have in average lower mean values than for other two cases.

• python $FAIRSHIP/muonShieldOptimization/run fixedTarget.py -n 10000

-e 0.5 -r 600 -C -f root://eoslhcb.cern.ch//eos/ship/data/Charm/

Cascade-parp16-MSTP82-1-MSEL4-76Mpot_1.root

Will read the kinematics of 10000 charm hadrons from input file, decay them viaPythia8/EvtGen, position decay vertex inside SHiP target and transport the decay

4

products by Geant4. The right procedure to mix Pythia8/Geant4 primary collisionswith charm from cascade still needs to be implemented.

[m]7100− 7080− 7060− 7040− 7020− 7000− 6980− 6960− 6940− 6920− 6900−

dN/2

cm

0

100

200

300

400

500

z start

only Geant4: 3757with Pythia8: 3747with EvtGen: 3749

z start

[N]0 2 4 6 8 10 12 14 16 18

0

500

1000

1500

2000

2500

3000

3500

multiplicity

only Geant4: 3757with Pythia8: 3747with EvtGen: 3749

multiplicity

Figure 2: Distribution of the simulated proton interaction position and multiplicity ofparticles leaving the hadron absorber. Energy threshold set at > 0.5 GeV.

5 History

Previous productions of fixed target events were done using a PYTHIA8/GEANT4 stan-dalone (not integrated in the FairShip framework) python script, with its own descriptionof the SHiP target setup. The output data obtained were simple ROOT ntuples, withlimited information about particles histories.

5

[m]7100− 7080− 7060− 7040− 7020− 7000− 6980− 6960− 6940− 6920− 6900−

dN/2

cm

0

10

20

30

40

50

60

70

z start

only Geant4: 412with Pythia8: 558with EvtGen: 538

z start

[N]0 2 4 6 8 10 12 14 16 18

0

100

200

300

400

500

multiplicity

only Geant4: 412with Pythia8: 558with EvtGen: 538

multiplicity

Figure 3: Distribution of the simulated proton interaction position and multiplicity ofparticles leaving the hadron absorber. Energy threshold set at > 10 GeV.

6

]2[GeV/c0 10 20 30 40 50 60 70 80 90 100

dN/1

GeV

0

2

4

6

8

10

12

14 only Geant4: 56

with Pythia8: 58

with EvtGen: 57

kin Energy of mu-

]2[GeV/c0 2 4 6 8 10 12 14 16 18 20

dN/0

.2G

eV

0

5

10

15

20

25

30

35

40

45 only Geant4: 102

with Pythia8: 137

with EvtGen: 98

kin Energy of nu_e at start

]2[GeV/c0 2 4 6 8 10 12 14 16 18 20

dN/0

.2G

eV0

100

200

300

400

500

600only Geant4: 2258

with Pythia8: 2251

with EvtGen: 2230

kin Energy of nu_mu at start

]2[GeV/c0 10 20 30 40 50 60 70 80 90 100

dN/1

GeV

0

2

4

6

8

10

12

14

16

18

kin Energy of mu+

only Geant4: 77

with Pythia8: 85

with EvtGen: 79

]2[GeV/c0 2 4 6 8 10 12 14 16 18 20

dN/0

.2G

eV

0

5

10

15

20

25

30

kin Energy of nu_e_bar at start

only Geant4: 79

with Pythia8: 82

with EvtGen: 64

kin Energy of nu_e_bar at start

]2[GeV/c0 2 4 6 8 10 12 14 16 18 20

dN/0

.2G

eV

0

50

100

150

200

250

300

350

kin Energy of nu_mu_bar at start

only Geant4: 1369

with Pythia8: 1312

with EvtGen: 1399

kin Energy of nu_mu_bar at start

]2[GeV/c0 10 20 30 40 50 60 70 80 90 100

dN/1

GeV

0

2

4

6

8

10

12

14

16

18

20

kin Energy of mu- after hadron absorber

only Geant4: 56

with Pythia8: 58

with EvtGen: 57

kin Energy of mu- after hadron absorber

]2[GeV/c0 10 20 30 40 50 60 70 80 90 100

dN/1

GeV

0

5

10

15

20

25

kin Energy of mu+ after hadron absorber

only Geant4: 77

with Pythia8: 85

with EvtGen: 79

kin Energy of mu+ after hadron absorber

Figure 4: Kinetic energies of particles leaving the hadron absorber. Energy threshold setat > 0.5 GeV.

7

]2[GeV/c0 10 20 30 40 50 60 70 80 90 100

dN/1

GeV

0

2

4

6

8

10

12

14

16

18

20

22

24

only Geant4: 85

with Pythia8: 188

with EvtGen: 165

kin Energy of mu-

]2[GeV/c0 2 4 6 8 10 12 14 16 18 20

dN/0

.2G

eV

0

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2only Geant4: 2

with Pythia8: 16

with EvtGen: 13

kin Energy of nu_e at start

]2[GeV/c0 2 4 6 8 10 12 14 16 18 20

dN/0

.2G

eV0

2

4

6

8

10

only Geant4: 157

with Pythia8: 147

with EvtGen: 137

kin Energy of nu_mu at start

]2[GeV/c0 2 4 6 8 10 12 14 16 18 20

dN/0

.2G

eV

0

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2

with Pythia8: 1

kin Energy of nu_tau at start

]2[GeV/c0 10 20 30 40 50 60 70 80 90 100

dN/1

GeV

0

2

4

6

8

10

12

14

16

18

20only Geant4: 136

with Pythia8: 192

with EvtGen: 183

kin Energy of mu+

]2[GeV/c0 2 4 6 8 10 12 14 16 18 20

dN/0

.2G

eV

0

1

2

3

4

5

only Geant4: 2

with Pythia8: 11

with EvtGen: 14

kin Energy of nu_e_bar at start

]2[GeV/c0 2 4 6 8 10 12 14 16 18 20

dN/0

.2G

eV

0

2

4

6

8

10only Geant4: 96

with Pythia8: 126

with EvtGen: 114

kin Energy of nu_mu_bar at start

]2[GeV/c0 10 20 30 40 50 60 70 80 90 100

dN/1

GeV

0

5

10

15

20

25

kin Energy of mu- after hadron absorber

only Geant4: 85

with Pythia8: 188

with EvtGen: 165

kin Energy of mu- after hadron absorber

]2[GeV/c0 10 20 30 40 50 60 70 80 90 100

dN/1

GeV

0

2

4

6

8

10

12

14

16

18

20

22

24

kin Energy of mu+ after hadron absorber

only Geant4: 136

with Pythia8: 192

with EvtGen: 183

kin Energy of mu+ after hadron absorber

Figure 5: Kinetic energies of particles leaving the hadron absorber. Energy threshold setat > 10 GeV.

8

6 Particle fluxes for the muon flux measurement

Another use of the FixedTargetGenerator is to determine the expected rates and percentageof particle types for the muon flux measurement, planned for 2018 [6].

Where different from the defaults in FairShip, the setup for this simulation consists of:

1. The MuonShield disabled, and the z-position of the sensitive planeset to the z-position of the hadron absorber plus half its length inmuonShieldOptimization/run fixedTarget.py. This will ensure there is no mag-netic field around the hadron absorber.

2. A cylindrical target replica with radius 7.5 cm, 147.5 cm length (i.e. in-cluding an extra 20 cm of W). The files geometry/geometry config.py andpassive/ShipTargetStation.cxx have to be changed.

3. No shielding around the target. The file passive/ShipTargetStation.cxx has tobe changed.

4. A rectangular hadron absorber of iron, in multiples of 80× 80× 80 cm3 blocks. Thislength is set in geometry/geometry config.py.

5. The dimensions of the scoring plane after the hadron absorberhave been reduced to 2m × 2m × 2mm. This is done inmuonShieldOptimization/exitHadronAbsorber.cxx.

The geometry corresponding to this layout (with a hadron absorber of 160 cm length) isshown in Fig. 6. In Tab. 1,Tab. 2 and Tab. 3 we compare the rates and percentages for

Figure 6: The target replica for the muon flux measurement. The length of the hadronabosrber in this figure is 160 cm.

three absorber lengths, 160 cm, 240 cm and 320 cm.The numbers of particles corresponding to 1M POT originating from

charm cascade decays are calculated as follows. The charm input file

9

Cascade-parp16-MSTP82-1-MSEL4-76Mpot 1.root has 152× 106 entries, correspondingto 66.11 × 106 primary interactions. The fraction of protons which produce charm isχ(pp→ cc) = 1.7×10−3, hence the input file corresponds to 38.9×109 POT. Running Run-FixedTarget over n× 106 events would correspond to 38.9× 109/(152/n) = n× 0.26× 109

POT.For each of the hadron absorber lengths we have simulated 106 POT and added the

additional particles coming from charm. We have normalized the rates from charm to 1MPOT. We restrict ourselves to hits on the sensitive plane in the 80× 100 cm2 area afterthe hadron absorber. Fig. 7 shows the momentum distribution of muons and pions that

Table 1: Rates and percentages for absorber length 160cm.

Pythia Pythia + charm Geant4 only Geant 4 only + charmµ/106 POT 4204 4380 3604 3780percentage of total hits on the 80× 100 cm2 sensitive planeµ 19.6 19.8 19.6 19.8νµ 71.6 70.4 71.6 70.2e 0.0 0.0 0.0 0.0νe 2.5 3.6 2.5 3.8γ 0.4 0.4 0.4 0.4π 1.6 1.6 1.6 1.6K 0.0 0.0 0.0 0.0p 0.4 0.4 0.4 0.4n 3.8 3.7 3.8 3.6CPU Time per 10K events on lxplus

8050± 394s 782± 36s 7619± 449s 782± 38s

hit the 80× 100 cm2 area after the 160 cm long hadron absorber.

GeV/c0 5 10 15 20 25 30 35 40 45 50

0

100

200

300

400

500

p-muEntries 41968Mean 13.3Std Dev 9.391

muonspions

Momentum after 160cm hadron absorber

GeV/c0 5 10 15 20 25 30 35 40 45 50

0

100

200

300

400

500

p-muEntries 42017Mean 13.33Std Dev 9.374

muonspions

Momentum after 160cm hadron absorber - G4only

Figure 7: Momentum distribution of muons and pions after the 160cm long hadronabsorber, including the contribution from charm.

10

Table 2: Rates and percentages for absorber length 240cm.

Pythia Pythia + charm Geant4 only Geant 4 only + charmµ/106 POT 1480 1635 1575 1728percentage of total hits on the 80× 100 cm2 sensitive planeµ 12.7 13.2 12.6 13.1νµ 83.9 81.2 84.5 81.6e 0.0 0.0 0.0 0.0νe 2.2 4.0 2.1 3.8γ 0.1 0.1 0.0 0.0π 0.6 0.5 0.6 0.6K 0.0 0.0 0.0 0.0p 0.0 0.0 0.0 0.0n 0.6 0.6 0.6 0.6CPU Time per 10K events on lxplus

8689± 417s 826± 34s 7354± 290s 892± 40s

Fig. 8 shows the momentum distribution of muons and pions that hit the 80× 100 cm2

area after the 240cm long hadron absorber.

GeV/c0 5 10 15 20 25 30 35 40 45 50

0

50

100

150

200

250

p-muEntries 36104Mean 15.78Std Dev 9.619

muonspions

Momentum after 240cm hadron absorber

GeV/c0 5 10 15 20 25 30 35 40 45 50

0

50

100

150

200

250

300p-mu

Entries 35607Mean 15.76Std Dev 9.625

muonspions

Momentum after 240cm hadron absorber - G4only

Figure 8: Momentum distribution of muons and pions after the 240cm long hadronabsorber, including the contribution from charm.

Fig. 9 shows the momentum distribution of muons and pions that hit the 80× 100 cm2

area after the 320cm long hadron absorber.

11

Table 3: Rates and percentages for absorber leght 320cm.

Pythia Pythia + charm Geant4 only Geant 4 only + charmµ/106 POT 1491 1608 1380 1498percentage of total hits on the 80× 100 cm2 sensitive planeµ 14.0 14.4 14.1 14.5νµ 83.0 80.7 82.9 80.4e 0.0 0.0 0.0 0.0νe 3.0 4.6 3.0 4.9γ 0.0 0.0 0.0 0.0π 0.0 0.0 0.0 0.0K 0.0 0.0 0.0 0.0p 0.0 0.0 0.0 0.0n 0.0 0.0 0.0 0.0CPU Time per 10K events on lxplus

9073± 394s 863± 39s 9424± 450s 832± 38s

GeV/c0 5 10 15 20 25 30 35 40 45 50

0

50

100

150

200

250

p-muEntries 29313Mean 17.43Std Dev 9.52

muonspions

Momentum after 320cm hadron absorber

GeV/c0 5 10 15 20 25 30 35 40 45 50

0

50

100

150

200

250

p-muEntries 28937Mean 17.2Std Dev 9.184

muonspions

Momentum after 320cm hadron absorber - G4only

Figure 9: Momentum distribution of muons and pions after the 320cm long hadronabsorber, including the contribution from charm.

12

References

[1] M. Al-Turany, D. Bertini, R. Karabowicz, D. Kresan, P. Malzacher, T. Stockmanns,and F. Uhlig, The FairRoot framework, J. Phys. Conf. Ser. 396, 022001, (2012). doi:10.1088/1742-6596/396/2/022001.

[2] S. Agostinelli et al., Geant4 - a simulation toolkit, Nucl. Instr. and Meth. A508, 250,(2003).

[3] T. Sjstrand, S. Ask, J. R. Christiansen, R. Corke, N. Desai, P. Ilten, S. Mrenna,S. Prestel, C. O. Rasmussen, and P. Z. Skands, An Introduction to PYTHIA 8.2,Comput. Phys. Commun. 191, 159–177, (2015). doi: 10.1016/j.cpc.2015.01.024.

[4] H. Dijkstra and T. Ruf, Heavy Flavour Cascade Production in a Beam Dump (Dec.2015). URL https://cds.cern.ch/record/2115534.

[5] A. Ryd, D. Lange, N. Kuznetsova, S. Versille, M. Rotondo, D. P. Kirkby, F. K.Wuerthwein, and A. Ishikawa, EvtGen: A Monte Carlo Generator for B-Physics.(2005).

[6] E. van Herwijnen et al., Muon-flux measurements for SHiP at H4, CERN-SPSC-2017-020 (June 2017). URL https://cds.cern.ch/record/2267770.

13