Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-10-25 09:59:37

0001 import FWCore.ParameterSet.Config as cms
0002 
0003 ################################################################################### 
0004 # pp iterative tracking modified for hiOffline reco (the vertex is the one reconstructed in HI)
0005 ################################### 2nd step: pixel pairs
0006 
0007 from RecoHI.HiTracking.HITrackingRegionProducer_cfi import *
0008 # Are the following values set to the same in every iteration? If yes,
0009 # why not making the change in HITrackingRegionProducer_cfi directly
0010 # once for all?
0011 hiRegitMuPixelPairStepTrackingRegions = HiTrackingRegionFactoryFromSTAMuonsEDProducer.clone(
0012     MuonSrc = "standAloneMuons:UpdatedAtVtx", # this is the same as default, why repeat?
0013     MuonTrackingRegionBuilder = dict(
0014         vertexCollection = "hiSelectedPixelVertex",
0015         UseVertex     = True,
0016         Phi_fixed     = True,
0017         Eta_fixed     = True,
0018         DeltaPhi      = 0.3,
0019         DeltaEta      = 0.2,
0020         # Ok, the following ones are specific to PixelPairStep
0021         Pt_min        = 1.0,
0022         DeltaR        = 0.01, # default = 0.2
0023         DeltaZ        = 0.09, # this give you the length
0024         Rescale_Dz    = 0.    # max(DeltaZ_Region,Rescale_Dz*vtx->zError())
0025     )
0026 )
0027 
0028 ###################################
0029 import RecoTracker.IterativeTracking.PixelPairStep_cff
0030 from RecoTracker.IterativeTracking.PixelPairStep_cff import pixelPairStepTrajectoryBuilder,pixelPairStepTrajectoryFilter,pixelPairStepTrajectoryFilterBase,pixelPairStepTrajectoryFilterInOut,pixelPairStepTrajectoryFilterShape,pixelPairStepChi2Est
0031 
0032 # NEW CLUSTERS (remove previously used clusters)
0033 hiRegitMuPixelPairStepClusters = RecoTracker.IterativeTracking.PixelPairStep_cff.pixelPairStepClusters.clone(
0034     trajectories          = "hiRegitMuInitialStepTracks",
0035     overrideTrkQuals      = 'hiRegitMuInitialStepSelector:hiRegitMuInitialStep',
0036     trackClassifier       = '',
0037     oldClusterRemovalInfo = "",
0038     TrackQuality          = 'tight'
0039 )
0040 
0041 
0042 # SEEDING LAYERS
0043 hiRegitMuPixelPairStepSeedLayers =  RecoTracker.IterativeTracking.PixelPairStep_cff.pixelPairStepSeedLayers.clone(
0044     BPix = dict(skipClusters = 'hiRegitMuPixelPairStepClusters'),
0045     FPix = dict(skipClusters = 'hiRegitMuPixelPairStepClusters')
0046 )
0047 
0048 # seeding
0049 hiRegitMuPixelPairStepHitDoublets = RecoTracker.IterativeTracking.PixelPairStep_cff.pixelPairStepHitDoublets.clone(
0050     seedingLayers   = "hiRegitMuPixelPairStepSeedLayers",
0051     trackingRegions = "hiRegitMuPixelPairStepTrackingRegions",
0052     clusterCheck    = "hiRegitMuClusterCheck",
0053 )
0054 
0055 hiRegitMuPixelPairStepSeeds     = RecoTracker.IterativeTracking.PixelPairStep_cff.pixelPairStepSeedsA.clone(
0056     seedingHitSets = "hiRegitMuPixelPairStepHitDoublets"
0057 )
0058 
0059 
0060 # building: feed the new-named seeds
0061 hiRegitMuPixelPairStepTrajectoryFilterBase = RecoTracker.IterativeTracking.PixelPairStep_cff.pixelPairStepTrajectoryFilterBase.clone(
0062     minPt                = 0.8,
0063     minimumNumberOfHits  = 6,
0064     minHitsMinPt         = 4
0065 )
0066 hiRegitMuPixelPairStepTrajectoryFilter = RecoTracker.IterativeTracking.PixelPairStep_cff.pixelPairStepTrajectoryFilter.clone(
0067     filters = cms.VPSet(
0068       cms.PSet( refToPSet_ = cms.string('hiRegitMuPixelPairStepTrajectoryFilterBase')),
0069       cms.PSet( refToPSet_ = cms.string('pixelPairStepTrajectoryFilterShape')))
0070 )
0071 
0072 hiRegitMuPixelPairStepTrajectoryBuilder = RecoTracker.IterativeTracking.PixelPairStep_cff.pixelPairStepTrajectoryBuilder.clone(
0073     trajectoryFilter = cms.PSet(
0074        refToPSet_ = cms.string('hiRegitMuPixelPairStepTrajectoryFilter')
0075        ),
0076     minNrOfHitsForRebuild = 6 #change from default 4
0077 )
0078 
0079 # trackign candidate
0080 hiRegitMuPixelPairStepTrackCandidates = RecoTracker.IterativeTracking.PixelPairStep_cff._pixelPairStepTrackCandidatesCkf.clone(
0081     src               = 'hiRegitMuPixelPairStepSeeds',
0082     clustersToSkip    = "hiRegitMuPixelPairStepClusters",
0083     maxNSeeds         = 1000000
0084 )
0085 
0086 # fitting: feed new-names
0087 hiRegitMuPixelPairStepTracks = RecoTracker.IterativeTracking.PixelPairStep_cff.pixelPairStepTracks.clone(
0088     AlgorithmName   = 'hiRegitMuPixelPairStep',
0089     src             = 'hiRegitMuPixelPairStepTrackCandidates',
0090     clustersToSkip  = cms.InputTag('hiRegitMuPixelPairStepClusters'),
0091 )
0092 
0093 
0094 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
0095 import RecoHI.HiTracking.hiMultiTrackSelector_cfi
0096 hiRegitMuPixelPairStepSelector = RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiMultiTrackSelector.clone(
0097     src            ='hiRegitMuPixelPairStepTracks',
0098     vertices       = "hiSelectedPixelVertex",
0099     useAnyMVA      = True,
0100     GBRForestLabel = 'HIMVASelectorIter6',
0101     GBRForestVars  = ['chi2perdofperlayer', 'dxyperdxyerror', 'dzperdzerror', 'nhits', 'nlayers', 'eta'],
0102     trackSelectors = cms.VPSet(
0103         RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
0104             name      = 'hiRegitMuPixelPairStepLoose',
0105             min_nhits = 8
0106         ), 
0107         RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone(
0108             name          = 'hiRegitMuPixelPairStepTight',
0109             preFilterName = 'hiRegitMuPixelPairStepLoose',
0110             min_nhits     = 8,
0111             useMVA        = True,
0112             minMVA        = -0.58
0113         ),
0114         RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone(
0115             name          = 'hiRegitMuPixelPairStep',
0116             preFilterName = 'hiRegitMuPixelPairStepTight',
0117             min_nhits     = 8,
0118             useMVA        = True,
0119             minMVA        = 0.77
0120         ),
0121     ) #end of vpset
0122 )
0123 from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1
0124 trackingPhase1.toModify(hiRegitMuPixelPairStepSelector, 
0125     useAnyMVA = False,
0126     trackSelectors= cms.VPSet(
0127         RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
0128             name      = 'hiRegitMuPixelPairStepLoose',
0129             min_nhits = 8
0130         ), 
0131         RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone(
0132             name          = 'hiRegitMuPixelPairStepTight',
0133             preFilterName = 'hiRegitMuPixelPairStepLoose',
0134             min_nhits     = 8,
0135             useMVA        = False,
0136             minMVA        = -0.58
0137         ),
0138         RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone(
0139             name          = 'hiRegitMuPixelPairStep',
0140             preFilterName = 'hiRegitMuPixelPairStepTight',
0141             min_nhits     = 8,
0142             useMVA        = False,
0143             minMVA        = 0.77
0144         ),
0145     ) #end of vpset
0146 )
0147 
0148 hiRegitMuonPixelPairStepTask = cms.Task(hiRegitMuPixelPairStepClusters,
0149                                         hiRegitMuPixelPairStepSeedLayers,
0150                                         hiRegitMuPixelPairStepTrackingRegions,
0151                                         hiRegitMuPixelPairStepHitDoublets,
0152                                         hiRegitMuPixelPairStepSeeds,
0153                                         hiRegitMuPixelPairStepTrackCandidates,
0154                                         hiRegitMuPixelPairStepTracks,
0155                                         hiRegitMuPixelPairStepSelector)
0156 hiRegitMuonPixelPairStep = cms.Sequence(hiRegitMuonPixelPairStepTask)