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 ################################### 0st step:pixel-triplet seeding, high-pT;
0005 from RecoHI.HiTracking.HITrackingRegionProducer_cfi import *
0006 # Are the following values set to the same in every iteration? If yes,
0007 # why not making the change in HITrackingRegionProducer_cfi directly
0008 # once for all?
0009 hiRegitMuInitialStepTrackingRegions = HiTrackingRegionFactoryFromSTAMuonsEDProducer.clone(
0010     MuonSrc = "standAloneMuons:UpdatedAtVtx", # this is the same as default, why repeat?
0011     MuonTrackingRegionBuilder = dict(
0012         vertexCollection = "hiSelectedPixelVertex",
0013         UseVertex     = True,
0014         Phi_fixed     = True,
0015         Eta_fixed     = True,
0016         DeltaPhi      = 0.3,
0017         DeltaEta      = 0.2,
0018         # Ok, the following ones are specific to InitialStep
0019         Pt_min          = 3.0,
0020         DeltaR          = 1, # default = 0.2
0021         DeltaZ          = 1, # this give you the length
0022         Rescale_Dz      = 4., # max(DeltaZ_Region,Rescale_Dz*vtx->zError())
0023     )
0024 )
0025 
0026 ###################################  
0027 import RecoTracker.IterativeTracking.InitialStep_cff
0028 from RecoTracker.IterativeTracking.InitialStep_cff import initialStepTrajectoryFilterShape,initialStepChi2Est
0029 
0030 # SEEDING LAYERS
0031 hiRegitMuInitialStepSeedLayers =  RecoTracker.IterativeTracking.InitialStep_cff.initialStepSeedLayers.clone()
0032 
0033 # seeding
0034 hiRegitMuInitialStepHitDoublets = RecoTracker.IterativeTracking.InitialStep_cff.initialStepHitDoublets.clone(
0035     seedingLayers = "hiRegitMuInitialStepSeedLayers",
0036     trackingRegions = "hiRegitMuInitialStepTrackingRegions",
0037     clusterCheck = "hiRegitMuClusterCheck"
0038 )
0039 from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1
0040 trackingPhase1.toModify(hiRegitMuInitialStepHitDoublets, layerPairs = [0])
0041 
0042 hiRegitMuInitialStepHitTriplets = RecoTracker.IterativeTracking.InitialStep_cff.initialStepHitTriplets.clone(
0043     doublets = "hiRegitMuInitialStepHitDoublets"
0044 )
0045 hiRegitMuInitialStepSeeds = RecoTracker.IterativeTracking.InitialStep_cff.initialStepSeeds.clone(
0046     seedingHitSets = "hiRegitMuInitialStepHitTriplets"
0047 )
0048 
0049 # building: feed the new-named seeds
0050 hiRegitMuInitialStepTrajectoryFilterBase = RecoTracker.IterativeTracking.InitialStep_cff.initialStepTrajectoryFilterBase.clone(
0051     minPt = 2.5 # after each new hit, apply pT cut for traj w/ at least minHitsMinPt = cms.int32(3),
0052 )
0053 hiRegitMuInitialStepTrajectoryFilter = RecoTracker.IterativeTracking.InitialStep_cff.initialStepTrajectoryFilter.clone(
0054     filters = cms.VPSet(
0055       cms.PSet( refToPSet_ = cms.string('hiRegitMuInitialStepTrajectoryFilterBase')),
0056       cms.PSet( refToPSet_ = cms.string('initialStepTrajectoryFilterShape')))
0057 )
0058 
0059 hiRegitMuInitialStepTrajectoryBuilder = RecoTracker.IterativeTracking.InitialStep_cff.initialStepTrajectoryBuilder.clone(
0060     trajectoryFilter = cms.PSet(
0061        refToPSet_ = cms.string('hiRegitMuInitialStepTrajectoryFilter')
0062        ),
0063 )
0064 
0065 # track candidates
0066 hiRegitMuInitialStepTrackCandidates = RecoTracker.IterativeTracking.InitialStep_cff._initialStepTrackCandidatesCkf.clone(
0067     src               = 'hiRegitMuInitialStepSeeds',
0068     TrajectoryBuilderPSet = cms.PSet(
0069        refToPSet_ = cms.string('hiRegitMuInitialStepTrajectoryBuilder')
0070        ),
0071     maxNSeeds         = 1000000
0072 )
0073 
0074 # fitting: feed new-names
0075 hiRegitMuInitialStepTracks = RecoTracker.IterativeTracking.InitialStep_cff.initialStepTracks.clone(
0076     AlgorithmName = 'hiRegitMuInitialStep',
0077     src           = 'hiRegitMuInitialStepTrackCandidates'
0078 )
0079 
0080 
0081 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
0082 import RecoHI.HiTracking.hiMultiTrackSelector_cfi
0083 hiRegitMuInitialStepSelector = RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiMultiTrackSelector.clone(
0084     src            ='hiRegitMuInitialStepTracks',
0085     vertices       = "hiSelectedPixelVertex",
0086     useAnyMVA      = True,
0087     GBRForestLabel = 'HIMVASelectorIter4',
0088     GBRForestVars  = ['chi2perdofperlayer', 'dxyperdxyerror', 'dzperdzerror', 'nhits', 'nlayers', 'eta'],
0089     trackSelectors = cms.VPSet(
0090         RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
0091            name = 'hiRegitMuInitialStepLoose',
0092            min_nhits = 8
0093         ), #end of pset
0094         RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone(
0095             name = 'hiRegitMuInitialStepTight',
0096             preFilterName = 'hiRegitMuInitialStepLoose',
0097             min_nhits = 8,
0098             useMVA = True,
0099             minMVA = -0.38
0100         ),
0101         RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone(
0102             name = 'hiRegitMuInitialStep',
0103             preFilterName = 'hiRegitMuInitialStepTight',
0104             min_nhits = 8,
0105             useMVA = True,
0106             minMVA = -0.77
0107         ),
0108     ) #end of vpset
0109 )
0110 from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1
0111 trackingPhase1.toModify(hiRegitMuInitialStepSelector, 
0112     useAnyMVA = False,
0113     trackSelectors= cms.VPSet(
0114         RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
0115            name = 'hiRegitMuInitialStepLoose',
0116            min_nhits = 8
0117         ), #end of pset
0118         RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone(
0119             name = 'hiRegitMuInitialStepTight',
0120             preFilterName = 'hiRegitMuInitialStepLoose',
0121             min_nhits = 8,
0122             useMVA = False,
0123             minMVA = -0.38
0124         ),
0125         RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone(
0126             name = 'hiRegitMuInitialStep',
0127             preFilterName = 'hiRegitMuInitialStepTight',
0128             min_nhits = 8,
0129             useMVA = False,
0130             minMVA = -0.77
0131         ),
0132     )
0133 )
0134 
0135 hiRegitMuonInitialStepTask = cms.Task(hiRegitMuInitialStepSeedLayers,
0136                                       hiRegitMuInitialStepTrackingRegions,
0137                                       hiRegitMuInitialStepHitDoublets,
0138                                       hiRegitMuInitialStepHitTriplets,
0139                                       hiRegitMuInitialStepSeeds,
0140                                       hiRegitMuInitialStepTrackCandidates,
0141                                       hiRegitMuInitialStepTracks,
0142                                       hiRegitMuInitialStepSelector)
0143 hiRegitMuonInitialStep = cms.Sequence(hiRegitMuonInitialStepTask)