diff --git a/Configuration/PyReleaseValidation/python/upgradeWorkflowComponents.py b/Configuration/PyReleaseValidation/python/upgradeWorkflowComponents.py index ca598ab630c1e..426c97f6e57c8 100644 --- a/Configuration/PyReleaseValidation/python/upgradeWorkflowComponents.py +++ b/Configuration/PyReleaseValidation/python/upgradeWorkflowComponents.py @@ -717,6 +717,8 @@ def condition(self, fragment, stepList, key, hasHarvest): class UpgradeWorkflow_ticl_v5_superclustering(UpgradeWorkflow): def setup_(self, step, stepName, stepDict, k, properties): + if ('Digi' in step and 'NoHLT' not in step) or ('HLTOnly' in step): + stepDict[stepName][k] = merge([self.step2, stepDict[step][k]]) if 'RecoGlobal' in step: stepDict[stepName][k] = merge([self.step3, stepDict[step][k]]) if 'HARVESTGlobal' in step: @@ -725,16 +727,21 @@ def condition(self, fragment, stepList, key, hasHarvest): return (fragment=="ZEE_14" or 'Eta1p7_2p7' in fragment) and '2026' in key upgradeWFs['ticl_v5_superclustering_mustache_ticl'] = UpgradeWorkflow_ticl_v5_superclustering( steps = [ + 'HLTOnly', + 'DigiTrigger', 'RecoGlobal', 'HARVESTGlobal' ], PU = [ + 'HLTOnly', + 'DigiTrigger', 'RecoGlobal', 'HARVESTGlobal' ], suffix = '_ticl_v5_mustache', offset = 0.204, ) +upgradeWFs['ticl_v5_superclustering_mustache_ticl'].step2 = {'--procModifiers': 'ticl_v5,ticl_superclustering_mustache_ticl'} upgradeWFs['ticl_v5_superclustering_mustache_ticl'].step3 = {'--procModifiers': 'ticl_v5,ticl_superclustering_mustache_ticl'} upgradeWFs['ticl_v5_superclustering_mustache_ticl'].step4 = {'--procModifiers': 'ticl_v5,ticl_superclustering_mustache_ticl'} diff --git a/HLTrigger/Configuration/python/HLT_75e33/modules/hltEgammaCandidatesL1Seeded_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/modules/hltEgammaCandidatesL1Seeded_cfi.py index 5ffac6c80b413..4fe5fabfebf1d 100644 --- a/HLTrigger/Configuration/python/HLT_75e33/modules/hltEgammaCandidatesL1Seeded_cfi.py +++ b/HLTrigger/Configuration/python/HLT_75e33/modules/hltEgammaCandidatesL1Seeded_cfi.py @@ -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")) diff --git a/HLTrigger/Configuration/python/HLT_75e33/modules/hltEgammaCandidatesUnseeded_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/modules/hltEgammaCandidatesUnseeded_cfi.py index f1f51a98e480c..8b2cb266a7816 100644 --- a/HLTrigger/Configuration/python/HLT_75e33/modules/hltEgammaCandidatesUnseeded_cfi.py +++ b/HLTrigger/Configuration/python/HLT_75e33/modules/hltEgammaCandidatesUnseeded_cfi.py @@ -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")) diff --git a/HLTrigger/Configuration/python/HLT_75e33/modules/hltTiclTracksterLinksL1Seeded_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/modules/hltTiclTracksterLinksL1Seeded_cfi.py new file mode 100644 index 0000000000000..d4b4940ea7f05 --- /dev/null +++ b/HLTrigger/Configuration/python/HLT_75e33/modules/hltTiclTracksterLinksL1Seeded_cfi.py @@ -0,0 +1,44 @@ +import FWCore.ParameterSet.Config as cms + +hltTiclTracksterLinksL1Seeded = cms.EDProducer("TracksterLinksProducer", + detector = cms.string('HGCAL'), + layer_clusters = cms.InputTag("hltHgcalMergeLayerClustersL1Seeded"), + layer_clustersTime = cms.InputTag("hltHgcalMergeLayerClustersL1Seeded","timeLayerCluster"), + inferenceAlgo = cms.string('TracksterInferenceByDNN'), + linkingPSet = cms.PSet( + algo_verbosity = cms.int32(0), + cylinder_radius_sqr = cms.vdouble(9, 9), + dot_prod_th = cms.double(0.97), + max_distance_projective_sqr = cms.vdouble(60, 60), + max_distance_projective_sqr_closest_points = cms.vdouble(60, 60), + max_z_distance_closest_points = cms.vdouble(35, 35), + min_distance_z = cms.vdouble(30, 30), + min_num_lcs = cms.uint32(7), + min_trackster_energy = cms.double(10), + pca_quality_th = cms.double(0.85), + track_time_quality_threshold = cms.double(0.5), + type = cms.string('Skeletons'), + wind = cms.double(0.036) + ), + pluginInferenceAlgoTracksterInferenceByDNN = cms.PSet( + algo_verbosity = cms.int32(0), + onnxPIDModelPath = cms.FileInPath('RecoHGCal/TICL/data/ticlv5/onnx_models/linking/id_v0.onnx'), + onnxEnergyModelPath = cms.FileInPath('RecoHGCal/TICL/data/ticlv5/onnx_models/linking/energy_v0.onnx'), + inputNames = cms.vstring('input'), + output_en = cms.vstring('enreg_output'), + output_id = cms.vstring('pid_output'), + eid_min_cluster_energy = cms.double(1), + eid_n_layers = cms.int32(50), + eid_n_clusters = cms.int32(10), + doPID = cms.int32(1), + doRegression = cms.int32(1), + type = cms.string('TracksterInferenceByDNN') + ), + mightGet = cms.optional.untracked.vstring, + original_masks = cms.VInputTag("hltHgcalMergeLayerClustersL1Seeded:InitialLayerClustersMask"), + propagator = cms.string('PropagatorWithMaterial'), + regressionAndPid = cms.bool(True), + tracksters_collections = cms.VInputTag("hltTiclTrackstersCLUE3DHighL1Seeded", "hltTiclTrackstersPassthrough") +) + + diff --git a/HLTrigger/Configuration/python/HLT_75e33/modules/hltTiclTracksterLinksUnseeded_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/modules/hltTiclTracksterLinksUnseeded_cfi.py new file mode 100644 index 0000000000000..4d90a837a4a48 --- /dev/null +++ b/HLTrigger/Configuration/python/HLT_75e33/modules/hltTiclTracksterLinksUnseeded_cfi.py @@ -0,0 +1,44 @@ +import FWCore.ParameterSet.Config as cms + +hltTiclTracksterLinksUnseeded = cms.EDProducer("TracksterLinksProducer", + detector = cms.string('HGCAL'), + layer_clusters = cms.InputTag("hltHgcalMergeLayerClusters"), + layer_clustersTime = cms.InputTag("hltHgcalMergeLayerClusters","timeLayerCluster"), + inferenceAlgo = cms.string('TracksterInferenceByDNN'), + linkingPSet = cms.PSet( + algo_verbosity = cms.int32(0), + cylinder_radius_sqr = cms.vdouble(9, 9), + dot_prod_th = cms.double(0.97), + max_distance_projective_sqr = cms.vdouble(60, 60), + max_distance_projective_sqr_closest_points = cms.vdouble(60, 60), + max_z_distance_closest_points = cms.vdouble(35, 35), + min_distance_z = cms.vdouble(30, 30), + min_num_lcs = cms.uint32(7), + min_trackster_energy = cms.double(10), + pca_quality_th = cms.double(0.85), + track_time_quality_threshold = cms.double(0.5), + type = cms.string('Skeletons'), + wind = cms.double(0.036) + ), + pluginInferenceAlgoTracksterInferenceByDNN = cms.PSet( + algo_verbosity = cms.int32(0), + onnxPIDModelPath = cms.FileInPath('RecoHGCal/TICL/data/ticlv5/onnx_models/linking/id_v0.onnx'), + onnxEnergyModelPath = cms.FileInPath('RecoHGCal/TICL/data/ticlv5/onnx_models/linking/energy_v0.onnx'), + inputNames = cms.vstring('input'), + output_en = cms.vstring('enreg_output'), + output_id = cms.vstring('pid_output'), + eid_min_cluster_energy = cms.double(1), + eid_n_layers = cms.int32(50), + eid_n_clusters = cms.int32(10), + doPID = cms.int32(1), + doRegression = cms.int32(1), + type = cms.string('TracksterInferenceByDNN') + ), + mightGet = cms.optional.untracked.vstring, + original_masks = cms.VInputTag("hltHgcalMergeLayerClusters:InitialLayerClustersMask"), + propagator = cms.string('PropagatorWithMaterial'), + regressionAndPid = cms.bool(True), + tracksters_collections = cms.VInputTag("hltTiclTrackstersCLUE3DHigh", "hltTiclTrackstersPassthrough") +) + + diff --git a/HLTrigger/Configuration/python/HLT_75e33/modules/hltTiclTrackstersCLUE3DHighL1Seeded_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/modules/hltTiclTrackstersCLUE3DHighL1Seeded_cfi.py index 4a5bd170978a7..d80ca3f071ed7 100644 --- a/HLTrigger/Configuration/python/HLT_75e33/modules/hltTiclTrackstersCLUE3DHighL1Seeded_cfi.py +++ b/HLTrigger/Configuration/python/HLT_75e33/modules/hltTiclTrackstersCLUE3DHighL1Seeded_cfi.py @@ -141,5 +141,6 @@ ) from Configuration.ProcessModifiers.ticl_v5_cff import ticl_v5 -ticl_v5.toModify(hltTiclTrackstersCLUE3DHighL1Seeded.pluginPatternRecognitionByCLUE3D, computeLocalTime = cms.bool(True), doPidCut = cms.bool(False)) +ticl_v5.toModify(hltTiclTrackstersCLUE3DHighL1Seeded.pluginPatternRecognitionByCLUE3D, computeLocalTime = cms.bool(True)) ticl_v5.toModify(hltTiclTrackstersCLUE3DHighL1Seeded.inferenceAlgo, type = cms.string('TracksterInferenceByDNN')) + diff --git a/HLTrigger/Configuration/python/HLT_75e33/modules/hltTiclTrackstersCLUE3DHigh_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/modules/hltTiclTrackstersCLUE3DHigh_cfi.py index 88b4cd7b7ab84..ee7df1e8e3edf 100644 --- a/HLTrigger/Configuration/python/HLT_75e33/modules/hltTiclTrackstersCLUE3DHigh_cfi.py +++ b/HLTrigger/Configuration/python/HLT_75e33/modules/hltTiclTrackstersCLUE3DHigh_cfi.py @@ -142,5 +142,5 @@ ) from Configuration.ProcessModifiers.ticl_v5_cff import ticl_v5 -ticl_v5.toModify(hltTiclTrackstersCLUE3DHigh.pluginPatternRecognitionByCLUE3D, computeLocalTime = cms.bool(True), doPidCut = cms.bool(False)) +ticl_v5.toModify(hltTiclTrackstersCLUE3DHigh.pluginPatternRecognitionByCLUE3D, computeLocalTime = cms.bool(True)) ticl_v5.toModify(hltTiclTrackstersCLUE3DHigh.inferenceAlgo, type = cms.string('TracksterInferenceByDNN')) diff --git a/HLTrigger/Configuration/python/HLT_75e33/sequences/HLTEle5OpenUnseededSequence_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/sequences/HLTEle5OpenUnseededSequence_cfi.py index 12597809c4a3a..2fe7599bc9a77 100644 --- a/HLTrigger/Configuration/python/HLT_75e33/sequences/HLTEle5OpenUnseededSequence_cfi.py +++ b/HLTrigger/Configuration/python/HLT_75e33/sequences/HLTEle5OpenUnseededSequence_cfi.py @@ -43,4 +43,45 @@ from ..sequences.HLTPFHcalClusteringForEgammaSequence_cfi import * from ..sequences.HLTTrackingV61Sequence_cfi import * -HLTEle5OpenUnseededSequence = cms.Sequence(HLTL1Sequence+HLTDoFullUnpackingEgammaEcalSequence+HLTEGammaDoLocalHcalSequence+HLTPFClusteringForEgammaUnseededSequence+HLTHgcalTiclPFClusteringForEgammaUnseededSequence+HLTFastJetForEgammaSequence+HLTPFHcalClusteringForEgammaSequence+HLTElePixelMatchUnseededSequence+HLTTrackingV61Sequence+HLTGsfElectronUnseededSequence+(hltEgammaCandidatesUnseeded+hltEgammaClusterShapeUnseeded+hltEgammaR9Unseeded+hltEgammaHGCALIDVarsUnseeded+hltEgammaHoverEUnseeded+hltEgammaEcalPFClusterIsoUnseeded+hltEgammaHGCalLayerClusterIsoUnseeded+hltEgammaHcalPFClusterIsoUnseeded+hltEgammaEleGsfTrackIsoUnseeded+hltEgammaEleGsfTrackIsoV6Unseeded+hltEgammaEleL1TrkIsoUnseeded+hltEgammaHollowTrackIsoUnseeded)+hltEgammaCandidatesWrapperUnseeded+hltEG5EtUnseededFilter+hltEle5DphiUnseededFilter+cms.ignore(hltEle5WPTightClusterShapeUnseededFilter)+cms.ignore(hltEle5WPTightClusterShapeSigmavvUnseededFilter)+cms.ignore(hltEle5WPTightClusterShapeSigmawwUnseededFilter)+cms.ignore(hltEle5WPTightHgcalHEUnseededFilter)+cms.ignore(hltEle5WPTightHEUnseededFilter)+cms.ignore(hltEle5WPTightEcalIsoUnseededFilter)+cms.ignore(hltEle5WPTightHgcalIsoUnseededFilter)+cms.ignore(hltEle5WPTightHcalIsoUnseededFilter)+cms.ignore(hltEle5WPTightPixelMatchUnseededFilter)+cms.ignore(hltEle5WPTightPMS2UnseededFilter)+cms.ignore(hltEle5WPTightGsfOneOEMinusOneOPUnseededFilter)+cms.ignore(hltEle5WPTightGsfDetaUnseededFilter)+cms.ignore(hltEle5WPTightGsfDphiUnseededFilter)+cms.ignore(hltEle5WPTightBestGsfNLayerITUnseededFilter)+cms.ignore(hltEle5WPTightBestGsfChi2UnseededFilter)+cms.ignore(hltEle5WPTightGsfTrackIsoFromL1TracksUnseededFilter)+cms.ignore(hltEle5WPTightGsfTrackIsoUnseededFilter)) +HLTEle5OpenUnseededSequence = cms.Sequence(HLTL1Sequence + +HLTDoFullUnpackingEgammaEcalSequence + +HLTEGammaDoLocalHcalSequence + +HLTPFClusteringForEgammaUnseededSequence + +HLTHgcalTiclPFClusteringForEgammaUnseededSequence + +HLTFastJetForEgammaSequence + +HLTPFHcalClusteringForEgammaSequence + +HLTElePixelMatchUnseededSequence + +HLTTrackingV61Sequence + +HLTGsfElectronUnseededSequence + +hltEgammaCandidatesUnseeded + +hltEgammaClusterShapeUnseeded + +hltEgammaR9Unseeded + +hltEgammaHGCALIDVarsUnseeded + +hltEgammaHoverEUnseeded + +hltEgammaEcalPFClusterIsoUnseeded + +hltEgammaHGCalLayerClusterIsoUnseeded + +hltEgammaHcalPFClusterIsoUnseeded + +hltEgammaEleGsfTrackIsoUnseeded + +hltEgammaEleGsfTrackIsoV6Unseeded + +hltEgammaEleL1TrkIsoUnseeded + +hltEgammaHollowTrackIsoUnseeded + +hltEgammaCandidatesWrapperUnseeded + +hltEG5EtUnseededFilter + +hltEle5DphiUnseededFilter + +cms.ignore(hltEle5WPTightClusterShapeUnseededFilter) + +cms.ignore(hltEle5WPTightClusterShapeSigmavvUnseededFilter) + +cms.ignore(hltEle5WPTightClusterShapeSigmawwUnseededFilter) + +cms.ignore(hltEle5WPTightHgcalHEUnseededFilter) + +cms.ignore(hltEle5WPTightHEUnseededFilter) + +cms.ignore(hltEle5WPTightEcalIsoUnseededFilter) + +cms.ignore(hltEle5WPTightHgcalIsoUnseededFilter) + +cms.ignore(hltEle5WPTightHcalIsoUnseededFilter) + +cms.ignore(hltEle5WPTightPixelMatchUnseededFilter) + +cms.ignore(hltEle5WPTightPMS2UnseededFilter) + +cms.ignore(hltEle5WPTightGsfOneOEMinusOneOPUnseededFilter) + +cms.ignore(hltEle5WPTightGsfDetaUnseededFilter) + +cms.ignore(hltEle5WPTightGsfDphiUnseededFilter) + +cms.ignore(hltEle5WPTightBestGsfNLayerITUnseededFilter) + +cms.ignore(hltEle5WPTightBestGsfChi2UnseededFilter) + +cms.ignore(hltEle5WPTightGsfTrackIsoFromL1TracksUnseededFilter) + +cms.ignore(hltEle5WPTightGsfTrackIsoUnseededFilter)) diff --git a/HLTrigger/Configuration/python/HLT_75e33/sequences/HLTHgcalTiclPFClusteringForEgammaL1SeededSequence_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/sequences/HLTHgcalTiclPFClusteringForEgammaL1SeededSequence_cfi.py index 53faf7266150d..c0efe665b8c28 100644 --- a/HLTrigger/Configuration/python/HLT_75e33/sequences/HLTHgcalTiclPFClusteringForEgammaL1SeededSequence_cfi.py +++ b/HLTrigger/Configuration/python/HLT_75e33/sequences/HLTHgcalTiclPFClusteringForEgammaL1SeededSequence_cfi.py @@ -17,5 +17,62 @@ from ..modules.hltTiclLayerTileProducerL1Seeded_cfi import * from ..modules.hltTiclSeedingL1_cfi import * from ..modules.hltTiclTrackstersCLUE3DHighL1Seeded_cfi import * +from ..modules.hltTiclTracksterLinksL1Seeded_cfi import * -HLTHgcalTiclPFClusteringForEgammaL1SeededSequence = cms.Sequence(hltHgcalDigis+hltL1TEGammaHGCFilteredCollectionProducer+hltHgcalDigisL1Seeded+hltHGCalUncalibRecHitL1Seeded+hltHGCalRecHitL1Seeded+hltParticleFlowRecHitHGCL1Seeded+hltRechitInRegionsHGCAL+hltHgcalLayerClustersEEL1Seeded+hltHgcalLayerClustersHSciL1Seeded+hltHgcalLayerClustersHSiL1Seeded+hltHgcalMergeLayerClustersL1Seeded+hltFilteredLayerClustersCLUE3DHighL1Seeded+hltTiclSeedingL1+hltTiclLayerTileProducerL1Seeded+hltTiclTrackstersCLUE3DHighL1Seeded+hltParticleFlowClusterHGCalFromTICLL1Seeded+hltParticleFlowSuperClusterHGCalFromTICLL1Seeded) +_HgcalLocalRecoL1SeededSequence = cms.Sequence(hltHgcalDigis+hltL1TEGammaHGCFilteredCollectionProducer+hltHgcalDigisL1Seeded+hltHGCalUncalibRecHitL1Seeded+hltHGCalRecHitL1Seeded+hltParticleFlowRecHitHGCL1Seeded+hltRechitInRegionsHGCAL+hltHgcalLayerClustersEEL1Seeded+hltHgcalLayerClustersHSciL1Seeded+hltHgcalLayerClustersHSiL1Seeded+hltHgcalMergeLayerClustersL1Seeded) +_HgcalTICLPatternRecognitionL1SeededSequence = cms.Sequence(hltFilteredLayerClustersCLUE3DHighL1Seeded+hltTiclSeedingL1+hltTiclLayerTileProducerL1Seeded+hltTiclTrackstersCLUE3DHighL1Seeded) +_SuperclusteringL1SeededSequence = cms.Sequence(hltParticleFlowClusterHGCalFromTICLL1Seeded+hltParticleFlowSuperClusterHGCalFromTICLL1Seeded) + +# The baseline sequence +HLTHgcalTiclPFClusteringForEgammaL1SeededSequence = cms.Sequence(_HgcalLocalRecoL1SeededSequence + _HgcalTICLPatternRecognitionL1SeededSequence + _SuperclusteringL1SeededSequence) + +# Enable EGammaSuperClusterProducer at HLT in ticl v5 +hltTiclTracksterLinksSuperclusteringDNNL1Seeded = hltTiclTracksterLinksL1Seeded.clone( + linkingPSet = cms.PSet( + type=cms.string("SuperClusteringDNN"), + algo_verbosity=cms.int32(0), + onnxModelPath = cms.FileInPath("RecoHGCal/TICL/data/superclustering/supercls_v2p1.onnx"), + nnWorkingPoint=cms.double(0.3), + ), + tracksters_collections = [cms.InputTag("hltTiclTrackstersCLUE3DHighL1Seeded")], # to be changed to ticlTrackstersCLUE3DEM once separate CLUE3D iterations are introduced +) + +hltTiclTracksterLinksSuperclusteringMustacheL1Seeded = hltTiclTracksterLinksL1Seeded.clone( + linkingPSet = cms.PSet( + type=cms.string("SuperClusteringMustache"), + algo_verbosity=cms.int32(0) + ), + tracksters_collections = [cms.InputTag("hltTiclTrackstersCLUE3DHighL1Seeded")], # to be changed to ticlTrackstersCLUE3DEM once separate CLUE3D iterations are introduced +) + +from RecoHGCal.TICL.ticlEGammaSuperClusterProducer_cfi import ticlEGammaSuperClusterProducer +hltTiclEGammaSuperClusterProducerL1Seeded = ticlEGammaSuperClusterProducer.clone() + +# DNN +from Configuration.ProcessModifiers.ticl_superclustering_dnn_cff import ticl_superclustering_dnn +ticl_superclustering_dnn.toReplaceWith(_SuperclusteringL1SeededSequence, + cms.Sequence( + hltTiclTracksterLinksSuperclusteringDNNL1Seeded + + hltTiclEGammaSuperClusterProducerL1Seeded + ) +) +ticl_superclustering_dnn.toModify(hltTiclEGammaSuperClusterProducerL1Seeded, + ticlSuperClusters=cms.InputTag("hltTiclTracksterLinksSuperclusteringDNNL1Seeded"), + ticlTrackstersEM=cms.InputTag("hltTiclTrackstersCLUE3DHighL1Seeded"), + layerClusters=cms.InputTag("hltHgcalMergeLayerClustersL1Seeded") +) + +# Mustache +from Configuration.ProcessModifiers.ticl_superclustering_mustache_ticl_cff import ticl_superclustering_mustache_ticl +ticl_superclustering_mustache_ticl.toReplaceWith(_SuperclusteringL1SeededSequence, + cms.Sequence( + hltTiclTracksterLinksSuperclusteringMustacheL1Seeded + + hltTiclEGammaSuperClusterProducerL1Seeded + ) +) +ticl_superclustering_mustache_ticl.toModify(hltTiclEGammaSuperClusterProducerL1Seeded, + ticlSuperClusters=cms.InputTag("hltTiclTracksterLinksSuperclusteringMustacheL1Seeded"), + ticlTrackstersEM=cms.InputTag("hltTiclTrackstersCLUE3DHighL1Seeded"), + layerClusters=cms.InputTag("hltHgcalMergeLayerClustersL1Seeded"), + enableRegression=cms.bool(False) +) diff --git a/HLTrigger/Configuration/python/HLT_75e33/sequences/HLTHgcalTiclPFClusteringForEgammaUnseededSequence_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/sequences/HLTHgcalTiclPFClusteringForEgammaUnseededSequence_cfi.py index 98bd6184ca196..f79c08e8721e9 100644 --- a/HLTrigger/Configuration/python/HLT_75e33/sequences/HLTHgcalTiclPFClusteringForEgammaUnseededSequence_cfi.py +++ b/HLTrigger/Configuration/python/HLT_75e33/sequences/HLTHgcalTiclPFClusteringForEgammaUnseededSequence_cfi.py @@ -18,13 +18,82 @@ from ..modules.hltHgcalSoARecHitsLayerClustersProducer_cfi import * from ..modules.hltHgcalSoALayerClustersProducer_cfi import * from ..modules.hltHgcalLayerClustersFromSoAProducer_cfi import * +from ..modules.hltTiclTracksterLinksUnseeded_cfi import * -HLTHgcalTiclPFClusteringForEgammaUnseededSequence = cms.Sequence(hltHgcalDigis+hltHGCalUncalibRecHit+hltHGCalRecHit+hltParticleFlowRecHitHGC+hltHgcalLayerClustersEE+hltHgcalLayerClustersHSci+hltHgcalLayerClustersHSi+hltHgcalMergeLayerClusters+hltFilteredLayerClustersCLUE3DHigh+hltTiclSeedingGlobal+hltTiclLayerTileProducer+hltTiclTrackstersCLUE3DHigh+hltParticleFlowClusterHGCalFromTICLUnseeded+hltParticleFlowSuperClusterHGCalFromTICLUnseeded) +_HgcalLocalRecoUnseededSequence = cms.Sequence(hltHgcalDigis+hltHGCalUncalibRecHit+hltHGCalRecHit+hltParticleFlowRecHitHGC+hltHgcalLayerClustersEE+hltHgcalLayerClustersHSci+hltHgcalLayerClustersHSi+hltHgcalMergeLayerClusters) +_HgcalTICLPatternRecognitionUnseededSequence = cms.Sequence(hltFilteredLayerClustersCLUE3DHigh+hltTiclSeedingGlobal+hltTiclLayerTileProducer+hltTiclTrackstersCLUE3DHigh) +_SuperclusteringUnseededSequence = cms.Sequence(hltParticleFlowClusterHGCalFromTICLUnseeded+hltParticleFlowSuperClusterHGCalFromTICLUnseeded) -_HLTHgcalTiclPFClusteringForEgammaUnseededSequence_heterogeneous = cms.Sequence(hltHgcalDigis+hltHGCalUncalibRecHit+hltHGCalRecHit+hltParticleFlowRecHitHGC+hltHgcalSoARecHitsProducer+hltHgcalSoARecHitsLayerClustersProducer+hltHgcalSoALayerClustersProducer+hltHgCalLayerClustersFromSoAProducer+hltHgcalLayerClustersHSci+hltHgcalLayerClustersHSi+hltHgcalMergeLayerClusters+hltFilteredLayerClustersCLUE3DHigh+hltTiclSeedingGlobal+hltTiclLayerTileProducer+hltTiclTrackstersCLUE3DHigh+hltParticleFlowClusterHGCalFromTICLUnseeded+hltParticleFlowSuperClusterHGCalFromTICLUnseeded) +# The baseline sequence +HLTHgcalTiclPFClusteringForEgammaUnseededSequence = cms.Sequence(_HgcalLocalRecoUnseededSequence + _HgcalTICLPatternRecognitionUnseededSequence + _SuperclusteringUnseededSequence) +# Alpaka from Configuration.ProcessModifiers.alpaka_cff import alpaka -alpaka.toReplaceWith(HLTHgcalTiclPFClusteringForEgammaUnseededSequence, _HLTHgcalTiclPFClusteringForEgammaUnseededSequence_heterogeneous) +alpaka.toReplaceWith(_HgcalLocalRecoUnseededSequence, + cms.Sequence( + hltHgcalDigis + + hltHGCalUncalibRecHit + + hltHGCalRecHit+hltParticleFlowRecHitHGC + + hltHgcalSoARecHitsProducer + + hltHgcalSoARecHitsLayerClustersProducer + + hltHgcalSoALayerClustersProducer + + hltHgCalLayerClustersFromSoAProducer + + hltHgcalLayerClustersHSci + + hltHgcalLayerClustersHSi + + hltHgcalMergeLayerClusters + ) +) alpaka.toModify(hltHgcalMergeLayerClusters, - layerClustersEE = cms.InputTag("hltHgCalLayerClustersFromSoAProducer"), - time_layerclustersEE = cms.InputTag("hltHgCalLayerClustersFromSoAProducer", "timeLayerCluster")) + layerClustersEE = cms.InputTag("hltHgCalLayerClustersFromSoAProducer"), + time_layerclustersEE = cms.InputTag("hltHgCalLayerClustersFromSoAProducer", "timeLayerCluster") +) + +# Use EGammaSuperClusterProducer at HLT in ticl v5 +hltTiclTracksterLinksSuperclusteringDNNUnseeded = hltTiclTracksterLinksUnseeded.clone( + linkingPSet = cms.PSet( + type=cms.string("SuperClusteringDNN"), + algo_verbosity=cms.int32(0), + onnxModelPath = cms.FileInPath("RecoHGCal/TICL/data/superclustering/supercls_v2p1.onnx"), + nnWorkingPoint=cms.double(0.3), + ), + tracksters_collections = [cms.InputTag("hltTiclTrackstersCLUE3DHigh")], # to be changed to ticlTrackstersCLUE3DEM once separate CLUE3D iterations are introduced +) + +hltTiclTracksterLinksSuperclusteringMustacheUnseeded = hltTiclTracksterLinksUnseeded.clone( + linkingPSet = cms.PSet( + type=cms.string("SuperClusteringMustache"), + algo_verbosity=cms.int32(0) + ), + tracksters_collections = [cms.InputTag("hltTiclTrackstersCLUE3DHigh")], # to be changed to ticlTrackstersCLUE3DEM once separate CLUE3D iterations are introduced +) + +from RecoHGCal.TICL.ticlEGammaSuperClusterProducer_cfi import ticlEGammaSuperClusterProducer +hltTiclEGammaSuperClusterProducerUnseeded = ticlEGammaSuperClusterProducer.clone() + +from Configuration.ProcessModifiers.ticl_superclustering_dnn_cff import ticl_superclustering_dnn +ticl_superclustering_dnn.toReplaceWith(_SuperclusteringUnseededSequence, + cms.Sequence( + hltTiclTracksterLinksSuperclusteringDNNUnseeded + + hltTiclEGammaSuperClusterProducerUnseeded + ) +) +ticl_superclustering_dnn.toModify(hltTiclEGammaSuperClusterProducerUnseeded, + ticlSuperClusters=cms.InputTag("hltTiclTracksterLinksSuperclusteringDNNUnseeded"), + ticlTrackstersEM=cms.InputTag("hltTiclTrackstersCLUE3DHigh"), + layerClusters=cms.InputTag("hltHgcalMergeLayerClusters") +) + +# Ticl mustache +from Configuration.ProcessModifiers.ticl_superclustering_mustache_ticl_cff import ticl_superclustering_mustache_ticl +ticl_superclustering_mustache_ticl.toReplaceWith(_SuperclusteringUnseededSequence, + cms.Sequence( + hltTiclTracksterLinksSuperclusteringMustacheUnseeded + + hltTiclEGammaSuperClusterProducerUnseeded + ) +) +ticl_superclustering_mustache_ticl.toModify(hltTiclEGammaSuperClusterProducerUnseeded, + ticlSuperClusters=cms.InputTag("hltTiclTracksterLinksSuperclusteringMustacheUnseeded"), + ticlTrackstersEM=cms.InputTag("hltTiclTrackstersCLUE3DHigh"), + layerClusters=cms.InputTag("hltHgcalMergeLayerClusters"), + enableRegression=cms.bool(False) +) diff --git a/RecoHGCal/TICL/python/superclustering_cff.py b/RecoHGCal/TICL/python/superclustering_cff.py index 6f6bce1c143d2..6f561223fd808 100644 --- a/RecoHGCal/TICL/python/superclustering_cff.py +++ b/RecoHGCal/TICL/python/superclustering_cff.py @@ -39,7 +39,9 @@ # Mustache-TICL _mustache_ticl_task = cms.Task(ticlTracksterLinksSuperclusteringMustache) ticl_superclustering_mustache_ticl.toReplaceWith(ticlSuperclusteringTask, _mustache_ticl_task) -ticl_superclustering_mustache_ticl.toModify(ticlEGammaSuperClusterProducer, ticlSuperClusters=cms.InputTag("ticlTracksterLinksSuperclusteringMustache")) +ticl_superclustering_mustache_ticl.toModify(ticlEGammaSuperClusterProducer, + ticlSuperClusters=cms.InputTag("ticlTracksterLinksSuperclusteringMustache"), + enableRegression=cms.bool(False)) ticl_superclustering_mustache_ticl.toReplaceWith(particleFlowSuperClusterHGCal, ticlEGammaSuperClusterProducer) # Mustache-PF