The RAVE Vertex Reconstruction
Toolkit: status and new applications
Wolfgang Waltenberger, Fabian Moser and Winfried Mitaroff
with contributions by Bernhard Pflugfelder and Herbert V. Riedel
Austrian Academy of Sciences, Institute of High Energy Physics
Nikolsdorfer Gasse 18, A-1050 Vienna, Austria, Europe
Outline:
• The RAVE toolkit and VERTIGO framework in short;
• Improved track reconstruction by RAVE’s smoother;
• Progress on the implementation of kinematics fitting;
• Summary: present status and outlook to the future.
- W. Waltenberger, F.Moser, W. Mitaroff
- ALCPG ’07, Fermilab: 22–26 Oct. 2007
Reminder of the main goals
1. Creation of an extensible, detector-independent toolkit (RAVE) for vertex reconstruction, to be embedded into various environments:
• RAVE = “Reconstruction (of vertices) in abstract versatile environments”;
• The toolkit includes both vertex finding (a pattern recognition task a.k.a. track bundling) and vertex fitting
(estimation of the vertex parameters and errors);
• Synergy used: starting point was the old CMS software (ORCA) which has recently been refactored and ported to the new CMS framework (CMSSW);
• Principal algorithmic assets are robustified reconstruction methods with estimators based on adaptive filters, thus downweighting the influence of outlier tracks;
• RAVE is foreseen to stay source-code compatible with CMSSW, but thanks to its generic API may easily be embedded into other software environments.
2. Creation of a simple stand-alone framework (VERTIGO) for fast implementation, debugging and analyzing of the core algorithms:
• VERTIGO = “Vertex reconstruction tools and interfaces to generic objets”;
• Framework tools available: Visialization, Histogramming, a Vertex Gun for generating artificial test events, an
LCIO input event generator, and a Data Harvester & Seeder for flexible I/O.
• VERTIGO is able to emulate various detector setups by a flexible “skin” concept.
- W. Waltenberger, F.Moser, W. Mitaroff
- ALCPG ’07, Fermilab: 22–26 Oct. 2007
Example of using the RAVE toolkit
Calling RAVE from a C++ environment:
ꢀꢁꢂꢃꢄꢅꢆꢁ ꢄꢇꢅ%ꢈꢂꢅꢂꢉ ꢄꢇꢉ ꢂꢃꢊꢋꢌꢂꢁ
ꢀꢁꢂꢃꢄꢂꢅꢆꢇꢂꢄꢆ ꢁꢂꢄꢈ
ꢀꢁꢂꢃꢄꢄꢅꢁꢆꢇ ꢀꢈꢉꢊꢁꢆꢇ ꢀꢈꢉꢋꢉꢌꢈꢌꢁꢍꢎꢃꢇꢏꢆꢅꢏꢃꢐꢑꢋꢒꢓꢉꢌꢈꢔꢀ ꢕꢁꢍꢁꢇ ꢀꢋꢒꢉꢒꢖ ꢗꢇꢑꢄꢄꢂꢃꢆꢇ ꢀꢉꢘꢉꢀꢁꢂꢃꢄꢄꢙꢃꢀꢇꢃꢚꢉꢛꢉꢂꢃꢀꢇꢏꢆꢃꢗꢉꢜꢉꢊꢁꢆꢇ ꢀꢈꢝꢆꢀꢃꢁꢇꢃꢋꢉꢇꢀꢁꢆ ꢗꢓꢉ
!"ꢃꢇ# ꢑ$ꢉꢒꢖ
ꢍꢋꢌ ꢎꢃꢏꢄꢌꢃꢂꢋ ꢂꢁꢄ&ꢂꢃ ꢇꢌꢂꢁꢄꢊꢃꢎꢅꢄ
ꢃꢋꢌ$ꢁꢐꢄꢆꢁꢇꢉꢑꢄꢅꢂ ꢒꢎꢓꢄ.ꢅꢂ ꢒꢎꢓ/
Note: the factory class name has recently been renamed
rave::VertexFactory.
- W. Waltenberger, F.Moser, W. Mitaroff
- ALCPG ’07, Fermilab: 22–26 Oct. 2007
Functionality of the VERTIGO framework
- Test
- LCIO
- CMS
Events
Belle Events?
Events Files Vertex Gun
LCIO EvtGen
Data Seeder
VertigoEventGenerators
Tracks
RAVE
Vertices
VertigoObservers
DATA FLOW
Visual− isation
Data− gramming Harvester Histo−
Hdf/Root files
- W. Waltenberger, F.Moser, W. Mitaroff
- ALCPG ’07, Fermilab: 22–26 Oct. 2007
What is a full geometric vertex fit ?
Input to a geometric vertex fit:
• Fitted tracks: p , cov(p , p ), i = 1 . . . n
- i
- i
- i
(x,x)
– p = 5-vectors of track parameters,
i
– cov(p , p ) = symmetric 5 × 5 matrices.
- i
- i
(q1,x) (q1,q1)
• Beam int. profile (optional): v, cov(v, v)
– v = 3-vector of centre of the beam i.p., – cov(v, v) = symm. or diag. 3 × 3 matrix.
- (q2,x)
- (q2,q2)
- (q2,q1)
(q3,x) (q3,q1) (q3,q2) (q3,q3)
(qk,x) (qk,q1) (qk,q2) (qk,q3) (qn,x) (qn,q1) (qn,q2) (qn,q3)
Results of a geometric vertex fit:
• Vertex position: x, cov(x, x)
– x = 3-vector of space coordinates, – cov(x, x) = symmetric 3 × 3 matrix.
(qk,qk) (qn,qk)
• Tracks at vertex: q , cov(q , q ), i = 1 . . . n
- i
- i
- i
– q = 3-vectors of re-fitted track parameters,
i
(qn,qn)
– cov(q , q ) = symmetric 3 × 3 matrices
- i
- i
(obtained by the Kalman “smoother”).
• But this is not the full information from a vertex fitter; there are more covariances to deal with:
– cov(q , x), i = 1 . . . n
n asymmetric 3 × 3 matrices,
i
– cov(q , q ), i, j = 1 . . . n with i = j
n · (n − 1) asymmetric 3 × 3 matrices.
- i
- j
In practice, the cov(q , q ), i = j are only needed in case of a subsequent vertex re-fit with kinematic constraints.
- i
- j
The n asymmetric cov(q , x), however, should not be forgotten for persistency (e.g. LCIO).
i
- W. Waltenberger, F.Moser, W. Mitaroff
- ALCPG ’07, Fermilab: 22–26 Oct. 2007
Tracks re-fitted by the smoother: zimp
- stats
- stats
Tracks, resolution, z
10000
Refitted tracks, resolution, z
- imp
- imp
Entries Mean RMS
124904
-0.007457
27.01
Entries Mean RMS
124791 0.09153
11.83
20000 18000 16000 14000 12000 10000
8000 6000 4000 2000
0
χ
2 / ndf
χ
- 2 / ndf
- 1855 / 82
7441± 42.4
3091 / 82
Constant (Core) Mean (Core) Sigma (Core) Constant (Tail) Mean (Tail)
Constant (Core) Mean (Core) Sigma (Core) Constant (Tail) Mean (Tail)
1.727e+04 ± 87 0.0577 ± 0.0192
4.617 ± 0.019
2000 ± 3.8
0.1558 ± 0.0893
15.84 ± 0.06
8000 6000 4000 2000
0
-0.001728 ± 0.042109
9.056 ± 0.057
1076 ± 14.0
-0.08068 ± 0.21108
- 43.12 ± 0.31
- Sigma (Tail)
Sigma (Tail)
- -100
- -50
- 0
- 50
- 100
- -100
- -50
- 0
- 50
- 100
- res, zimp [µm]
- res, zimp [µm]
• Track parameters in “perigee representation” (δ , ∆z, ϕ, . . . ) w.r.t. an arbitrarily defined pivot point;
T
- (fitted)
- (true)
• histogram of z
- ≡ ∆z
- − ∆z
of reconstructed tracks (left), and re-fitted tracks (right);
imp
• no use was made of the beam interaction profile.
- W. Waltenberger, F.Moser, W. Mitaroff
- ALCPG ’07, Fermilab: 22–26 Oct. 2007
Kinematics fitting by RAVE
Algorithm used:
• The algorithm is based on a least squares fit with Lagrangian multipliers for the kinematic constraints; • Flexibility is achieved by separating the kinematics fitting proper from the “decay chain tree” steering; • For details, see K. Prokofiev, Proc. CHEP ’04, Interlaken (CH): CERN-2005-002 and
http://indico.cern.ch/getFile.py/access?contribId=75&sessionId=4&resId=1&materialId=paper&confId=0
Implementation:
• Work has started on 1 October: the core code has been extracted from the CMS framework CMSSW; • The wrapper code for interfacing with the RAVE toolkit is finished, and all has successfully compiled; • Calling it from a C++ environment proceeds via the new factory class rave::KinematicTreeFactory
(both building the tree, and performing the fit);
• Requires assignment of particle masses to tracks, and definition of the kinematic constraints.
Tests in limbo:
• Functional tests of the new code will be performed using the VERTIGO stand-alone framework; • Before starting, new VERTIGO tools must be implemented in order to support the kinematics:
– a vertex gun generating kinematically correct events; – observers able to handle the kinematics information.
- W. Waltenberger, F.Moser, W. Mitaroff
- ALCPG ’07, Fermilab: 22–26 Oct. 2007
Decay tree and kinematics fit
The kinematic fit: LMS minimization
: KinematicTree
Invalid production
χ2 minimization with the set of additional constraints
vertex
H yref
0
,
0
Bs
yexp
linearized (first order Taylor expansion) around some given point
H yexp
0
s
Decay Vertex
B
y yexp H yexp D y d 0 y
D: matrix of derivatives, one line per constraint equation
J/ Ψ
Φ
(n_equations x n_parameters)
(Previous state)
d: vector of values of constraints
- +
- +
−
−
Function to minimize with respect to yref , :
- µ
- µ
- Κ
- Κ
Constraints
- yref y V y yref
- y
2
D y d min
- 2
- 1
- T
- T
,
Invalid decay vertex
(Present State)
0
s
- + −
- +
−
Decay tree example for B → J/ψΦ → µ µ K K .
- W. Waltenberger, F.Moser, W. Mitaroff
- ALCPG ’07, Fermilab: 22–26 Oct. 2007
Example: Bs0 → J/ψΦ (simulation CMS)
Residual of the µ+µ−K+K- 4-track invariant mass with and without constraints:
70
Mean RMS
0.1761E-01 0.3635E-01
Mean RMS
0.3901E-02 0.2017E-01
- 32.42
- /
- 25
- 45.96
- /
- 21
120 100
80 60 40 20
0
Constant Mean Sigma
- 60.30
- 3.239
0.1339E-02 0.1108E-02
Constant Mean Sigma
- 101.4
- 5.911
0.6626E-03 0.5425E-03
60 50 40 30 20 10
0
0.1503E-01 0.3194E-01
0.3972E-02 0.1361E-01
Mean = 4 MeV
= 13 MeV
Mean = 15 MeV
= 32 MeV
- -0.2
- -0.15
- -0.1
- -0.05
- 0
- 0.05
- 0.1
- 0.15
- 0.2
- -0.15
- -0.1
- -0.05
- 0
- 0.05
- 0.1
- 0.15
Bs mass residual (Kalman) GeV
MrBec MPBDG
Bs mass residual (Global fit) GeV
MrBec MPBDG
- Without constraints
- With constraints
- s
- s
- s
- s
- CHEP'04, Interlaken, Switzerland, 30 September 2004
- K.Prokofiev, Th.Speer Universität Zürich
- W. Waltenberger, F.Moser, W. Mitaroff
- ALCPG ’07, Fermilab: 22–26 Oct. 2007
Summary: status and outlook
Present status:
• Code written in C++; RAVE depends on CLHEP and Boost, VERTIGO’s visualization also on Coin3d; • Tested with Linux (Debian and SLC4), Mac OSX and CygWin/DLL, on Intel and PPC hardware; • RAVE may be called directly from C++, and with a wrapper (SWIG) also from Java and Python; • Adaptor classes (“glue code”) exist for embedding RAVE into the reconstruction frameworks Marlin (C++) and org.lcsim (Java); tested with LDC and SiD simulation data;
• Simple VERTIGO skins exist for the LDC and SiD detectors; tested with LCIO formatted input data.
Work in progress:
• Interfacing RAVE with the ZvTop/ZvRes “topological vertex search” algorithm is almost finished; • Augmenting RAVE with “heavy flavour tagging” algorithms is in progress (see talk at LCWS ’07); • Augmenting RAVE with a powerful kinematics fitting algorithm has started (see the previous slides).
Availability:
• A beta release is available; our institute is committed to maintenance, documentation and distribution; • http://projects.hepforge.org/rave/ (HepForge repository for RAVE source code, docus, etc); • http://stop.itp.tuwien.ac.at/websvn/ (repository for Marlin & org.lcsim glue code, and VERTIGO).
- W. Waltenberger, F.Moser, W. Mitaroff
- ALCPG ’07, Fermilab: 22–26 Oct. 2007
The Vertexing Circle’s credo
(ꢀꢁꢂꢃꢄꢂꢅꢁꢆꢇꢃꢆꢈꢃ)ꢂꢉꢊꢅꢃꢋ*ꢌꢉꢍꢂꢊꢃꢎꢊꢃꢊꢂꢂꢏꢃꢅꢆꢃ ꢂꢃꢆꢌꢍꢃ ꢂꢊꢅꢃꢐꢆꢌꢍꢊꢂꢃ
ꢑꢁꢂꢏ ꢑꢂꢃꢁꢉ+ꢂꢃꢅꢁꢍꢆꢑꢏꢃꢆ+ꢂꢍ ꢆꢉꢍꢇꢃꢉꢃꢐꢂꢍꢅꢉꢎꢏꢃꢒꢆꢍꢅꢎꢆꢏꢃꢆꢈꢃꢆꢌꢍ
ꢇꢉꢅꢉꢃ,,ꢃꢉꢃꢊꢆꢍꢅꢃꢆꢈꢃꢊꢉꢐꢍꢎꢈꢎꢐꢂꢃꢑꢁꢎꢐꢁꢃꢁꢉꢊꢃꢆꢈꢅꢂꢏꢃꢅꢆꢃ ꢂꢃꢄꢉꢇꢂꢃ $ꢃ
ꢅꢁꢆꢊꢂꢃꢑꢁꢆꢃꢊꢉꢎꢓꢃꢅꢁꢂꢃꢊꢅꢆꢍꢄ$ꢃꢊꢂꢉꢊꢃꢆꢈꢃꢔꢍꢆ ꢉ ꢎꢓꢎꢅ$-.
ꢀꢁꢂꢃꢁꢂꢄꢅꢆꢇ ꢈꢉꢊꢋꢌꢂꢍꢎꢎꢏꢂ
()ꢂꢅꢃꢌꢊꢃꢏꢆꢅꢃꢅꢁꢍꢆꢑꢃꢉꢑꢉ$ꢃꢇꢉꢅꢉꢃꢉꢓꢓꢃꢅꢆꢆꢃꢁꢉꢊꢅꢎꢓ$-ꢃ/ꢏꢊꢅꢂꢉꢇꢕꢃꢓꢂꢅꢃꢌꢊꢃ ꢑꢂꢎꢖꢁꢅꢃꢉꢏꢇ ꢍꢂꢑꢂꢎꢖꢁꢅꢃꢅꢁꢂꢃꢇꢉꢅꢉꢕꢃꢐꢆꢏꢊꢎꢇꢂꢍꢃꢉꢏꢇꢃꢍꢂꢐꢆꢏꢊꢎꢇꢂꢍꢃ ꢉꢓꢅꢂꢍꢏꢉꢅꢎ+ꢂꢃꢄꢆꢇꢂꢓꢊ-ꢃ0ꢏꢓ$ꢃꢎꢈꢃꢑꢂꢃꢄꢌꢊꢅꢕꢃꢉꢅꢃꢅꢁꢂꢃꢓꢉꢅꢂꢊꢅꢃꢒꢆꢊꢊꢎ ꢓꢂꢃ ꢊꢅꢉꢖꢂꢕꢃꢊꢁꢉꢓꢓꢃꢑꢂꢃꢇꢎꢊꢅꢎꢏꢖꢌꢎꢊꢁꢃ ꢂꢅꢑꢂꢂꢏꢃ ꢎꢏ ꢃꢉꢏꢇꢃ ꢆꢌꢅ ꢕꢃ ꢂꢅꢑꢂꢂꢏꢃ ꢊꢎꢖꢏꢉꢓꢃꢉꢏꢇꢃꢏꢆꢎꢊꢂ-.
ꢐꢋꢇꢂꢑꢒꢓꢂꢔꢇꢉꢊꢇꢕꢖꢗꢆꢂꢘꢖꢉꢘꢙꢇꢌꢂꢚꢛꢛꢜꢂ
- W. Waltenberger, F.Moser, W. Mitaroff
- ALCPG ’07, Fermilab: 22–26 Oct. 2007