1 #include "services_dune.fcl"
2 #include "largeantmodules_dune.fcl"
3 #include "photpropservices_dune.fcl"
4 #include "opticaldetectormodules_dune.fcl"
6 process_name: PDSIMCHAINTRA
10 //Load the service that manages root files for histograms.
11 TFileService: { fileName: "pd_tra.root" }
14 RandomNumberGenerator: {} #ART native random number generator
15 message: @local::standard_info
16 @table::protodune_simulation_services
24 PhysicsListName: "QGSP_BERT"
27 enableScintillation: true
28 ScintillationByParticleType: false
29 enableAbsorption: false
39 gdmlFileName_ : "protodune_v5_refactored_nowires.gdml"
42 MCTruthEventAction: {service_type: "MCTruthEventActionService"}
43 ParticleListAction: {service_type: "ParticleListActionService"}
45 services.PhotonVisibilityService: @local::protodunev4_photonvisibilityservice
46 services.LArG4Parameters.FillSimEnergyDeposits: true
47 services.LArG4Parameters.UseLitePhotons: true
48 services.LArG4Parameters.IonAndScintCalculator: "NEST"
50 //source is now a root file
53 module_type: RootInput
55 fileNames: ["muon.root"]
58 //Define and configure some modules to do work on each event.
59 //First modules are defined; they are scheduled later.
60 //Modules are grouped by type.
66 largeant: @local::standard_largeant
67 rns: { module_type: "RandomNumberSaver" }
74 module_type: "SimPhotonCounter"
76 InputModule: "largeant"
77 MakeAllPhotonsTree: true
78 MakeDetectedPhotonsTree: true
80 MakeOpDetEventsTree: true
83 //define the producer and filter modules for this path, order matters,
84 //filters reject all following items. see lines starting physics.producers below
85 simulate: [ rns, largeant ]
87 #define the output stream, there could be more than one if using filters
88 stream1: [ out1, SimPh ]
90 //trigger_paths is a keyword and contains the paths that modify the art::event,
91 //ie filters and producers
92 trigger_paths: [simulate]
94 //end_paths is a keyword and contains the paths that do not modify the art::Event,
95 //ie analyzers and output streams. these all run simultaneously
98 physics.producers.largeant.ChargeRecoveryMargin: 2.5 # cm
100 //block to define where the output goes. if you defined a filter in the physics
101 //block and put it in the trigger_paths then you need to put a SelectEvents: {SelectEvents: [XXX]}
102 //entry in the output stream you want those to go to, where XXX is the label of the filter module(s)
107 module_type: RootOutput
108 fileName: "%ifb_pd_tra.root"
109 dataTier: "simulated"