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 ################################################################################### 
0004 # pp iterative tracking modified for hiOffline reco (the vertex is the one reconstructed in HI)
0005 ################################### 4th step: large impact parameter tracking using mixed-triplet seeding
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 hiRegitMuMixedTripletStepTrackingRegionsA = 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 MixedTripletStep
0021         Pt_min        = 1.3,
0022         DeltaR        = 0.5, # default = 0.2
0023         DeltaZ        = 0.5, # this give you the length
0024         Rescale_Dz    = 4.,  # max(DeltaZ_Region,Rescale_Dz*vtx->zError())
0025     )
0026 )
0027 hiRegitMuMixedTripletStepTrackingRegionsB = hiRegitMuMixedTripletStepTrackingRegionsA.clone(
0028     MuonTrackingRegionBuilder = dict(Pt_min = 1.5)
0029 )
0030 
0031 ###################################
0032 import RecoTracker.IterativeTracking.MixedTripletStep_cff
0033 from RecoTracker.IterativeTracking.MixedTripletStep_cff import mixedTripletStepTrajectoryBuilder,mixedTripletStepClusterShapeHitFilter,mixedTripletStepTrajectoryCleanerBySharedHits,mixedTripletStepChi2Est
0034 
0035 # NEW CLUSTERS (remove previously used clusters)
0036 hiRegitMuMixedTripletStepClusters = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepClusters.clone(
0037     oldClusterRemovalInfo = "hiRegitMuPixelPairStepClusters",
0038     trajectories          = "hiRegitMuPixelPairStepTracks",
0039     overrideTrkQuals      = 'hiRegitMuPixelPairStepSelector:hiRegitMuPixelPairStep',
0040     trackClassifier       = '',
0041     TrackQuality          = 'tight'
0042 )
0043 
0044 
0045 # SEEDING LAYERS A
0046 hiRegitMuMixedTripletStepSeedLayersA =  RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepSeedLayersA.clone(
0047     BPix = dict(skipClusters = 'hiRegitMuMixedTripletStepClusters'),
0048     FPix = dict(skipClusters = 'hiRegitMuMixedTripletStepClusters'),
0049     TEC  = dict(skipClusters = 'hiRegitMuMixedTripletStepClusters')
0050 )
0051 # SEEDS A
0052 hiRegitMuMixedTripletStepHitDoubletsA = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepHitDoubletsA.clone(
0053     seedingLayers   = "hiRegitMuMixedTripletStepSeedLayersA",
0054     trackingRegions = "hiRegitMuMixedTripletStepTrackingRegionsA",
0055     clusterCheck    = "hiRegitMuClusterCheck",
0056 )
0057 hiRegitMuMixedTripletStepHitTripletsA = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepHitTripletsA.clone(
0058     doublets = "hiRegitMuMixedTripletStepHitDoubletsA"
0059 )
0060 hiRegitMuMixedTripletStepSeedsA = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepSeedsA.clone(
0061     seedingHitSets = "hiRegitMuMixedTripletStepHitTripletsA"
0062 )
0063 
0064 # SEEDING LAYERS B
0065 hiRegitMuMixedTripletStepSeedLayersB =  RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepSeedLayersB.clone(
0066     BPix = dict(skipClusters = 'hiRegitMuMixedTripletStepClusters'),
0067     TIB  = dict(skipClusters = 'hiRegitMuMixedTripletStepClusters')
0068 )
0069 
0070 hiRegitMuMixedTripletStepHitDoubletsB = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepHitDoubletsB.clone(
0071     seedingLayers   = "hiRegitMuMixedTripletStepSeedLayersB",
0072     trackingRegions = "hiRegitMuMixedTripletStepTrackingRegionsB",
0073     clusterCheck    = "hiRegitMuClusterCheck",
0074 )
0075 hiRegitMuMixedTripletStepHitTripletsB = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepHitTripletsB.clone(
0076     doublets = "hiRegitMuMixedTripletStepHitDoubletsB"
0077 )
0078 hiRegitMuMixedTripletStepSeedsB = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepSeedsA.clone(
0079     seedingHitSets = "hiRegitMuMixedTripletStepHitTripletsB"
0080 )
0081 
0082 # combine seeds
0083 hiRegitMuMixedTripletStepSeeds = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepSeeds.clone(
0084     seedCollections = [
0085         'hiRegitMuMixedTripletStepSeedsA',
0086         'hiRegitMuMixedTripletStepSeedsB',
0087         ]
0088 )
0089 
0090 # track building
0091 hiRegitMuMixedTripletStepTrajectoryFilter = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepTrajectoryFilter.clone(
0092     minPt               = 1.,
0093     minimumNumberOfHits = 6,
0094     minHitsMinPt        = 4
0095 )
0096 
0097  # after each new hit, apply pT cut for traj w/ at least minHitsMinPt = cms.int32(3),
0098 
0099 hiRegitMuMixedTripletStepTrajectoryBuilder = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepTrajectoryBuilder.clone(
0100     trajectoryFilter = cms.PSet(
0101        refToPSet_ = cms.string('hiRegitMuMixedTripletStepTrajectoryFilter')
0102        ),
0103     minNrOfHitsForRebuild = 6 #change from default 4
0104 )
0105 
0106 hiRegitMuMixedTripletStepTrackCandidates = RecoTracker.IterativeTracking.MixedTripletStep_cff._mixedTripletStepTrackCandidatesCkf.clone(
0107     src               = 'hiRegitMuMixedTripletStepSeeds',
0108     TrajectoryBuilderPSet = cms.PSet(
0109        refToPSet_ = cms.string('hiRegitMuMixedTripletStepTrajectoryBuilder')
0110        ),
0111     clustersToSkip    = 'hiRegitMuMixedTripletStepClusters', 
0112     maxNSeeds         = 1000000
0113 )
0114 
0115 # fitting: feed new-names
0116 hiRegitMuMixedTripletStepTracks  = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepTracks.clone(
0117     AlgorithmName = 'hiRegitMuMixedTripletStep',
0118     src           = 'hiRegitMuMixedTripletStepTrackCandidates',
0119 )
0120 
0121 # TRACK SELECTION AND QUALITY FLAG SETTING.
0122 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
0123 import RecoHI.HiTracking.hiMultiTrackSelector_cfi
0124 hiRegitMuMixedTripletStepSelector = RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiMultiTrackSelector.clone(
0125     src            = 'hiRegitMuMixedTripletStepTracks',
0126     vertices       = "hiSelectedPixelVertex",
0127     useAnyMVA      = True,
0128     GBRForestLabel = 'HIMVASelectorIter7',
0129     GBRForestVars  = ['chi2perdofperlayer', 'nhits', 'nlayers', 'eta'],
0130     trackSelectors = cms.VPSet(
0131         RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
0132            name      = 'hiRegitMuMixedTripletStepLoose',
0133            min_nhits = 8
0134         ),
0135         RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone(
0136             name      = 'hiRegitMuMixedTripletStepTight',
0137             preFilterName = 'hiRegitMuMixedTripletStepLoose',
0138             min_nhits = 8,
0139             useMVA    = True,
0140             minMVA    = -0.2
0141         ),
0142         RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone(
0143             name      = 'hiRegitMuMixedTripletStep',
0144             preFilterName = 'hiRegitMuMixedTripletStepTight',
0145             min_nhits = 8,
0146             useMVA    = True,
0147             minMVA    = -0.09
0148         )
0149     ) #end of vpset
0150 ) #end of clone
0151 from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1
0152 trackingPhase1.toModify(hiRegitMuMixedTripletStepSelector, 
0153     useAnyMVA = False,
0154     trackSelectors= cms.VPSet(
0155         RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
0156            name      = 'hiRegitMuMixedTripletStepLoose',
0157            min_nhits = 8
0158         ),
0159         RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone(
0160             name      = 'hiRegitMuMixedTripletStepTight',
0161             preFilterName = 'hiRegitMuMixedTripletStepLoose',
0162             min_nhits = 8,
0163             useMVA    = False,
0164             minMVA    = -0.2
0165         ),
0166         RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone(
0167             name      = 'hiRegitMuMixedTripletStep',
0168             preFilterName = 'hiRegitMuMixedTripletStepTight',
0169             min_nhits = 8,
0170             useMVA    = False,
0171             minMVA    = -0.09
0172         )
0173     ) #end of vpset
0174 )
0175 
0176 hiRegitMuonMixedTripletStepTask = cms.Task(hiRegitMuMixedTripletStepClusters,
0177                                          hiRegitMuMixedTripletStepSeedLayersA,
0178                                          hiRegitMuMixedTripletStepTrackingRegionsA,
0179                                          hiRegitMuMixedTripletStepHitDoubletsA,
0180                                          hiRegitMuMixedTripletStepHitTripletsA,
0181                                          hiRegitMuMixedTripletStepSeedsA,
0182                                          hiRegitMuMixedTripletStepSeedLayersB,
0183                                          hiRegitMuMixedTripletStepTrackingRegionsB,
0184                                          hiRegitMuMixedTripletStepHitDoubletsB,
0185                                          hiRegitMuMixedTripletStepHitTripletsB,
0186                                          hiRegitMuMixedTripletStepSeedsB,
0187                                          hiRegitMuMixedTripletStepSeeds,
0188                                          hiRegitMuMixedTripletStepTrackCandidates,
0189                                          hiRegitMuMixedTripletStepTracks,
0190                                          hiRegitMuMixedTripletStepSelector)
0191 hiRegitMuonMixedTripletStep = cms.Sequence(hiRegitMuonMixedTripletStepTask)