VXD-CDC Track Merging Status Update B. Oberhof LNF-INFN, Frascati, - - PowerPoint PPT Presentation

vxd cdc track merging status update
SMART_READER_LITE
LIVE PREVIEW

VXD-CDC Track Merging Status Update B. Oberhof LNF-INFN, Frascati, - - PowerPoint PPT Presentation

VXD-CDC Track Merging Status Update B. Oberhof LNF-INFN, Frascati, Italy On behalf of the Belle2 group at Univeristy of Tabuk, Saudi Arabia Belle2 F2F Tracking Meeting, 19-20 th January 2015 , Prague, Czech Republic Reminder: code flow Event


slide-1
SLIDE 1

VXD-CDC Track Merging Status Update

  • B. Oberhof

LNF-INFN, Frascati, Italy

On behalf of the Belle2 group at Univeristy of Tabuk, Saudi Arabia

Belle2 F2F Tracking Meeting, 19-20th January 2015, Prague, Czech Republic

slide-2
SLIDE 2

2

Reminder: code flow

GFTrackSplitter VXDCDCTrackMerger (VXD+CDC)Fitter TrackCandMerger VXDCDCTrackMergerAnalysis

Event

CDCTrackFinder VXDTrackFinder

RelationArray from CDC to VXD GFtracks User.root file Analysis module is fully parallel to VXDCDCTrackMerger

example script:

tracking/examples/ vxdCDCTrackMerger.py

slide-3
SLIDE 3

3

General remarks & ToDo List

  • TrackCandMerger & GFTracksplitter

were introduced due to a bug in Genfitter (no multiple calls allowed in .py path): are they still necessary?

  • The output of the module are relation

arrays linking merged tracks: is this the correct output content and format?

  • Analysis module repeats the merging

as done VXDCDCTrackMerger module and makes some additional analysis job: it has to be adapted and generalized to take directly RelationArray from Merger for analysis

  • I think it would be useful to introduce some validation scripts for the

merger (which TrackFinders? which type of events?)

GFTrackSplitter VXDCDCTrackMerger (VXD+CDC)Fitter TrackCandMerger CDCTrackFinder VXDTrackFinder

slide-4
SLIDE 4

4

Merging algorithm

  • Tracks, separately fitted, are extrapolated to CDC wall:

genfit::MeasuredStateOnPlane cdc_SoP=cdc_Track[i]->GetFittedState(); genfit::MeasuredStateOnPlane vxd_SoP=vxd_Track[j]->GetFittedState();

  • Pre-filter: tracks have to be “near enough”, d<dmax (module parameter)
  • Take the projection of the VXD track on the plane defined by the CDC track:

cdc_SoP.extrapolateToCylinder(CDC_wall_radius, cyl_pos, cyl_mom); vxd_Sop.extrapoateToPlane(cdc_Sop.getPlane());

  • Then we calculate in 5D:

X2 = (cdc_state – vxd_state) ( vxd_cov + cdc_cov)-1 (cdc_state – vxd_state)

  • For every CDC track we loop over all VDX tracks and we calculate X2
  • We match the two tracks with lowest X2 if X2 < X2

max (module parameter)

slide-5
SLIDE 5

5

Merging remarks

  • For “good tracks” (e.g. high pT muons, 40 < θ < 120) merging

fails mainly for 2 reasons:

  • ExtrapolationToCylinder fails
  • The track has a kink → X2 explodes
  • Current code does not handle

this cases → tracks are not merged

  • Even for “good tracks” this loss is

non-negligible

  • I think we should introduce some

“recovery mode” e.g. by requiring the tracks just to be close enough if they fail one of the above

  • To distinguish such tracks (now merged) we could introduce

some additional index

slide-6
SLIDE 6

6

What's new

  • Until last B2GM I used MCTruthTrackFinder for track candidates
  • First studies with Trasan & VXDTF, 4 combinations tested:
  • MC-MC
  • MC-Trasan
  • VXDTF-MC
  • VXDTF-Trasan
  • Muons from pGun :
  • 10, 2 GeV muons with uniform angular distribution, 200 evt
  • 10, [0, 5] GeV muons with flat p and angular distribution, 1000 evt
  • 200 EvtGen events
  • build2015-01-03* (*without latest VXDTF fix by Jacob)
slide-7
SLIDE 7

7

Monochromatic muons

  • 10 muons/evt from pGun with 2GeV each, full solid angle, 200 evt

MC + MC VXDTF + MC MC + Trasan VXDTF + Trasan # Merged Tracks # VXD Tracks VXDTFvsMC # CDC Tracks TrasanvsMC

slide-8
SLIDE 8

8

Monochromatic muons (2)

MC + MC VXDTF + MC MC + Trasan VXDTF + Trasan

Correctly Merged i.e. Merged&&TruthMatched Not corr. Merged, i.e. (!(Merged)&&TruthMatched)|| (Merged&&!(TruthMatched)) Not Merged Merged

slide-9
SLIDE 9

9

Monochromatic muons (3)

MC + MC VXDTF + Trasan MC + MC VXDTF + Trasan Chi2 EffvsTheta EffvsTheta

slide-10
SLIDE 10

10

Flat muons [0, 5] GeV

  • 10 muons from pGun, flat [0, 5] GeV, full solid angle, 1000 evt **

MC + MC VXDTF + MC MC + Trasan VXDTF + Trasan

**some plots are mad with just 200 evt

# Merged Tracks

Correctly Merged i.e. Merged&&TruthMatched Not corr. Merged, i.e. (!(Merged)&&TruthMatched)|| (Merged&&!(TruthMatched))

slide-11
SLIDE 11

11

Flat muons [0, 5] GeV, scan

MC + MC EffvsPt VXDTF + Trasan EffvsPt EffvsTheta VXDTF + Trasan MC + MC EffvsTheta

?

slide-12
SLIDE 12

12

EvtGen

  • EvtGen, default settings, 200 evt

MC + MC VXDTF + MC MC + Trasan VXDTF + Trasan # Merged Tracks # VXD Tracks VXDTFvsMC # CDC Tracks CDCTFvsMC

slide-13
SLIDE 13

13

EvtGen (2)

MC + MC VXDTF + MC MC + Trasan VXDTF + Trasan

Correctly Merged i.e. Merged&&TruthMatched Not corr. Merged, i.e. (!(Merged)&&TruthMatched)|| (Merged&&!(TruthMatched))

Chi2 Chi2 MC + MC VXDTF + Trasan VXDTF + MC MC + Trasan

!

slide-14
SLIDE 14

14

EvtGen (3), scan

MC + MC EffvsPt MC + MC EffvsTheta VXDTF + Trasan EffvsPt EffvsTheta VXDTF + Trasan

slide-15
SLIDE 15

15

Summary & Outlook

  • Efficiency loss with actual track-finders w.r.t. MCTruthTF is big,

especially for typical for EvtGen

  • High efficiency loss MCFinder → VXDTF
  • Further study is needed to understand how to improve the merger
  • There is a bug in the last code version, run time-crash <every>

4-500 events, I have to find out why

  • Can we remove CandMerger & GFTrackSplitter modules??
  • I think we have to implement some “recovery mode” for tracks

which fail merging, and introduce an index to label them

  • Partial rewriting of VXDCDCTrackMergerAnalysis is necessary
  • Validation scripts will be added after B2GM (need feedback from

the tracking group for TrackFinders and event type to be used)

slide-16
SLIDE 16

16

Thanks!

slide-17
SLIDE 17

17

Backups

slide-18
SLIDE 18

18

EvtGen: why merging fails? (K)

slide-19
SLIDE 19

19

EvtGen: why merging fails? (K)

slide-20
SLIDE 20

20

EvtGen: why merging fails? (pi)

slide-21
SLIDE 21

21

Muons: why merging fails?

slide-22
SLIDE 22

22

Muons: why merging fails?

slide-23
SLIDE 23

23

Muons: why merging fails?

slide-24
SLIDE 24

24

Muons: why merging fails?

  • Tracks fail mainly when CDC track is “short” i.e. near the SVD

border or it passes in the region of the SVD angle

  • No events with unmerged curlers observed
  • X2 is is big because difference in momenta, in the above regions it

would be worth to test a position only based selection

slide-25
SLIDE 25

25

Efficiency vs # tracks

  • Efficiency vs. # of tracks for muons (left) and EvtGen (right)
  • No particular pattern is observed
slide-26
SLIDE 26

26

Pi, pT=270 MeV, Pz=-0.023

slide-27
SLIDE 27

27

Analysis module

  • Doesn't need VXDCDCTrackMerger module output, runs in parallel
  • Same algorithm, same path, but more info is stored
  • Same parameters as VXDCDCTrackMerger + output_file_name
  • Loops on CDC tracks, for every track there's a bit if merged,

truth_merged etc...

  • Most quantities directly available in TTree, e.g. Chi2, residuals, etc..