Implementation of NN / BDT at L1 in L1topo
Example of applications include regression problem based on full bit word (including coordinates) to correct the pT at L1 (corse thresholding).
Here I collect some notes following up the discussion started in the Jira ticket https://its.cern.ch/jira/browse/ATR-17103 .
References are
- https://indico.cern.ch/event/567550/contributions/2629686/
- https://indico.cern.ch/event/638056/contributions/2659516/attachments/1492636/2320855/ml_in_L1-Trigger.pdf
- https://indico.cern.ch/event/665947/
Example of look-up table (technically same as what we want to do when evaluating a BDT/NN) in L1topo is here https://gitlab.cern.ch/atlas/athena/blob/master/Trigger/TrigT1/L1Topo/L1TopoSimulationUtils/Root/KFLUT.cxx .
Overall tasks:
- Implement a NN / BDT trained on bits-wise inputs
- Several examples available, for example https://github.com/nicola-orlando/tensorflow, or whatever public NN on the MNIST dataset (see for example J. of ML research 14 (2014), 1929-1958).
- Inputs to be used based on upgraded L1Calo simulation (to be collected)