-
Notifications
You must be signed in to change notification settings - Fork 4.6k
GNN Track-Tracksters Linking in TICLv5 #49652
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
base: master
Are you sure you want to change the base?
Conversation
|
cms-bot internal usage |
|
test parameters: |
|
please test |
|
-code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-49652/47196
Code check has found code style and quality issues which could be resolved by applying following patch(s)
|
|
@cmsbuild, please test |
|
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-49652/47197
|
|
@cmsbuild please abort |
Sure, no problem-thanks for pointing this out! |
|
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-49652/47228
|
|
Pull request #49652 was updated. @AdrianoDee, @DickyChant, @Martin-Grunewald, @Moanwar, @antoniovagnerini, @cmsbuild, @davidlange6, @fabiocos, @ftenchini, @jfernan2, @mandrenguyen, @miquork, @mmusich, @srimanob can you please check and sign again. |
| inputNames = cms.vstring('x', 'edge_index', 'edge_attr'), | ||
| output = cms.vstring('output'), | ||
| delta_tk_ts = cms.double(0.1), | ||
| thr_gnn = cms.double(0.5), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
please fix the indentation.
| output = cms.vstring('output'), | ||
| delta_tk_ts = cms.double(0.1), | ||
| thr_gnn = cms.double(0.5), | ||
| type = cms.string('GNNLink') |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The choice of the name "type" is intentional to be the same, as it determines whether the old plugin or the new GNN-based plugin is used. However, I’m wondering if this should compile. I tried quickly and got the following error:
TypeError: type does not already exist, so it can only be set to a CMS Python configuration type
Did it compile successfully on your side?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It did for me. @Moanwar you have to replace cms.PSet with dict first -- of course.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmm, that’s strange. I have tried compiling and running a few times to make sure it works:
runTheMatrix.py -w upgrade -l 29688.211 -j 0
But each time, I get the same error I mentioned above. I’m not sure I understand why this happens, could you please give that a try ? Thanks!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
cmsrel CMSSW_16_0_X_2025-12-17-2300
cd CMSSW_16_0_X_2025-12-17-2300/src/
cmsenv
git cms-merge-topic 49652
# apply patch below [*]
scram b -j 20
runTheMatrix.py -w upgrade -l 29688.211 -j 0
runs fine for me.
hope this helps!
[*]
diff --git a/HLTrigger/Configuration/python/HLT_75e33/modules/hltTiclCandidate_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/modules/hltTiclCandidate_cfi.py
index 307af675b8e..03efda78c33 100644
--- a/HLTrigger/Configuration/python/HLT_75e33/modules/hltTiclCandidate_cfi.py
+++ b/HLTrigger/Configuration/python/HLT_75e33/modules/hltTiclCandidate_cfi.py
@@ -49,13 +49,13 @@ hltTiclCandidate = cms.EDProducer("TICLCandidateProducer",
from Configuration.ProcessModifiers.ticlv5_TrackLinkingGNN_cff import ticlv5TrackLinkingGNN
ticlv5TrackLinkingGNN.toModify(hltTiclCandidate,
- interpretationDescPSet = cms.PSet(
+ interpretationDescPSet = dict(
onnxTrkLinkingModelFirstDisk = cms.FileInPath('RecoHGCal/TICL/data/ticlv5/onnx_models/TrackLinking_GNN/FirstDiskPropGNN_v0.onnx'),
onnxTrkLinkingModelInterfaceDisk = cms.FileInPath('RecoHGCal/TICL/data/ticlv5/onnx_models/TrackLinking_GNN/InterfaceDiskPropGNN_v0.onnx'),
inputNames = cms.vstring('x', 'edge_index', 'edge_attr'),
output = cms.vstring('output'),
delta_tk_ts = cms.double(0.1),
thr_gnn = cms.double(0.5),
- type = cms.string('GNNLink')
+ type = 'GNNLink'
)
)There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| output = cms.vstring('output'), | ||
| delta_tk_ts = cms.double(0.1), | ||
| thr_gnn = cms.double(0.5), | ||
| type = cms.string('GNNLink') |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The choice of the name "type" is intentional to be the same, as it determines whether the old plugin or the new GNN-based plugin is used. However, I’m wondering if this should compile. I tried quickly and got the following error:
TypeError: type does not already exist, so it can only be set to a CMS Python configuration type
Did it compile successfully on your side?
|
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-49652/47233
|
|
Pull request #49652 was updated. @AdrianoDee, @DickyChant, @Martin-Grunewald, @Moanwar, @antoniovagnerini, @cmsbuild, @davidlange6, @fabiocos, @ftenchini, @jfernan2, @mandrenguyen, @miquork, @mmusich, @srimanob can you please check and sign again. |
|
@cmsbuild, please test |
|
+1 Size: This PR adds an extra 76KB to repository HLT P2 Timing: chart Comparison SummarySummary:
|
This PR introduces a new GNN-based linking method between tracks and tracksters within TICLv5. The method builds a graph consisting of tracks and their surrounding tracksters, and then uses a Graph Neural Network (GNN) to evaluate whether each track-trackster edge is valid. Tracksters that are predicted to be linked to a given track are then stored accordingly.
In the current implementation, the linking selection is prioritized using the track pT and the DeltaR between the track and tracksters. This strategy may be refined in the future for further optimization.
A new procmodifier has been added to enable this method in workflows *.211. The process modifier is named ticlv5_TrackLinkingGNN.
This PR should be tested with TICL workflows such as 29888.211 and 29688.211, using the GNN models uploaded here:
cms-data/RecoHGCal-TICL#11
Adding : @felicepantaleo @hatakeyamak @waredjeb @AuroraPerego