Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Phase-2 TauMinator Tau (NNCaloTau) #1197

Conversation

jonamotta
Copy link

@jonamotta jonamotta commented Jan 11, 2024

PR description:

This PR is the sister of PR#42840 in master CMSSW, and supersedes the previous PR#1133 which is now closed.

This PR uploads the Phase-2 NN Calo Tau producer and emulator - The TauMinator.

The producer/emulator reconstructs and identifies tau candidates at L1 Trigger with a CNN.
The output is a standard BXVector filled with tau objects.
For simplicity, the dataformat of taus is kept the same as the one of Phase-1

The producer/emulator depends on .pb files containing the graphs of the various NNs, which can be found in this PR #17.

Some details about the algorithm and its performance can be found in this DPS Note.
Some additional details in reports made at the L1 DPG meetings in this presentation and this presentation

INFO : IN THE EMULATOR THE NNs ARE STILL APPLIED USING THE TENSORFLOW SOFTWARE
It has already been shown in other contexts that tensorflow softwrae and full emulation are very close to each other

PR validation:

The code has been validated with the use of the following two standard commands:
scram build code-checks
scram build code-format
and in both cases no error or warning was prompted by the code in this PR.

WP definition and usage:

The WPs on the tau identification are defined based on the total efficiency of the algorithm, i.e. 90/95/99%.
The WPs cut is applied directly in the code and a "quality flag" is saved in the produced taus.
For simplicity, the dataformat of taus is kept the same as the one of Phase-1.
The "quality flag" in the output tau is stored in the hardware quality property of the tau, and can be accessed as:

const l1t::Tau& tau = ...;
tau.hwQual();

The WP-hwQual correspondance is:

  • 90% --> 3
  • 95% --> 2
  • 99% --> 1
  • anything else --> 0

The results in the presentations linked above are all obtained using the 90% WP, which corresponds to asking tau.hwQual()==3; to use the other two WP the requirement would be tau.hwQual()>=2 and tau.hwQual()>=1 for 95 and 99% WP, respectively.

Related PRs

PR to l1t-integration PR #1133
PR to l1t-data PR #17

@jonamotta jonamotta changed the title Phase2 l1 nn calo tau Phase-2 TauMinator Tau (NNCaloTau) Jan 11, 2024
@jonamotta jonamotta mentioned this pull request Jan 11, 2024
@triggerDoctor
Copy link

Hello, I'm triggerDoctor. @aloeliger is testing this script for L1T offline software validation.

Attempts to compile this PR succeeded!

Info Value
return code 0
command eval scramv1 runtime -sh && scram b -j 8

@triggerDoctor
Copy link

Hello, I'm triggerDoctor. @aloeliger is testing this script for L1T offline software validation.

I found no issues with the code checks!

Info Value
return code 0
command eval scramv1 runtime -sh && scram b -k -j 8 code-checks && scram b -k -j 8 code-checks

I found no issues with the headers!

Info Value
return code 0
command eval scramv1 runtime -sh && scram b -k -j 8 check-headers

@triggerDoctor
Copy link

Hello, I'm triggerDoctor. @aloeliger is testing this script for L1T offline software validation.

I found 1 files that did not meet formatting requirements:

  • L1Trigger/L1TTrackMatch/plugins/L1TrackJetClustering.h

Please run scram b code-format to auto-apply code formatting

Info Value
return code 0
command eval scramv1 runtime -sh && scram b -k -j 8 code-format-all

@jonamotta
Copy link
Author

Hey @aloeliger, I see that the @triggerDoctor got stuck on a file that has nothing to do with my PR.
Is it something you will take care of?

@aloeliger
Copy link

@jonamotta Yeah, that's been pointed out a few times. Don't worry about it if it isn't yours.

@artlbv artlbv linked an issue Jan 16, 2024 that may be closed by this pull request
@aloeliger aloeliger added Phase-2 Pertains to phase-2 development Algorithm Development labels Jan 17, 2024
@aloeliger aloeliger changed the base branch from phase2-l1t-integration-13_3_0_pre3 to phase2-l1t-integration-14_0_0_pre3 February 5, 2024 15:44
@aloeliger
Copy link

@jonamotta In order to start constructing a protoytype branch for the menu team to validate, this PR is being merged immediately.

@aloeliger aloeliger merged commit d921f86 into cms-l1t-offline:phase2-l1t-integration-14_0_0_pre3 Feb 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Algorithm Development Phase-2 Pertains to phase-2 development
Projects
None yet
Development

Successfully merging this pull request may close these issues.

TauMinator
3 participants