-
Notifications
You must be signed in to change notification settings - Fork 0
/
OpDetExample.fcl
119 lines (100 loc) · 4.11 KB
/
OpDetExample.fcl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
#include "services_lariat.fcl"
#include "lariatanamodules.fcl"
process_name: OpDetExample
services:
{
# Load the service that manages root files for histograms.
TFileService: { fileName: "OpDetExample_histo.root" }
Timing: {}
RandomNumberGenerator: {} #ART native random number generator
#message: @local::standard_info
message: @local::standard_debug
scheduler: { }
@table::lariat_services
}
# Configuration of the messaging service to show/hide
# debug messages from the optical hit finding algorithms.
# (To suppress messages, set limit: 0).
services.message.destinations.debugmsg: {
type: "cout"
threshold: "INFO"
append: true
categories: {
OpHitBuilder: { limit: 1e6 timespan: 0 }
}
}
source:
{
module_type: RootInput
maxEvents: -1 # Number of events to create
}
# 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:
{
}
filters:
{
}
analyzers:
{
opdet:
{
module_type: OpDetExample
OpHitBuilderAlg: { }
}
}
#define the producer and filter modules for this path, order matters,
#filters reject all following items. see lines starting physics.producers below
reco: [ ]
ana: [ opdet ]
#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: [ ]
#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: [ ana ]
}
#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: "OpDetExample_out.root"
}
}
# ==============================================================================================
# Module-specific input parameters
#
physics.analyzers.opdet.OpDetChannel: 1 # 0 = Hmm PMT, 1 = ETL PMT
physics.analyzers.opdet.BaselineWindowSize: 1000 # ns
physics.analyzers.opdet.NWaveformSamples: 28672 # default 28672 samples
physics.analyzers.opdet.PrintWvforms: true # waveforms will be saved to histograms
physics.analyzers.opdet.MaxSavedWaveforms: 20 # max number of waveforms to save into
# histogram file (default: 10)
#================================================================================================
# Tunable settings for hit-finding, integration, etc. Most of these can be left as default.
#
physics.analyzers.opdet.OpHitBuilderAlg.HitFindingMode: "grad" # "grad" or "signal"
physics.analyzers.opdet.OpHitBuilderAlg.GradHitThresh: -10 # default -10 ADC/ns
physics.analyzers.opdet.OpHitBuilderAlg.GradRMSThresh: 5 # default 5 (x grad RMS)
physics.analyzers.opdet.OpHitBuilderAlg.SignalHitThresh: 4 # default 4 mV
physics.analyzers.opdet.OpHitBuilderAlg.IntegrationWindows: [100,7000] # integration lengths in samples (ns)
physics.analyzers.opdet.OpHitBuilderAlg.BaselineWindowSize: 1000 # samples (ns)
physics.analyzers.opdet.OpHitBuilderAlg.MvPerADC: 0.2 # V1751 board 9 digitizer conversion
physics.analyzers.opdet.OpHitBuilderAlg.UsePrepulseFit: false
# Average waveform settings. Full waveform length = PrePulseDisplay + FullWindowLength
physics.analyzers.opdet.OpHitBuilderAlg.AddHitsToAverageWaveform: true
physics.analyzers.opdet.OpHitBuilderAlg.PrepulseDisplay: 1000
physics.analyzers.opdet.OpHitBuilderAlg.FullWindowLength: 7000
# Service-related settings.
# Print out messages from OpHitBuilderAlg
services.scheduler.SkipEvent: [ ProductNotFound ]