Progress Update: An Artificial Neural Network ... - Wisconsin.cern.ch

prudencewooshAI and Robotics

Oct 19, 2013 (3 years and 7 months ago)

73 views

Progress Update:
An Artificial Neural Network Based
Flavor Tagging

Method
Yibin Pan
(P. Elmer, Y. Pan, J. Walsh, S.L. Wu, Z. Yu)

University of Wisconsin
Feb 24, 1999, SLAC
 Method Review
 New Developments
 Summary of Results for MDC-1
 Migrating to MDC-2
Method Review
Objective: Tagging B =?
0
B
0
B
Two-Step Approach:
Step 1 : (Feature Nets)
Develop a set of NNs, each addressing one aspect of
the B flavor information (lepton, kaon, jet-charge)
e.g.
L-net (track based) => determine how much
a track is compatible with coming from direct
semi-leptonic b decay.
K-net (track based) => determine how much
a track is compatible with being a Kaon (with
right sign).
Q-net (event based) => determine the
jet-charge of a B meson.
Pi-net (track based) => pick the right sign
Pion. (difficult, not done yet)
Step 2: (Tagging Net)
Develop a NN to separate from .
0
B
0
B
L-net
K-net

Mmissing
Nimp
Nk
0
...
Tagging
Net
0
B
0
B
?
Beta release :5.5.1 (pid 5.3.2)
Event Sample: 20,000 fully reconstructed
events with
20,000=10,000 (training)+10,000 (testing)
Terminology: <S
2
> = absolute separation
(tagging note #1)
0
B
0
B
xB,B
00
®®
+
Feature Nets
Q-net
A
s

o
f

O
c
t
o
b
e
r
1
9
9
8
<S
2
> =
0.288 (testing sample)
0.292 (training sample)
Combining 5 inputs with a Neural Network
NN output
B
0
0
B
Oct,
1
9
9
8
 Larger Statistics:
New Sample= 80K fully reconstructed events

with:

 Use unbiased absolute separation
(Tagging Note #11)
 Use Q-net instead of Qj
 Include QKmax2 (in addition to QKmax)
 Add NK
s
 Try to use vertexing info in the L-net
XBB
XBB
®
+
®
®
+
®
0
,
0
0
,
0



Seperation
Train Test
New(80K) 0.283 0.279

Seperation
Train Test
Old (20K) 0.292 0.288
New(80K) 0.285 0.281
New Developments
Q-net

Try to repeat JetCharge NN of Gaidot & Yeche
(Tagging Note # 12, Separation=0.189)

=> Similar performance with the training Sample
=> Performance downgraded in the testing Sample
 Number of input variables can be reduced.
 Tentatively settle for a 7-variable Q-net:

(Qj, QjLn, Pmax*Qmax, Pmin*Qmin, E*Qmax, Nch*Qmax,Nch*Qmin)
 Include Q-net in the
TaggingNet:
Using Q-net instead of Qj improves final separation
by 1.5%. (shown later)
Separation (Q-net only)
Training Testing
NN 17-20-1 0.187 0.172
NN 17-5-1 0.182 0.165
NN 7-5-1 0.175 0.171
QK
max
= Q
.
K
max
charge of the track with largest K-net output
B
0
QK
max
0
B
Kmax=largest K-net output
Kmax2=2nd largest K-net output
More than one Kaons in event
K-net output for Tracks
TaggingNet:
 Use QKmax2 in addition to Qkmax
 Separation improved by 1.6% (absolute)
Using Vertexing Information: Sz variable
dz
Sz=dz/sigma(dz)
Using Vertexing Information: Sz Probability
 SzProb is tried with L-net
 Modest improvement to the final separation (0.2%).
 Better variables to be designed.

Purpose: to determine how much a track is
compatible with coming from direct semi-
leptonic b decay.
 Training Scheme: track-by-track
 Structure: 8-15-1
 Signal: leptons from direct semi-lepton b decay
 Background : other tracks in the decay
 8 input variables for each track:
 Note: no charge info is used

L-net
eid = PidElectronSelector::accept(e) tight
muid= PidMuonSelector::accept(mu) very tight
W
minmiss
W
90
W
rec
W
rec
,,E,M,E*,p,muid,eid 
b
c
w
l
TaggingNet with 6 input variables
<S
2
> =
0.314 (testing sample)
0.321 (training sample)
QLmax
Qkmax
QKmax2
Q-net
M
missing
N
imp
B
0
= 0
B
0
= 1
B
0
B
0
6-15-1
Adding nK
short
 K short may change the sign of charged Kaon
in an event.
 A simple recipe: tell the TaggingNet how many
K short in the event.
 Using cut based Ks finder.
 Very small improvement to the final Separation
( 0.1% absolute)
 If use MC truth to find Ks => 0.7% improvement.
 Byproduct: A Ks finder NN?
Example:
Cut based Ks finder:
Eff=41% Purity=78%
NN Ks finder:
Eff=47% Purity=78%
<S
2
>
unbiased
Train Test
QLmax8 (No SzProb)
0.130 0.133
QLmax9(With SzProb)
0.136 0.139
QKmax
0.188 0.180
QJ
0.134 0.130
Q-net
0.178 0.178
NN 5-15-1
(QLmax8+QKmax+Mmissing+Nimp+QJ)
0.283 0.279
NN 5-15-1
(QLmax9+QKmax+Mmissing+Nimp+QJ)
0.285 0.281
NN 5-15-1(BaseNet)
(QLmax9+QKmax+Mmissing+Nimp+Q-net)
0.303 0.296
NN 6-15-1
(BaseNet+QKmax2)
0.321 0.314
NN 7-15-1
(BaseNet+QKmax2+nK0s)
0.325 0.315
For Reference:
Cornelius 5-category (Physics Book)
0.234

JetCharge NN (Gaidot & Yéche, Tagging Note #12)
0.189
Summary of Results
Migrating to MDC-2
 Package ported to 6.10.13.
Compiles OK
Runs with occasionally crashes
(not due to the package)
 Fixed the D0 problem: the default helix.d0
uses (0,0,0) => should use (0,0.37,0)
 Tried to get around the eid and muid problems
by re-doing the reconstruction. No time
re-process enough events though.
 Still, tried to re-train L-net, K-net, Q-net.
 No attempts made to re-train the final TaggingNet
 Waiting for PRV0 ?
Original:
helix(0.0).d0()
recalculated
w.r.t. (0,0.37,0)
Summary
 Improvements are made to the classless
neural network method.
- Tested on MDC-1 events, the unbiased
absolute separation <S
2
> = 31.4%.
- Working on further improvements.
 Package ready for new MDC-2, no final
results at this stage.
 Still exploring how to coexist/merge with
Cornelius.
 Source codes and developing tools ported
to the SLAC cluster.