Cosmic ray generation (CORSIKA)
Generation of cosmic rays is performed via CORSIKAGen
module
(presentation to LArSoft here,
Doxygen documentation here),
which samples from a pregenerated set of cosmic particle showers.
ICARUS standard configuration for that module is icarus_corsika_cmc
in
fcl/gen/corsika/corsika_icarus.fcl
;
a configuration icarus_corsika_p
with only protons as primary cosmic rays is also available.
Job configurations using it include:
fcl/gen/corsika/prodcorsika_standard_icarus.fcl
.
Settings
Samples were pregenerated by Matt Bass for use with MicroBooNE and other surface detector at Fermilab; they follow the Constant Mass Composition model, including as primary rays protons, and helium, carbon/nitrogen/oxygen, iron and magnesium nuclei, each having the same spectral slope (γ). A proton-only configuration is also available, mainly with the historical purpose of comparing to the CRY generator, which only simulates proton primaries.
parameter | value | parameter | updated at | notes |
---|---|---|---|---|
pregenerated sample location | /pnfs/larsoft/persistent/physics/cosmics/Fermilab/CORSIKA/standard |
ShowerInputFiles |
v08_19_01 |
more information in the README file in there |
included primary ray types | p, He, N, Mg, Fe | ShowerInputFiles |
v08_19_01 |
|
flux normalization | 17200 (p), 9200 (He), 6200 (N), 9200 (Mg), 6200 (Fe) [from ref. 1] | ShowerFluxConstants |
v08_19_01 |
1/(π m s²) |
exposure time | 2.9 ms | SampleTime |
v08_55_02 |
|
time offset | -1.5 ms | TimeOffset |
v08_55_02 |
on simulation time scale |
shower area extension | 10 m | ShowerAreaExtension |
v08_19_01 |
additional on each side of the cryostats |
shower position shift | 10 m (x and z) | RandomXZShift |
v08_19_01 |
|
shower particle entrance | +18 m (y) | ProjectToHeight |
v08_19_01 |
in LArSoft “world” coordinates |
additional space around cryostats | 5 m (x), 3 m (y), 6 m (z) | BufferBox |
v08_19_01 |
Relevant information from /pnfs/larsoft/persistent/physics/cosmics/Fermilab/CORSIKA/standard/README
(unversioned):
parameter | value | |
---|---|---|
minimum energy | 1.3 (p), 5.2 (He), 18.2 (N), 31.2 (Mg), 72.8 (Fe) GeV | |
maximum energy | 100 TeV | |
particle energy cut | 50 MeV | |
flux slope γ | 2.7 | (Φ ,A, (E) ∝ E ^-γ^ , E in GeV) |
observation level | 228 m |
This is the configuration icarus_corsika_cmc
from v08_55_02
:
@table::standard_CORSIKAGen_CMC
SampleTime: 2.9e-3
ShowerInputFiles: [ "/pnfs/larsoft/persistent/physics/cosmics/Fermilab/CORSIKA/standard/p_showers_*.db", "/pnfs/larsoft/persistent/physics/cosmics/Fermilab/CORSIKA/standard/He_showers_*.db", "/pnfs/larsoft/persistent/physics/cosmics/Fermilab/CORSIKA/standard/N_showers_*.db", "/pnfs/larsoft/persistent/physics/cosmics/Fermilab/CORSIKA/standard/Mg_showers_*.db", "/pnfs/larsoft/persistent/physics/cosmics/Fermilab/CORSIKA/standard/Fe_showers_*.db" ]
TimeOffset: -1.5e-3
BufferBox: [ -500.0, 500.0,-300.0,300.0,-600.0,600.0 ] #in cm
ProjectToHeight: 1800 #height to which particles are projected in cm
standard_CORSIKAGen_CMC
is defined in larsim/EventGenerator/CORSIKA/CORSIKAGen.fcl
;
this is also from larsim
v08_06_02
(part of LArSoft v08_19_01
):
ShowerFluxConstants: [ 1.72e4, 9.2e3, 6.2e3, 9.2e3, 6.2e3] #list of flux constants per shower file
ShowerAreaExtension: 1000 #amount to extend the shower area beyond the cryo dimensions
RandomXZShift: 1000 #amount to randomly shift shower start point in x & z [cm]
(parameters overwritten by icarus_corsika_cmc
are here omitted)
Note on statistics
The sample CORSIKAGen
draws sowers from in ICARUS default configuration was generated by Matt Bass
with about 175 million showers spread in 50 files (less than 1% of these showers contains particles!).
CORSIKAGen
output show how many showers are extracted on average (and then, exactly) for each event;
this number for the configured sampling volume and time turns out to be a bit over 100,000 proton showers.
Granted, most of these are empty, and we are left with ~600 showers that have particles
(less than 2 on average for proton cosmic rays).
CORSIKAGen
selects on each job one of the database files
(in the configuration here, this means about 3.5 million proton showers)
and it guarantees that in a single event no shower is chosen more than once;
no guarantee whatsoever between events (and between jobs).
Therefore, the probability of a shower being featured more than once
is substantial and quickly grows to certainty
with the number of events per job and with the number of jobs.
Note however that this duplication is mitigated by the fact that every shower
is randomly displaced in space and time, and its propagation through matter
is independent of all the others.
Nevertheless, one should expect primary particles in a large sample
to show the same flavour, energy and momentum.
Simulation chain configuration
Cosmic ray events contain a large amount of secondary particles from the
cosmic rays, and their propagation (GEANT4) through the simulated
“world” containing the detector can produce several millions
particles.
To cope with this particular scenario, special configurations are used.
Since most of the particles do not cross the TPC, they are not
observable and can be discarded at the cost of not being able to track
back to the full¹ shower.
The configuration recommended here does not include the Cosmic Ray
Tagging detector. A different configuration for the g4
stage needs
to be validated for that.
Simulation stage | Configuration file | Comment | Last seen in |
---|---|---|---|
generation | prodcorsika_standard_icarus.fcl |
cosmic rays only, any time, any primary type | v08_44_00 |
prodcorsika_proton_intime_icarus_bnb.fcl |
protons only, with one in BNB gate; see below | v09_06_00 |
|
detector simulation | cosmics_g4_icarus_volCryostat.fcl |
saves only particles in cryostats (recommended) | v08_45_00 |
cosmics_g4_icarus_volDetEnclosure.fcl |
saves only particles in detector, including CRT | v08_45_00 |
|
intime_g4_icarus.fcl |
special for in-time cosmic ray processing | v09_06_00 |
|
readout simulation | standard detsim configuration |
||
reconstruction | standard reco configurations |
¹ Actually it turns out that out of a primary cosmic ray, only one or two shower particles make it to the world volume we are simulating.
In-time cosmic ray simulation
Simulation of cosmic rays in time with a beam gate is a complicate business,
the hardest part defining exactly what needs to be in time
(it is very different to require the cosmic proton to be in time,
or any particle, including any shabby neutron, to cross in time,
and the path in space they cover is also relevant).
A processing chain is described in prodcorsika_proton_intime_icarus_bnb.fcl
.
Relevant references
- cosmic ray model, including the Constant Mass Composition: J. Kempa and J. Wdowczyk, Mass composition of primary cosmic rays at energies 10^14^ - 3×10^15^ eV J. Phys. G: Nucl. Phys. 9 1271 (1983)
- MicroBooNE collaboration, Cosmic Shielding Studies at MicroBooNE (2016), MICROBOONE-NOTE-1005-PUB