standard_primary_reco_lartpcdetector.fcl
Go to the documentation of this file.
1 #
2 # File: standard_primary_reco_lartpcdetector.fcl
3 # Purpose: simple reconstruction of events for the "standard" LAr TPC detector
4 # Date: July 30th, 2015
5 # Author: Gianluca Petrillo (petrillo@fnal.gov)
6 # Version: 0.1 (broken)
7 # Input: file with simulated (or real) raw data
8 #
9 # Description:
10 # Wire signal calibration, hit finding and clustering for the "standard" LAr TPC
11 # detector.
12 #
13 # This file is currently unusable since LAr TPC detector has no wire calibration
14 # module.
15 #
16 # Changes:
17 # 20150730 (petrillo@fnal.gov) [v0.1]
18 # original version, based on MicroBooNE's "stage 1" reconstruction
19 #
20 
21 #include "messageservice.fcl"
22 #include "seedservice.fcl"
23 #include "geometry.fcl"
24 #include "detectorproperties_lartpcdetector.fcl"
25 #include "larproperties.fcl"
26 #include "databaseutil.fcl"
27 #include "detectorclocks_lartpcdetector.fcl"
28 #include "seedservice_lartpcdetector.fcl"
29 
30 #include "services_microboone_simulation.fcl"
31 #include "larfft.fcl"
32 #include "caldata_microboone.fcl"
33 
34 #include "hitfindermodules.fcl"
35 #include "mchitmodules.fcl"
36 #include "mcreco.fcl"
37 
38 
39 process_name: PrimaryReco
40 
41 services:
42 {
43  scheduler: { defaultExceptions: false } # Make all uncaught exceptions fatal.
44  # Load the service that manages root files for histograms.
45  TFileService: { fileName: "reco_primary_hist.root" }
46 
47  TimeTracker: {}
48  MemoryTracker: {}
49  RandomNumberGenerator: {} # ART native random number generator
50  NuRandomService: @local::lartpcdetector_seedservice # from seedservice_lartpcdetector.fcl (larsim)
51 
52  # LArSoft services
53  @table::standard_geometry_services # from geometry.fcl
54  DetectorPropertiesService: @local::lartpcdetector_detproperties # from detectorproperties_lartpcdetector.fcl
55  LArPropertiesService: @local::standard_properties # from larproperties.fcl
56  DetectorClocksService: @local::lartpcdetector_detectorclocks # from detectorclocks_lartpcdetector.fcl
57  DatabaseUtil: @local::standard_database # from databaseutil.fcl
58 
59  SignalShapingServiceMicroBooNE: @local::microboone_signalshapingservice
60  LArFFT: @local::standard_larfft # from larfft.fcl
61 
62 } # services
63 
64 
65 # source is now a root file from command line
66 source:
67 {
68  module_type: RootInput
69  maxEvents: 10 # Number of events to create
70 }
71 
72 
73 # Define and configure some modules to do work on each event.
74 # First modules are defined; they are scheduled later.
75 # Modules are grouped by type.
76 physics:
77 {
78 
79  producers:
80  {
81 
82  ### random number saver
83  rns: { module_type: RandomNumberSaver }
84 
85  ### calwire producers
86  caldata: @local::microboone_calroi
87 
88  ### hit-finder producers
89  gaushit: @local::gaus_hitfinder
90 
91  ### cluster-finder producers
92  fuzzycluster: @local::standard_fuzzycluster
93  fuzzyclustermerger: @local::standard_fuzzyclustermerger
94 
95  ### MC producers
96  mchitfinder: @local::standard_mchitfinder
97  mcreco: @local::standard_mcreco
98 
99  } # producers
100 
101  # define the producer and filter modules for this path; order matters.
102  # Filters reject all following items (none present here).
103  # See lines starting physics.producers above.
104  reco: [ rns,
105  caldata,
106  gaushit,
107  fuzzycluster, fuzzyclustermerger
108  mchitfinder # , mcreco
109  ]
110 
111  # define the output stream, there could be more than one if using filters
112  stream1: [ out1 ]
113 
114  # trigger_paths is a keyword and contains the paths that modify art::Event,
115  # i.e., filters and producers
116  trigger_paths: [ reco ]
117 
118  # end_paths is a keyword and contains the paths that do not modify art::Event,
119  # i.e., analyzers and output streams. These might be run simultaneously.
120  end_paths: [ stream1 ]
121 
122 } # physics
123 
124 # Block to define where the output goes.
125 # If you defined a filter in the physics block and put it in the trigger_paths
126 # then you need to put a SelectEvents: { SelectEvents: [ XXX ] } entry
127 # in the output stream you want those to go to, where XXX is the label of the filter module(s)
128 outputs:
129 {
130  out1:
131  {
132  module_type: RootOutput
133  fileName: "%ifb_%tc_primary.root"
134  compressionLevel: 1
135  }
136 } # outputs