Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2025-04-24 01:30:28

0001 import FWCore.ParameterSet.Config as cms
0002 
0003 from RecoTracker.TkSeedingLayers.PixelLayerTriplets_cfi import PixelLayerTriplets
0004 from RecoTracker.TkHitPairs.hitPairEDProducer_cfi import hitPairEDProducer as _hitPairEDProducer
0005 from RecoTracker.PixelSeeding.pixelTripletHLTEDProducer_cfi import pixelTripletHLTEDProducer as _pixelTripletHLTEDProducer
0006 from RecoTracker.PixelLowPtUtilities.ClusterShapeHitFilterESProducer_cfi import *
0007 from RecoTracker.PixelLowPtUtilities.trackCleaner_cfi import *
0008 from RecoTracker.PixelTrackFitting.pixelFitterByConformalMappingAndLine_cfi import *
0009 from RecoHI.HiTracking.HIPixelTrackFilter_cff import *
0010 from RecoHI.HiTracking.HITrackingRegionProducer_cfi import *
0011 
0012 # Hit ntuplets
0013 hiConformalPixelTracksHitDoublets = _hitPairEDProducer.clone(
0014     clusterCheck    = "",
0015     seedingLayers   = "PixelLayerTriplets",
0016     trackingRegions = "hiTrackingRegionWithVertex",
0017     maxElement      = 50000000,
0018     produceIntermediateHitDoublets = True,
0019 )
0020 
0021 hiConformalPixelTracksHitTriplets = _pixelTripletHLTEDProducer.clone(
0022     doublets   = "hiConformalPixelTracksHitDoublets",
0023     maxElement = 5000000, # increase threshold for triplets in generation step (default: 100000)
0024     produceSeedingHitSets = True,
0025 )
0026 
0027 import RecoTracker.PixelTrackFitting.pixelTracks_cfi as _mod
0028 # Pixel tracks
0029 hiConformalPixelTracks = _mod.pixelTracks.clone(
0030     #passLabel  = 'Pixel triplet low-pt tracks with vertex constraint',
0031     # Ordered Hits
0032     SeedingHitSets = "hiConformalPixelTracksHitTriplets",
0033     # Fitter
0034     Fitter = 'pixelFitterByConformalMappingAndLine',
0035     # Filter
0036     Filter = "hiConformalPixelFilter",
0037     # Cleaner
0038     Cleaner = "trackCleaner"
0039 )
0040 
0041 ###Pixel Tracking -  PhaseI geometry
0042 
0043 #Tracking regions - use PV from pp tracking
0044 from RecoTracker.TkTrackingRegions.globalTrackingRegionWithVertices_cfi import globalTrackingRegionWithVertices
0045 hiConformalPixelTracksPhase1TrackingRegions = globalTrackingRegionWithVertices.clone(
0046     RegionPSet = dict(
0047     precise = True,
0048     useMultipleScattering = False,
0049     useFakeVertices  = False,
0050     beamSpot         = "offlineBeamSpot",
0051     useFixedError    = True,
0052     nSigmaZ          = 3.0,
0053     sigmaZVertex     = 3.0,
0054     fixedError       = 0.2,
0055     VertexCollection = "offlinePrimaryVertices",
0056     ptMin            = 0.3,
0057     useFoundVertices = True,
0058     originRadius     = 0.2
0059     )
0060 )
0061 
0062 # SEEDING LAYERS
0063 # Using 4 layers layerlist
0064 from RecoTracker.IterativeTracking.LowPtQuadStep_cff import lowPtQuadStepSeedLayers
0065 hiConformalPixelTracksPhase1SeedLayers = lowPtQuadStepSeedLayers.clone(
0066     BPix = cms.PSet(
0067     HitProducer = cms.string('siPixelRecHits'),
0068         TTRHBuilder = cms.string('WithTrackAngle'),
0069     ),
0070     FPix = cms.PSet(
0071         HitProducer = cms.string('siPixelRecHits'),
0072         TTRHBuilder = cms.string('WithTrackAngle'),
0073     )
0074 )
0075 
0076 
0077 # Hit ntuplets
0078 from RecoTracker.IterativeTracking.LowPtQuadStep_cff import lowPtQuadStepHitDoublets
0079 hiConformalPixelTracksPhase1HitDoubletsCA = lowPtQuadStepHitDoublets.clone(
0080     seedingLayers   = "hiConformalPixelTracksPhase1SeedLayers",
0081     trackingRegions = "hiConformalPixelTracksPhase1TrackingRegions"
0082 )
0083 
0084 
0085 from RecoTracker.IterativeTracking.LowPtQuadStep_cff import lowPtQuadStepHitQuadruplets
0086 hiConformalPixelTracksPhase1HitQuadrupletsCA = lowPtQuadStepHitQuadruplets.clone(
0087     doublets   = "hiConformalPixelTracksPhase1HitDoubletsCA",
0088     CAPhiCut   = 0.2,
0089     CAThetaCut = 0.0012,
0090     SeedComparitorPSet = dict(
0091        ComponentName = 'none'
0092     ),
0093     extraHitRPhitolerance = 0.032,
0094     maxChi2 = dict(
0095        enabled = True,
0096        pt1     = 0.7,
0097        pt2     = 2,
0098        value1  = 200,
0099        value2  = 50
0100     )
0101 )
0102 
0103 #Filter
0104 hiConformalPixelTracksPhase1Filter = hiConformalPixelFilter.clone(
0105     VertexCollection = "offlinePrimaryVertices",
0106     chi2   = 30.0,
0107     lipMax = 999.0,
0108     nSigmaLipMaxTolerance = 3.0,
0109     nSigmaTipMaxTolerance = 3.0,
0110     ptMax  = 999999,
0111     ptMin  = 0.30,
0112     tipMax = 999.0
0113 )
0114 
0115 from RecoTracker.PixelTrackFitting.pixelNtupletsFitter_cfi import pixelNtupletsFitter
0116 
0117 from Configuration.Eras.Modifier_phase1Pixel_cff import phase1Pixel
0118 phase1Pixel.toModify(hiConformalPixelTracks,
0119     Cleaner = 'pixelTrackCleanerBySharedHits',
0120     Filter  = "hiConformalPixelTracksPhase1Filter",
0121     Fitter  = "pixelNtupletsFitter",
0122     SeedingHitSets = "hiConformalPixelTracksPhase1HitQuadrupletsCA",
0123 )
0124 
0125 hiConformalPixelTracksTask = cms.Task(
0126     hiTrackingRegionWithVertex ,
0127     PixelLayerTriplets ,
0128     hiConformalPixelTracksHitDoublets ,
0129     hiConformalPixelTracksHitTriplets ,
0130     pixelFitterByConformalMappingAndLine ,
0131     hiConformalPixelFilter ,
0132     hiConformalPixelTracks
0133 )
0134 
0135 ## These are the parameters used for the offline CUDA HI Pixel Tracks
0136 ## leaving them here for the records until we have the Alpaka equivalent
0137 
0138 # hiPixelTracksCUDA = _pixelTracksCUDA.clone(pixelRecHitSrc="siPixelRecHitsPreSplittingCUDA", idealConditions = False,
0139 #         ptmin = 0.25, z0Cut = 8.0, hardCurvCut = 0.0756, doPtCut = False,
0140 #         onGPU = True,
0141 #         dcaCutInnerTriplet = 0.05, dcaCutOuterTriplet = 0.10,
0142 #         CAThetaCutForward = 0.002, CAThetaCutBarrel = 0.001,
0143 #         phiCuts = cms.vint32(19*[900]), #19 pairs
0144 #         trackQualityCuts = dict(
0145 #           chi2MaxPt = 10,
0146 #           chi2Coeff = [0.9,1.8],
0147 #           chi2Scale = 1.8,
0148 #           tripletMinPt = 0.1,
0149 #           tripletMaxTip = 0.3,
0150 #           tripletMaxZip = 12,
0151 #           quadrupletMinPt = 0.1,
0152 #           quadrupletMaxTip = 0.5,
0153 #           quadrupletMaxZip = 12
0154 #         ))
0155 
0156 
0157 
0158 hiConformalPixelTracksTaskPhase1 = cms.Task(
0159     hiConformalPixelTracksPhase1TrackingRegions ,
0160     hiConformalPixelTracksPhase1SeedLayers ,
0161     hiConformalPixelTracksPhase1HitDoubletsCA ,
0162     hiConformalPixelTracksPhase1HitQuadrupletsCA ,
0163     pixelNtupletsFitter ,
0164     hiConformalPixelTracksPhase1Filter ,
0165     hiConformalPixelTracks
0166 )
0167 
0168 phase1Pixel.toReplaceWith(hiConformalPixelTracksTask, hiConformalPixelTracksTaskPhase1)
0169 
0170 from Configuration.Eras.Modifier_highBetaStar_cff import highBetaStar
0171 highBetaStar.toModify(hiConformalPixelTracksPhase1TrackingRegions.RegionPSet, ptMin = 0.05)
0172 highBetaStar.toModify(hiConformalPixelTracksPhase1Filter, ptMin = 0.05)
0173 highBetaStar.toModify(hiTrackingRegionWithVertex.RegionPSet, VertexCollection = "offlinePrimaryVertices", ptMin = 0.05)
0174 highBetaStar.toModify(hiConformalPixelFilter, VertexCollection = "offlinePrimaryVertices", ptMin = 0.05)