Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-17 11:18:13

0001 import FWCore.ParameterSet.Config as cms
0002 
0003 # pp iterative tracking modified for hiOffline reco (the vertex is the one reconstructed in HI)
0004 ################################### 5th step: large impact parameter tracking using TIB/TID/TEC stereo layer seeding
0005 
0006 from RecoHI.HiTracking.HITrackingRegionProducer_cfi import *
0007 # Are the following values set to the same in every iteration? If yes,
0008 # why not making the change in HITrackingRegionProducer_cfi directly
0009 # once for all?
0010 hiRegitMuPixelLessStepTrackingRegions = HiTrackingRegionFactoryFromSTAMuonsEDProducer.clone(
0011     MuonSrc = "standAloneMuons:UpdatedAtVtx", # this is the same as default, why repeat?
0012     MuonTrackingRegionBuilder = dict(
0013         vertexCollection = "hiSelectedPixelVertex",
0014         UseVertex     = True,
0015         Phi_fixed     = True,
0016         Eta_fixed     = True,
0017         # Ok, the following ones are specific to PixelLessStep
0018         DeltaPhi      = 0.2,
0019         DeltaEta      = 0.1,
0020         Pt_min        = 2.0,
0021         DeltaR        = 0.2, # default = 0.2
0022         DeltaZ        = 0.2, # this give you the length
0023         Rescale_Dz    = 4.,  # max(DeltaZ_Region,Rescale_Dz*vtx->zError())
0024     )
0025 )
0026 
0027 ###################################
0028 import RecoTracker.IterativeTracking.PixelLessStep_cff
0029 from RecoTracker.IterativeTracking.PixelLessStep_cff import pixelLessStepTrajectoryBuilder,pixelLessStepClusterShapeHitFilter,pixelLessStepTrajectoryCleanerBySharedHits,pixelLessStepChi2Est
0030 
0031 # remove previously used clusters
0032 hiRegitMuPixelLessStepClusters = RecoTracker.IterativeTracking.PixelLessStep_cff.pixelLessStepClusters.clone(
0033     oldClusterRemovalInfo = "hiRegitMuMixedTripletStepClusters",
0034     trajectories          = "hiRegitMuMixedTripletStepTracks",
0035     overrideTrkQuals      = 'hiRegitMuMixedTripletStepSelector:hiRegitMuMixedTripletStep',
0036     trackClassifier       = '',
0037     TrackQuality          = 'tight'
0038 )
0039 
0040 # SEEDING LAYERS
0041 hiRegitMuPixelLessStepSeedLayers =  RecoTracker.IterativeTracking.PixelLessStep_cff.pixelLessStepSeedLayers.clone(
0042     TIB  = dict(skipClusters = 'hiRegitMuPixelLessStepClusters'),
0043     TID  = dict(skipClusters = 'hiRegitMuPixelLessStepClusters'),
0044     TEC  = dict(skipClusters = 'hiRegitMuPixelLessStepClusters'),
0045     MTIB = dict(skipClusters = 'hiRegitMuPixelLessStepClusters'),
0046     MTID = dict(skipClusters = 'hiRegitMuPixelLessStepClusters'),
0047     MTEC = dict(skipClusters = 'hiRegitMuPixelLessStepClusters')
0048 )
0049 
0050 # seeding
0051 hiRegitMuPixelLessStepHitDoublets = RecoTracker.IterativeTracking.PixelLessStep_cff.pixelLessStepHitDoublets.clone(
0052     seedingLayers   = "hiRegitMuPixelLessStepSeedLayers",
0053     trackingRegions = "hiRegitMuPixelLessStepTrackingRegions",
0054     clusterCheck    = "hiRegitMuClusterCheck",
0055 )
0056 hiRegitMuPixelLessStepHitTriplets = RecoTracker.IterativeTracking.PixelLessStep_cff.pixelLessStepHitTriplets.clone(
0057     doublets = "hiRegitMuPixelLessStepHitDoublets"
0058 )
0059 hiRegitMuPixelLessStepSeeds = RecoTracker.IterativeTracking.PixelLessStep_cff.pixelLessStepSeeds.clone(
0060     seedingHitSets = "hiRegitMuPixelLessStepHitTriplets"
0061 )
0062 
0063 
0064 # building: feed the new-named seeds
0065 hiRegitMuPixelLessStepTrajectoryFilter = RecoTracker.IterativeTracking.PixelLessStep_cff.pixelLessStepTrajectoryFilter.clone(
0066     minPt                = 1.7,
0067     minimumNumberOfHits  = 6,
0068     minHitsMinPt         = 4
0069 )
0070 hiRegitMuPixelLessStepTrajectoryBuilder = RecoTracker.IterativeTracking.PixelLessStep_cff.pixelLessStepTrajectoryBuilder.clone(
0071     trajectoryFilter = cms.PSet(
0072        refToPSet_ = cms.string('hiRegitMuPixelLessStepTrajectoryFilter')
0073        ),
0074     minNrOfHitsForRebuild = 6 #change from default 4
0075 )
0076 
0077 hiRegitMuPixelLessStepTrackCandidates =  RecoTracker.IterativeTracking.PixelLessStep_cff._pixelLessStepTrackCandidatesCkf.clone(
0078     src               = 'hiRegitMuPixelLessStepSeeds',
0079     TrajectoryBuilderPSet = cms.PSet(
0080        refToPSet_ = cms.string('hiRegitMuPixelLessStepTrajectoryBuilder')
0081        ),
0082     clustersToSkip    = 'hiRegitMuPixelLessStepClusters',
0083     maxNSeeds         = 1000000
0084 )
0085 
0086 # fitting: feed new-names
0087 hiRegitMuPixelLessStepTracks = RecoTracker.IterativeTracking.PixelLessStep_cff.pixelLessStepTracks.clone(
0088     AlgorithmName = 'hiRegitMuPixelLessStep',
0089     src           = 'hiRegitMuPixelLessStepTrackCandidates'
0090 )
0091 
0092 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
0093 import RecoHI.HiTracking.hiMultiTrackSelector_cfi
0094 hiRegitMuPixelLessStepSelector = RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiMultiTrackSelector.clone(
0095     src            = 'hiRegitMuPixelLessStepTracks',
0096     vertices       = "hiSelectedPixelVertex",
0097     useAnyMVA      = True,
0098     GBRForestLabel = 'HIMVASelectorIter7',
0099     GBRForestVars  = ['chi2perdofperlayer', 'nhits', 'nlayers', 'eta'],
0100     trackSelectors = cms.VPSet(  
0101         RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
0102             name      = 'hiRegitMuPixelLessStepLoose',
0103             min_nhits = 8
0104         ),
0105         RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone(
0106             name          = 'hiRegitMuPixelLessStepTight',
0107             preFilterName = 'hiRegitMuPixelLessStepLoose',
0108             min_nhits     = 8,
0109             useMVA        = True,
0110             minMVA        = -0.2
0111         ),
0112         RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone(
0113             name          = 'hiRegitMuPixelLessStep',
0114             preFilterName = 'hiRegitMuPixelLessStepTight',
0115             min_nhits     = 8,
0116             useMVA        = True,
0117             minMVA        = -0.09
0118         ),
0119     ) #end of vpset
0120 )
0121 from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1
0122 trackingPhase1.toModify(hiRegitMuPixelLessStepSelector, 
0123     useAnyMVA = False,
0124     trackSelectors= cms.VPSet(
0125         RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
0126             name      = 'hiRegitMuPixelLessStepLoose',
0127             min_nhits = 8
0128         ),
0129         RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone(
0130             name          = 'hiRegitMuPixelLessStepTight',
0131             preFilterName = 'hiRegitMuPixelLessStepLoose',
0132             min_nhits     = 8,
0133             useMVA        = False,
0134             minMVA        = -0.2
0135         ),
0136         RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone(
0137             name          = 'hiRegitMuPixelLessStep',
0138             preFilterName = 'hiRegitMuPixelLessStepTight',
0139             min_nhits     = 8,
0140             useMVA        = False,
0141             minMVA        = -0.09
0142         ),
0143     ) #end of vpset
0144 )
0145 
0146 hiRegitMuonPixelLessStepTask = cms.Task(hiRegitMuPixelLessStepClusters,
0147                                         hiRegitMuPixelLessStepSeedLayers,
0148                                         hiRegitMuPixelLessStepTrackingRegions,
0149                                         hiRegitMuPixelLessStepHitDoublets,
0150                                         hiRegitMuPixelLessStepHitTriplets,
0151                                         hiRegitMuPixelLessStepSeeds,
0152                                         hiRegitMuPixelLessStepTrackCandidates,
0153                                         hiRegitMuPixelLessStepTracks,
0154                                         hiRegitMuPixelLessStepSelector)
0155 hiRegitMuonPixelLessStep = cms.Sequence(hiRegitMuonPixelLessStepTask)