File indexing completed on 2025-02-07 14:24:05
0001 import FWCore.ParameterSet.Config as cms
0002
0003 def TrackstersProducer(*args, **kwargs):
0004 mod = cms.EDProducer('TrackstersProducer',
0005 detector = cms.string('HGCAL'),
0006 layer_clusters = cms.InputTag('hgcalMergeLayerClusters'),
0007 filtered_mask = cms.InputTag('filteredLayerClusters', 'iterationLabelGoesHere'),
0008 original_mask = cms.InputTag('hgcalMergeLayerClusters', 'InitialLayerClustersMask'),
0009 time_layerclusters = cms.InputTag('hgcalMergeLayerClusters', 'timeLayerCluster'),
0010 layer_clusters_tiles = cms.InputTag('ticlLayerTileProducer'),
0011 layer_clusters_hfnose_tiles = cms.InputTag('ticlLayerTileHFNose'),
0012 seeding_regions = cms.InputTag('ticlSeedingRegionProducer'),
0013 patternRecognitionBy = cms.string('CA'),
0014 itername = cms.string('unknown'),
0015 inferenceAlgo = cms.string('TracksterInferenceByDNN'),
0016 pluginPatternRecognitionByCA = cms.PSet(
0017 algo_verbosity = cms.int32(0),
0018 oneTracksterPerTrackSeed = cms.bool(False),
0019 promoteEmptyRegionToTrackster = cms.bool(False),
0020 out_in_dfs = cms.bool(True),
0021 max_out_in_hops = cms.int32(10),
0022 min_cos_theta = cms.double(0.915),
0023 min_cos_pointing = cms.double(-1),
0024 root_doublet_max_distance_from_seed_squared = cms.double(9999),
0025 etaLimitIncreaseWindow = cms.double(2.1),
0026 skip_layers = cms.int32(0),
0027 max_missing_layers_in_trackster = cms.int32(9999),
0028 shower_start_max_layer = cms.int32(9999),
0029 min_layers_per_trackster = cms.int32(10),
0030 filter_on_categories = cms.vint32(0),
0031 pid_threshold = cms.double(0),
0032 energy_em_over_total_threshold = cms.double(-1),
0033 max_longitudinal_sigmaPCA = cms.double(9999),
0034 max_delta_time = cms.double(3),
0035 computeLocalTime = cms.bool(False),
0036 siblings_maxRSquared = cms.vdouble(
0037 0.0006,
0038 0.0006,
0039 0.0006
0040 ),
0041 type = cms.string('CA')
0042
0043 ),
0044 pluginPatternRecognitionByCLUE3D = cms.PSet(
0045 algo_verbosity = cms.int32(0),
0046 criticalDensity = cms.vdouble(
0047 4,
0048 4,
0049 4
0050 ),
0051 criticalSelfDensity = cms.vdouble(
0052 0.15,
0053 0.15,
0054 0.15
0055 ),
0056 densitySiblingLayers = cms.vint32(
0057 3,
0058 3,
0059 3
0060 ),
0061 densityEtaPhiDistanceSqr = cms.vdouble(
0062 0.0008,
0063 0.0008,
0064 0.0008
0065 ),
0066 densityXYDistanceSqr = cms.vdouble(
0067 3.24,
0068 3.24,
0069 3.24
0070 ),
0071 kernelDensityFactor = cms.vdouble(
0072 0.2,
0073 0.2,
0074 0.2
0075 ),
0076 densityOnSameLayer = cms.bool(False),
0077 nearestHigherOnSameLayer = cms.bool(False),
0078 useAbsoluteProjectiveScale = cms.bool(True),
0079 useClusterDimensionXY = cms.bool(False),
0080 rescaleDensityByZ = cms.bool(False),
0081 criticalEtaPhiDistance = cms.vdouble(
0082 0.025,
0083 0.025,
0084 0.025
0085 ),
0086 criticalXYDistance = cms.vdouble(
0087 1.8,
0088 1.8,
0089 1.8
0090 ),
0091 criticalZDistanceLyr = cms.vint32(
0092 5,
0093 5,
0094 5
0095 ),
0096 outlierMultiplier = cms.vdouble(
0097 2,
0098 2,
0099 2
0100 ),
0101 minNumLayerCluster = cms.vint32(
0102 2,
0103 2,
0104 2
0105 ),
0106 doPidCut = cms.bool(False),
0107 cutHadProb = cms.double(0.5),
0108 computeLocalTime = cms.bool(False),
0109 usePCACleaning = cms.bool(False),
0110 type = cms.string('CLUE3D')
0111
0112 ),
0113 pluginPatternRecognitionByFastJet = cms.PSet(
0114 algo_verbosity = cms.int32(0),
0115 antikt_radius = cms.double(0.09),
0116 minNumLayerCluster = cms.int32(5),
0117 computeLocalTime = cms.bool(False),
0118 type = cms.string('FastJet')
0119
0120 ),
0121 pluginPatternRecognitionByRecovery = cms.PSet(
0122 algo_verbosity = cms.int32(0),
0123 type = cms.string('Recovery')
0124
0125 ),
0126 pluginInferenceAlgoTracksterInferenceByDNN = cms.PSet(
0127 algo_verbosity = cms.int32(0),
0128 onnxPIDModelPath = cms.FileInPath('RecoHGCal/TICL/data/ticlv5/onnx_models/patternrecognition/id_v0.onnx'),
0129 onnxEnergyModelPath = cms.FileInPath('RecoHGCal/TICL/data/ticlv5/onnx_models/patternrecognition/energy_v0.onnx'),
0130 inputNames = cms.vstring('input'),
0131 output_en = cms.vstring('enreg_output'),
0132 output_id = cms.vstring('pid_output'),
0133 eid_min_cluster_energy = cms.double(1),
0134 eid_n_layers = cms.int32(50),
0135 eid_n_clusters = cms.int32(10),
0136 doPID = cms.int32(1),
0137 doRegression = cms.int32(1),
0138 type = cms.string('TracksterInferenceByDNN')
0139
0140 ),
0141 pluginInferenceAlgoTracksterInferenceByANN = cms.PSet(
0142 algo_verbosity = cms.int32(0),
0143 type = cms.string('TracksterInferenceByANN')
0144
0145 ),
0146 pluginInferenceAlgoTracksterInferenceByCNNv4 = cms.PSet(
0147 algo_verbosity = cms.int32(0),
0148 onnxModelPath = cms.FileInPath('RecoHGCal/TICL/data/ticlv4/onnx_models/energy_id_v0.onnx'),
0149 inputNames = cms.vstring('input:0'),
0150 outputNames = cms.vstring(
0151 'output/regressed_energy:0',
0152 'output/id_probabilities:0'
0153 ),
0154 eid_min_cluster_energy = cms.double(1),
0155 eid_n_layers = cms.int32(50),
0156 eid_n_clusters = cms.int32(10),
0157 doPID = cms.int32(1),
0158 doRegression = cms.int32(0),
0159 type = cms.string('TracksterInferenceByCNNv4')
0160
0161 ),
0162 mightGet = cms.optional.untracked.vstring
0163 )
0164 for a in args:
0165 mod.update_(a)
0166 mod.update_(kwargs)
0167 return mod