1 # signalservices_dune.fcl
6 # 28jan2016: Modify filter to fix problems with baseline for deconvoluted signals.
7 # See https://cdcvs.fnal.gov/redmine/issues/11475.
11 dunefd_signalshapingservice: {
14 ADCPerPCAtLowestASICGain: 13160 #ADC/pC (2.8 ADC/mV * 4.7 mV/fC * 1000)
15 # ASICGains: [4.7, 7.8, 14, 25]
16 ASICGainInMVPerFC: [ 14, 14, 14 ] #mV/fC for Ind & col planes
17 ShapeTimeConst: [ 2.0, 2.0, 2.0 ] #Gain and Peaking time (microseconds)
19 # Noise Factor - rms ADCs @ lowest ASIC Gain (4.7 mV/fC)
20 NoiseFactVec: [[ 1.12, 0.86, 0.60, 0.55 ], [ 1.12, 0.86, 0.60, 0.55 ], [ 0.89, 0.66, 0.48, 0.43 ]]
22 # NoiseFactVec: [[ 0.0, 0.0, 0.0, 0.0 ], [ 0.0, 0.0, 0.0, 0.0 ], [ 0.0, 0.0, 0.0, 0.0 ]]
25 #FieldBins: 75 # for UseFunctionFieldShape: true
27 InputFieldRespSamplingPeriod: 100. # in nano second
35 FieldResponseTOffset: [-32.5e3, -32.5e3, -32.5e3] # in ns, time offset of field response shape
36 CalibResponseTOffset: [0.0, 0.0, 0.0] # in ns time offset to align all three planes
39 # For IndFilter and ColFilter, frequency (x) is measured in
40 # cycles/microsecond. The conversion to frequency bin depends on FFT size
43 #dla IndUFilter: "(x>0.0)*gaus(0)*exp(-0.5*pow(x/[3],[4]))"
44 IndUFilter: "gaus(0)*exp(-0.5*pow(x/[3],[4]))"
45 # IndUFilterParams: [ .454, 0.0, 0.1875, 0.25, 8.0 ]
46 #IndUFilterParams: [ 0.05, 0.0, 0.1875, 0.25, 8.0 ]
47 IndUFilterParams: [ 1.73, 1.69, 1.55, 0.19, 3.75 ]
49 #dla IndVFilter: "(x>0.0)*gaus(0)*exp(-0.5*pow(x/[3],[4]))"
50 IndVFilter: "gaus(0)*exp(-0.5*pow(x/[3],[4]))"
51 # IndVFilterParams: [ .454, 0.0, 0.1875, 0.25, 8.0 ]
52 #IndVFilterParams: [ 0.05, 0.0, 0.1875, 0.25, 8.0 ]
53 #dla IndVFilterParams: [ 1.74, 1.46, 1.33, 0.23, 4.89 ]
54 IndVFilterParams: [ 1.73, 1.69, 1.55, 0.19, 3.75 ]
57 #dla ColFilter: "(x>0)*[0]*exp(-0.5*(((x-[1])/[2])^2)^[3])"
58 ColFilter: "[0]*exp(-0.5*(((x-[1])/[2])^2)^[3])"
59 # ColFilterParams: [ 79258.0, 0.0, 0.1875, 1.5 ]
60 #ColFilterParams: [ 0.0792580, 0.0, 0.1875, 1.5 ]
61 ColFilterParams: [ 1.03, 0.08, 0.15, 2.17 ]
63 GetFilterFromHisto: false
65 FilterFunctionFname: "uboone_filters_v0.1.root"
66 FilterHistoName: "noisefilter_%d"
69 UseFunctionFieldShape: false
70 UseHistogramFieldShape: true
71 FieldResponseFname: "FieldResponse/dune35t_response_v1.0.root"
72 FieldResponseHistoName: "FieldResponse"
74 IndUFieldShape: "[0]*(1.0+[3]*tanh(x-[4]))*([4]-x)*exp(-0.5*((x-[4])/[2])^2.0)"
75 IndUFieldParams: [.00843,.1534,1.77,0.,0.5] #last parameter needs to be half of FFT vector, correct for in code
76 IndVFieldShape: "[0]*(1.0+[3]*tanh(x-[4]))*([4]-x)*exp(-0.5*((x-[4])/[2])^2.0)"
77 IndVFieldParams: [.00843,.1534,1.77,0.,0.5] #last parameter needs to be half of FFT vector, correct for in code
78 ColFieldShape: "x^[2]/(1.0+(x/[0])^[1])"
79 ColFieldParams: [ 8.0,16.0,.75 ]
81 DebugFieldShape: false
84 # 35t is the same for now
86 dune35t_signalshapingservice: @local::dunefd_signalshapingservice
87 ### Previous default settings
88 #dune35t_signalshapingservice.ADCPerPCAtLowestASICGain: 11700 #ADC/pC (For correct Digitization)
89 #dune35t_signalshapingservice.ASICGainInMVPerFC: [7.8, 7.8, 7.8] #mV/fC for Ind & col planes
90 #dune35t_signalshapingservice.ShapeTimeConst: [ 2.0, 2.0, 2.0 ] #Gain and Peaking time (microseconds)
91 ### Bringing in line with data settings, 8th Sept 2016
92 dune35t_signalshapingservice.ASICGainInMVPerFC: [ 14.0, 14.0, 14.0] #mV/fC for Ind & col planes
93 dune35t_signalshapingservice.ShapeTimeConst: [ 3.0 , 3.0 , 3.0 ] #Gain and Peaking time (microseconds)
95 # 3x1x1, protoDUNE and DUNE dual-phase signal service
98 # ProtoDUNE single phase
99 protodunesp_signalshapingservice: @local::dunefd_signalshapingservice
100 protodunesp_signalshapingservice.ColFilter: "(x>0.0)*gaus"
101 protodunesp_signalshapingservice.ColFilterParams: [ 1.0, 0.0, 0.1 ]
102 protodunesp_signalshapingservice.IndUFilter: "(x>0.0)*gaus"
103 protodunesp_signalshapingservice.IndUFilterParams: [ 1.0, 0.0, 0.1 ]
104 protodunesp_signalshapingservice.IndVFilter: "(x>0.0)*gaus"
105 protodunesp_signalshapingservice.IndVFilterParams: [ 1.0, 0.0, 0.1 ]
108 dunefddphase_signalshapingservice:
110 AreaNorm: 35.64 # in units (ADC x us) / fC
111 ADCpermV: 1.0 # ADC conversion factor (not used at the moment)
112 AmpENC: 1000.0 # noise in electrons from TDR
114 ShapeFunc: "1/([0]-[1]) * ( exp(-(x)/[0]) - exp(-(x)/[1]) )"
115 ShapeFuncParams: [0.5, 4.0]
116 RespSamplingPeriod: 400. # in nano second
118 AddFieldFunction: false
119 ColFieldFunction: "x*[0]"
120 ColFieldFunctionParams: [1.0]
123 ColFilter: "(x>0.0)*gaus"
124 ColFilterParams: [ 1.0, 0.0, 0.136, 2.5 ]
125 #FieldFunctionParameters: [1.0, 1.0, 1.0, 1.0] #0 step width #1 step height #2 slow/fast (could be taken from E field) #Tau (could be taken from field and temperature). 0 and Tau in us
128 # ProtoDUNE dual phase
129 protodunedphase_signalshapingservice: @local::dunefddphase_signalshapingservice
130 protodunedphase_signalshapingservice.ColFilter: "(x>0.0)*gaus"
131 protodunedphase_signalshapingservice.ColFilterParams: [ 1.0, 0.0, 0.1 ]
133 # 3x1x1 dual phase TPC
134 dunedphase3x1x1_signalshapingservice: @local::dunefddphase_signalshapingservice
135 dunedphase3x1x1_signalshapingservice.AreaNorm: 16.84
136 dunedphase3x1x1_signalshapingservice.AreaNorm1m: 23.58
137 dunedphase3x1x1_signalshapingservice.ShapeFunc: "[0]*exp((x-[1])/[2]) / ( 1 + exp((x-[1])/[3]))" #obtained from pulsed waveform fit
138 dunedphase3x1x1_signalshapingservice.ShapeFuncParams: [1.21581, 0.864873, 0.288648, 0.27413] #obtained from pulsed waveform fit
139 dunedphase3x1x1_signalshapingservice.ShapeFunc1m: "[0]*exp((x-[1])/[2]) / ( 1 + exp((x-[1])/[3]))" #obtained from pulsed waveform fit
140 dunedphase3x1x1_signalshapingservice.ShapeFuncParams1m: [1.46135, 1.0228, 0.336029, 0.29685] #obtained from pulsed waveform fit