LArSoft workflow example¶
This example assumes that:
A suitable Apptainer container has been activated (see Apptainer images) if necessary (UPS or non-FNAL machine),
DUNESW has been loaded via Spack (see FNAL Spack) or UPS (see UPS),
Celeritas has been installed against a compatible LArSoft version, and
Celeritas environment variables have been loaded (see LArSoft for DUNE).
Summary¶
This sequence of commands generate analysis files for Celeritas and the LArSim
fast simulation using a single GENIE-generated event.
The included run.sh script executes all the following steps, where EXAMPLE_DIR
is example/larceler inside the Celeritas source dir.
# Set up environment:
# - for spack-based execution, the working directory is *not* included
# in the FHICL lookup path
export FHICL_FILE_PATH=$FHICL_FILE_PATH:$EXAMPLE_DIR
# - the modified GDML lookup also requires the current directory (perhaps only for
# newer LArSoft versions?)
export FW_SEARCH_PATH=.:$FW_SEARCH_PATH
# Download and patch the geometry file for Celeritas execution into the current directory
if ! [ -f dune10kt_v6_refactored_1x2x6_optical.gdml ]; then
sh "${EXAMPLE_DIR}/setup-dune-gdml.sh"
fi
# Run GENIE (number of events can be passed via the first argument to this script)
NUM_EVENTS=${1:-1}
lar -c prodgenie_nu_dune10kt_1x2x6.fcl -n $NUM_EVENTS -o genie-output-${NUM_EVENTS}.root
# Run LArG4 + IonAndScint with original dune10kt_v6_refactored_1x2x6.gdml
lar -c "${EXAMPLE_DIR}/larg4_dune10kt_1x2x6.fcl" -s genie-output-${NUM_EVENTS}.root -o larg4-output.root
# Run FastSim and Celeritas CPU optical simulations with patched geometry
lar -c "${EXAMPLE_DIR}/opticalsim_dune10kt_1x2x6.fcl" -s larg4-output.root -o fastsim-output.root
lar -c "${EXAMPLE_DIR}/opticalsim_celeritas_dune10kt_1x2x6.fcl" -s larg4-output.root -o celeritas-output.root
# Generate analysis files
lar -c pdsimana_job.fcl -s $PWD/fastsim-output.root
lar -c pdsimana_job.fcl -s $PWD/celeritas-output.root
Optical simulation setup¶
This example uses a script to download and patch an official DUNE gdml file:
# Download and patch
curl -o dune10kt_v6_refactored_1x2x6_optical.gdml https://raw.githubusercontent.com/DUNE/dunecore/b8fb0006da5ca878732740c2030cdac66699c3fc/dunecore/Geometry/gdml/dune10kt_v6_refactored_1x2x6.gdml
patch -p1 < "${EXAMPLE_DIR}/dune10kt-optical.patch"
patch -p1 < "${EXAMPLE_DIR}/dune10kt-deleteuvwires.patch"
patch -p1 < "${EXAMPLE_DIR}/dune10kt-addopdet.patch"
the patches add optical properties:
--- orig/dune10kt_v6_refactored_1x2x6_optical.gdml 2026-06-08 15:27:18
+++ optical/dune10kt_v6_refactored_1x2x6_optical.gdml 2026-08-17 14:56:01
@@ -1,16 +1,14 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<gdml_simple_extension xmlns:gdml_simple_extension="http://www.example.org"
- xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
- xs:noNamespaceSchemaLocation="RefactoredGDMLSchema/SimpleExtension.xsd">
-<extension></extension>
-<define>
+<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
+<gdml xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://cern.ch/service-spi/app/releases/GDML/schema/gdml.xsd">
<!--
-
-
-
+Change log:
+ 0. DUNE: https://github.com/DUNE/dunecore/blob/develop/dunecore/Geometry/gdml/dune10kt_v6_refactored_1x2x6.gdml
+ 1. Remove GDML extension
+ 2. Add optical properties
-->
+<define>
<position name="posCryoInDetEnc" unit="cm" x="0" y="-100" z="0"/>
<position name="posCenter" unit="cm" x="0" y="0" z="0"/>
<rotation name="rPlus90AboutX" unit="deg" x="90" y="0" z="0"/>
@@ -26,6 +24,20 @@
<position name="posArapucaSub1" unit="cm" x="0" y="0" z="-31.4"/>
<position name="posArapucaSub2" unit="cm" x="0" y="0" z="31.4"/>
<position name="posArapucaSub3" unit="cm" x="0" y="0" z="80.2"/>
+ <!-- Liquid Argon Proporties -->
+ <matrix name="SY" coldim="1" values="24000/MeV" />
+ <matrix name="RS" coldim="1" values="1.0" />
+ <matrix name="FTC" coldim="1" values="6.*ns" />
+ <matrix name="STC" coldim="1" values="1590.*ns" />
+ <matrix name="FSY" coldim="1" values="0.3" /> <!-- aka YIELDRATIO -->
+ <matrix name="SSY" coldim="1" values="0.7" />
+ <matrix coldim="2" name="REFLECTIVITY" values="2.034*eV 1 4.136*eV 1"/>
+ <matrix name="D_EF" coldim="2" values="7.74901*eV 1 11.5758*eV 1" />
+ <matrix name="D_RF" coldim="2" values="7.74901*eV 0 11.5758*eV 0" />
+ <matrix name="SCINTLAR" coldim="2" values="7.74901*eV 0.000238409 7.79551*eV 0.000322081 7.842*eV 0.000429707 7.88849*eV 0.000566384 7.93499*eV 0.000737801 7.98148*eV 0.00095019 8.02798*eV 0.00121025 8.07447*eV 0.00152501 8.12096*eV 0.00190171 8.16746*eV 0.00234761 8.21395*eV 0.00286978 8.26045*eV 0.00347484 8.30694*eV 0.00416879 8.35343*eV 0.00495668 8.39993*eV 0.0058424 8.44642*eV 0.00682847 8.49292*eV 0.00791578 8.53941*eV 0.00910346 8.58591*eV 0.0103887 8.6324*eV 0.0117668 8.67889*eV 0.0132309 8.72539*eV 0.0147724 8.77188*eV 0.0163804 8.81838*eV 0.0180427 8.86487*eV 0.0197453 8.91136*eV 0.0214731 8.95786*eV 0.0232096 9.00435*eV 0.0249382 9.05085*eV 0.0266413 9.09734*eV 0.0283018 9.14383*eV 0.0299026 9.19033*eV 0.0314274 9.23682*eV 0.0328608 9.28332*eV 0.0341885 9.32981*eV 0.0353979 9.3763*eV 0.0364779 9.4228*eV 0.0374193 9.46929*eV 0.0382148 9.51579*eV 0.038859 9.56228*eV 0.0393486 9.60877*eV 0.0396822 9.65527*eV 0.0398606 9.70176*eV 0.0398859 9.74826*eV 0.0397623 9.79475*eV 0.0394953 9.84125*eV 0.0390919 9.88774*eV 0.0385602 9.93423*eV 0.0379091 9.98073*eV 0.0371486 10.0272*eV 0.036289 10.0737*eV 0.0353412 10.1202*eV 0.034316 10.1667*eV 0.0332247 10.2132*eV 0.032078 10.2597*eV 0.0308868 10.3062*eV 0.0296612 10.3527*eV 0.0284112 10.3992*eV 0.0271461 10.4457*eV 0.0258745 10.4922*eV 0.0246045 10.5387*eV 0.0233434 10.5852*eV 0.0220979 10.6316*eV 0.0208737 10.6781*eV 0.0196762 10.7246*eV 0.0185096 10.7711*eV 0.017378 10.8176*eV 0.0162842 10.8641*eV 0.015231 10.9106*eV 0.0142202 10.9571*eV 0.0132532 11.0036*eV 0.012331 11.0501*eV 0.011454 11.0966*eV 0.0106224 11.1431*eV 0.0098359 11.1896*eV 0.0090939 11.2361*eV 0.00839559 11.2826*eV 0.00773992 11.3291*eV 0.00712565 11.3755*eV 0.0065514 11.422*eV 0.00601564 11.4685*eV 0.00551678 11.515*eV 0.00505315 11.5615*eV 0.00462305 11.608*eV 0.00422473" />
+ <matrix name="RINDEXLAR" coldim="2" values="7.74901*eV 1.31339 7.75415*eV 1.31358 7.75929*eV 1.31378 7.76444*eV 1.31397 7.7696*eV 1.31417 7.77477*eV 1.31437 7.77994*eV 1.31457 7.78512*eV 1.31477 7.7903*eV 1.31497 7.79549*eV 1.31517 7.80069*eV 1.31537 7.8059*eV 1.31557 7.81111*eV 1.31577 7.81633*eV 1.31598 7.82156*eV 1.31618 7.82679*eV 1.31639 7.83203*eV 1.3166 7.83728*eV 1.3168 7.84253*eV 1.31701 7.8478*eV 1.31722 7.85307*eV 1.31743 7.85834*eV 1.31764 7.86362*eV 1.31785 7.86891*eV 1.31807 7.87421*eV 1.31828 7.87952*eV 1.31849 7.88483*eV 1.31871 7.89015*eV 1.31893 7.89547*eV 1.31914 7.90081*eV 1.31936 7.90615*eV 1.31958 7.91149*eV 1.3198 7.91685*eV 1.32002 7.92221*eV 1.32024 7.92758*eV 1.32047 7.93296*eV 1.32069 7.93834*eV 1.32091 7.94373*eV 1.32114 7.94913*eV 1.32137 7.95454*eV 1.32159 7.95995*eV 1.32182 7.96537*eV 1.32205 7.9708*eV 1.32228 7.97623*eV 1.32251 7.98168*eV 1.32275 7.98713*eV 1.32298 7.99259*eV 1.32321 7.99805*eV 1.32345 8.00352*eV 1.32368 8.009*eV 1.32392 8.01449*eV 1.32416 8.01999*eV 1.3244 8.02549*eV 1.32464 8.031*eV 1.32488 8.03652*eV 1.32513 8.04204*eV 1.32537 8.04758*eV 1.32561 8.05312*eV 1.32586 8.05867*eV 1.32611 8.06422*eV 1.32635 8.06979*eV 1.3266 8.07536*eV 1.32685 8.08094*eV 1.32711 8.08652*eV 1.32736 8.09212*eV 1.32761 8.09772*eV 1.32787 8.10333*eV 1.32812 8.10895*eV 1.32838 8.11457*eV 1.32864 8.12021*eV 1.3289 8.12585*eV 1.32916 8.1315*eV 1.32942 8.13715*eV 1.32968 8.14282*eV 1.32995 8.14849*eV 1.33021 8.15417*eV 1.33048 8.15986*eV 1.33075 8.16556*eV 1.33102 8.17126*eV 1.33129 8.17697*eV 1.33156 8.18269*eV 1.33183 8.18842*eV 1.3321 8.19416*eV 1.33238 8.1999*eV 1.33266 8.20566*eV 1.33293 8.21142*eV 1.33321 8.21719*eV 1.33349 8.22296*eV 1.33378 8.22875*eV 1.33406 8.23454*eV 1.33434 8.24034*eV 1.33463 8.24615*eV 1.33492 8.25197*eV 1.33521 8.2578*eV 1.3355 8.26363*eV 1.33579 8.26947*eV 1.33608 8.27532*eV 1.33637 8.28118*eV 1.33667 8.28705*eV 1.33697 8.29292*eV 1.33726 8.29881*eV 1.33756 8.3047*eV 1.33787 8.3106*eV 1.33817 8.31651*eV 1.33847 8.32243*eV 1.33878 8.32835*eV 1.33909 8.33429*eV 1.3394 8.34023*eV 1.33971 8.34618*eV 1.34002 8.35214*eV 1.34033 8.35811*eV 1.34065 8.36409*eV 1.34096 8.37007*eV 1.34128 8.37607*eV 1.3416 8.38207*eV 1.34192 8.38808*eV 1.34224 8.3941*eV 1.34257 8.40013*eV 1.3429 8.40616*eV 1.34322 8.41221*eV 1.34355 8.41826*eV 1.34388 8.42433*eV 1.34422 8.4304*eV 1.34455 8.43648*eV 1.34489 8.44257*eV 1.34523 8.44867*eV 1.34557 8.45477*eV 1.34591 8.46089*eV 1.34625 8.46701*eV 1.34659 8.47315*eV 1.34694 8.47929*eV 1.34729 8.48544*eV 1.34764 8.4916*eV 1.34799 8.49777*eV 1.34835 8.50395*eV 1.3487 8.51014*eV 1.34906 8.51633*eV 1.34942 8.52254*eV 1.34978 8.52875*eV 1.35015 8.53498*eV 1.35051 8.54121*eV 1.35088 8.54745*eV 1.35125 8.5537*eV 1.35162 8.55996*eV 1.35199 8.56623*eV 1.35237 8.57251*eV 1.35275 8.5788*eV 1.35313 8.58509*eV 1.35351 8.5914*eV 1.35389 8.59771*eV 1.35428 8.60404*eV 1.35466 8.61037*eV 1.35505 8.61672*eV 1.35545 8.62307*eV 1.35584 8.62943*eV 1.35624 8.6358*eV 1.35664 8.64218*eV 1.35704 8.64857*eV 1.35744 8.65497*eV 1.35784 8.66138*eV 1.35825 8.6678*eV 1.35866 8.67423*eV 1.35907 8.68066*eV 1.35949 8.68711*eV 1.35991 8.69357*eV 1.36033 8.70003*eV 1.36075 8.70651*eV 1.36117 8.713*eV 1.3616 8.71949*eV 1.36203 8.726*eV 1.36246 8.73251*eV 1.36289 8.73904*eV 1.36333 8.74557*eV 1.36377 8.75211*eV 1.36421 8.75867*eV 1.36465 8.76523*eV 1.3651 8.7718*eV 1.36555 8.77839*eV 1.366 8.78498*eV 1.36646 8.79158*eV 1.36691 8.7982*eV 1.36737 8.80482*eV 1.36784 8.81145*eV 1.3683 8.8181*eV 1.36877 8.82475*eV 1.36924 8.83141*eV 1.36972 8.83808*eV 1.37019 8.84477*eV 1.37067 8.85146*eV 1.37116 8.85816*eV 1.37164 8.86488*eV 1.37213 8.8716*eV 1.37262 8.87834*eV 1.37312 8.88508*eV 1.37361 8.89183*eV 1.37411 8.8986*eV 1.37462 8.90537*eV 1.37513 8.91216*eV 1.37564 8.91896*eV 1.37615 8.92576*eV 1.37667 8.93258*eV 1.37719 8.93941*eV 1.37771 8.94624*eV 1.37824 8.95309*eV 1.37877 8.95995*eV 1.3793 8.96682*eV 1.37984 8.9737*eV 1.38038 8.98059*eV 1.38092 8.98749*eV 1.38147 8.9944*eV 1.38202 9.00132*eV 1.38257 9.00825*eV 1.38313 9.0152*eV 1.38369 9.02215*eV 1.38426 9.02911*eV 1.38483 9.03609*eV 1.3854 9.04308*eV 1.38597 9.05007*eV 1.38655 9.05708*eV 1.38714 9.0641*eV 1.38773 9.07113*eV 1.38832 9.07817*eV 1.38892 9.08522*eV 1.38952 9.09228*eV 1.39012 9.09936*eV 1.39073 9.10644*eV 1.39134 9.11354*eV 1.39196 9.12064*eV 1.39258 9.12776*eV 1.3932 9.13489*eV 1.39383 9.14203*eV 1.39447 9.14918*eV 1.3951 9.15634*eV 1.39575 9.16351*eV 1.39639 9.1707*eV 1.39705 9.1779*eV 1.3977 9.1851*eV 1.39836 9.19232*eV 1.39903 9.19955*eV 1.3997 9.20679*eV 1.40037 9.21405*eV 1.40105 9.22131*eV 1.40174 9.22858*eV 1.40243 9.23587*eV 1.40312 9.24317*eV 1.40382 9.25048*eV 1.40453 9.2578*eV 1.40524 9.26514*eV 1.40596 9.27248*eV 1.40668 9.27984*eV 1.4074 9.28721*eV 1.40813 9.29459*eV 1.40887 9.30198*eV 1.40961 9.30938*eV 1.41036 9.3168*eV 1.41112 9.32422*eV 1.41188 9.33166*eV 1.41264 9.33911*eV 1.41341 9.34658*eV 1.41419 9.35405*eV 1.41497 9.36154*eV 1.41576 9.36904*eV 1.41656 9.37655*eV 1.41736 9.38407*eV 1.41817 9.3916*eV 1.41898 9.39915*eV 1.4198 9.40671*eV 1.42063 9.41428*eV 1.42146 9.42186*eV 1.4223 9.42946*eV 1.42315 9.43707*eV 1.424 9.44469*eV 1.42486 9.45232*eV 1.42573 9.45996*eV 1.42661 9.46762*eV 1.42749 9.47529*eV 1.42838 9.48297*eV 1.42927 9.49067*eV 1.43018 9.49838*eV 1.43109 9.50609*eV 1.43201 9.51383*eV 1.43294 9.52157*eV 1.43387 9.52933*eV 1.43481 9.5371*eV 1.43576 9.54488*eV 1.43672 9.55268*eV 1.43769 9.56048*eV 1.43866 9.56831*eV 1.43965 9.57614*eV 1.44064 9.58399*eV 1.44164 9.59185*eV 1.44265 9.59972*eV 1.44366 9.6076*eV 1.44469 9.6155*eV 1.44573 9.62341*eV 1.44677 9.63134*eV 1.44783 9.63927*eV 1.44889 9.64722*eV 1.44997 9.65519*eV 1.45105 9.66316*eV 1.45214 9.67115*eV 1.45325 9.67916*eV 1.45436 9.68717*eV 1.45548 9.6952*eV 1.45662 9.70325*eV 1.45776 9.7113*eV 1.45892 9.71937*eV 1.46008 9.72745*eV 1.46126 9.73555*eV 1.46245 9.74366*eV 1.46365 9.75178*eV 1.46486 9.75992*eV 1.46608 9.76807*eV 1.46731 9.77624*eV 1.46856 9.78441*eV 1.46982 9.79261*eV 1.47109 9.80081*eV 1.47237 9.80903*eV 1.47367 9.81726*eV 1.47498 9.82551*eV 1.4763 9.83377*eV 1.47764 9.84205*eV 1.47898 9.85033*eV 1.48035 9.85864*eV 1.48172 9.86695*eV 1.48311 9.87528*eV 1.48452 9.88363*eV 1.48594 9.89199*eV 1.48737 9.90036*eV 1.48882 9.90875*eV 1.49029 9.91715*eV 1.49177 9.92556*eV 1.49326 9.93399*eV 1.49477 9.94244*eV 1.4963 9.9509*eV 1.49784 9.95937*eV 1.49941 9.96786*eV 1.50098 9.97636*eV 1.50258 9.98488*eV 1.50419 9.99341*eV 1.50582 10.002*eV 1.50747 10.0105*eV 1.50914 10.0191*eV 1.51083 10.0277*eV 1.51253 10.0363*eV 1.51426 10.0449*eV 1.516 10.0535*eV 1.51777 10.0622*eV 1.51956 10.0708*eV 1.52136 10.0795*eV 1.52319 10.0882*eV 1.52504 10.0969*eV 1.52691 10.1056*eV 1.52881 10.1144*eV 1.53072 10.1231*eV 1.53267 10.1319*eV 1.53463 10.1407*eV 1.53662 10.1495*eV 1.53863 10.1583*eV 1.54067 10.1671*eV 1.54273 10.176*eV 1.54482 10.1848*eV 1.54694 10.1937*eV 1.54908 10.2026*eV 1.55125 10.2115*eV 1.55345 10.2204*eV 1.55568 10.2294*eV 1.55793 10.2383*eV 1.56022 10.2473*eV 1.56254 10.2563*eV 1.56488 10.2653*eV 1.56726 10.2743*eV 1.56968 10.2833*eV 1.57212 10.2924*eV 1.5746 10.3015*eV 1.57711 10.3105*eV 1.57966 10.3196*eV 1.58224 10.3287*eV 1.58486 10.3379*eV 1.58752 10.347*eV 1.59021 10.3562*eV 1.59295 10.3654*eV 1.59572 10.3746*eV 1.59854 10.3838*eV 1.6014 10.393*eV 1.6043 10.4022*eV 1.60724 10.4115*eV 1.61023 10.4208*eV 1.61326 10.4301*eV 1.61634 10.4394*eV 1.61947 10.4487*eV 1.62264 10.458*eV 1.62587 10.4674*eV 1.62915 10.4768*eV 1.63248 10.4862*eV 1.63587 10.4956*eV 1.63931 10.505*eV 1.6428 10.5144*eV 1.64636 10.5239*eV 1.64997 10.5334*eV 1.65365 10.5429*eV 1.65738 10.5524*eV 1.66119 10.5619*eV 1.66505 10.5715*eV 1.66899 10.581*eV 1.673 10.5906*eV 1.67707 10.6002*eV 1.68122 10.6098*eV 1.68545 10.6194*eV 1.68975 10.6291*eV 1.69413 10.6388*eV 1.6986 10.6485*eV 1.70315 10.6582*eV 1.70778 10.6679*eV 1.71251 10.6776*eV 1.71732 10.6874*eV 1.72224 10.6971*eV 1.72725 10.7069*eV 1.73236 10.7167*eV 1.73757 10.7266*eV 1.74289 10.7364*eV 1.74832 10.7463*eV 1.75387 10.7562*eV 1.75953 10.7661*eV 1.76532 10.776*eV 1.77123 10.7859*eV 1.77727 10.7959*eV 1.78344 10.8059*eV 1.78976 10.8158*eV 1.79621 10.8259*eV 1.80282 10.8359*eV 1.80958 10.8459*eV 1.8165 10.856*eV 1.82359 10.8661*eV 1.83084 10.8762*eV 1.83828 10.8863*eV 1.8459 10.8965*eV 1.85372 10.9066*eV 1.86173 10.9168*eV 1.86995 10.927*eV 1.87839 10.9372*eV 1.88705 10.9474*eV 1.89595 10.9577*eV 1.90509 10.968*eV 1.91449 10.9783*eV 1.92416 10.9886*eV 1.9341 10.9989*eV 1.94434 11.0093*eV 1.95487 11.0196*eV 1.96573 11.03*eV 1.97692 11.0404*eV 1.98846 11.0509*eV 2.00037 11.0613*eV 2.01267 11.0718*eV 2.02537 11.0823*eV 2.03849 11.0928*eV 2.05207 11.1033*eV 2.06612 11.1139*eV 2.08067 11.1244*eV 2.09574 11.135*eV 2.11138 11.1456*eV 2.12761 11.1563*eV 2.14447 11.1669*eV 2.16199 11.1776*eV 2.18022 11.1883*eV 2.1992 11.199*eV 2.21899 11.2097*eV 2.23964 11.2205*eV 2.26121 11.2313*eV 2.28376 11.2421*eV 2.30737 11.2529*eV 2.33212 11.2637*eV 2.3581 11.2746*eV 2.3854 11.2854*eV 2.41413 11.2963*eV 2.44443 11.3073*eV 2.47642 11.3182*eV 2.51026 11.3292*eV 2.54613 11.3402*eV 2.58422 11.3512*eV 2.62477 11.3622*eV 2.66804 11.3732*eV 2.71432 11.3843*eV 2.76397 11.3954*eV 2.8174 11.4065*eV 2.87508 11.4176*eV 2.93758 11.4288*eV 3.0056 11.44*eV 3.07994 11.4512*eV 3.16162 11.4624*eV 3.25186 11.4736*eV 3.35224 11.4849*eV 3.4647 11.4962*eV 3.5918 11.5075*eV 3.7369 11.5188*eV 3.90453 11.5302*eV 4.10102 11.5416*eV 4.33545 11.553*eV 4.62145 11.5644*eV 4.98065 11.5758*eV 5.44987" />
+ <matrix name="ABSLENGTHLAR" coldim="2" values="7.74901*eV 10.0*m 11.6373*eV 10.0*m" />
+ <matrix name="RAYLEIGHLAR" coldim="2" values="7.74901*eV 90.0*cm 11.6373*eV 90.0*cm" />
</define>
<materials>
<element name="videRef" formula="VACUUM" Z="1"> <atom value="1"/> </element>
@@ -235,8 +247,47 @@
<material name="LAr" formula="LAr">
<D value="1.40" unit="g/cm3"/>
<fraction n="1.0000" ref="argon"/>
- </material>
+ <!-- LAr OPTICAL PROPERTIES -->
+ <property name="RINDEX" ref="RINDEXLAR"/>
+ <property name="RESOLUTIONSCALE" ref="RS"/>
+
+ <!-- Added RAYLEIGH -->
+ <property name="RAYLEIGH" ref="RAYLEIGHLAR"/>
+ <property name="ABSLENGTH" ref="ABSLENGTHLAR"/>
+
+ <property name="SCINTILLATIONYIELD" ref="SY"/>
+
+ <!-- Added all SCINT* data below
+ SY, SCINTLAR, FTC, and STC are existing data but likely wrongly assigned -->
+ <property name="SCINTILLATIONYIELD1" ref="SY"/>
+ <property name="SCINTILLATIONYIELD2" ref="SY"/>
+ <property name="SCINTILLATIONCOMPONENT1" ref="SCINTLAR"/>
+ <property name="SCINTILLATIONCOMPONENT2" ref="SCINTLAR"/>
+ <property name="SCINTILLATIONTIMECONSTANT" ref="FTC"/>
+ <property name="SCINTILLATIONTIMECONSTANT1" ref="FTC"/>
+ <property name="SCINTILLATIONTIMECONSTANT2" ref="STC"/>
+
+ <property name="YIELDRATIO" ref="FSY" />
+ <property name="FASTCOMPONENT" ref="SCINTLAR"/>
+ <property name="FASTTIMECONSTANT" ref="FTC" />
+ <property name="SLOWCOMPONENT" ref="SCINTLAR"/>
+ <property name="SLOWTIMECONSTANT" ref="STC" />
+ <property name="REEMISSIONPROB" ref="SCINTLAR"/>
+
+</material>
+<material name="ArapucaWindowProperties">
+ <D value="2.74351" unit="g/cm3"/>
+ <fraction n="0.600" ref="SiO2"/>
+ <fraction n="0.118" ref="Al2O3"/>
+ <fraction n="0.001" ref="Fe2O3"/>
+ <fraction n="0.224" ref="CaO"/>
+ <fraction n="0.034" ref="MgO"/>
+ <fraction n="0.010" ref="Na2O"/>
+ <fraction n="0.013" ref="TiO2"/>
+ <property name="REFLECTIVITY" ref="D_RF"/>
+ <property name="EFFICIENCY" ref="D_EF"/>
+ </material>
<material name="ArGas" formula="ArGas">
<D value="0.00166" unit="g/cm3"/>
<fraction n="1.0" ref="argon"/>
@@ -101976,4 +102027,4 @@
<setup name="Default" version="1.0">
<world ref="volWorld"/>
</setup>
-</gdml_simple_extension>
+</gdml>
and as a performance expedient delete the non-axis-aligned U,V wires in the TPC plane.
The third patch tags the volOpDetSensitive volumes as Geant4 sensitive detectors.
Overview¶
The set of FHiCL job files in this example can
produce neutrino events with GENIE,
simulate the energy deposition in LAr with Geant4,
propagate optical photons via fast simulation and Celeritas, and
generate analysis files.
The flow chart Fig. 7 shows every step of the workflow,
their respective fcl job file, along with the generated data type and
their module label.
Fig. 7 LArSoft workflow and FHiCL file descriptions.¶
The next sections describe each component and their invocation, as well
as a description of setting up a dunesw environment with native
(non-spack) CUDA.
Generating GENIE samples¶
Default prodgenie_nu_dune10kt.fcl, which is in your
PATHthroughdunesw.
$ lar -c prodgenie_nu_dune10kt_1x2x6.fcl -n 1 -o genie-output.root
If
-nis not used, the default number of events is set to 10 (defined upstream in prodgenie_common_dunefd.fcl).The GENIE input configuration is also upstream, at genie_dune.fcl (see
Configurations for 1x2x6 geometry).
Running LArG4 + IonAndScint¶
Use local
larg4_dune10k_1x2x6.fclfile.To loop over a subset of events, replace
-sby-n [num_events].The GDML input geometry in
LArG4should not tag Arapucas asSensDet, because this Geant4 run is only gathering step data inside the TPC, and not tracking photons to the PD.
$ lar -c larg4_dune10kt_1x2x6.fcl -s genie-output.root -o larg4-output.root
Running optical simulations¶
Use local
opticalsim*.fclfiles.To loop over a subset of events, replace
-swith-n [num_events].
Fast simulation¶
$ lar -c dune10k_optical_1x2x6.fcl -s larg4-output.root -o fastsim-output.root
Celeritas¶
$ lar -c dune10k_optical_celeritas_1x2x6.fcl -s larg4-output.root -o celeritas-output.root
By default, Celeritas will run on CPU. See documentation in the
dune10k_optical_celeritas_1x2x6.fcl file to toggle GPU execution.
Celeritas geometry requires correct optical material information and correct
SensDet data assigned to the Arapucas.
The geometry has also been modified to remove the U and V wires as an expedient
to improve runtime performance for smoke testing.
Generating analysis files from the optical simulation¶
$ lar -c pdsimana_job.fcl -s fastsim-output.root
$ lar -c pdsimana_job.fcl -s celeritas-output.root
Use local
pdsimana_job.fclfile (insrc/larceler).To loop over a subset of events, replace
-sby-n [num_events].Optional
-T filename.root: Overrides the default analyzer output file naming scheme, updating theservices.TFileServices.fileNamefield. This is equivalent to passing the full--services.TFileService.fileName=my-output.rootpath directly tolar.As noted in the
pdsimana.fcldocumentation, thePDModuleLabel: "PDSim"inpdsimana.fclis correct if optical simulation is generated with the local*optical*.fclfiles (which define “PDSim” as the name of the producer). If fast simulation is generated from a default LArSoftfcljob, that will likely bePDFastSim.
Note
The art workflow stores the module labels as part of the object naming
convention inside an art::Event object.
If unsure about what label to use while trying to load an object type in
PDSimAna, you can view it directly on ROOT.
E.g., for SimEnergyDeposits objects, the IonAndScint label is shown
as part of the branch name:
$ root art-file.root
root[1] Events->Print()
.
.
.
*............................................................................*
*Br 21 :sim::SimEnergyDeposits_IonAndScint__geantionandscint.obj : *
* | vector<sim::SimEnergyDeposit> *
*Entries : 10 : Total Size= 61060255 bytes File Size = 30434130 *
*Baskets : 10 : Basket Size= 16384 bytes Compression= 2.01 *
*............................................................................*
.
.
.