Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2022-01-10 06:14:10

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 ################################### 3rd step: low-pT and displaced tracks from pixel triplets
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 hiRegitMuDetachedTripletStepTrackingRegions = 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 DetachedTripletStep
0021         Pt_min        = 0.9,
0022         DeltaR        = 2.0, # default = 0.2
0023         DeltaZ        = 2.0, # this give you the length
0024         Rescale_Dz    = 4.,  # max(DeltaZ_Region,Rescale_Dz*vtx->zError())
0025     )
0026 )
0027 
0028 ###################################
0029 import RecoTracker.IterativeTracking.DetachedTripletStep_cff
0030 
0031 # NEW CLUSTERS (remove previously used clusters)
0032 from RecoLocalTracker.SubCollectionProducers.trackClusterRemover_cfi import trackClusterRemover as _trackClusterRemover
0033 hiRegitMuDetachedTripletStepClusters = _trackClusterRemover.clone(
0034     maxChi2                                  = 9.0,
0035     pixelClusters                            = "siPixelClusters",
0036     stripClusters                            = "siStripClusters",
0037     trajectories                     = "hiRegitMuPixelLessStepTracks",
0038     overrideTrkQuals                 = 'hiRegitMuPixelLessStepSelector:hiRegitMuPixelLessStep',
0039     TrackQuality                             = 'tight',
0040     trackClassifier                  = '',
0041     minNumberOfLayersWithMeasBeforeFiltering = 0
0042 )
0043 
0044 
0045 # SEEDING LAYERS
0046 hiRegitMuDetachedTripletStepSeedLayers =  RecoTracker.IterativeTracking.DetachedTripletStep_cff.detachedTripletStepSeedLayers.clone(
0047     BPix = dict( skipClusters = 'hiRegitMuDetachedTripletStepClusters'),
0048     FPix = dict( skipClusters = 'hiRegitMuDetachedTripletStepClusters')
0049 )
0050 
0051 # seeding
0052 hiRegitMuDetachedTripletStepHitDoublets = RecoTracker.IterativeTracking.DetachedTripletStep_cff.detachedTripletStepHitDoublets.clone(
0053     seedingLayers   = "hiRegitMuDetachedTripletStepSeedLayers",
0054     trackingRegions = "hiRegitMuDetachedTripletStepTrackingRegions",
0055     clusterCheck    = "hiRegitMuClusterCheck",
0056 )
0057 
0058 hiRegitMuDetachedTripletStepHitTriplets = RecoTracker.IterativeTracking.DetachedTripletStep_cff.detachedTripletStepHitTriplets.clone(
0059     doublets = "hiRegitMuDetachedTripletStepHitDoublets"
0060 )
0061 
0062 hiRegitMuDetachedTripletStepSeeds = RecoTracker.IterativeTracking.DetachedTripletStep_cff.detachedTripletStepSeeds.clone(
0063     seedingHitSets = "hiRegitMuDetachedTripletStepHitTriplets"
0064 )
0065 from RecoPixelVertexing.PixelLowPtUtilities.ClusterShapeHitFilterESProducer_cfi import *
0066 
0067 
0068 # building: feed the new-named seeds
0069 hiRegitMuDetachedTripletStepTrajectoryFilterBase = RecoTracker.IterativeTracking.DetachedTripletStep_cff.detachedTripletStepTrajectoryFilterBase.clone(
0070     minPt = 0.8 # after each new hit, apply pT cut for traj w/ at least minHitsMinPt = 3,
0071 )
0072 
0073 hiRegitMuDetachedTripletStepTrajectoryFilter = RecoTracker.IterativeTracking.DetachedTripletStep_cff.detachedTripletStepTrajectoryFilter.clone(
0074     filters = cms.VPSet(
0075       cms.PSet( refToPSet_ = cms.string('hiRegitMuDetachedTripletStepTrajectoryFilterBase')),
0076       cms.PSet( refToPSet_ = cms.string('detachedTripletStepTrajectoryFilterShape')))
0077 )
0078 
0079 hiRegitMuDetachedTripletStepTrajectoryBuilder = RecoTracker.IterativeTracking.DetachedTripletStep_cff.detachedTripletStepTrajectoryBuilder.clone(
0080     clustersToSkip = cms.InputTag('hiRegitMuDetachedTripletStepClusters')
0081 )
0082 
0083 hiRegitMuDetachedTripletStepTrackCandidates = RecoTracker.IterativeTracking.DetachedTripletStep_cff._detachedTripletStepTrackCandidatesCkf.clone(
0084     src               = 'hiRegitMuDetachedTripletStepSeeds',
0085     clustersToSkip    = 'hiRegitMuDetachedTripletStepClusters'
0086 )
0087 
0088 # fitting: feed new-names
0089 hiRegitMuDetachedTripletStepTracks = RecoTracker.IterativeTracking.DetachedTripletStep_cff.detachedTripletStepTracks.clone(
0090     AlgorithmName = 'hiRegitMuDetachedTripletStep',
0091     src = 'hiRegitMuDetachedTripletStepTrackCandidates'
0092 )
0093 
0094 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
0095 import RecoHI.HiTracking.hiMultiTrackSelector_cfi
0096 hiRegitMuDetachedTripletStepSelector = RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiMultiTrackSelector.clone(
0097     src            = 'hiRegitMuDetachedTripletStepTracks',
0098     vertices       = "hiSelectedPixelVertex",
0099     useAnyMVA      = True,
0100     GBRForestLabel = 'HIMVASelectorIter7',
0101     GBRForestVars  = ['chi2perdofperlayer', 'nhits', 'nlayers', 'eta'],
0102     trackSelectors = cms.VPSet(
0103         RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
0104             name      = 'hiRegitMuDetachedTripletStepLoose',
0105             min_nhits = 8
0106         ),
0107         RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone(
0108             name          = 'hiRegitMuDetachedTripletStepTight',
0109             preFilterName = 'hiRegitMuDetachedTripletStepLoose',
0110             min_nhits     = 8,
0111             useMVA        = True,
0112             minMVA        = -0.2
0113         ),
0114         RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone(
0115             name          = 'hiRegitMuDetachedTripletStep',
0116             preFilterName = 'hiRegitMuDetachedTripletStepTight',
0117             min_nhits     = 8,
0118             useMVA        = True,
0119             minMVA        = -0.09
0120         )
0121     ) #end of vpset
0122 )
0123 from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1
0124 trackingPhase1.toModify(hiRegitMuDetachedTripletStepSelector, 
0125         useAnyMVA = False,
0126         trackSelectors= cms.VPSet(
0127             RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
0128                 name      = 'hiRegitMuDetachedTripletStepLoose',
0129                 min_nhits = 8
0130             ),
0131             RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone(
0132                 name          = 'hiRegitMuDetachedTripletStepTight',
0133                 preFilterName = 'hiRegitMuDetachedTripletStepLoose',
0134                 min_nhits     = 8,
0135                 useMVA        = False,
0136                 minMVA        = -0.2
0137             ),
0138             RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone(
0139                 name          = 'hiRegitMuDetachedTripletStep',
0140                 preFilterName = 'hiRegitMuDetachedTripletStepTight',
0141                 min_nhits     = 8,
0142                 useMVA        = False,
0143                 minMVA        = -0.09
0144             )
0145         )
0146 )
0147 
0148 hiRegitMuonDetachedTripletStepTask = cms.Task(hiRegitMuDetachedTripletStepClusters,
0149                                               hiRegitMuDetachedTripletStepSeedLayers,
0150                                               hiRegitMuDetachedTripletStepTrackingRegions,
0151                                               hiRegitMuDetachedTripletStepHitDoublets,
0152                                               hiRegitMuDetachedTripletStepHitTriplets,
0153                                               hiRegitMuDetachedTripletStepSeeds,
0154                                               hiRegitMuDetachedTripletStepTrackCandidates,
0155                                               hiRegitMuDetachedTripletStepTracks,
0156                                               hiRegitMuDetachedTripletStepSelector
0157                                               )
0158 hiRegitMuonDetachedTripletStep = cms.Sequence(hiRegitMuonDetachedTripletStepTask)