-
Notifications
You must be signed in to change notification settings - Fork 4.3k
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
Enable DNN supercluster in Phase2 HLT #46010
base: master
Are you sure you want to change the base?
Conversation
cms-bot internal usage |
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-46010/41813
|
A new Pull Request was created by @RSalvatico for master. It involves the following packages:
@AdrianoDee, @Martin-Grunewald, @cmsbuild, @kskovpen, @miquork, @mmusich, @srimanob, @subirsarkar, @sunilUIET can you please review it and eventually sign? Thanks. cms-bot commands are listed here |
test parameters:
|
@cmsbuild please test |
+1 Size: This PR adds an extra 68KB to repository
Comparison SummarySummary:
|
enable hlt_p2_timing |
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.
cosmetics
@@ -5,3 +5,6 @@ | |||
scHybridBarrelProducer = cms.InputTag("hltParticleFlowSuperClusterECALL1Seeded","particleFlowSuperClusterECALBarrel"), | |||
scIslandEndcapProducer = cms.InputTag("hltParticleFlowSuperClusterHGCalFromTICLL1Seeded") | |||
) | |||
|
|||
from Configuration.ProcessModifiers.ticl_v5_cff import ticl_v5 | |||
ticl_v5.toModify(hltEgammaCandidatesL1Seeded, scIslandEndcapProducer = cms.InputTag("hltTiclEGammaSuperClusterProducerL1Seeded")) |
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.
missing newline.
@@ -5,3 +5,6 @@ | |||
scHybridBarrelProducer = cms.InputTag("hltParticleFlowSuperClusterECALUnseeded","particleFlowSuperClusterECALBarrel"), | |||
scIslandEndcapProducer = cms.InputTag("hltParticleFlowSuperClusterHGCalFromTICLUnseeded") | |||
) | |||
|
|||
from Configuration.ProcessModifiers.ticl_v5_cff import ticl_v5 | |||
ticl_v5.toModify(hltEgammaCandidatesUnseeded, scIslandEndcapProducer = cms.InputTag("hltTiclEGammaSuperClusterProducerUnseeded")) |
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.
missing newline.
regressionAndPid = cms.bool(True), | ||
tfDnnLabel = cms.string('tracksterSelectionTf'), | ||
tracksters_collections = cms.VInputTag("hltTiclTrackstersCLUE3DHighL1Seeded", "hltTiclTrackstersPassthrough") | ||
) |
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.
missing newline.
regressionAndPid = cms.bool(True), | ||
tfDnnLabel = cms.string('tracksterSelectionTf'), | ||
tracksters_collections = cms.VInputTag("hltTiclTrackstersCLUE3DHigh", "hltTiclTrackstersPassthrough") | ||
) |
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.
missing newline.
ticlSuperClusters=cms.InputTag("hltTiclTracksterLinksSuperclusteringMustacheL1Seeded"), | ||
ticlTrackstersEM=cms.InputTag("hltTiclTrackstersCLUE3DHighL1Seeded"), | ||
layerClusters=cms.InputTag("hltHgcalMergeLayerClustersL1Seeded") | ||
) |
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.
missing newline.
(alpaka & ticl_superclustering_mustache_ticl).toModify(hltTiclEGammaSuperClusterProducerUnseeded, | ||
ticlSuperClusters=cms.InputTag("hltTiclTracksterLinksSuperclusteringMustacheUnseeded"), | ||
ticlTrackstersEM=cms.InputTag("hltTiclTrackstersCLUE3DHigh"), | ||
layerClusters=cms.InputTag("hltHgcalMergeLayerClusters")) |
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.
missing newline.
(alpaka & ticl_superclustering_dnn).toReplaceWith(_HgcalLocalRecoUnseededSequence, | ||
cms.Sequence( | ||
hltHgcalDigis | ||
+ hltHGCalUncalibRecHit | ||
+ hltHGCalRecHit+hltParticleFlowRecHitHGC | ||
+ hltHgcalSoARecHitsProducer | ||
+ hltHgcalSoARecHitsLayerClustersProducer | ||
+ hltHgcalSoALayerClustersProducer | ||
+ hltHgCalLayerClustersFromSoAProducer | ||
+ hltHgcalLayerClustersHSci | ||
+ hltHgcalLayerClustersHSi | ||
+ hltHgcalMergeLayerClusters | ||
) | ||
) |
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.
How does this differ from
Lines 30 to 45 in a85bda5
# Alpaka | |
from Configuration.ProcessModifiers.alpaka_cff import alpaka | |
alpaka.toReplaceWith(_HgcalLocalRecoUnseededSequence, | |
cms.Sequence( | |
hltHgcalDigis | |
+ hltHGCalUncalibRecHit | |
+ hltHGCalRecHit+hltParticleFlowRecHitHGC | |
+ hltHgcalSoARecHitsProducer | |
+ hltHgcalSoARecHitsLayerClustersProducer | |
+ hltHgcalSoALayerClustersProducer | |
+ hltHgCalLayerClustersFromSoAProducer | |
+ hltHgcalLayerClustersHSci | |
+ hltHgcalLayerClustersHSi | |
+ hltHgcalMergeLayerClusters | |
) | |
) |
Don't the aforementioned lines cover the heterogeneous workflow more in general? Maybe I am missing how the ticl_superclustering_dnn
modifier changes anything here.
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.
No, I think you're right. In fact all the (alpaka & ticl_superclustering)
modifiers are pointless, as alpaka
and ticl_superclustering
modify independent sequences. Thanks
(alpaka & ticl_superclustering_mustache_ticl).toReplaceWith(_HgcalLocalRecoUnseededSequence, | ||
cms.Sequence( | ||
hltHgcalDigis | ||
+ hltHGCalUncalibRecHit | ||
+ hltHGCalRecHit+hltParticleFlowRecHitHGC | ||
+ hltHgcalSoARecHitsProducer | ||
+ hltHgcalSoARecHitsLayerClustersProducer | ||
+ hltHgcalSoALayerClustersProducer | ||
+ hltHgCalLayerClustersFromSoAProducer | ||
+ hltHgcalLayerClustersHSci | ||
+ hltHgcalLayerClustersHSi | ||
+ hltHgcalMergeLayerClusters | ||
) | ||
) |
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.
Same comment as above.
(alpaka & ticl_superclustering_dnn).toModify(hltHgcalMergeLayerClusters, | ||
layerClustersEE = cms.InputTag("hltHgCalLayerClustersFromSoAProducer"), | ||
time_layerclustersEE = cms.InputTag("hltHgCalLayerClustersFromSoAProducer", "timeLayerCluster")) |
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.
Similar comment as above when compared to lines
Lines 46 to 48 in a85bda5
alpaka.toModify(hltHgcalMergeLayerClusters, | |
layerClustersEE = cms.InputTag("hltHgCalLayerClustersFromSoAProducer"), | |
time_layerclustersEE = cms.InputTag("hltHgCalLayerClustersFromSoAProducer", "timeLayerCluster")) |
Similarly applied to
Lines 142 to 144 in a85bda5
(alpaka & ticl_superclustering_mustache_ticl).toModify(hltHgcalMergeLayerClusters, | |
layerClustersEE = cms.InputTag("hltHgCalLayerClustersFromSoAProducer"), | |
time_layerclustersEE = cms.InputTag("hltHgCalLayerClustersFromSoAProducer", "timeLayerCluster")) |
In general the "# Alpaka & DNN" part seems to be duplicating modifications from above, potentially making the maintenance of the code harder. Maybe try to simplify - unless there is some reason for the duplication which I failed to see (potentially having to do with the order the modifiers are applied)?
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.
Yes indeed, I'll clean up.
It worked @mmusich, thank you! |
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-46010/41931
|
Pull request #46010 was updated. @AdrianoDee, @Martin-Grunewald, @Moanwar, @cmsbuild, @kskovpen, @miquork, @mmusich, @srimanob, @subirsarkar, @sunilUIET can you please check and sign again. |
@cmsbuild, please test |
detector = cms.string('HGCAL'), | ||
eid_input_name = cms.string('input'), |
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.
something doesn't look right here, when comparing with the fillDescriptions
of this producer:
cmssw/RecoHGCal/TICL/plugins/TracksterLinksProducer.cc
Lines 278 to 303 in eaefa4c
void TracksterLinksProducer::fillDescriptions(edm::ConfigurationDescriptions &descriptions) { | |
edm::ParameterSetDescription desc; | |
edm::ParameterSetDescription linkingDesc; | |
linkingDesc.addNode(edm::PluginDescription<TracksterLinkingPluginFactory>("type", "Skeletons", true)); | |
// Inference Plugins | |
edm::ParameterSetDescription inferenceDesc; | |
inferenceDesc.addNode(edm::PluginDescription<TracksterInferenceAlgoFactory>("type", "TracksterInferenceByDNN", true)); | |
desc.add<edm::ParameterSetDescription>("pluginInferenceAlgoTracksterInferenceByDNN", inferenceDesc); | |
edm::ParameterSetDescription inferenceDescCNNv4; | |
inferenceDescCNNv4.addNode( | |
edm::PluginDescription<TracksterInferenceAlgoFactory>("type", "TracksterInferenceByCNNv4", true)); | |
desc.add<edm::ParameterSetDescription>("pluginInferenceAlgoTracksterInferenceByCNNv4", inferenceDescCNNv4); | |
desc.add<edm::ParameterSetDescription>("linkingPSet", linkingDesc); | |
desc.add<std::vector<edm::InputTag>>("tracksters_collections", {edm::InputTag("ticlTrackstersCLUE3DHigh")}); | |
desc.add<std::vector<edm::InputTag>>("original_masks", | |
{edm::InputTag("hgcalMergeLayerClusters", "InitialLayerClustersMask")}); | |
desc.add<edm::InputTag>("layer_clusters", edm::InputTag("hgcalMergeLayerClusters")); | |
desc.add<edm::InputTag>("layer_clustersTime", edm::InputTag("hgcalMergeLayerClusters", "timeLayerCluster")); | |
desc.add<bool>("regressionAndPid", false); | |
desc.add<std::string>("detector", "HGCAL"); | |
desc.add<std::string>("propagator", "PropagatorWithMaterial"); | |
desc.add<std::string>("inferenceAlgo", "TracksterInferenceByDNN"); | |
descriptions.add("tracksterLinksProducer", desc); | |
} |
I am getting runtime exceptions as:
----- Begin Fatal Exception 27-Sep-2024 18:45:08 CEST-----------------------
An exception of category 'Configuration' occurred while
[0] Constructing the EventProcessor
[1] Validating configuration of module: class=TracksterLinksProducer label='hltTiclTracksterLinksSuperclusteringDNNL1Seeded'
Exception Message:
Illegal parameters found in configuration. The parameters are named:
'eid_input_name'
'eid_min_cluster_energy'
'eid_n_clusters'
'eid_n_layers'
'eid_output_name_energy'
'eid_output_name_id'
'tfDnnLabel'
You could be trying to use parameter names that are not
allowed for this plugin or they could be misspelled.
----- End Fatal Exception -------------------------------------------------
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.
Yes, the problem is that with the PR #45821 the TracksterLinksProducer has changed and so have the related configs, which I had looked at to create this one (and the unseeded version). Will change them accordingly.
-1 Failed Tests: RelVals HLTP2Timing
RelVals
|
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-46010/41935
|
Pull request #46010 was updated. @AdrianoDee, @Martin-Grunewald, @Moanwar, @cmsbuild, @kskovpen, @miquork, @mmusich, @srimanob, @subirsarkar, @sunilUIET can you please check and sign again. |
@cmsbuild, please test |
-1 Failed Tests: HLTP2Timing
Comparison SummarySummary:
|
PR description:
Enable the usage of the DNN superclustering developed for the endcaps (PR #45333) in the Phase2 HLT reconstruction. In particular, this PR allows us to use:
using process modifiers.
PR validation:
Successfully run several upgrade workflows such as
29691.203 SingleElectronPt15Eta1p7_2p7_2026D110 + ticl_v5
29691.204 SingleElectronPt15Eta1p7_2p7_2026D110 + ticl_v5_mustache