QuadVtx vertex reconstruction DUNE FD sim/reco meeting 2 Sep, 2019 - - PowerPoint PPT Presentation

quadvtx vertex reconstruction
SMART_READER_LITE
LIVE PREVIEW

QuadVtx vertex reconstruction DUNE FD sim/reco meeting 2 Sep, 2019 - - PowerPoint PPT Presentation

QuadVtx vertex reconstruction DUNE FD sim/reco meeting 2 Sep, 2019 Chris Backhouse University College London 1 / 16 Introduction Independent vertex can be useful as input to other algorithms Presenting a very simple hit-based approach


slide-1
SLIDE 1

QuadVtx vertex reconstruction

DUNE FD sim/reco meeting 2 Sep, 2019 Chris Backhouse University College London

1 / 16

slide-2
SLIDE 2

Introduction

◮ Independent vertex can be useful as input to other algorithms ◮ Presenting a very simple hit-based approach ◮ Using MCC11 FD νµ files

/pnfs/dune/tape backed/dunepro/mcc11/protodune/mc/full-reconstructed/*/nu dune10kt 1x2x6*gen g4 detsim reco.root

(despite misleading directory name)

◮ Input is all hitfd RecoHits in the event (these are disambiguated

with a real algorithm)

2 / 16

slide-3
SLIDE 3

Algorithm I

◮ Inspired by two-point Hough Transform ◮ Two points define a line, four can define the intersection of two lines

3 / 16

slide-4
SLIDE 4

Algorithm I

◮ Inspired by two-point Hough Transform ◮ Two points define a line, four can define the intersection of two lines

3 / 16

slide-5
SLIDE 5

Algorithm I

◮ Inspired by two-point Hough Transform ◮ Two points define a line, four can define the intersection of two lines ◮ Permutations give different valid “votes” for the vertex position

3 / 16

slide-6
SLIDE 6

Algorithm I

◮ Inspired by two-point Hough Transform ◮ Two points define a line, four can define the intersection of two lines ◮ Permutations give different valid “votes” for the vertex position ◮ Combinations that cause a “track” to straddle the vertex are skipped

3 / 16

slide-7
SLIDE 7

Algorithm II

◮ Computationally intractable to try all combinations of four points ◮ Restrict to random subset of 10,000,000 quadruplets ◮ Fill map in each of the three views (dropped bins <5% of peak here) ◮ Find 3D point with highest sum when projected into the three maps

500 600 700 800 900 1000 1100 1200 50 100 150 200 250 300

4 / 16

slide-8
SLIDE 8

Algorithm II

◮ Computationally intractable to try all combinations of four points ◮ Restrict to random subset of 10,000,000 quadruplets ◮ Fill map in each of the three views (dropped bins <5% of peak here) ◮ Find 3D point with highest sum when projected into the three maps ◮ Zoom in to mm resolution and repeat

604 604.5 605 605.5 606 606.5 607 607.5 608 608.5 178.5 179 179.5 180 180.5 181 181.5 182 182.5 183

4 / 16

slide-9
SLIDE 9

FAQs

Shouldn’t you do error propagation?

◮ Could take a ∼5mm error on each point, compute the error on the

implied vertex, and fill a gaussian into the accumulation space

◮ That’s a lot more computation time per quadruplet ◮ If the points really do jitter around I should get the same aggregate

smearing over my large ensemble Shouldn’t you weight by the energy of the hits?

◮ Has a nice property that splitting a hit into two smaller hits in the

same place leaves the map unchanged. Better way to treat showers?

◮ I tried this and it didn’t work so well in practice, not sure why

Some quadruplet topologies are unlikely to point to a vertex

◮ I didn’t want to introduce too much model dependence ◮ Open to exploring simple cuts for this if they help

5 / 16

slide-10
SLIDE 10

Examples

500 600 700 800 900 1000 1100 1200 50 100 150 200 250 300 500 600 700 800 900 1000 1100 50 100 150 200 250 300 100 200 300 400 500 600 700 800 900 50 100 150 200 250 300 604 604.5 605 605.5 606 606.5 607 607.5 608 608.5 178.5 179 179.5 180 180.5 181 181.5 182 182.5 183 727.5 728 728.5 729 729.5 730 730.5 731 731.5 732 178.5 179 179.5 180 180.5 181 181.5 182 182.5 183 253 253.5 254 254.5 255 255.5 256 256.5 257 257.5 178.5 179 179.5 180 180.5 181 181.5 182 182.5 183

◮ Same event as earlier, but in all three views

6 / 16

slide-11
SLIDE 11

Examples

200 400 600 800 1000 1200 1400 150 200 250 300 350 200 400 600 800 150 200 250 300 350 200 400 600 800 1000 1200 1400 150 200 250 300 350 160 160.5 161 161.5 162 162.5 163 163.5 164 164.5 373.5 374 374.5 375 375.5 376 376.5 377 377.5 378 17 − 16 − 15 − 14 − 13 − 373.5 374 374.5 375 375.5 376 376.5 377 377.5 378 276 276.5 277 277.5 278 278.5 279 279.5 280 280.5 373.5 374 374.5 375 375.5 376 376.5 377 377.5 378

◮ Vertex separated from tracks is well-reconstructed

7 / 16

slide-12
SLIDE 12

Examples

200 400 600 800 1000 1200 20 40 60 80 100 120 140 160 200 400 600 800 1000 1200 20 40 60 80 100 120 140 160 200 − 200 400 600 800 20 40 60 80 100 120 140 160 1014 1014.5 1015 1015.5 1016 1016.5 1017 1017.5 1018 1018.5 65.5 66 66.5 67 67.5 68 68.5 69 69.5 70 1031 1031.5 1032 1032.5 1033 1033.5 1034 1034.5 1035 1035.5 65.5 66 66.5 67 67.5 68 68.5 69 69.5 70 614.5 615 615.5 616 616.5 617 617.5 618 618.5 619 65.5 66 66.5 67 67.5 68 68.5 69 69.5 70

◮ Longer track segments point here than to the true vertex :(

8 / 16

slide-13
SLIDE 13

Examples

350 400 450 500 550 600 650 700 50 − 50 100 150 100 150 200 250 300 350 400 50 − 50 100 150 450 500 550 600 650 700 750 800 50 − 50 100 150 499 499.5 500 500.5 501 501.5 502 502.5 503 503.5 69 69.5 70 70.5 71 71.5 72 72.5 73 73.5 238.5 239 239.5 240 240.5 241 241.5 242 242.5 243 69 69.5 70 70.5 71 71.5 72 72.5 73 73.5 571.5 572 572.5 573 573.5 574 574.5 575 575.5 576 69 69.5 70 70.5 71 71.5 72 72.5 73 73.5

◮ Find a secondary vertex. I now require the vertex to be in the

upstream 1/4 of the event. This is the only directional bias anywhere

9 / 16

slide-14
SLIDE 14

Examples

200 400 600 800 1000 1200 1400 200 − 100 − 100 200 300 200 − 200 400 600 800 1000 200 − 100 − 100 200 300 200 400 600 800 1000 1200 1400 200 − 100 − 100 200 300 41 41.5 42 42.5 43 43.5 44 44.5 45 45.5 222 222.5 223 223.5 224 224.5 225 225.5 226 226.5 119.5 − 119 − 118.5 − 118 − 117.5 − 117 − 116.5 − 116 − 115.5 − 115 − 222 222.5 223 223.5 224 224.5 225 225.5 226 226.5 185 185.5 186 186.5 187 187.5 188 188.5 189 189.5 222 222.5 223 223.5 224 224.5 225 225.5 226 226.5

◮ More complex event – almost right

10 / 16

slide-15
SLIDE 15

Examples

100 200 300 400 500 600 700 50 − 50 100 150 200 200 400 600 800 50 − 50 100 150 200 300 − 200 − 100 − 100 200 300 50 − 50 100 150 200 138 138.5 139 139.5 140 140.5 141 141.5 142 142.5 78 78.5 79 79.5 80 80.5 81 81.5 82 82.5 340 340.5 341 341.5 342 342.5 343 343.5 344 344.5 78 78.5 79 79.5 80 80.5 81 81.5 82 82.5 116.5 − 116 − 115.5 − 115 − 114.5 − 114 − 113.5 − 113 − 112.5 − 112 − 78 78.5 79 79.5 80 80.5 81 81.5 82 82.5

◮ More complex event – good, avoids secondary vertex

11 / 16

slide-16
SLIDE 16

Examples

100 200 300 400 500 600 700 100 − 100 200 300 200 300 400 500 600 700 100 − 100 200 300 100 − 100 200 300 400 500 600 100 − 100 200 300 302 302.5 303 303.5 304 304.5 305 305.5 306 306.5 218.5 219 219.5 220 220.5 221 221.5 222 222.5 223 431 431.5 432 432.5 433 433.5 434 434.5 435 435.5 218.5 219 219.5 220 220.5 221 221.5 222 222.5 223 58 58.5 59 59.5 60 60.5 61 61.5 62 62.5 218.5 219 219.5 220 220.5 221 221.5 222 222.5 223

◮ Very busy events can also work well

12 / 16

slide-17
SLIDE 17

Examples

200 400 600 800 1000 1200 1400 300 − 200 − 100 − 100 200 300 200 400 600 800 1000 1200 1400 300 − 200 − 100 − 100 200 300 200 400 600 800 1000 300 − 200 − 100 − 100 200 300 376.5 377 377.5 378 378.5 379 379.5 380 380.5 381 50.5 − 50 − 49.5 − 49 − 48.5 − 48 − 47.5 − 47 − 46.5 − 46 − 576 576.5 577 577.5 578 578.5 579 579.5 580 580.5 50.5 − 50 − 49.5 − 49 − 48.5 − 48 − 47.5 − 47 − 46.5 − 46 − 35 35.5 36 36.5 37 37.5 38 38.5 39 39.5 50.5 − 50 − 49.5 − 49 − 48.5 − 48 − 47.5 − 47 − 46.5 − 46 −

◮ Very busy events can also work well

13 / 16

slide-18
SLIDE 18

Examples

200 400 600 800 1000 1200 1400 300 − 200 − 100 − 100 200 300 200 − 200 400 600 800 1000 1200 1400 300 − 200 − 100 − 100 200 300 200 400 600 800 1000 1200 300 − 200 − 100 − 100 200 300 521.5 522 522.5 523 523.5 524 524.5 525 525.5 526 88 − 87.5 − 87 − 86.5 − 86 − 85.5 − 85 − 84.5 − 84 − 83.5 − 413.5 414 414.5 415 415.5 416 416.5 417 417.5 418 88 − 87.5 − 87 − 86.5 − 86 − 85.5 − 85 − 84.5 − 84 − 83.5 − 432.5 433 433.5 434 434.5 435 435.5 436 436.5 437 88 − 87.5 − 87 − 86.5 − 86 − 85.5 − 85 − 84.5 − 84 − 83.5 −

◮ Very busy events can also work well – this one is a bit downstream

14 / 16

slide-19
SLIDE 19

Performance

4 − 2 − 2 4

(cm)

true

  • x

reco

x

1000 2000 3000 4000 5000

Events Pandora QuadVtx

4 − 2 − 2 4

(cm)

true

  • y

reco

y

500 1000 1500 2000

Events Pandora QuadVtx

4 − 2 − 2 4

(cm)

true

  • z

reco

z

500 1000 1500 2000

Events Pandora QuadVtx

200 400 600 800 1000

Distance from true vertex (cm)

0.2 0.4 0.6 0.8 1

Cumulative fraction of events

Pandora QuadVtx

15 / 16

slide-20
SLIDE 20

Performance

4 − 2 − 2 4

(cm)

true

  • x

reco

x

1000 2000 3000 4000 5000

Events Pandora QuadVtx

4 − 2 − 2 4

(cm)

true

  • y

reco

y

500 1000 1500 2000

Events Pandora QuadVtx

4 − 2 − 2 4

(cm)

true

  • z

reco

z

500 1000 1500 2000

Events Pandora QuadVtx

20 40 60 80 100

Distance from true vertex (cm)

0.2 0.4 0.6 0.8 1

Cumulative fraction of events

Pandora QuadVtx

15 / 16

slide-21
SLIDE 21

Performance

4 − 2 − 2 4

(cm)

true

  • x

reco

x

1000 2000 3000 4000 5000

Events Pandora QuadVtx

4 − 2 − 2 4

(cm)

true

  • y

reco

y

500 1000 1500 2000

Events Pandora QuadVtx

4 − 2 − 2 4

(cm)

true

  • z

reco

z

500 1000 1500 2000

Events Pandora QuadVtx

1 −

10 1 10

2

10

3

10

Distance from true vertex (cm)

0.2 0.4 0.6 0.8 1

Cumulative fraction of events

Pandora QuadVtx

15 / 16

slide-22
SLIDE 22

Conclusions

◮ Warning: can’t read recob::Vertex object after v08 15 01

https://cdcvs.fnal.gov/redmine/issues/23013 https://sft.its.cern.ch/jira/browse/ROOT-10271

◮ Pandora does a little better ◮ But QuadVtx has fewer errors >2m. . . ◮ Achieved with a very simple and fast procedure

16 / 16