1 #include "services_dune.fcl"
2 #include "imagepatternalgs.fcl"
4 # Example configuration of job applying CNN-based selection of
5 # EM-like activity (3 outputs: [track, em, none]) on the level
6 # of tracks / clusters / single hits.
7 # The same configuration can be used for other CNN models, trained
8 # to distinguish also Michel electrons or tagging vertices.
9 # Configured for ProtoDUNE, hopefully straight-forward to adopt
10 # to other experiments.
12 process_name: EmTrackId
16 TFileService: { fileName: "reco_hist.root" }
19 RandomNumberGenerator: {} #ART native random number generator
20 message: @local::dune_message_services_prod_debug
21 FileCatalogMetadata: @local::art_file_catalog_mc
22 @table::protodune_services
27 module_type: RootInput
28 maxEvents: -1 # Number of events to create
35 #emtrackid: @local::standard_emtrackclusterid # uses 3-outs CNN model
36 emtrkmichelid: @local::standard_emtrackmichelid # uses 4-outs model
39 reco: [ emtrkmichelid ]
42 trigger_paths: [ reco ]
43 end_paths: [ stream1 ]
50 module_type: RootOutput
51 fileName: "%ifb_%tc_reco.root"
52 dataTier: "full-reconstructed"
57 # Model configuration:
59 physics.producers.emtrkmichelid.PointIdAlg.NNetModelFile: "/home/your_dir/your_cnn_model.nnet" # your model (there is no default one in repository!)
60 physics.producers.emtrkmichelid.PointIdAlg.NNetOutputs: ["track", "em", "michel", "none"] # be sure that the order corresponds to your model outputs
61 physics.producers.emtrkmichelid.PointIdAlg.PatchSizeW: 44 # how many wires in patch
62 physics.producers.emtrkmichelid.PointIdAlg.PatchSizeD: 48 # how many downsampled ADC entries
63 physics.producers.emtrkmichelid.PointIdAlg.DriftWindow: 6 # downsampling window in drift ticks
64 physics.producers.emtrkmichelid.PointIdAlg.DownscaleFn: "mean" # downsampling function
65 physics.producers.emtrkmichelid.PointIdAlg.DownscaleFullView: false # downsample after the patch position is selected
69 physics.producers.emtrkmichelid.HitModuleLabel: "linecluster" # all hits (used to classify leftovers from clustering)
70 physics.producers.emtrkmichelid.ClusterModuleLabel: "linecluster" # clusters to be classified
71 physics.producers.emtrkmichelid.TrackModuleLabel: "pmtrack" # tracks to be classified (leave that one empty if there are no 3D tracks yet)
72 physics.producers.emtrkmichelid.Views: [] # possible to run over selected views only (all views if empty list)
74 # Calibration, NOTE: use the same settings as for the training data preparation
76 #physics.producers.emtrkmichelid.PointIdAlg.CalorimetryAlg: @local::standard_calorimetryalgmc # use your detector calibration constants, this the default
77 #physics.producers.emtrkmichelid.PointIdAlg.CalibrateAmpl: true # this equalizes ADC amplitudes between planes and MC/data
79 # Noise and distortions testing (off by default):
81 #physics.producers.emtrkmichelid.PointIdAlg.BlurKernel: [0.03, 0.15, 0.64, 0.15, 0.03] # wire to wire blur
82 #physics.producers.emtrkmichelid.PointIdAlg.NoiseSigma: 4 # uncorrelated noise
83 #physics.producers.emtrkmichelid.PointIdAlg.CoherentSigma: 6 # coherent noise, over 32 wire groups