File indexing completed on 2025-06-17 22:42:56
0001 import FWCore.ParameterSet.Config as cms
0002
0003 import RecoTracker.MkFit.mkFitGeometryESProducer_cfi as mkFitGeometryESProducer_cfi
0004 import RecoTracker.MkFit.mkFitSiPixelHitConverter_cfi as mkFitSiPixelHitConverter_cfi
0005 import RecoTracker.MkFit.mkFitSiStripHitConverter_cfi as mkFitSiStripHitConverter_cfi
0006 import RecoTracker.MkFit.mkFitEventOfHitsProducer_cfi as mkFitEventOfHitsProducer_cfi
0007 import RecoTracker.MkFit.mkFitSeedConverter_cfi as mkFitSeedConverter_cfi
0008 import RecoTracker.MkFit.mkFitIterationConfigESProducer_cfi as mkFitIterationConfigESProducer_cfi
0009 import RecoTracker.MkFit.mkFitProducer_cfi as mkFitProducer_cfi
0010 import RecoTracker.MkFit.mkFitOutputConverter_cfi as mkFitOutputConverter_cfi
0011 import RecoLocalTracker.SiStripRecHitConverter.SiStripRecHitConverter_cfi as SiStripRecHitConverter_cfi
0012
0013 def customizeHLTIter0ToMkFit(process):
0014
0015
0016 for objLabel in [
0017 'hltSiStripRawToClustersFacility',
0018 'HLTDoLocalStripSequence',
0019 'HLTIterativeTrackingIteration0',
0020 'hltIter0PFlowCkfTrackCandidates',
0021 ]:
0022 if not hasattr(process, objLabel):
0023 print(f'# WARNING: customizeHLTIter0ToMkFit failed (object with label "{objLabel}" not found) - no customisation applied !')
0024 return process
0025
0026
0027 process.hltSiStripRawToClustersFacility = cms.EDProducer(
0028 "SiStripClusterizerFromRaw",
0029 ProductLabel = cms.InputTag( "rawDataCollector" ),
0030 ConditionsLabel = cms.string( "" ),
0031 onDemand = cms.bool( True ),
0032 DoAPVEmulatorCheck = cms.bool( False ),
0033 LegacyUnpacker = cms.bool( False ),
0034 HybridZeroSuppressed = cms.bool( False ),
0035 Clusterizer = cms.PSet(
0036 ConditionsLabel = cms.string( "" ),
0037 MaxClusterSize = cms.uint32( 32 ),
0038 ClusterThreshold = cms.double( 5.0 ),
0039 SeedThreshold = cms.double( 3.0 ),
0040 Algorithm = cms.string( "ThreeThresholdAlgorithm" ),
0041 ChannelThreshold = cms.double( 2.0 ),
0042 MaxAdjacentBad = cms.uint32( 0 ),
0043 setDetId = cms.bool( True ),
0044 MaxSequentialHoles = cms.uint32( 0 ),
0045 RemoveApvShots = cms.bool( True ),
0046 clusterChargeCut = cms.PSet( refToPSet_ = cms.string( "HLTSiStripClusterChargeCutNone" ) ),
0047 MaxSequentialBad = cms.uint32( 1 )
0048 ),
0049 Algorithms = cms.PSet(
0050 Use10bitsTruncation = cms.bool( False ),
0051 CommonModeNoiseSubtractionMode = cms.string( "Median" ),
0052 useCMMeanMap = cms.bool( False ),
0053 TruncateInSuppressor = cms.bool( True ),
0054 doAPVRestore = cms.bool( False ),
0055 SiStripFedZeroSuppressionMode = cms.uint32( 4 ),
0056 PedestalSubtractionFedMode = cms.bool( True )
0057 )
0058 )
0059 process.hltSiStripRawToClustersFacility.onDemand = False
0060 process.hltSiStripRawToClustersFacility.Clusterizer.MaxClusterSize = 16
0061
0062 process.hltSiStripRecHits = SiStripRecHitConverter_cfi.siStripMatchedRecHits.clone(
0063 ClusterProducer = "hltSiStripRawToClustersFacility",
0064 StripCPE = "hltESPStripCPEfromTrackAngle:hltESPStripCPEfromTrackAngle",
0065 doMatching = False,
0066 )
0067
0068
0069 process.hltIter0PFLowPixelSeedsFromPixelTracks.includeFourthHit = cms.bool(True)
0070
0071 process.load("RecoTracker.MkFit.mkFitGeometryESProducer_cfi")
0072
0073 process.hltIter0PFlowCkfTrackCandidatesMkFitSiPixelHits = mkFitSiPixelHitConverter_cfi.mkFitSiPixelHitConverter.clone(
0074 hits = "hltSiPixelRecHits",
0075 clusters = "hltSiPixelClusters",
0076 ttrhBuilder = ":hltESPTTRHBWithTrackAngle",
0077 )
0078 process.hltIter0PFlowCkfTrackCandidatesMkFitSiStripHits = mkFitSiStripHitConverter_cfi.mkFitSiStripHitConverter.clone(
0079 rphiHits = "hltSiStripRecHits:rphiRecHit",
0080 stereoHits = "hltSiStripRecHits:stereoRecHit",
0081 clusters = "hltSiStripRawToClustersFacility",
0082 ttrhBuilder = ":hltESPTTRHBWithTrackAngle",
0083 minGoodStripCharge = dict(refToPSet_ = 'HLTSiStripClusterChargeCutLoose'),
0084 )
0085 process.hltIter0PFlowCkfTrackCandidatesMkFitEventOfHits = mkFitEventOfHitsProducer_cfi.mkFitEventOfHitsProducer.clone(
0086 beamSpot = "hltOnlineBeamSpot",
0087 pixelHits = "hltIter0PFlowCkfTrackCandidatesMkFitSiPixelHits",
0088 stripHits = "hltIter0PFlowCkfTrackCandidatesMkFitSiStripHits",
0089 )
0090 process.hltIter0PFlowCkfTrackCandidatesMkFitSeeds = mkFitSeedConverter_cfi.mkFitSeedConverter.clone(
0091 seeds = "hltIter0PFLowPixelSeedsFromPixelTracks",
0092 ttrhBuilder = ":hltESPTTRHBWithTrackAngle",
0093 )
0094 process.hltIter0PFlowTrackCandidatesMkFitConfig = mkFitIterationConfigESProducer_cfi.mkFitIterationConfigESProducer.clone(
0095 ComponentName = 'hltIter0PFlowTrackCandidatesMkFitConfig',
0096 config = 'RecoTracker/MkFit/data/mkfit-phase1-hltiter0.json',
0097 )
0098 process.hltIter0PFlowCkfTrackCandidatesMkFit = mkFitProducer_cfi.mkFitProducer.clone(
0099 pixelHits = "hltIter0PFlowCkfTrackCandidatesMkFitSiPixelHits",
0100 stripHits = "hltIter0PFlowCkfTrackCandidatesMkFitSiStripHits",
0101 eventOfHits = "hltIter0PFlowCkfTrackCandidatesMkFitEventOfHits",
0102 seeds = "hltIter0PFlowCkfTrackCandidatesMkFitSeeds",
0103 config = ('', 'hltIter0PFlowTrackCandidatesMkFitConfig'),
0104 minGoodStripCharge = dict(refToPSet_ = 'HLTSiStripClusterChargeCutNone'),
0105 )
0106 process.hltIter0PFlowCkfTrackCandidates = mkFitOutputConverter_cfi.mkFitOutputConverter.clone(
0107 seeds = "hltIter0PFLowPixelSeedsFromPixelTracks",
0108 mkFitEventOfHits = "hltIter0PFlowCkfTrackCandidatesMkFitEventOfHits",
0109 mkFitPixelHits = "hltIter0PFlowCkfTrackCandidatesMkFitSiPixelHits",
0110 mkFitStripHits = "hltIter0PFlowCkfTrackCandidatesMkFitSiStripHits",
0111 mkFitSeeds = "hltIter0PFlowCkfTrackCandidatesMkFitSeeds",
0112 tracks = "hltIter0PFlowCkfTrackCandidatesMkFit",
0113 ttrhBuilder = ":hltESPTTRHBWithTrackAngle",
0114 propagatorAlong = ":PropagatorWithMaterialParabolicMf",
0115 propagatorOpposite = ":PropagatorWithMaterialParabolicMfOpposite",
0116 )
0117
0118 replaceWith = (process.hltIter0PFlowCkfTrackCandidatesMkFitSiPixelHits +
0119 process.hltSiStripRecHits +
0120 process.hltIter0PFlowCkfTrackCandidatesMkFitSiStripHits +
0121 process.hltIter0PFlowCkfTrackCandidatesMkFitEventOfHits +
0122 process.hltIter0PFlowCkfTrackCandidatesMkFitSeeds +
0123 process.hltIter0PFlowCkfTrackCandidatesMkFit +
0124 process.hltIter0PFlowCkfTrackCandidates)
0125
0126 process.HLTIterativeTrackingIteration0.replace(process.hltIter0PFlowCkfTrackCandidates, replaceWith)
0127
0128 for path in process.paths_().values():
0129 if not path.contains(process.HLTIterativeTrackingIteration0) and path.contains(process.hltIter0PFlowCkfTrackCandidates):
0130 path.replace(process.hltIter0PFlowCkfTrackCandidates, replaceWith)
0131
0132 process.hltIter0PFlowTrackCutClassifier.mva.maxChi2 = cms.vdouble( 999.0, 999.0, 99.0 )
0133 process.hltIter0PFlowTrackCutClassifier.mva.maxChi2n = cms.vdouble( 999.0, 999.0, 999.0 )
0134 process.hltIter0PFlowTrackCutClassifier.mva.dr_par = cms.PSet(
0135 d0err = cms.vdouble( 0.003, 0.003, 0.003 ),
0136 dr_par1 = cms.vdouble( 3.40282346639E38, 0.6, 0.6 ),
0137 dr_par2 = cms.vdouble( 3.40282346639E38, 0.45, 0.45 ),
0138 dr_exp = cms.vint32( 4, 4, 4 ),
0139 d0err_par = cms.vdouble( 0.001, 0.001, 0.001 )
0140 )
0141 process.hltIter0PFlowTrackCutClassifier.mva.dz_par = cms.PSet(
0142 dz_par1 = cms.vdouble( 3.40282346639E38, 0.6, 0.6 ),
0143 dz_par2 = cms.vdouble( 3.40282346639E38, 0.51, 0.51 ),
0144 dz_exp = cms.vint32( 4, 4, 4 )
0145 )
0146
0147 if hasattr(process, 'HLTIterativeTrackingIteration0SerialSync'):
0148 process.hltIter0PFlowCkfTrackCandidatesMkFitSiPixelHitsSerialSync = process.hltIter0PFlowCkfTrackCandidatesMkFitSiPixelHits.clone(
0149 hits = "hltSiPixelRecHitsSerialSync",
0150 clusters = "hltSiPixelClustersSerialSync",
0151 )
0152 process.hltIter0PFlowCkfTrackCandidatesMkFitEventOfHitsSerialSync = process.hltIter0PFlowCkfTrackCandidatesMkFitEventOfHits.clone(
0153 pixelHits = "hltIter0PFlowCkfTrackCandidatesMkFitSiPixelHitsSerialSync",
0154 )
0155 process.hltIter0PFlowCkfTrackCandidatesMkFitSeedsSerialSync = process.hltIter0PFlowCkfTrackCandidatesMkFitSeeds.clone(
0156 seeds = "hltIter0PFLowPixelSeedsFromPixelTracksSerialSync",
0157 )
0158 process.hltIter0PFlowCkfTrackCandidatesMkFitSerialSync = process.hltIter0PFlowCkfTrackCandidatesMkFit.clone(
0159 pixelHits = "hltIter0PFlowCkfTrackCandidatesMkFitSiPixelHitsSerialSync",
0160 eventOfHits = "hltIter0PFlowCkfTrackCandidatesMkFitEventOfHitsSerialSync",
0161 seeds = "hltIter0PFlowCkfTrackCandidatesMkFitSeedsSerialSync",
0162 )
0163 process.hltIter0PFlowCkfTrackCandidatesSerialSync = process.hltIter0PFlowCkfTrackCandidates.clone(
0164 seeds = "hltIter0PFLowPixelSeedsFromPixelTracksSerialSync",
0165 mkFitEventOfHits = "hltIter0PFlowCkfTrackCandidatesMkFitEventOfHitsSerialSync",
0166 mkFitPixelHits = "hltIter0PFlowCkfTrackCandidatesMkFitSiPixelHitsSerialSync",
0167 mkFitSeeds = "hltIter0PFlowCkfTrackCandidatesMkFitSeedsSerialSync",
0168 tracks = "hltIter0PFlowCkfTrackCandidatesMkFitSerialSync",
0169 )
0170
0171 process.hltIter0PFlowTrackCutClassifierSerialSync.mva.maxChi2 = cms.vdouble( 999.0, 999.0, 99.0 )
0172 process.hltIter0PFlowTrackCutClassifierSerialSync.mva.maxChi2n = cms.vdouble( 999.0, 999.0, 999.0 )
0173 process.hltIter0PFlowTrackCutClassifierSerialSync.mva.dr_par = cms.PSet(
0174 d0err = cms.vdouble( 0.003, 0.003, 0.003 ),
0175 dr_par1 = cms.vdouble( 3.40282346639E38, 0.6, 0.6 ),
0176 dr_par2 = cms.vdouble( 3.40282346639E38, 0.45, 0.45 ),
0177 dr_exp = cms.vint32( 4, 4, 4 ),
0178 d0err_par = cms.vdouble( 0.001, 0.001, 0.001 )
0179 )
0180 process.hltIter0PFlowTrackCutClassifierSerialSync.mva.dz_par = cms.PSet(
0181 dz_par1 = cms.vdouble( 3.40282346639E38, 0.6, 0.6 ),
0182 dz_par2 = cms.vdouble( 3.40282346639E38, 0.51, 0.51 ),
0183 dz_exp = cms.vint32( 4, 4, 4 )
0184 )
0185 process.HLTDoLocalStripSequenceSerialSync += process.hltSiStripRecHits
0186
0187 replaceWithSerialSync = (process.hltIter0PFlowCkfTrackCandidatesMkFitSiPixelHitsSerialSync +
0188 process.hltSiStripRecHits +
0189 process.hltIter0PFlowCkfTrackCandidatesMkFitSiStripHits +
0190 process.hltIter0PFlowCkfTrackCandidatesMkFitEventOfHitsSerialSync +
0191 process.hltIter0PFlowCkfTrackCandidatesMkFitSeedsSerialSync +
0192 process.hltIter0PFlowCkfTrackCandidatesMkFitSerialSync +
0193 process.hltIter0PFlowCkfTrackCandidatesSerialSync)
0194
0195 process.HLTIterativeTrackingIteration0SerialSync.replace(process.hltIter0PFlowCkfTrackCandidatesSerialSync, replaceWithSerialSync)
0196
0197 for path in process.paths_().values():
0198 if not path.contains(process.HLTIterativeTrackingIteration0SerialSync) and path.contains(process.hltIter0PFlowCkfTrackCandidatesSerialSync):
0199 path.replace(process.hltIter0PFlowCkfTrackCandidatesSerialSync, replaceWithSerialSync)
0200
0201 return process
0202
0203 def customizeHLTDoubletRecoveryToMkFit(process):
0204
0205
0206 for objLabel in [
0207 'HLTIterativeTrackingDoubletRecovery',
0208 'hltDoubletRecoveryPFlowCkfTrackCandidates',
0209 ]:
0210 if not hasattr(process, objLabel):
0211 print(f'# WARNING: customizeHLTDoubletRecoveryToMkFit failed (object with label "{objLabel}" not found) - no customisation applied !')
0212 return process
0213
0214 process.hltDoubletRecoveryPFlowCkfTrackCandidatesMkFitSeeds = mkFitSeedConverter_cfi.mkFitSeedConverter.clone(
0215 seeds = "hltDoubletRecoveryPFlowPixelSeeds",
0216 ttrhBuilder = ":hltESPTTRHBWithTrackAngle",
0217 )
0218 process.hltDoubletRecoveryPFlowTrackCandidatesMkFitConfig = mkFitIterationConfigESProducer_cfi.mkFitIterationConfigESProducer.clone(
0219 ComponentName = 'hltDoubletRecoveryPFlowTrackCandidatesMkFitConfig',
0220 config = 'RecoTracker/MkFit/data/mkfit-phase1-hltdr.json',
0221 minPt = 0.7,
0222 )
0223 process.hltDoubletRecoveryPFlowCkfTrackCandidatesMkFit = mkFitProducer_cfi.mkFitProducer.clone(
0224 pixelHits = "hltIter0PFlowCkfTrackCandidatesMkFitSiPixelHits",
0225 stripHits = "hltIter0PFlowCkfTrackCandidatesMkFitSiStripHits",
0226 eventOfHits = "hltIter0PFlowCkfTrackCandidatesMkFitEventOfHits",
0227 seeds = "hltDoubletRecoveryPFlowCkfTrackCandidatesMkFitSeeds",
0228 config = cms.ESInputTag('', 'hltDoubletRecoveryPFlowTrackCandidatesMkFitConfig'),
0229 minGoodStripCharge = dict(refToPSet_ = 'HLTSiStripClusterChargeCutNone'),
0230 )
0231 process.hltDoubletRecoveryPFlowCkfTrackCandidatesMkFit.clustersToSkip = "hltDoubletRecoveryClustersRefRemoval"
0232 process.hltDoubletRecoveryPFlowCkfTrackCandidates = mkFitOutputConverter_cfi.mkFitOutputConverter.clone(
0233 seeds = "hltDoubletRecoveryPFlowPixelSeeds",
0234 mkFitEventOfHits = "hltIter0PFlowCkfTrackCandidatesMkFitEventOfHits",
0235 mkFitPixelHits = "hltIter0PFlowCkfTrackCandidatesMkFitSiPixelHits",
0236 mkFitStripHits = "hltIter0PFlowCkfTrackCandidatesMkFitSiStripHits",
0237 mkFitSeeds = "hltDoubletRecoveryPFlowCkfTrackCandidatesMkFitSeeds",
0238 tracks = "hltDoubletRecoveryPFlowCkfTrackCandidatesMkFit",
0239 ttrhBuilder = ":hltESPTTRHBWithTrackAngle",
0240 propagatorAlong = ":PropagatorWithMaterialParabolicMf",
0241 propagatorOpposite = ":PropagatorWithMaterialParabolicMfOpposite",
0242 )
0243 replaceWith = (process.hltDoubletRecoveryPFlowCkfTrackCandidatesMkFitSeeds +
0244 process.hltDoubletRecoveryPFlowCkfTrackCandidatesMkFit +
0245 process.hltDoubletRecoveryPFlowCkfTrackCandidates)
0246 process.HLTIterativeTrackingDoubletRecovery.replace(process.hltDoubletRecoveryPFlowCkfTrackCandidates, replaceWith)
0247 for path in process.paths_().values():
0248 if not path.contains(process.HLTIterativeTrackingDoubletRecovery) and path.contains(process.hltDoubletRecoveryPFlowCkfTrackCandidates):
0249 path.replace(process.hltDoubletRecoveryPFlowCkfTrackCandidates, replaceWith)
0250
0251 if hasattr(process, 'HLTIterativeTrackingDoubletRecoverySerialSync'):
0252 process.hltDoubletRecoveryPFlowCkfTrackCandidatesMkFitSeedsSerialSync = process.hltDoubletRecoveryPFlowCkfTrackCandidatesMkFitSeeds.clone(
0253 seeds = "hltDoubletRecoveryPFlowPixelSeedsSerialSync"
0254 )
0255 process.hltDoubletRecoveryPFlowCkfTrackCandidatesMkFitSerialSync = process.hltDoubletRecoveryPFlowCkfTrackCandidatesMkFit.clone(
0256 pixelHits = "hltIter0PFlowCkfTrackCandidatesMkFitSiPixelHitsSerialSync",
0257 stripHits = "hltIter0PFlowCkfTrackCandidatesMkFitSiStripHits",
0258 eventOfHits = "hltIter0PFlowCkfTrackCandidatesMkFitEventOfHitsSerialSync",
0259 seeds = "hltDoubletRecoveryPFlowCkfTrackCandidatesMkFitSeedsSerialSync",
0260 config = cms.ESInputTag('', 'hltDoubletRecoveryPFlowTrackCandidatesMkFitConfig'),
0261 minGoodStripCharge = dict(refToPSet_ = 'HLTSiStripClusterChargeCutNone'),
0262 )
0263 process.hltDoubletRecoveryPFlowCkfTrackCandidatesMkFitSerialSync.clustersToSkip = "hltDoubletRecoveryClustersRefRemovalSerialSync"
0264 process.hltDoubletRecoveryPFlowCkfTrackCandidatesSerialSync = process.hltDoubletRecoveryPFlowCkfTrackCandidates.clone(
0265 seeds = "hltDoubletRecoveryPFlowPixelSeedsSerialSync",
0266 mkFitEventOfHits = "hltIter0PFlowCkfTrackCandidatesMkFitEventOfHitsSerialSync",
0267 mkFitPixelHits = "hltIter0PFlowCkfTrackCandidatesMkFitSiPixelHitsSerialSync",
0268 mkFitSeeds = "hltDoubletRecoveryPFlowCkfTrackCandidatesMkFitSeedsSerialSync",
0269 tracks = "hltDoubletRecoveryPFlowCkfTrackCandidatesMkFitSerialSync",
0270 )
0271 replaceWithSerialSync = (process.hltDoubletRecoveryPFlowCkfTrackCandidatesMkFitSeedsSerialSync +
0272 process.hltDoubletRecoveryPFlowCkfTrackCandidatesMkFitSerialSync +
0273 process.hltDoubletRecoveryPFlowCkfTrackCandidatesSerialSync)
0274 process.HLTIterativeTrackingDoubletRecoverySerialSync.replace(process.hltDoubletRecoveryPFlowCkfTrackCandidatesSerialSync, replaceWithSerialSync)
0275 for path in process.paths_().values():
0276 if not path.contains(process.HLTIterativeTrackingDoubletRecoverySerialSync) and path.contains(process.hltDoubletRecoveryPFlowCkfTrackCandidatesSerialSync):
0277 path.replace(process.hltDoubletRecoveryPFlowCkfTrackCandidatesSerialSync, replaceWithSerialSync)
0278
0279 process.hltDoubletRecoveryPFlowTrackCutClassifier.mva.maxChi2 = cms.vdouble( 999.0, 999.0, 4.9 )
0280 process.hltDoubletRecoveryPFlowTrackCutClassifier.mva.maxChi2n = cms.vdouble( 999.0, 999.0, 0.7 )
0281 process.hltDoubletRecoveryPFlowTrackCutClassifier.mva.dr_par = cms.PSet(
0282 d0err = cms.vdouble( 0.003, 0.003, 0.003 ),
0283 dr_par1 = cms.vdouble( 3.40282346639E38, 0.45, 0.45 ),
0284 dr_par2 = cms.vdouble( 3.40282346639E38, 0.34, 0.34 ),
0285 dr_exp = cms.vint32( 4, 4, 4 ),
0286 d0err_par = cms.vdouble( 0.001, 0.001, 0.001 )
0287 )
0288 process.hltDoubletRecoveryPFlowTrackCutClassifier.mva.dz_par = cms.PSet(
0289 dz_par1 = cms.vdouble( 3.40282346639E38, 0.45, 0.45 ),
0290 dz_par2 = cms.vdouble( 3.40282346639E38, 0.39, 0.39 ),
0291 dz_exp = cms.vint32( 4, 4, 4 )
0292 )
0293 process.hltDoubletRecoveryPFlowTrackCutClassifier.mva.min3DLayers = cms.vint32( 0, 0, 3 )
0294 process.hltDoubletRecoveryPFlowTrackCutClassifier.mva.minLayers = cms.vint32( 0, 0, 4 )
0295 process.hltDoubletRecoveryPFlowTrackCutClassifier.mva.minHits = cms.vint32( 0, 0, 5 )
0296 process.hltDoubletRecoveryPFlowTrackCutClassifier.mva.maxLostLayers = cms.vint32( 0, 0, 0 )
0297
0298 if hasattr(process, 'hltDoubletRecoveryPFlowTrackCutClassifierSerialSync'):
0299 process.hltDoubletRecoveryPFlowTrackCutClassifierSerialSync.mva.maxChi2 = cms.vdouble( 999.0, 99.0, 4.9 )
0300 process.hltDoubletRecoveryPFlowTrackCutClassifierSerialSync.mva.maxChi2n = cms.vdouble( 999.0, 999.0, 0.7 )
0301 process.hltDoubletRecoveryPFlowTrackCutClassifierSerialSync.mva.dr_par = cms.PSet(
0302 d0err = cms.vdouble( 0.003, 0.003, 0.003 ),
0303 d0err_par = cms.vdouble( 0.001, 0.001, 0.001 ),
0304 dr_par1 = cms.vdouble( 3.40282346639E38, 0.45, 0.45 ),
0305 dr_par2 = cms.vdouble( 3.40282346639E38, 0.34, 0.34 ),
0306 dr_exp = cms.vint32( 4, 4, 4 ),
0307 )
0308 process.hltDoubletRecoveryPFlowTrackCutClassifierSerialSync.mva.dz_par = cms.PSet(
0309 dz_par1 = cms.vdouble( 3.40282346639E38, 0.45, 0.45 ),
0310 dz_par2 = cms.vdouble( 3.40282346639E38, 0.39, 0.39 ),
0311 dz_exp = cms.vint32( 4, 4, 4 )
0312 )
0313 process.hltDoubletRecoveryPFlowTrackCutClassifierSerialSync.mva.min3DLayers = cms.vint32( 0, 0, 3 )
0314 process.hltDoubletRecoveryPFlowTrackCutClassifierSerialSync.mva.minLayers = cms.vint32( 0, 0, 4 )
0315 process.hltDoubletRecoveryPFlowTrackCutClassifierSerialSync.mva.minHits = cms.vint32( 0, 0, 5 )
0316 process.hltDoubletRecoveryPFlowTrackCutClassifierSerialSync.mva.maxLostLayers = cms.vint32( 0, 0, 0 )
0317
0318 return process
0319
0320 def modifyMinOutputModuleForTrackingValidation(process, filename="output.root"):
0321
0322 for objLabel in [
0323 'hltOutputMinimal',
0324 ]:
0325 if not hasattr(process, objLabel):
0326 print(f'# WARNING: customize command failed (object with label "{objLabel}" not found) - no customisation applied !')
0327 return process
0328
0329 process.load('Configuration.EventContent.EventContent_cff')
0330 process.hltOutputMinimal.outputCommands = process.FEVTDEBUGHLTEventContent.outputCommands
0331 process.hltOutputMinimal.fileName = filename
0332 process.schedule.remove( process.DQMOutput )
0333 return process