Topics in focus
- QA task
- Looper tagging only in region around each digit / ideal maximum ✅
- Adjust training data s.t. network can learn what a looper is, i.e. exclude that region ✅
- Write native-clusters file (✅, writing per sector) and run reco workflow (✅)
- Networks
- Test performance of fully connected network and compare with CNN ✅
- Test effect of input size, e.g. 7x7x7 vs. 3x11x11 (row, pad, time) (✅❌)
- Retrain with looper tagged data and compare performance ✅
- Train (✅) and run (❌) N-class-classification network
QA task & NN training
- Fully connected (FC) vs. 3D convolutional network (CNN)
- CNN and FC are of similar performance! Actually sligthly more reduced fake-rate for FC -> Working-point adjustment could bring some more benefits here.
- Table below is created on same simulation where training data was generated from (noticed too late that no other simulation was available in my storage)
| |
Native |
FC (cut @ 0.16) |
CNN (cut @ 0.16) |
| Digits (w.o. LT) |
21.9 mio. |
19.9 mio. |
20.3 mio. |
| Ideal (w.o. LT) |
23.6 mio. |
23.6 mio. |
23.6 mio. |
| Efficiency (LT) |
86.0% |
84.1% |
84.9% |
| Clone-rate (LT) |
2.9% |
2.3% |
2.2% |
| Fake-rate (LT) |
10.1% |
7.5% |
8.3% |
-> About 10% reduction in total number of clusters with a 20% rel. reduction in fake-rate at (almost) same efficiency as native clusterizer!
- Looper tagger
- Adjusted to remove only sigma regions around each ideal CoG where MC label of ideal == MC label of looper region
- For ECF calculation: All points within looper region are excluded
- For NN training:
- If point is in looper region and has no assignments or only looper assignments: class_label = 0
- Else: class_label = number of assignments with label != looper MC label
- Plots below are made on independent dataset, not contained in training set (1 Ev. @ 50kHz to see some separation)


To-Do
- Tracking QA
- Check performance on completely independent simulation of 50kHz PbPb and potentially retrain with more data
- N class network QA and training in float16 (QA will be hard to check as CPU only allows for float32 evals -> round up to float32 and truncate after each layer (?))