Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand All @@ -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'}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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"))
Original file line number Diff line number Diff line change
Expand Up @@ -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"))
Original file line number Diff line number Diff line change
@@ -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")
)


Original file line number Diff line number Diff line change
@@ -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")
)


Original file line number Diff line number Diff line change
Expand Up @@ -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'))

Original file line number Diff line number Diff line change
Expand Up @@ -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'))
Original file line number Diff line number Diff line change
Expand Up @@ -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))
Original file line number Diff line number Diff line change
Expand Up @@ -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)
)
Loading