Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 from __future__ import absolute_import
0002 import FWCore.ParameterSet.Config as cms
0003 from RecoTracker.IterativeTracking.MixedTripletStep_cff import mixedTripletStepSeedLayersA,mixedTripletStepSeedLayersB,mixedTripletStepHitDoubletsA,mixedTripletStepHitDoubletsB,mixedTripletStepPropagator,mixedTripletStepPropagatorOpposite,mixedTripletStepTracks,mixedTripletStepHitTripletsA,mixedTripletStepSeedsA,mixedTripletStepHitTripletsB,mixedTripletStepSeedsB,mixedTripletStepSeeds
0004 from .HIPixelTripletSeeds_cff import *
0005 from .HIPixel3PrimTracks_cfi import *
0006 
0007 #cluster remover
0008 hiMixedTripletStepClusters = cms.EDProducer("HITrackClusterRemover",
0009      clusterLessSolution = cms.bool(True),
0010      trajectories = cms.InputTag("hiPixelPairGlobalPrimTracks"),
0011      overrideTrkQuals = cms.InputTag('hiPixelPairStepSelector','hiPixelPairStep'),
0012      TrackQuality = cms.string('highPurity'),
0013      minNumberOfLayersWithMeasBeforeFiltering = cms.int32(0),
0014      pixelClusters = cms.InputTag("siPixelClusters"),
0015      stripClusters = cms.InputTag("siStripClusters"),
0016      Common = cms.PSet(
0017          maxChi2 = cms.double(9.0),
0018      ),
0019      Strip = cms.PSet(
0020         #Yen-Jie's mod to preserve merged clusters
0021         maxSize = cms.uint32(2),
0022         maxChi2 = cms.double(9.0)
0023      )
0024 )
0025 
0026 # SEEDING LAYERS
0027 mixedTripletStepSeedLayersA.layerList = ['BPix1+BPix2+BPix3', 'BPix1+BPix2+FPix1_pos', 'BPix1+BPix2+FPix1_neg', 
0028                                          'BPix1+FPix1_pos+FPix2_pos', 'BPix1+FPix1_neg+FPix2_neg', 
0029                                          'BPix2+FPix1_pos+FPix2_pos', 'BPix2+FPix1_neg+FPix2_neg']
0030 mixedTripletStepSeedLayersA.BPix.skipClusters = 'hiMixedTripletStepClusters'
0031 mixedTripletStepSeedLayersA.FPix.skipClusters = 'hiMixedTripletStepClusters'
0032 mixedTripletStepSeedLayersA.TEC.skipClusters = 'hiMixedTripletStepClusters'
0033 
0034 # TrackingRegion
0035 from RecoTracker.TkTrackingRegions.globalTrackingRegionWithVertices_cfi import globalTrackingRegionWithVertices as _globalTrackingRegionWithVertices
0036 hiMixedTripletStepTrackingRegionsA = _globalTrackingRegionWithVertices.clone(RegionPSet=dict(
0037      VertexCollection = "hiSelectedPixelVertex",
0038      fixedError = 3.75,#15.0
0039      ptMin = 0.4,
0040      originRadius = 1.5,
0041      originRScaling4BigEvts = cms.bool(True),
0042      halfLengthScaling4BigEvts = cms.bool(False),
0043      ptMinScaling4BigEvts = cms.bool(True),
0044      minOriginR = 0,
0045      minHalfLength = 0,
0046      maxPtMin = 0.7,
0047      scalingStartNPix = 20000,
0048      scalingEndNPix = 35000     
0049 ))
0050 
0051 # seeding
0052 mixedTripletStepHitDoubletsA.clusterCheck = ""
0053 mixedTripletStepHitDoubletsA.trackingRegions = "hiMixedTripletStepTrackingRegionsA"
0054 
0055 # SEEDING LAYERS
0056 mixedTripletStepSeedLayersB.BPix.skipClusters = 'hiMixedTripletStepClusters'
0057 mixedTripletStepSeedLayersB.TIB.skipClusters = 'hiMixedTripletStepClusters'
0058 
0059 hiMixedTripletStepTrackingRegionsB = hiMixedTripletStepTrackingRegionsA.clone(RegionPSet=dict(
0060      originRadius = 1.0,
0061 ))
0062 
0063 
0064 # seeding
0065 mixedTripletStepHitDoubletsB.clusterCheck = ""
0066 mixedTripletStepHitDoubletsB.trackingRegions = "hiMixedTripletStepTrackingRegionsB"
0067 
0068 # QUALITY CUTS DURING TRACK BUILDING
0069 from RecoTracker.IterativeTracking.MixedTripletStep_cff import mixedTripletStepTrajectoryFilter
0070 mixedTripletStepTrajectoryFilter.minimumNumberOfHits = 5
0071 mixedTripletStepTrajectoryFilter.minPt = 0.4
0072 mixedTripletStepPropagator.ptMin = 0.4
0073 mixedTripletStepPropagatorOpposite.ptMin = 0.4
0074 
0075 # MAKING OF TRACK CANDIDATES
0076 from RecoTracker.IterativeTracking.MixedTripletStep_cff import _mixedTripletStepTrackCandidatesCkf
0077 mixedTripletStepTrackCandidates = _mixedTripletStepTrackCandidatesCkf.clone(clustersToSkip = 'hiMixedTripletStepClusters')
0078 
0079 # TRACK FITTING
0080 hiMixedTripletStepTracks = mixedTripletStepTracks.clone()
0081 
0082 # Final selection
0083 import RecoHI.HiTracking.hiMultiTrackSelector_cfi
0084 hiMixedTripletStepSelector = RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiMultiTrackSelector.clone(
0085     src = 'hiMixedTripletStepTracks',
0086     useAnyMVA = False,
0087     GBRForestLabel = 'HIMVASelectorIter11',
0088     GBRForestVars = ['chi2perdofperlayer', 'nhits', 'nlayers', 'eta'],
0089     trackSelectors = cms.VPSet(
0090         RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiLooseMTS.clone(
0091             name = 'hiMixedTripletStepLoose',
0092             applyAdaptedPVCuts = False,
0093             useMVA = False,
0094         ), #end of pset
0095         RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone(
0096             name = 'hiMixedTripletStepTight',
0097             preFilterName = 'hiMixedTripletStepLoose',
0098             applyAdaptedPVCuts = False,
0099             useMVA = False,
0100             minMVA = -0.2
0101         ),
0102         RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone(
0103             name = 'hiMixedTripletStep',
0104             preFilterName = 'hiMixedTripletStepTight',
0105             applyAdaptedPVCuts = False,
0106             useMVA = False,
0107             minMVA = -0.09
0108         ),
0109     ) #end of vpset
0110 ) #end of clone
0111 
0112 import RecoTracker.FinalTrackSelectors.trackListMerger_cfi
0113 hiMixedTripletStepQual = RecoTracker.FinalTrackSelectors.trackListMerger_cfi.trackListMerger.clone(
0114     TrackProducers = ['hiMixedTripletStepTracks'],
0115     hasSelector = [1],
0116     selectedTrackQuals = ["hiMixedTripletStepSelector:hiMixedTripletStep"],
0117     copyExtras = True,
0118     makeReKeyedSeeds = cms.untracked.bool(False),
0119 )
0120 
0121 hiMixedTripletStepTask = cms.Task(
0122                                 hiMixedTripletStepClusters,
0123                                 mixedTripletStepSeedLayersA,
0124                                 hiMixedTripletStepTrackingRegionsA,
0125                                 mixedTripletStepHitDoubletsA,
0126                                 mixedTripletStepHitTripletsA,
0127                                 mixedTripletStepSeedsA,
0128                                 mixedTripletStepSeedLayersB,
0129                                 hiMixedTripletStepTrackingRegionsB,
0130                                 mixedTripletStepHitDoubletsB,
0131                                 mixedTripletStepHitTripletsB,
0132                                 mixedTripletStepSeedsB,
0133                                 mixedTripletStepSeeds,
0134                                 mixedTripletStepTrackCandidates,
0135                                 hiMixedTripletStepTracks,
0136                                 hiMixedTripletStepSelector,
0137                                 hiMixedTripletStepQual)
0138 hiMixedTripletStep = cms.Sequence(hiMixedTripletStepTask)