Skip to content

Simulation

Tingjun Yang edited this page Sep 17, 2022 · 8 revisions

Run genie and Geant4 simulation

Simulate neutrino spills

lar -c prodgenie_nuspill_dunendlartms.fcl
lar -c dunendlartms_g4.fcl genie_nu_spill_gen.root

The first command generates 10 neutrino spills in the LArTPC. The second command runs Geant4 propagation on the particles from neutrino interactions.

The Geant4 simulation output is saved in the format of sim::SimEnergyDeposit.

Here is an example analyzer module to save the Genie and Geant4 information into a TTree: SimDump_module.cc.

lar -c runsimdump.fcl genie_nu_spill_gen_g4.root

Simulate single neutrino interactions

lar -c prodgenie_nu_dunendlartms.fcl
lar -c dunendlartms_g4.fcl genie_nu_gen.root

The above commands are all you need to simulate neutrino events in the ND LArTPC. If you are interested in the details in simulation, read on.

GENIE simulation

LBNF beam simulation is documented in this wiki page page.

The location and names of the flux files are specified in genie_dunend.fcl.

Currently we use the dk2nu flux. Those files are located in /cvmfs/dune.osgstorage.org/pnfs/fnal.gov/usr/dune/persistent/stash/Flux/g4lbne/v3r5p4/QGSP_BERT/OptimizedEngineeredNov2017/. The ntuple branches are described on this page.

One important configuration file is LBNFFlux.xml. This file is specified by the environment variable GDK2NUFLUXXML, which is automatically setup when you setup dunendlar (through mrbslp). There are important configurations in this file:


This sets the length unit to be meter in the xml file.

    <units> m </units>

This specifies the beam direction is -0.101 rad going downward.

    <beamdir type="series">
       <rotation axis="x" units="rad"> -0.101 </rotation>
    </beamdir>

This specifies the transformation between the detector (gdml) coordinate system and the flux coordinate system. The assumption is that the beam will go through the center of LArTPC. ( 0.0, -0.05, 6.66 ) is the center of the LArTPC in the detector coordinate system. 562.1179 is the distance between the beam target and the LArTPC.

    <beampos> ( 0.0, -0.05, 6.66 ) = ( 0, 0, 562.1179 ) </beampos>

This specifies a beam window where the neutrinos from the flux file will be placed initially. Currently this is a 10x6 m^2 rectangle in front of the muon tagger (z = 2 m).

    <window>
      <point coord="det"> 5, -3, 2 </point>
      <point coord="det"> -5,  -3, 2 </point>
      <point coord="det">  5, 3, 2 </point>
    </window>

A fiducial volume for neutrino interactions is specified in genie_dunend.fcl. The unit is cm. This defines a box that surrounds the ArgonCube.

dunendlartms_genie_nu.FiducialCut:             "box:-500,-300,200,500,300,1000"

Geometry

Blue: muon tagger; Red: LArTPC; Magenta: TMS.


Event display

One simulated neutrino spill: