2 # File: photonlibrary_builder_icarus.fcl
3 # Purpose: main configuration file for simulation of scintillation visibility
4 # Author: Gianluca Petrillo (petrillo@slac.stanford.edu)
8 # This configuration is base for the simulation of a few voxels of the
9 # photon visibility lookup table ("photon library") for ICARUS.
12 # This is the merge and optimization of `icarus_prodsingle_buildopticallibrary.fcl`
13 # from `icaruscode` `v08_57_00` plus `prova_source.fcl`.
31 ################################################################################
32 ### service configuration
33 ################################################################################
37 @table::icarus_g4_services
39 # events are generated anew each time: default per-event policy is ineffective
40 NuRandomService: @local::random_NuRandomService
42 OpDetResponse: @local::standard_opdetresponse
44 SpaceChargeService: @erase
49 services.TFileService.fileName:
"Supplemental-photonlibrary_builder_icarus_%tc-%p.root"
51 services.Geometry.DisableWiresInG4:
false # we need to account
for wire shadow
53 services.LArG4Parameters: { # customization
57 # enable this custom LArG4 physics list
58 # with optical physics instead of fast scintillation
62 "Optical", # <==
this is
the important
one!
72 # store only the count of photons per channel, not the single photons
75 # avoid unnecessary steps
76 DisableWireplanes:
true
77 FillSimEnergyDeposits:
false
78 NoElectronPropagation:
false
85 DoNotLoadLibrary:
true
88 # to avoid getting weird voxel size (for human readability),
89 # we hard-code the voxel grid;
90 # the library is generated only in the first cryostat
91 # (in the simulation the two cryostats are identical anyway);
92 # the volume of the cryostat C:0 according to icaruscode v08_57_00 was:
94 # (-420.43,-233.61,-1003.95) -- (-20,193.21,1003.95) cm
96 # This is roughly a (400 x 430 x 2010) = 345.72 m^3.
97 # Running a Monte Carlo "integration" (`photonlibrary_volumetest_icarus.fcl`)
98 # revealed that some 5-cm voxels at the borders where consistently not liquid
99 # argon and therefore we discount them here (3+3, 4+5 and 4+4).
100 # This turns out in going from 2765760 to 2245012 voxels (-20%!).
101 # The library generated on August 2018 covered a volume of 267.54 m^3.
103 UseCryoBoundary:
false
104 XMin: -405.0 # cm (August 2018: -366.0 cm)
105 XMax: -35.0 # cm (August 2018: -66.0 cm)
106 YMin: -215.0 # cm (August 2018: -210.0 cm)
107 YMax: 170.0 # cm (August 2018: 180.0 cm)
108 ZMin: -985.0 # cm (August 2018: -995.0 cm)
109 ZMax: 985.0 # cm (August 2018: 965.0 cm)
111 NX: 74 # 5 cm voxels filling 370 cm
112 NY: 77 # 5 cm voxels filling 385 cm
113 NZ: 394 # 5 cm voxels filling 1970 cm
115 } #
services.PhotonVisibilityService
117 # for photon library generation we do not include prescale
118 # (is prescale included at all except in fast optical simulation?)
119 services.LArPropertiesService.ScintPreScale: 1.0
122 ################################################################################
123 ### workflow configuration
124 ################################################################################
130 # --------------------------------------------------------------------------
134 # mode: scan a volume voxel by voxel;
135 # use the whole volume from PhotonVisibilityService,
136 # and the voxelization defined therein
137 SourceMode: 1 # kSCAN
139 FirstVoxel: @nil # voxel range must be overridden
141 UseCustomRegion:
false # use volume
from PhotonVisibilityService
143 # emission point distribution: uniform in the whole selected volume,
144 # but only from where liquid argon is present
146 SelectMaterials: [
"LAr" ]
147 NMaxFactor: 20 # never generate more that 20 times
the required photons
149 # photon energy distriibution: Gaussian around time distribution:
150 # fixed at 127.8 nm wavelength
152 P: 9.70 # average
photon energy [eV]
155 # time distribution: fixed at 0 (i.e. we don't use or care)
161 FillTree:
false # no additional
output please
164 # --------------------------------------------------------------------------
168 # --------------------------------------------------------------------------
175 GeneratorModule:
"generator"
176 Verbosity: 0 # quiet!
177 MakeAllPhotonsTree:
false
178 MakeDetectedPhotonsTree:
false
179 MakeOpDetsTree:
false
180 MakeOpDetEventsTree:
false
181 MakeLightAnalysisTree:
false
192 # Optical specific module configuration:
195 # we do not save, nor create, MCParticle objects
196 physics.producers.largeant.MakeMCParticles:
false
BEGIN_PROLOG triggeremu_data_config_icarus settings PMTADCthresholds sequence::icarus_stage0_multiTPC_TPC physics sequence::icarus_stage0_EastHits_TPC physics sequence::icarus_stage0_WestHits_TPC physics producers purityana0 caloskimCalorimetryCryoE physics caloskimCalorimetryCryoW physics sequence::physics pathW services
process_name physics producers generator PDist
process_name can override from command line with o or output photon
process_name largeant analyzeIt
process_name opdaq physics producers generator PosDist
process_name drop raw::OpDetWaveforms_DataApr2016RecoStage1_saturation_ * physics
process_name opdaq physics producers generator physics producers generator physics producers generator physics producers generator physics producers generator physics producers generator physics producers generator physics producers generator physics producers generator physics producers generator SigmaP
stream1 stream1 can override from command line with o or output services LArPropertiesService NeutronTrackingCut services LArG4Parameters UseCustomPhysics
process_name larg4outtime largeant
standard_singlep gaussian distribution ie ie ie gaussian TDist
process_name physics producers generator physics producers generator physics producers generator SigmaT
then echo Cowardly refusing to create a new FHiCL file with the same name as the original one('${SourceName}')." >&2 exit 1 fi echo "'$
BEGIN_PROLOG triggeremu_data_config_icarus settings PMTADCthresholds sequence::icarus_stage0_multiTPC_TPC physics sequence::icarus_stage0_EastHits_TPC physics sequence::icarus_stage0_WestHits_TPC physics producers purityana0 module_type
BEGIN_PROLOG sequence::SlidingWindowTriggerPatternsOppositeWindows END_PROLOG simSlidingORM6O6 effSlidingORW output
process_name largeant stream1 can override from command line with o or output physics producers generator N
process_name largeant stream1 can override from command line with o or output physics producers generator physics producers generator services LArG4Parameters EnabledPhysics
process_name rns pmtresponse
services LArG4Parameters UseLitePhotons
process_name opdaq physics producers generator physics producers generator physics producers generator physics producers generator physics producers generator physics producers generator physics producers generator physics producers generator T0
BEGIN_PROLOG sequence::SlidingWindowTriggerPatternsOppositeWindows END_PROLOG process_name