1 #include "services_dune.fcl"
2 #include "mvamodule.fcl"
3 #include "CAFMaker.fcl"
4 #include "CVNMapper.fcl"
5 #include "CVNEvaluator.fcl"
6 #include "RegCNNMapper.fcl"
7 #include "RegCNNEvaluator.fcl"
8 #include "energyreco.fcl"
14 # Load the service that manages root files for histograms.
15 TFileService: { fileName: "caf_hist.root" }
17 RandomNumberGenerator: {}
18 MemoryTracker: { } # default is one
19 message: @local::dune_message_services_prod
20 FileCatalogMetadata: @local::art_file_catalog_mc
21 @table::dunefd_simulation_services_legacy
26 module_type: RootInput
27 maxEvents: -1 # Number of events to create
30 # Define and configure some modules to do work on each event.
31 # First modules are defined; they are scheduled later.
32 # Modules are grouped by type.
37 mvaselectnue: @local::dunefd_mvaselect
38 mvaselectnumu: @local::dunefd_mvaselect
39 energyreconue: @local::dunefd_nuenergyreco
40 energyreconumu: @local::dunefd_nuenergyreco
41 cvnmap: @local::standard_cvnmapper
42 cvneval: @local::standard_cvnevaluator
43 regcnnmap: @local::standard_regcnnmapper
44 regcnneval: @local::standard_regcnnevaluator
49 cafmaker: @local::dunefd_cafmaker
52 #define the output stream, there could be more than one if using filters
55 #define the producer and filter modules for this path, order matters,
56 #filters reject all following items. see lines starting physics.producers below
57 prod: [mvaselectnue, energyreconue, mvaselectnumu, energyreconumu, cvnmap, cvneval, regcnnmap, regcnneval]
61 #end_paths is a keyword and contains the paths that do not modify the art::Event,
62 #ie analyzers and output streams. these all run simultaneously
63 # end_paths: [stream1, caf]
68 #block to define where the output goes. if you defined a filter in the physics
69 #block and put it in the trigger_paths then you need to put a SelectEvents: {SelectEvents: [XXX]}
70 #entry in the output stream you want those to go to, where XXX is the label of the filter module(s)
75 module_type: RootOutput
76 fileName: "%ifb_%tc_merged.root"
77 dataTier: "full-reconstructed"
82 services.Geometry: @local::dune10kt_workspace_geo
83 services.Geometry.GDML: "dune10kt_v1_1x2x6.gdml"
85 physics.producers.mvaselectnue.MVAMethod: "BDTG"
86 physics.producers.mvaselectnumu.MVAMethod: "BDTG"
88 physics.producers.mvaselectnue.Select: "nue"
89 physics.producers.mvaselectnumu.Select: "numu"
91 # 1 = longest reco track + hadronic, 2 = reco shower with highest charge + hadronic, 3 = all hit charges
92 physics.producers.energyreconue.RecoMethod: 2
93 physics.producers.energyreconumu.RecoMethod: 1
95 physics.producers.mvaselectnue.WeightFile: "MVASelect/v2.2/TMVAClassification_BDTG.nue.weights.xml"
96 physics.producers.mvaselectnumu.WeightFile: "MVASelect/v2.2/TMVAClassification_BDTG.numu.weights.xml"
99 physics.analyzers.cafmaker.MakeWeightTree: false
100 physics.analyzers.cafmaker.Reweight: false
101 physics.analyzers.cafmaker.MakeAnaTree: false
102 physics.analyzers.cafmaker.MakeSystHist: false
104 physics.analyzers.cafmaker.NuECut: 0.8
105 physics.analyzers.cafmaker.NuMuCut: 0.8
107 # Pull the reco information from one of the MVA modules, choice is arbitary
108 physics.analyzers.cafmaker.MVASelectLabel: "mvaselectnue"
110 physics.producers.cvnmap.HitsModuleLabel: "hitfd"
111 physics.producers.cvnmap.TimeResolution: 1600
112 physics.producers.cvnmap.PlaneLength: 500
113 physics.producers.cvnmap.TdcWidth: 500
117 JSONFileName: "caf_hist.root.json"
118 GenerateTFileMetadata: true
119 dataTier: "root-tuple"