Project

General

Profile

Prodmany SNfcl

#include "services_dune.fcl"
#include "singles_dune.fcl"
#include "largeantmodules_dune.fcl"
#include "detsimmodules_dune.fcl"

process_name: SinglesGen

services: { # Load the service that manages root files for histograms.
TFileService: { fileName: "single35t_hist.root" }
Timing: {}
RandomNumberGenerator: {} #ART native random number generator
user: @local::dune35t_simulation_services
}

#Start each new event with an empty event.
source: {
module_type: EmptyEvent
maxEvents: 1000 # Number of events to create
firstRun: 1 # Run number to use for this file
firstEvent: 1 # number of first event in the file
}

#Define and configure some modules to do work on each event.
#First modules are defined; they are scheduled later.
#Modules are grouped by type.
physics: {

producers: {
generator: @local::dune35t_singlep
largeant: @local::dune35t_largeant
daq: @local::dune35t_simwire
rns: { module_type: "RandomNumberSaver" }
simcounter: @local::dune35t_simcounter
}

#define the producer and filter modules for this path, order matters,
#filters reject all following items. see lines starting physics.producers below
simulate: [ generator, largeant, daq, rns, simcounter ]

#define the output stream, there could be more than one if using filters
stream1: [ out1 ]

#trigger_paths is a keyword and contains the paths that modify the art::event,
#ie filters and producers
trigger_paths: [simulate]

#end_paths is a keyword and contains the paths that do not modify the art::Event,
#ie analyzers and output streams. these all run simultaneously
end_paths: [stream1]
}

#block to define where the output goes. if you defined a filter in the physics
#block and put it in the trigger_paths then you need to put a SelectEvents: {SelectEvents: [XXX]}
#entry in the output stream you want those to go to, where XXX is the label of the filter module(s)
outputs: {
out1: {
module_type: RootOutput
fileName: "single35t_gen.root" #default file name, can override from command line with -o or --output
}
}

#Here is where the electron lifetime (purity) can be changed
services.user.LArProperties.Electronlifetime: 99e3 #microseconds
#particle gun parameters
physics.producers.generator.T0: [75000.] # in ns
physics.producers.generator.SigmaT: [75000.] # in ns
physics.producers.generator.X0: [423.] # in cm
physics.producers.generator.SigmaX: [0.] # in cm
physics.producers.generator.PosDist: 0 # 0 - uniform, 1 - gaussian distribution
physics.producers.generator.Y0: [135.9] # in cm
#physics.producers.generator.SigmaY: [32.] # in cm
physics.producers.generator.SigmaY: [0.5] # in cm
physics.producers.generator.Z0: [78.0] # in cm
#physics.producers.generator.SigmaZ: [78.0] # in cm
physics.producers.generator.SigmaZ: [1.0] # in cm
physics.producers.generator.PosDist: 0 # 0 - uniform, 1 - gaussian
physics.producers.generator.Theta0XZ: [270.] # in degrees
#physics.producers.generator.SigmaThetaXZ: [19.] # in degrees
physics.producers.generator.SigmaThetaXZ: [0.2] # in degrees
physics.producers.generator.Theta0YZ: [-20.4] # in degrees
#physics.producers.generator.SigmaThetaYZ: [5.6] # in degrees
physics.producers.generator.SigmaThetaYZ: [0.2] # in degrees
physics.producers.generator.P0: [ 3. ] # central value of momentum for each particle in GeV/c
physics.producers.generator.SigmaP: [ 0. ] # variation about the central value
#physics.producers.generator.PDist: 1 # 0 - uniform, 1 - gaussian distribution