Tracking Motivation Why tracking? Distinguish charged from neutral - - PDF document

tracking motivation
SMART_READER_LITE
LIVE PREVIEW

Tracking Motivation Why tracking? Distinguish charged from neutral - - PDF document

Mitglied der Helmholtz-Gemeinschaft Juli 4, 2017 Tracking Motivation Why tracking? Distinguish charged from neutral particles Determine the charge of a particle Determine the absolute momentum Determine the direction of


slide-1
SLIDE 1

Juli 4, 2017

Mitglied der Helmholtz-Gemeinschaft

Tracking

slide-2
SLIDE 2

Juli 4, 2017 Folie 2 Tobias Stockmanns

Motivation

  • Why tracking?
  • Distinguish charged from neutral particles
  • Determine the charge of a particle
  • Determine the absolute momentum
  • Determine the direction of momentum
  • Determine the production/decay point
  • See the full story
slide-3
SLIDE 3

Juli 4, 2017 Folie 3 Tobias Stockmanns

AntiProton Annihilation at Darmstadt

13 m

slide-4
SLIDE 4

Juli 4, 2017 Folie 4 Tobias Stockmanns

Magnet System

Solenoid magnet to measure pt Helix approximation Dipol magnet to measure pl for forward tracks Parabola approximation

slide-5
SLIDE 5

Juli 4, 2017 Folie 5 Tobias Stockmanns

Spurdetektoren

slide-6
SLIDE 6

Juli 4, 2017 Folie 6 Tobias Stockmanns

Tracking Detectors

Micro Vertex Detector Straw Tube Tracker Forward Tracking Stations Luminosity Detector GEM Detector

slide-7
SLIDE 7

Juli 4, 2017 Folie 7 Tobias Stockmanns

PANDA Event Simulation

slide-8
SLIDE 8

Juli 4, 2017 Folie 8 Tobias Stockmanns

PANDA Event Simulation

slide-9
SLIDE 9

Juli 4, 2017 Folie 9 Tobias Stockmanns

Procedure

  • Full track reconstruction happens in various steps:

1. Group the hits which belong to the same track 2. Fast evaluation of the track parameters 3. Precise fitting of the track parameters 4. Propagate track parameters to the point where they are needed pattern recognition / track finding pre-fit Kalman fit propagation / extrapolation

slide-10
SLIDE 10

Juli 4, 2017 Folie 10 Tobias Stockmanns

The Data

  • The following objects contain the tracking information
  • They “live” in pnddata/TrackData
  • PndTrackCand
  • Collection of hits inside a track
  • Output of track finder
  • PndTrack
  • Parameters of track
  • Output of prefit and Kalman fit
slide-11
SLIDE 11

Juli 4, 2017 Folie 11 Tobias Stockmanns

PndTrackCand

  • Is a collection of hits
  • Each hit is represented by a PndTrackCandHit which is a

FairLink(detId, hitId) plus a sorting parameter rho.

  • detId is the branch ID of the detector who generated the hits
  • hitId is the position in the TClonesArray
  • Rho is an sorting parameter of a

hit along the track

  • No fixed rule how to calculate rho
slide-12
SLIDE 12

Juli 4, 2017 Folie 12 Tobias Stockmanns

PndTrackCand - Rho

  • Possible candidates for Rho
  • Distance from vertex (not a good one)
  • Time (but time resolution usually not sufficient)
  • Length along track (arc length for helix)
  • Secondaries: Where is the start of the track?
slide-13
SLIDE 13

Juli 4, 2017 Folie 13 Tobias Stockmanns

PndTrack

  • This is the hypothesis of a track
  • Identified by the momentum, charge and position at the first

and last hit

  • PndTrackCand accessible via PndTrack
  • Why two times the track information?
slide-14
SLIDE 14

Juli 4, 2017 Folie 14 Tobias Stockmanns

Data Summary

We have two objects to describe a track:

  • PndTrackCand which contains the list of hits in the track
  • PndTrack which contains the parameters of the track
  • Why two objects instead of one?
slide-15
SLIDE 15

Juli 4, 2017 Folie 15 Tobias Stockmanns

Data Summary

We have two objects to describe a track:

  • PndTrackCand which contains the list of hits in the track
  • PndTrack which contains the parameters of the track
  • Why two objects instead of one?
  • PndTrackCand can be used by different algorithms or

different particle hypotheses

slide-16
SLIDE 16

Juli 4, 2017 Folie 16 Tobias Stockmanns

TRACK FINDING

slide-17
SLIDE 17

Juli 4, 2017 Folie 17 Tobias Stockmanns

Track Finding Strategies

  • local
  • operates on the data of one sub-detector
  • finds all possible tracks in this sub-detector
  • tracks in different sub-detectors are combined via their track

parameters

  • refit of complete track at the end
  • global
  • operates on the data of more then one sub-detector at once
  • finds a complete track
slide-18
SLIDE 18

Juli 4, 2017 Folie 18 Tobias Stockmanns

Track Finding Strategies

  • local vs. global
  • local
  • optimized algorithms for each sub-detector
  • no need to wait until data from all sub-detectors is

available

  • several different algorithms needed (for each sub-detector

and to combine the data)

  • how to handle tracks with insufficient hits in one sub-

detector?

  • global
  • all information at hand from the beginning
  • just one (but big) algorithm
  • treatment of different kind of data difficult (straws vs. pixel)
slide-19
SLIDE 19

Juli 4, 2017 Folie 19 Tobias Stockmanns

Track Finding Strategies

Additional considerations:

  • All at once ßà Iterative
  • Online ßà Offline
  • Performance vs. speed
  • Primary ßà Secondary
  • Primary: coming from the interaction point
  • Secondary: all the rest
  • Primary tracks more easy to find
  • Secondaries important e.g. for hyperon physics
slide-20
SLIDE 20

Juli 4, 2017 Folie 20 Tobias Stockmanns

Track Finding

20

Considerations

§ Finite number of planes § Often only one coordinate per plane § Interactions with material (multiple scattering, energy loss, Bremsstrahlung for e-) § Detector imperfections (inefficiency, limited spatial resolution, alignment) § Extra hits from noise, pileup, low momentum particles…

slide-21
SLIDE 21

Juli 4, 2017 Folie 21 Tobias Stockmanns

Track Finding

Conflicting Demands

§ High efficiency find all true tracks relevant for the physics § High purity minimize incorrect assign- ment of hits to a track, that reduces the resolution § Low ghost rate do not find fake tracks § Speed

  • ften online tracking is needed as part of a trigger decision

(limited time (latency) and resources).

slide-22
SLIDE 22

Juli 4, 2017 Folie 22 Tobias Stockmanns

Track Finding with 1D Detectors

22

Tracking in space (generally needs many layers)

§ Combine layers to get a 3D space point, § do 3D tracking with these points

Tracking in projections (generally needs more CPU)

§ find 2D track candidates, then § combine projections (here each line in 2D is a plane in 3D)

slide-23
SLIDE 23

Juli 4, 2017 Folie 23 Tobias Stockmanns

Local Method: Track Following

Follow track through layers

§ Define initial track segment (track seed) § Use track model to extrapolate to next detector layer § Define search window around expected position, depends on resolution and amount of material § If hit found, add it to the track candidate and iterate to next layer

  • Detector inefficiency: if no hit found go to next layer, allow several

missing layers

  • Allow for combinations, if more than one hit in window follow all

paths concurrently, decide later what is correct

Kalman-filter, will be discussed later

slide-24
SLIDE 24

Juli 4, 2017 Folie 24 Tobias Stockmanns

Global Method: Histogramming

For circular tracks (homogeneous B-field (usually solenoid)) Conformal mapping (transformation: circles to lines) Compute angle Φ Make a histogram of Φ Find peaks in Φ histogram Transforms a 2D problem to 1D If tracks don’t come from (x,y)=(0,0)

§ Line is offset, and washed out peak in 1D histogram § Solution: x’=x-x0 and y’=y-y0 where (x0,y0) is e.g. the innermost point

  • n the track
slide-25
SLIDE 25

Juli 4, 2017 Folie 25 Tobias Stockmanns

Histogram Method

Coordinate space Transformed space

As you see, the histogram binning is not arbitrary, it is related to the resolution. Too fine: then the hits don’t make a peak Too coarse: then the peaks overlap, and the resolution gets worse.

slide-26
SLIDE 26

Juli 4, 2017 Folie 26 Tobias Stockmanns

Hough Transformation

  • Histogramming technique based on coordinate transformation
  • Transform point (image space) to parameter space
  • Hit in image space becomes a trajectory in parameter space
  • Hits from the same track à trajectories cross in param. space
  • Binning of parameter space (histogram)

(bin size: tradeoff between resolution, efficiency and speed)

  • Find peaks in histogram à track candidate
  • Very fast for simple track models (straight line, circle)
  • Well suited for parallel processing à fast online trigger
slide-27
SLIDE 27

Juli 4, 2017 Folie 27 Tobias Stockmanns

OFFLINE PANDA EXAMPLES

slide-28
SLIDE 28

Juli 4, 2017 Folie 28 Tobias Stockmanns

Global pattern recognition

  • default global PR
  • Contains: MVD + STT + GEM
  • Starts from MVD and STT stand alone track finders
  • Extrapolates STT to MVD and vice versa
  • New track candidate of MVD and STT is refitted
  • Refitted track extrapolated to GEM stations
  • Only primary tracks
  • No refit with GEM stations because magnetic field in GEMs

not homogeneous enough for helix assumption

PndSttMvdTrackFinder / PndSttMvdGemTrackFinder

slide-29
SLIDE 29

Juli 4, 2017 Folie 29 Tobias Stockmanns

Global pattern recognition 2

  • Alternative global PR
  • Does not start at any specific detector
  • Treats MVD, STT and GEM hits equal
  • Looks for correlation in xy plane
  • Tries to gather z information when possible
  • Hit mixing to avoid unphysical correlations
  • Only primary tracks

PndBarrelTrackFinder

slide-30
SLIDE 30

Juli 4, 2017 Folie 30 Tobias Stockmanns

ONLINE PANDA EXAMPLES

slide-31
SLIDE 31

Juli 4, 2017 Folie 31 Tobias Stockmanns

Riemann Track Finder

  • The Riemann Track Finder is based on a fast circle fit using a

Riemann surface:

  • The 2D points in xy-plane are projected on a paraboloid (w =

x2 + y2)

  • A fast fit of a plane through the new 3D points give you the

plane parameters which can be bijectively mapped to the radius and the origin of the circle

  • In a second fit one plots the arc length of the hits on the circle

versus their z-position which should be a straight line

  • The method is very fast if you neglect energy loss and multiple

scattering

  • Both can be implemented which leads to very good accuracy but

then it is slower than a standard Kalman fit

  • Riemann fit was implemented by Sebastian in pandaRoot but

without error treatment

slide-32
SLIDE 32

Juli 4, 2017 Folie 32 Tobias Stockmanns

Riemann Track Finder

Points to be fitted Add z-dimension Map onto paraboloid

slide-33
SLIDE 33

Juli 4, 2017 Folie 33 Tobias Stockmanns

Calculation of plane through 3D points

simple eigenvalue determination

slide-34
SLIDE 34

Juli 4, 2017 Folie 34 Tobias Stockmanns

Riemann Track Finder

  • 1. Find all (reasonable) combinations of three points
  • 2. Calculate Riemann plane
  • 3. Calculate distance of all hits to plane
  • 4. If below threshold add them to plane
  • 5. Recalculate plane at the end (or in between?)
  • 6. Take only those planes (circles) with more than 3 hits
  • 7. Linear fit or arc length vs. z-coordinates of hits for z-

Dimension

slide-35
SLIDE 35

Juli 4, 2017 Folie 35 Tobias Stockmanns

CA TRACK FINDER

slide-36
SLIDE 36

Juli 4, 2017 Folie 36 Tobias Stockmanns

Cellular Automaton as Track Finder

  • 1. Build short track segments
  • 2. Connect according to track model,

estimate a possible position on a track

  • 3. Tree structures appear, collect

segments into track candidates

  • 4. Select best track candidate
slide-37
SLIDE 37

Juli 4, 2017 Folie 37 Tobias Stockmanns

CELL TRACK FINDER

slide-38
SLIDE 38

Juli 4, 2017 Folie 38 Tobias Stockmanns

CellTrackFinder

  • 1. Generation of tracklets in STT
  • Primary tracklets: use of cellular automaton
  • Combination of tracklets: use of Riemann Fit
  • Faulty: Fit to center of the tubes
  • Add remaining hits to best fitting Track

à TrackletGenerator à HitCorrector

  • 2. Correction of STT-Hits based on event time
  • Correct points for Riemann Fit by calculating

tangents to the isochrones

slide-39
SLIDE 39

Juli 4, 2017 Folie 39 Tobias Stockmanns

  • 1. TrackletGenerator

Cellular Automaton

  • Abstract discrete model for dynamic systems
  • Definition by:
  • Cell
  • Neighborhood relations
  • Discrete number of states
  • Transition rules for states
  • Simultaneous changes
slide-40
SLIDE 40

Juli 4, 2017 Folie 40 Tobias Stockmanns

  • 1. TrackletGenerator

Cellular Automaton - Apply to STT

slide-41
SLIDE 41

Juli 4, 2017 Folie 41 Tobias Stockmanns

  • 1. TrackletGenerator

Cellular Automaton – Apply to STT

1 2 > 2 Number of Neighbours: unambiguous ambiguous

slide-42
SLIDE 42

Juli 4, 2017 Folie 42 Tobias Stockmanns

  • 1. TrackletGenerator

Cellular Automaton - Apply to STT

Cell: Straw with hit and one or two neighbours Rule: Compare your status with the status of your neighbours and take the smallest

  • ne
slide-43
SLIDE 43

Juli 4, 2017 Folie 43 Tobias Stockmanns

  • 1. TrackletGenerator

Cellular Automaton - Apply to STT

Cell: Straw with hit and one or two neighbours Rule: Compare your status with the status of your neighbours and take the smallest

  • ne
slide-44
SLIDE 44

Juli 4, 2017 Folie 44 Tobias Stockmanns

  • 1. TrackletGenerator

Cellular Automaton - Apply to STT

Cell: Straw with hit and one or two neighbours Rule: Compare your status with the status of your neighbours and take the smallest

  • ne
slide-45
SLIDE 45

Juli 4, 2017 Folie 45 Tobias Stockmanns

  • 1. TrackletGenerator

Cellular Automaton - Apply to STT

Cell: Straw with hit and one or two neighbours Rule: Compare your status with the status of your neighbours and take the smallest

  • ne
slide-46
SLIDE 46

Juli 4, 2017 Folie 46 Tobias Stockmanns

  • 1. TrackletGenerator

Cellular Automaton - Apply to STT

Cell: Straw with hit and more than two neighbours Rule: Copy the status of all your neighbours into your status

slide-47
SLIDE 47

Juli 4, 2017 Folie 47 Tobias Stockmanns

  • 1. TrackletGenerator

Cellular Automaton - Apply to STT

15 7 1 10

Cell: Straw with hit and more than two neighbours Rule: Copy the status of all your neighbours into your status

slide-48
SLIDE 48

Juli 4, 2017 Folie 48 Tobias Stockmanns

  • 1. TrackletGenerator

Cellular Automaton - Apply to STT

1/10 7/15 7/15 1/10 7/15 1/10

Cell: Straw with hit and more than two neighbours Rule: Copy the status of all your neighbours into your status

slide-49
SLIDE 49

Juli 4, 2017 Folie 49 Tobias Stockmanns

  • 1. TrackletGenerator

Cellular Automaton - Apply to STT

1/10 7/15 1/10 7/15 1/10 7/15 1/10 7/15 1/10 7/15

Cell: Straw with hit and more than two neighbours Rule: Copy the status of all your neighbours into your status

slide-50
SLIDE 50

Juli 4, 2017 Folie 50 Tobias Stockmanns

  • 1. TrackletGenerator

Riemann fit

Fit Plane Normal vector à Circle parameters

  • quadratic à linear
  • explicit solution
  • already implemented

in PandaRoot Advantages

slide-51
SLIDE 51

Juli 4, 2017 Folie 51 Tobias Stockmanns

1/10 7/15 1/10 7/15 1/10 7/15 1/10 7/15 1/10 7/15

  • 1. TrackletGenerator

Result of the combination

slide-52
SLIDE 52

Juli 4, 2017 Folie 52 Tobias Stockmanns

CIRCLE HOUGH

slide-53
SLIDE 53

Juli 4, 2017 Folie 53 Tobias Stockmanns

Idea

(0,0) STT Isochrone

slide-54
SLIDE 54

Juli 4, 2017 Folie 54 Tobias Stockmanns

Idea

1. Track (circle) tangent to isochrone

slide-55
SLIDE 55

Juli 4, 2017 Folie 55 Tobias Stockmanns

Idea

1. Track (circle) tangent to isochrone 2. Goes through (0,0)

slide-56
SLIDE 56

Juli 4, 2017 Folie 56 Tobias Stockmanns

Idea

1. Track (circle) tangent to isochrone 2. Goes through (0,0)

slide-57
SLIDE 57

Juli 4, 2017 Folie 57 Tobias Stockmanns

Idea

slide-58
SLIDE 58

Juli 4, 2017 Folie 58 Tobias Stockmanns

Idea

slide-59
SLIDE 59

Juli 4, 2017 Folie 59 Tobias Stockmanns

Idea

slide-60
SLIDE 60

Juli 4, 2017 Folie 60 Tobias Stockmanns

Idea

slide-61
SLIDE 61

Juli 4, 2017 Folie 61 Tobias Stockmanns

Idea

slide-62
SLIDE 62

Juli 4, 2017 Folie 62 Tobias Stockmanns

Idea

  • Calculate possible circles for all hits
  • Fill circle centers into xy-histo
  • Find peaks
  • Hits in peaks are part of a track
  • Calculate track parameters from

circle centers

slide-63
SLIDE 63

Juli 4, 2017 Folie 63 Tobias Stockmanns

DPM Example 2

slide-64
SLIDE 64

Juli 4, 2017 Folie 64 Tobias Stockmanns

DPM Example 2

slide-65
SLIDE 65

Juli 4, 2017 Folie 65 Tobias Stockmanns

DPM Example 2

slide-66
SLIDE 66

Juli 4, 2017 Folie 66 Tobias Stockmanns

DPM Example 2

slide-67
SLIDE 67

Juli 4, 2017 Folie 67 Tobias Stockmanns

KALMAN FILTER

slide-68
SLIDE 68

Juli 4, 2017 Folie 68 Tobias Stockmanns

Track Parametrization

  • In vacuum the trajectory is defined by the initial parameters or state vector.
  • 5 parameters are necessary and sufficient
  • Each point along the trajectory, describe with a 5-component state-vector (and its

5x5 covariance vector)

  • Should be continuous to small changes, approx. Gaussian errors, linear

approximation to track propagation

  • Best parameterization depends upon B-field and detector geometry: e.g.

detector surface normal to z-axis surface=beam pipe (collider) ✧ DELPHI barrel: x = (Φ, z, θ, β = φ − Φ, 1/R) ✧ DELPHI forward: x = (x, y, θ, φ, 1/R) ✧ CMS global: position, momentum, charge ✧ CMS local: x = (q/p, dx/dz, dy/dz, x, y)

slide-69
SLIDE 69

Juli 4, 2017 Folie 69 Tobias Stockmanns

Panda Track Parametrization

  • The physical path of a particle of assigned mass m and momentum p

is a six-fold entity of parameters: x, y, z, px, py, pz (+ q)

  • Track is defined as set of points in detectors, corresponding to the

intersection of the physical path of a particle with the detector planes à among six parameters one is fixed by the measurement plane

FairTrackPar/FairTrackParP/FairTrackParH

slide-70
SLIDE 70

Juli 4, 2017 Folie 70 Tobias Stockmanns

Track Model

  • Track Model describes how the state vector at one surface

depends on the state vector at a different surface. (describes particle trajectory)

  • xk = fk|i(xi)
  • fk|i is the track propagator from surface i to surface k.
slide-71
SLIDE 71

Juli 4, 2017 Folie 71 Tobias Stockmanns

Track Model

§ No magnetic field, no material: straight line § Homogeneous magnetic field: helix (2D circle) § Analytic calculation only for simple cases (like above) § Inhomogeneous B-field, material (energy straggling, small angle scattering): iterative numerical extrapolation of track segments

  • ver short distances
  • Many tracks, many extrapolation steps, need high computing speed
  • Simplest: Newton iteration, or describe each segment as a parabola
  • Better: numerical integration like “Runge-Kutta”
slide-72
SLIDE 72

Juli 4, 2017 Folie 72 Tobias Stockmanns

Measurement Model

  • The measurement model describes the functional

dependence of the measured quantities on the state vector at the detector surface:

  • The vector of measurements mk usually collects the

measured coordinates, but may contain also other quantities, e.g. measurements of direction or even momentum.

  • Error on measurement assumed to be Gaussian which is

not always true!

72

slide-73
SLIDE 73

Juli 4, 2017 Folie 73 Tobias Stockmanns

Kalman Filter

  • Iterative LS estimation of the state vectors in all

measurement layers (or even material layers).

  • Two steps are repeated:

§ Prediction: extrapolate the state to the next layer, add up multiple scattering, subtract energy loss § Update: combine the predicted state with the current measurement

  • A good initial state (seed) is important. Its weight should be

small.

73

slide-74
SLIDE 74

Juli 4, 2017 Folie 74 Tobias Stockmanns

Prediction stage of Kalman Filter

74

slide-75
SLIDE 75

Juli 4, 2017 Folie 75 Tobias Stockmanns

Update stage of Kalman Filter

75

slide-76
SLIDE 76

Juli 4, 2017 Folie 76 Tobias Stockmanns

Smoother

The last estimate xn of the filter contains the full information. The full information can be propagated back to all previous estimates. This can be done by another iterative procedure, the smoother. The smoother runs in the opposite direction to the filter.

76

slide-77
SLIDE 77

Juli 4, 2017 Folie 77 Tobias Stockmanns

Smoother

  • The smoother can also be realized by combining two filters.
  • One filter runs from m1 to mn: forward filter .
  • One filter runs from mn to m1: backward filter .
  • The smoothed states are the weighted mean of the

predicted states one filter and the updated states of the

  • ther filter.
  • This is numerically more stable.
  • The smoothed state x0|n is the best linear estimate and

therefore the same as the usual Least-Squares estimate x

77

slide-78
SLIDE 78

Juli 4, 2017 Folie 78 Tobias Stockmanns

Kalman Filter

The Kalman filter can therefore be used for track finding. Generate a track seed. Iterate the following sequence:

§ Extrapolate and look for compatible measurements. § If there is none, go on. § If there is one, take the most compatible one and make an update. § If no compatible measurements can be found in several layers, drop the track candidate.

78

slide-79
SLIDE 79

Juli 4, 2017 Folie 79 Tobias Stockmanns

Kalman Filter in PandaRoot

Genfit

  • Originally started as part of PandaRoot as a generic fitting

package written by TU Munich

  • Now independent external package
  • Exists (at the moment) as two implementations:

Genfit 1 and Genfit 2

  • Genfit 1 is a very old version of Genfit using GEANE as

track propagator

  • Genfit 2 is a more up-to-date version using a Runge Kutta

track propagator à change to recent Genfit 2 planned for next release

  • Tests of performance are ongoing in PandaRoot
slide-80
SLIDE 80

Juli 4, 2017 Folie 80 Tobias Stockmanns

Genfit

Offers different track fitters:

slide-81
SLIDE 81

Juli 4, 2017 Folie 81 Tobias Stockmanns

Usage of Genfit in PandaRoot

PndRecoKalmanTask* recoKalman = new PndRecoKalmanTask(); recoKalman->SetTrackInBranchName("SttMvdGemTrack"); recoKalman->SetTrackOutBranchName("SttMvdGemGenTrack"); recoKalman->SetBusyCut(50); // CHECK to be tuned //recoKalman->SetIdealHyp(kTRUE); //recoKalman->SetNumIterations(3); recoKalman->SetTrackRep(0); // 0 Geane (default), 1 RK //recoKalman->SetPropagateToIP(kFALSE); fRun->AddTask(recoKalman);

slide-82
SLIDE 82

Juli 4, 2017 Folie 82 Tobias Stockmanns

Usage of Genfit2 in PandaRoot

PndRecoKalmanTask2* recoKalman = new PndRecoKalmanTask2(); recoKalman->SetTrackInBranchName("SttMvdGemTrack"); recoKalman->SetTrackOutBranchName("SttMvdGemGenTrack"); recoKalman->SetBusyCut(50); // CHECK to be tuned //recoKalman->SetIdealHyp(kTRUE); //recoKalman->SetNumIterations(3); //recoKalman->SetTrackRep(0); // 0 Geane (default), 1 RK //recoKalman->SetPropagateToIP(kFALSE); fRun->AddTask(recoKalman);

slide-83
SLIDE 83

Juli 4, 2017 Folie 83 Tobias Stockmanns

TRACK PROPAGATION - GEANE

slide-84
SLIDE 84

Juli 4, 2017 Folie 84 Tobias Stockmanns

GEANE

  • Track follower / propagator
  • Simplified geant3 tracking algorithm + error propagation
  • Original Code is in Fortran
  • Distributed with geant3 by CERN
  • Part of FairRoot
  • It extrapolates both the mean values of the parameters and their

covariance matrices

  • It uses the MC geometry
  • It takes into account:
  • material effects
  • magnetic field
  • physical effects
  • Different reference frames
  • Different kinds of propagation
slide-85
SLIDE 85

Juli 4, 2017 Folie 85 Tobias Stockmanns

Geane Interface

In geane you will find:

  • FairGeane: this is the task reading in the physics cuts and

the physics effects to take into account

  • This task has to be added to your macro otherwise GEANE

will not work!

  • FairGeanePro: contains the propagation stuff
  • In trackbase you will find
  • FairTrackPar/ParP/ParH: track representations of

GEANE

  • FairGeneUtil: frame transformations from to MARS, SC,

SD, SP (C++ translation of FORTRAN methods)

slide-86
SLIDE 86

Juli 4, 2017 Folie 86 Tobias Stockmanns

  • First define the start plane:
  • Define the end position:
  • Do the propagation:
  • Back propagation:

How to use it

Bool_t PropagateToPlane(TVector3& v0, TVector3& v1, TVector3& v2); Bool_t PropagateToVolume(Tstring VolName, Int_t CopyNo,Int_t option); Bool_t PropagateToLength(Float_t length); Bool_t PropagateToPCA(Int_t pca, Int_t dir); Bool_t PropagateFromPlane(TVector3& v1, TVector3& v2); Bool_t Propagate(FairTrackParH* TStart, FairTrackParH* Tend, Int_t PDG) Bool_t Propagate(FairTrackParP* TStart, FairTrackParP* TEnd, Int_t PDG) Bool_t setBackProp()

slide-87
SLIDE 87

Juli 4, 2017 Folie 87 Tobias Stockmanns

  • First define the start plane:
  • Define the end position:
  • Do the propagation:
  • Back propagation:

How to use it

Bool_t PropagateToPlane(TVector3& v0, TVector3& v1, TVector3& v2); Bool_t PropagateToVolume(Tstring VolName, Int_t CopyNo,Int_t option); Bool_t PropagateToLength(Float_t length); Bool_t PropagateToPCA(Int_t pca, Int_t dir); Bool_t PropagateFromPlane(TVector3& v1, TVector3& v2); Bool_t Propagate(FairTrackParH* TStart, FairTrackParH* Tend, Int_t PDG) Bool_t Propagate(FairTrackParP* TStart, FairTrackParP* TEnd, Int_t PDG) Bool_t setBackProp()

slide-88
SLIDE 88

Juli 4, 2017 Folie 88 Tobias Stockmanns

Track Propagator

  • Additional track propagators:
  • FairRKPropagator
  • 4th order Runge-Kutta propagator
  • not used
  • PndHelixPropagator
  • much faster than GEANE
  • but no energy loss
  • no varying magnetic field
slide-89
SLIDE 89

Juli 4, 2017 Folie 89 Tobias Stockmanns

TRACKING QA

slide-90
SLIDE 90

Juli 4, 2017 Folie 90 Tobias Stockmanns

Introduction

  • Various different tracking algorithms
  • Common basis needed to compare and improve tracking

algorithms

  • Common development of Lia Lavezzi and me
  • Idea:
  • Have a set of macros which work on any tracking algorithms

which produces PndTrack and PndTrackCand

  • Set of identical simulation and digitization files for all tracking

algorithms

slide-91
SLIDE 91

Juli 4, 2017 Folie 91 Tobias Stockmanns

Criteria

  • Track efficiency
  • How many MC tracks have been found by track finder
  • Hit efficiency
  • How many hits of a MC track have been found by the track

finder

  • Purity
  • Belong all hits of one found track belong to one MC track
  • Clones
  • How often was a track found by the track finder
  • Ghosts
  • How many hits not belonging to an MC track have been found
slide-92
SLIDE 92

Juli 4, 2017 Folie 92 Tobias Stockmanns

Criteria

  • Partially found
  • Not all hits belonging to one track have been found but all hits

belong to one MC track

  • Spurious found
  • > 70% found hits belong to one MC track
  • Fully found
  • 100 % of MC hits have been found and no other hits are part
  • f the track
  • Clone
  • A MC track was found more than once
  • Ghost
  • A reconstructed track not matching to an MC track
slide-93
SLIDE 93

Juli 4, 2017 Folie 93 Tobias Stockmanns

Efficiency

  • To determine the efficiency of a track finder a basis is needed:
  • All tracks? What about neutral particles or tracks without hits?
  • Only tracks with hits? How many hits?
  • A barrel track finder cannot find tracks in the forward region
  • Different criteria defined:
  • At least three hits (minimum for circle determination)
  • Possible Track:
  • Definable by user via functor (who knows what a functor is?)
  • Some predefined in PndTrackers/PndIdealTrackFinder/

PndTrackFunctor.h

slide-94
SLIDE 94

Juli 4, 2017 Folie 94 Tobias Stockmanns

Efficiency

  • Predefined functors:
  • StandardTrackFunctor:
  • MVD > 3 or MVD+Stt+GEM > 5
  • FtsTrackFunctor
  • FTS > 5
  • NoFtsTrackFunctor
  • FTS == 0 and StandardTrackFunctor
  • Some more specific for certain track finders
  • OnlySTTFunctor, RiemannMvdSttGemFunctor, …
slide-95
SLIDE 95

Juli 4, 2017 Folie 95 Tobias Stockmanns

Implementation

  • Macros in /macro/trackingQA
  • sim, digi and par files provided in folder
  • reco_complete.C(TString prefix)
  • Does the tracking. Your tracking code has to go here!
  • In addition runs an ideal track finder to compare with
  • Usage:
  • Add prefix to identify which data you want to run on
  • root reco_complete.C"(\"dpm_G4_7G0_1000\")"
slide-96
SLIDE 96

Juli 4, 2017 Folie 96 Tobias Stockmanns

Implementation

  • trackingQA_complete.C(TString prefix,

TString branch, Int_t nEvents=0):

  • Compares tracking algorithms with ideal tracking
  • Usage
  • Add the same prefix as in reco_complete.C
  • Add the branch name with the final results of your tacking

code (has to be of type PndTrack)

  • Optional add the number of events you want to run on
  • root trackingQA_complete.C"(\"dpm_G4_7G0_1000\",

\"SttMvdGemTrack\")"

slide-97
SLIDE 97

Juli 4, 2017 Folie 97 Tobias Stockmanns

Implementation

  • plot_trackingQA(TString fileName)
  • Plots the generated histograms of trackingQA in a nice way
  • Usage:
  • Give the complete file name of the trackingQA.root file
  • QA_histos(TString prefix, TString trackBranch)
  • Generates a large set of extracted histograms
  • Usage:
  • Give prefix and branchName
  • comp_recoqa(TString ,fn TString fn2, int picpercan, …)
  • Combines the histograms of two different tracking algorithms
  • New feature pictures per canvas
slide-98
SLIDE 98

Juli 4, 2017 Folie 98 Tobias Stockmanns

Hit Efficiency

slide-99
SLIDE 99

Juli 4, 2017 Folie 99 Tobias Stockmanns

Momentum Resolution

slide-100
SLIDE 100

Juli 4, 2017 Folie 100 Tobias Stockmanns

Performance

slide-101
SLIDE 101

Juli 4, 2017 Folie 101 Tobias Stockmanns

Overview Performance

slide-102
SLIDE 102

Juli 4, 2017 Folie 102 Tobias Stockmanns

Overview of Track Finder