Skip to content

Commit 95f868d

Browse files
Merge pull request #740 from SBNSoftware/bugfix/wirecellgrouped
WireCell Coherent Noise Updated Grouping
2 parents 945728f + 40d6440 commit 95f868d

1 file changed

Lines changed: 24 additions & 9 deletions

File tree

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

Lines changed: 24 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -22,16 +22,31 @@ function(params, anode, field, n, rms_cuts=[])
2222
// coherent noise filtering.
2323
// 5638 is the number of channels in a single APA, (1984*2 + 1670),
2424
// including the 6 channel gap.
25-
// The induction planes have to types of ch grouping (due to FEMB),
26-
// one where the grouping is 32 channels wide and one where it is 128 channels wide.
27-
// The collection planes are grouped by 64.
25+
// The induction planes have two types of ch grouping (due to FEMB installation)
26+
// one where the grouping is 32 channels wide and one where it is 128
27+
// (but split into 2 groups of 64) channels wide.
28+
// This grouping is flipped for the same plane in the second APA.
29+
// The collection planes are grouped by 64.
30+
// Due to a group of dead 32 channels in collection plane in APA0,
31+
// we specify separate groups of 32 (dead) and 32 (alive) within that group of 64
32+
// so that coherent noise filtering is applied properly to the alive channels.
2833

29-
groups: [std.range( 0 + n * 5638 + g*32 , 0 + n * 5638 + (g+1)*32 - 1) for g in std.range(0,26)] + # first section of u
30-
[std.range( 832 + n * 5638 + g*128, 832 + n * 5638 + (g+1)*128 - 1) for g in std.range(0,9)] + # second section of u
31-
[std.range(1984 + n * 5638 + g*128, 1984 + n * 5638 + (g+1)*128 - 1) for g in std.range(0,9)] + # first section of v
32-
[std.range(3136 + n * 5638 + g*32 , 3136 + n * 5638 + (g+1)*32 - 1) for g in std.range(0,26)] + # second section of v
33-
[std.range(3974 + n * 5638 + g*64 , 3974 + n * 5638 + (g+1)*64 - 1) for g in std.range(0,13)] + # first half of w
34-
[std.range(4806 + n * 5638 + g*64 , 4806 + n * 5638 + (g+1)*64 - 1) for g in std.range(0,13)] , # second half of w
34+
groups: [std.range( 0 + g*32 , 0 + (g+1)*32 - 1) for g in std.range(0,25)] + # first section of u0
35+
[std.range( 832 + g*64 , 832 + (g+1)*64 - 1) for g in std.range(0,17)] + # second section of u0
36+
[std.range(1984 + g*64 , 1984 + (g+1)*64 - 1) for g in std.range(0,17)] + # first section of v0
37+
[std.range(3136 + g*32 , 3136 + (g+1)*32 - 1) for g in std.range(0,25)] + # second section of v0
38+
39+
[std.range(5638 + g*64 , 5638 + (g+1)*64 - 1) for g in std.range(0,17)] + # first section of u1
40+
[std.range(6790 + g*32 , 6790 + (g+1)*32 - 1) for g in std.range(0,25)] + # second section of u1
41+
[std.range(7622 + g*32 , 7622 + (g+1)*32 - 1) for g in std.range(0,25)] + # first section of v1
42+
[std.range(8454 + g*64 , 8454 + (g+1)*64 - 1) for g in std.range(0,17)] + # second section of v1
43+
44+
[std.range(3968 + n * 5638 + g*64 , 3968 + n * 5638 + (g+1)*64 - 1) for g in std.range(0,2)] + # first three groups of w
45+
[std.range(4160 , 4192 - 1)] + # w apa0 4th group, first 32 dead wire (for completeness)
46+
[std.range(4192 , 4224 - 1)] + # w apa0 4th group, remaining 32 alive wire (next to dead wire)
47+
[std.range(9798 , 9862 - 1)] + # w apa1 4th group of 64 (alive)
48+
[std.range(4224 + n * 5638 + g*64 , 4224 + n * 5638 + (g+1)*64 - 1) for g in std.range(0,8)] + # first half of w (excluding first 4 groups)
49+
[std.range(4806 + n * 5638 + g*64 , 4806 + n * 5638 + (g+1)*64 - 1) for g in std.range(0,12)] , # second half of w
3550

3651
// Externally determined "bad" channels.
3752
//

0 commit comments

Comments
 (0)