Skip to content

Commit 73babd9

Browse files
Merge pull request #497 from SBNSoftware/feature/ebelchio12_wirecell_nfsp_v2
Updated configurations for Wire-Cell noise filtering
2 parents a495773 + bdba650 commit 73babd9

10 files changed

Lines changed: 153 additions & 164 deletions

File tree

sbndcode/WireCell/cfg/pgrapher/common/tools.jsonnet

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ function(params)
5151
},
5252

5353
perchanresp : {
54-
type: "PerChannelResponse",
54+
type: "ParamsPerChannelResponse",
5555
data: {
5656
filename: params.files.chresp,
5757
}
@@ -64,7 +64,7 @@ function(params)
6464
// g.uses() convert [null] into [].
6565
perchanresp_nameuses : if std.type(params.files.chresp) == 'null'
6666
then {name:"", uses:[]}
67-
else {name:wc.tn(self.perchanresp), uses:[self.perchanresp]},
67+
else {name:wc.tn($.perchanresp), uses:[$.perchanresp]},
6868

6969

7070
wires : {

sbndcode/WireCell/cfg/pgrapher/experiment/sbnd/chndb-base.jsonnet

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,20 @@ function(params, anode, field, n, rms_cuts=[])
2020
// For MicroBooNE, channel groups is a 2D list. Each element is
2121
// one group of channels which should be considered together for
2222
// coherent noise filtering.
23-
//groups: [std.range(g*48, (g+1)*48-1) for g in std.range(0,171)],
24-
groups: [std.range(n * 5632 + g*64, n * 5632 + (g+1)*64-1) for g in std.range(0,87)],
25-
//groups: [std.range(n * 2560 + u * 40, n * 2560 + (u + 1) * 40 - 1) for u in std.range(0, 19)]
26-
// + [std.range(n * 2560 + 800 + v * 40, n * 2560 + 800 + (v + 1) * 40 - 1) for v in std.range(0, 19)]
27-
// + [std.range(n * 2560 + 1600 + w * 48, n * 2560 + 1600 + (w + 1) * 48 - 1) for w in std.range(0, 19)],
28-
23+
groups: [std.range( 0 + n * 5638 + g*32, 0 + n * 5638 + (g+1)*32 - 1) for g in std.range(0,149)] +
24+
[std.range(4806 + n * 5638 + g*32, 4806 + n * 5638 + (g+1)*32 - 1) for g in std.range(0,25)] ,
25+
2926

3027
// Externally determined "bad" channels.
31-
bad: [],
28+
//
29+
// Dead channels: 3232:3263 (inclusive) (East V). 4160:4191 (East Y)
30+
// Shorted channels: 7169 (West U), 8378 (West V).
31+
// There are four physically missing wires ( = bad channels) due to combs, in the center of each 1/2 APA.
32+
// They are 4374 and 5231 (East Y), 10012 and 10869 (West Y).
33+
// So in total, there are 76 bad channels.
34+
//
35+
//bad: [],
36+
bad: [546, 607] + std.range(3232, 3263) + std.range(4160, 4191) + [4374, 4800, 4801, 4802, 4803, 4804, 4805, 5060, 5231, 5636, 5637, 7169, 8378, 8574, 10012, 10869, 10438, 10439, 10440, 10441, 10442, 10443],
3237

3338
// Overide defaults for specific channels. If an info is
3439
// mentioned for a particular channel in multiple objects in this
@@ -42,7 +47,7 @@ function(params, anode, field, n, rms_cuts=[])
4247
// wish to change them.
4348
{
4449
//channels: std.range(n * 2560, (n + 1) * 2560 - 1),
45-
channels: std.range(n * 5632, n * 5632 + 5631)
50+
channels: std.range(n * 5638, n * 5638 + 5637),
4651
nominal_baseline: 2001.0, // adc count [879.5 mV]
4752
gain_correction: 1.0, // unitless
4853
response_offset: 0.0, // ticks?
@@ -74,7 +79,7 @@ function(params, anode, field, n, rms_cuts=[])
7479
{
7580
//channels: { wpid: wc.WirePlaneId(wc.Ulayer) },
7681
// channels: std.range(n * 2560, n * 2560 + 800- 1),
77-
channels: std.range(n * 5632, n * 5632 + 1984-1),
82+
channels: std.range(n * 5638, n * 5638 + 1984-1),
7883
freqmasks: [
7984
// { value: 1.0, lobin: 0, hibin: $.nsamples - 1 },
8085
// { value: 0.0, lobin: 169, hibin: 173 },
@@ -84,7 +89,7 @@ function(params, anode, field, n, rms_cuts=[])
8489
// response: { wpid: wc.WirePlaneId(wc.Ulayer) },
8590
/// this uses hard-coded waveform.
8691
response: { waveform: handmade.u_resp, waveformid: wc.Ulayer },
87-
response_offset: 120, // offset of the negative peak
92+
response_offset: 125.6, // offset of the negative peak
8893
pad_window_front: 20,
8994
decon_limit: 0.02,
9095
decon_limit1: 0.07,
@@ -94,7 +99,7 @@ function(params, anode, field, n, rms_cuts=[])
9499
{
95100
//channels: { wpid: wc.WirePlaneId(wc.Vlayer) },
96101
// channels: std.range(n * 2560 + 800, n * 2560 + 1600- 1),
97-
channels: std.range(n * 5632 + 1984, n * 5632 + 3968-1),
102+
channels: std.range(n * 5638 + 1984, n * 5638 + 3968-1),
98103
freqmasks: [
99104
// { value: 1.0, lobin: 0, hibin: $.nsamples - 1 },
100105
// { value: 0.0, lobin: 169, hibin: 173 },
@@ -104,7 +109,7 @@ function(params, anode, field, n, rms_cuts=[])
104109
// response: { wpid: wc.WirePlaneId(wc.Vlayer) },
105110
/// this uses hard-coded waveform.
106111
response: { waveform: handmade.v_resp, waveformid: wc.Vlayer },
107-
response_offset: 124,
112+
response_offset: 129.5,
108113
decon_limit: 0.01,
109114
decon_limit1: 0.08,
110115
roi_min_max_ratio: 1.5,
@@ -120,7 +125,7 @@ function(params, anode, field, n, rms_cuts=[])
120125
{
121126
//channels: { wpid: wc.WirePlaneId(wc.Wlayer) },
122127
// channels: std.range(n * 2560 + 1600, n * 2560 + 2560- 1),
123-
channels: std.range(n * 5632 + 3968, n * 5632 + 5632-1),
128+
channels: std.range(n * 5638 + 3968, n * 5638 + 5638-1),
124129
nominal_baseline: 650,
125130
decon_limit: 0.05,
126131
decon_limit1: 0.08,

sbndcode/WireCell/cfg/pgrapher/experiment/sbnd/chndb-perfect.jsonnet

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,20 @@ function(params, anode, field, n, rms_cuts=[])
2020
// For MicroBooNE, channel groups is a 2D list. Each element is
2121
// one group of channels which should be considered together for
2222
// coherent noise filtering.
23-
//groups: [std.range(g*48, (g+1)*48-1) for g in std.range(0,171)],
24-
groups: [std.range(n * 5632 + g*64, n * 5632 + (g+1)*64-1) for g in std.range(0,87)],
25-
//groups: [std.range(n * 2560 + u * 40, n * 2560 + (u + 1) * 40 - 1) for u in std.range(0, 19)]
26-
// + [std.range(n * 2560 + 800 + v * 40, n * 2560 + 800 + (v + 1) * 40 - 1) for v in std.range(0, 19)]
27-
// + [std.range(n * 2560 + 1600 + w * 48, n * 2560 + 1600 + (w + 1) * 48 - 1) for w in std.range(0, 19)],
28-
23+
groups: [std.range( 0 + n * 5638 + g*32, 0 + n * 5638 + (g+1)*32 - 1) for g in std.range(0,149)] +
24+
[std.range(4806 + n * 5638 + g*32, 4806 + n * 5638 + (g+1)*32 - 1) for g in std.range(0,25)] ,
25+
2926

3027
// Externally determined "bad" channels.
31-
bad: [],
28+
//
29+
// Dead channels: 3232:3263 (inclusive) (East V). 4160:4191 (East Y)
30+
// Shorted channels: 7169 (West U), 8378 (West V).
31+
// There are four physically missing wires ( = bad channels) due to combs, in the center of each 1/2 APA.
32+
// They are 4374 and 5231 (East Y), 10012 and 10869 (West Y).
33+
// So in total, there are 76 bad channels.
34+
//
35+
//bad: [],
36+
bad: [546, 607] + std.range(3232, 3263) + std.range(4160, 4191) + [4374, 4800, 4801, 4802, 4803, 4804, 4805, 5060, 5231, 5636, 5637, 7169, 8378, 8574, 10012, 10869, 10438, 10439, 10440, 10441, 10442, 10443],
3237

3338
// Overide defaults for specific channels. If an info is
3439
// mentioned for a particular channel in multiple objects in this
@@ -42,7 +47,7 @@ function(params, anode, field, n, rms_cuts=[])
4247
// wish to change them.
4348
{
4449
//channels: std.range(n * 2560, (n + 1) * 2560 - 1),
45-
channels: std.range(n * 5632, n * 5632 + 5631),
50+
channels: std.range(n * 5638, n * 5638 + 5637),
4651
nominal_baseline: 2001.0, // adc count [879.5 mV]
4752
gain_correction: 1.0, // unitless
4853
response_offset: 0.0, // ticks?
@@ -74,7 +79,7 @@ function(params, anode, field, n, rms_cuts=[])
7479
{
7580
//channels: { wpid: wc.WirePlaneId(wc.Ulayer) },
7681
// channels: std.range(n * 2560, n * 2560 + 800- 1),
77-
channels: std.range(n * 5632, n * 5632 + 1984-1),
82+
channels: std.range(n * 5638, n * 5638 + 1984-1),
7883
freqmasks: [
7984
// { value: 1.0, lobin: 0, hibin: $.nsamples - 1 },
8085
// { value: 0.0, lobin: 169, hibin: 173 },
@@ -84,7 +89,7 @@ function(params, anode, field, n, rms_cuts=[])
8489
// response: { wpid: wc.WirePlaneId(wc.Ulayer) },
8590
/// this uses hard-coded waveform.
8691
response: { waveform: handmade.u_resp, waveformid: wc.Ulayer },
87-
response_offset: 120, // offset of the negative peak
92+
response_offset: 125.6, // offset of the negative peak
8893
pad_window_front: 20,
8994
decon_limit: 0.02,
9095
decon_limit1: 0.07,
@@ -94,7 +99,7 @@ function(params, anode, field, n, rms_cuts=[])
9499
{
95100
//channels: { wpid: wc.WirePlaneId(wc.Vlayer) },
96101
// channels: std.range(n * 2560 + 800, n * 2560 + 1600- 1),
97-
channels: std.range(n * 5632 + 1984, n * 5632 + 3968-1),
102+
channels: std.range(n * 5638 + 1984, n * 5638 + 3968-1),
98103
freqmasks: [
99104
// { value: 1.0, lobin: 0, hibin: $.nsamples - 1 },
100105
// { value: 0.0, lobin: 169, hibin: 173 },
@@ -104,7 +109,7 @@ function(params, anode, field, n, rms_cuts=[])
104109
// response: { wpid: wc.WirePlaneId(wc.Vlayer) },
105110
/// this uses hard-coded waveform.
106111
response: { waveform: handmade.v_resp, waveformid: wc.Vlayer },
107-
response_offset: 124,
112+
response_offset: 129.5,
108113
decon_limit: 0.01,
109114
decon_limit1: 0.08,
110115
roi_min_max_ratio: 1.5,
@@ -120,7 +125,7 @@ function(params, anode, field, n, rms_cuts=[])
120125
{
121126
//channels: { wpid: wc.WirePlaneId(wc.Wlayer) },
122127
// channels: std.range(n * 2560 + 1600, n * 2560 + 2560- 1),
123-
channels: std.range(n * 5632 + 3968, n * 5632 + 5632-1),
128+
channels: std.range(n * 5638 + 3968, n * 5638 + 5638-1),
124129
nominal_baseline: 650,
125130
decon_limit: 0.05,
126131
decon_limit1: 0.08,

0 commit comments

Comments
 (0)