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 NN Calo Tau #1133

Conversation

jonamotta
Copy link

@jonamotta jonamotta commented May 31, 2023

PR description:

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

The producer/eulator 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 the performance evaluated privately can be found in this presentation and this presentation

INFO : IN THE EMULATOR THE NNs ARE STILL APPLIED USING THE TENSORFLOW SOFTWARE
The implementation of full emulation via hls4ml is ongoing (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.

Associated PR to CMSSW master

PR #42840

mmusich and others added 30 commits October 28, 2022 10:57
Require the AlpakaService to be enabled before running on a Device [12.5.x]
…iency-12_5_X

Fix unit test: use LNF so that input files can be read from ibeos - 12_5_X
use `--hltProcess reHLT` in Run-3 Data RelVals [`12_5_X`]
…ens for wrong mixing of signal and PU SIM results

Some fix
[12.5.X] `TsosGaussianStateConversions` Require GSF states to be positive definite
…2_12_5_X

Add AlCaReco producers in phase-2 workflows [12.5.X]
…_for125X

HLT menu development for `12_4_X` (10/N): HLT V1.5 of 2022 [`12_5_X`]
Run3-hcx336 Backport cms-sw#39920 to 12_5_X to protect against wrong ieta values which happens for wrong mixing of signal and PU SIM results
…_12_5_X

[12_5_X] Fix rerecoCommon DQM sequence
…kflow_125X

[12_5_X] Raw prime wf for Run 3 data w/ dropped strips + approx. clusters
@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 no files with code format issues!

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

jonamotta and others added 17 commits June 11, 2023 17:05
Conflicts:
	L1Trigger/L1CaloTrigger/interface/Phase2L1CaloEGammaUtils.h
	L1Trigger/L1CaloTrigger/interface/Phase2L1RCT.h
…ndaloneBarrelEmulator

Devel phase2eg standalone barrel emulator
Update Correlator layer 1 barrel "TDR" regionizer emulator
Let it be controlled by the configuation parameter, as it should, instead of always on.
P2GMT: Disable hard-coding of debug printout
…s_compression_l1t

DemonstratorTools: support transparent compression of pattern files [12_5_X]
… into from-CMSSW_12_5_2_patch1

Merging to update to tag l1t-phase2-v71 and avoid creating further conflicts/issues
@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/L1CaloTrigger/plugins/L1EGammaCrystalsEmulatorProducer.cc

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

@aloeliger aloeliger changed the base branch from phase2-l1t-integration-1252patch1 to phase2-l1t-integration-13_3_0_pre3 October 16, 2023 12:54
@aloeliger
Copy link

@jonamotta We are starting to prepare for the next round of phase 2 development, and the IB branch has been swapped to phase 2. Could we get you to rebase this branch onto CMSSW_13_3_0_pre3 to sort out the merge issues?

@mcepeda
Copy link

mcepeda commented Dec 5, 2023

Hi - just a ping on this @jonamotta. Is this PR still active? Has it been superceded?

@jonamotta
Copy link
Author

Closing this PR at the request of @EmyrClement because of the mess of commits that happened.
Therefore, this PR is superseded by PR#1197

@jonamotta jonamotta closed this Jan 11, 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.