Implementation of ONNX model score computation and decoration for Taus (GNTau)
Add tools and wrappers to run ONNX-based models for Tau objects. Details can be found in FTag software meeting presentation, but in short: a new class and tool are added to tauRecTools along with some new variable calculator functionalities to run model inference and decorate TauJets and TauTracks, and DerivationFrameworkTau + tauRec are modified to call the tools and decorate the DAOD TauJets (if one also decorates the DeepSetID at the moment).
Merge request reports
Activity
639 639 return myTauWPDecorator 640 640 641 641 642 def getGNNEvaluator(): Not sure this is needed since the legacy configuration is going to be removed soon and by default the CA implementation is the one we should use now. (indeed don't think this is called anywhere)
Edited by Antonio De MariaCan resolve as the file is removed in update to recent athena/main.
Edited by Nadav Michael Tamir
144 144 allowedTypes=['string'] 145 145 StoredValue='CombinedTES_R22_Round2.5.root' 146 146 147 class tauRecTauGNNConfig(JobProperty): (same remark as above, we only need the CA implementation)
Edited by Bertrand Martin Dit Latour
4 4 5 5 TauJetsCPContent = [ 6 6 "TauJets", 7 "TauJetsAux.pt.eta.phi.m.ptFinalCalib.etaFinalCalib.ptTauEnergyScale.etaTauEnergyScale.charge.nChargedTracks.nIsolatedTracks.nAllTracks.isTauFlags.PanTau_DecayMode.NNDecayMode.NNDecayModeProb_1p0n.NNDecayModeProb_1p1n.NNDecayModeProb_1pXn.NNDecayModeProb_3p0n.RNNJetScore.RNNJetScoreSigTrans.JetDeepSetScore.JetDeepSetScoreTrans.JetDeepSetVeryLoose.JetDeepSetLoose.JetDeepSetMedium.JetDeepSetTight.JetDeepSetScore_v2.JetDeepSetScoreTrans_v2.JetDeepSetVeryLoose_v2.JetDeepSetLoose_v2.JetDeepSetMedium_v2.JetDeepSetTight_v2.RNNEleScore.RNNEleScoreSigTrans_v1.EleRNNLoose_v1.EleRNNMedium_v1.EleRNNTight_v1.tauTrackLinks.vertexLink.secondaryVertexLink.neutralPFOLinks.pi0PFOLinks.truthParticleLink.truthJetLink.trackWidth.centFrac.etOverPtLeadTrk.innerTrkAvgDist.absipSigLeadTrk.SumPtTrkFrac.EMPOverTrkSysP.ptRatioEflowApprox.mEflowApprox.dRmax.trFlightPathSig.massTrkSys.leadTrackProbNNorHT.EMFracFixed.etHotShotWinOverPtLeadTrk.hadLeakFracFixed.PSFrac.ClustersMeanCenterLambda.ClustersMeanFirstEngDens.ClustersMeanPresamplerFrac", 7 "TauJetsAux.pt.eta.phi.m.ptFinalCalib.etaFinalCalib.ptTauEnergyScale.etaTauEnergyScale.charge.nChargedTracks.nIsolatedTracks.nAllTracks.isTauFlags.PanTau_DecayMode.NNDecayMode.NNDecayModeProb_1p0n.NNDecayModeProb_1p1n.NNDecayModeProb_1pXn.NNDecayModeProb_3p0n.RNNJetScore.RNNJetScoreSigTrans.JetDeepSetScore.JetDeepSetScoreTrans.JetDeepSetVeryLoose.JetDeepSetLoose.JetDeepSetMedium.JetDeepSetTight.JetDeepSetScore_v2.JetDeepSetScoreTrans_v2.JetDeepSetVeryLoose_v2.JetDeepSetLoose_v2.JetDeepSetMedium_v2.JetDeepSetTight_v2.RNNEleScore.RNNEleScoreSigTrans_v1.EleRNNLoose_v1.EleRNNMedium_v1.EleRNNTight_v1.tauTrackLinks.vertexLink.secondaryVertexLink.neutralPFOLinks.pi0PFOLinks.truthParticleLink.truthJetLink.trackWidth.centFrac.etOverPtLeadTrk.innerTrkAvgDist.absipSigLeadTrk.SumPtTrkFrac.EMPOverTrkSysP.ptRatioEflowApprox.mEflowApprox.dRmax.trFlightPathSig.massTrkSys.leadTrackProbNNorHT.EMFracFixed.etHotShotWinOverPtLeadTrk.hadLeakFracFixed.PSFrac.ClustersMeanCenterLambda.ClustersMeanFirstEngDens.ClustersMeanPresamplerFrac.GNTauScore.GNTauProbTau.GNTauProbJet", Ok, not for now, but we should also make some tests to compare by how much the derivation file size is going to increase when adding these new quantities. If people are going to complain, are all these variables mandatory to be added or for example we can drop the Prob? (probably yes looking at the next part of the code)
Edited by Antonio De Maria
869 869 result.setPrivateTools(myTauWPDecorator) 870 870 return result 871 871 872 def TauGNNEvaluatorCfg(flags): 873 result = ComponentAccumulator() 874 _name = flags.Tau.ActiveConfig.prefix + 'TauGNN' 875 876 TauGNNEvaluator = CompFactory.getComp("TauGNNEvaluator") 877 GNNConf = flags.Tau.TauGNNConfig 878 myTauGNNEvaluator = TauGNNEvaluator(name = _name, 879 NetworkFile = GNNConf[0], 880 OutputVarname = "GNTauScore", 881 OutputPTau = "GNTauProbTau", 882 OutputPJet = "GNTauProbJet", 883 MaxTracks = 30, added Derivation ML-Inference Reconstruction Tau changes-derivation-output main onnx labels
added JetEtmiss analysis-review-required labels
- Resolved by Nadav Michael Tamir
- Resolved by Antonio De Maria
- Resolved by Nadav Michael Tamir
CI Result FAILURE (hash a0996dcb)Athena AnalysisBase AthAnalysis externals cmake make tests Full details available on this CI monitor view. Check the JIRA CI status board for known problems
Athena: number of compilation errors 0, warnings 1
AnalysisBase: number of compilation errors 0, warnings 1
AthAnalysis: number of compilation errors 0, warnings 1
For experts only: Jenkins output [CI-MERGE-REQUEST-EL9 4194]- Resolved by Nadav Michael Tamir
- Resolved by Nadav Michael Tamir
- Resolved by Nadav Michael Tamir
- Resolved by Nadav Michael Tamir
- Resolved by Bertrand Martin Dit Latour
- Resolved by Nadav Michael Tamir
- Resolved by Nadav Michael Tamir
- Resolved by Nadav Michael Tamir
- Resolved by Nadav Michael Tamir
- Resolved by Nadav Michael Tamir
- Resolved by Nadav Michael Tamir
- Resolved by Nadav Michael Tamir
- Resolved by Nadav Michael Tamir
- Resolved by Nadav Michael Tamir
- Resolved by Nadav Michael Tamir
Hello @ntamir, was there any progress on this?
added 1 commit
- 2a8bb49e - Remove else{} block with evtStore call from VarCalc
General question: now that we have two models in place, can we put both in the DAOD PHYS to test them? Otherwise I would prefer to give the priority to the TauID only model without aux task
Edited by Antonio De Maria- Resolved by Nadav Michael Tamir
Hi @ntamir ,
Following the creation of the 24.0 branch from main, you should now decide whether this MR should target 24.0 or main, according to these guidelines agreed in the Software Weekly meeting: https://indico.cern.ch/event/1382755/attachments/2802320/4889268/BranchingGuidelines24.pdf
If you decide that this MR should target 24.0, please re-direct it by editing and changing the target branch in the drop-down menu. If it should stay in main, please indicate this as a reply to this message. Remember that all MRs going into 24.0 will also be swept into main.
Thanks!
James, John, Nick
added 1279 commits
-
9a02ea25...93c874b8 - 1278 commits from branch
atlas:main
- 9952453a - Merge branch athena:main into master
-
9a02ea25...93c874b8 - 1278 commits from branch
128 128 129 129 //Prepare input variables 130 130 if (!calculateInputVariables(tau, tracks, clusters, scalarInputs, vectorInputs)) { 131 ATH_MSG_WARNING("Failed calculateInputVariables"); 131 ATH_MSG_FATAL("Failed calculateInputVariables"); - Resolved by Nadav Michael Tamir
Hi @ntamir! Just to let you know !68579 (merged) is now merged! I would highlight the new
ConstituentsLoader
interface, it might be possible for you to also reuse part of this.From the FTAG side, we would like to be able to input clusters (as you do), so if you implemented the cluster loader as a
ConstituentsLoader
, FTAG would also be able to make use of this, which would be a great bonus
added 1865 commits
-
e563a3f1...b31952fd - 1864 commits from branch
atlas:main
- e30c1d3c - Fixing conflicts + rebase on main + tiny update
-
e563a3f1...b31952fd - 1864 commits from branch
CI Result FAILURE (hash e30c1d3c)Athena AnalysisBase AthAnalysis externals cmake make tests Full details available on this CI monitor view. Check the JIRA CI status board for known problems
Athena: number of compilation errors 0, warnings 0
AnalysisBase: number of compilation errors 0, warnings 0
AthAnalysis: number of compilation errors 0, warnings 0
For experts only: Jenkins output [CI-MERGE-REQUEST-EL9 7264] (remote access info)added 3481 commits
-
e30c1d3c...563802dc - 3480 commits from branch
atlas:main
- 296cbdf2 - Merge branch athena:main into master
-
e30c1d3c...563802dc - 3480 commits from branch
Link to the jira ticket for the PHYS production: ATLASDPD-2084
Edited by Dan Guestadded 102 commits
-
296cbdf2...c699bb99 - 101 commits from branch
atlas:main
- dc849466 - Merge branch athena:main into master
-
296cbdf2...c699bb99 - 101 commits from branch
added 1 commit
- be97ff64 - Final touch-ups for MR deployment, all issues resolved
added 1 commit
- f8ba7133 - Only run inference for taus with pT>13GeV, remove explicit future model reference from flags