Cosmic ray generation (CORSIKA)

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

  1. 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)
  2. MicroBooNE collaboration, Cosmic Shielding Studies at MicroBooNE (2016), MICROBOONE-NOTE-1005-PUB