# Although InitialStepPreSplitting is not really part of LowPU/Run1/Phase1PU70
# tracking, we use it to get siPixelClusters and siPixelRecHits
# collections for non-splitted pixel clusters. All modules before
# iterTracking sequence use siPixelClustersPreSplitting and
# siPixelRecHitsPreSplitting for that purpose.
#
# If siPixelClusters would be defined in
# RecoLocalTracker.Configuration.RecoLocalTracker_cff, we would have a
# situation where
# - LowPU/Phase1PU70 has siPixelClusters defined in RecoLocalTracker_cff
# - everything else has siPixelClusters defined here
# and this leads to a mess. The way it is done here we have only
# one place (within Reconstruction_cff) where siPixelClusters
# module is defined.
from RecoLocalTracker.SiPixelClusterizer.SiPixelClusterizer_cfi import siPixelClusters as _siPixelClusters
from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU
trackingLowPU.toReplaceWith(siPixelClusters, _siPixelClusters)
from Configuration.Eras.Modifier_trackingPhase1PU70_cff import trackingPhase1PU70
trackingPhase1PU70.toReplaceWith(siPixelClusters, _siPixelClusters)
from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140
trackingPhase2PU140.toReplaceWith(siPixelClusters, _siPixelClusters)
_InitialStepPreSplitting_LowPU_Phase1PU70 = cms.Sequence(
    siPixelClusters + siPixelRecHits + MeasurementTrackerEvent +
    siPixelClusterShapeCache)
trackingLowPU.toReplaceWith(InitialStepPreSplitting,
                            _InitialStepPreSplitting_LowPU_Phase1PU70)
trackingPhase1PU70.toReplaceWith(InitialStepPreSplitting,
                                 _InitialStepPreSplitting_LowPU_Phase1PU70)
trackingPhase2PU140.toReplaceWith(InitialStepPreSplitting,
                                  _InitialStepPreSplitting_LowPU_Phase1PU70)
# Although InitialStepPreSplitting is not really part of LowPU/Run1/Phase1PU70
# tracking, we use it to get siPixelClusters and siPixelRecHits
# collections for non-splitted pixel clusters. All modules before
# iterTracking sequence use siPixelClustersPreSplitting and
# siPixelRecHitsPreSplitting for that purpose.
#
# If siPixelClusters would be defined in
# RecoLocalTracker.Configuration.RecoLocalTracker_cff, we would have a
# situation where
# - LowPU/Phase1PU70 has siPixelClusters defined in RecoLocalTracker_cff
# - everything else has siPixelClusters defined here
# and this leads to a mess. The way it is done here we have only
# one place (within Reconstruction_cff) where siPixelClusters
# module is defined.
from RecoLocalTracker.SiPixelClusterizer.SiPixelClusterizer_cfi import siPixelClusters as _siPixelClusters
from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU
trackingLowPU.toReplaceWith(siPixelClusters, _siPixelClusters)
from Configuration.Eras.Modifier_trackingPhase1PU70_cff import trackingPhase1PU70
trackingPhase1PU70.toReplaceWith(siPixelClusters, _siPixelClusters)
from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140
trackingPhase2PU140.toReplaceWith(siPixelClusters, _siPixelClusters)
_InitialStepPreSplitting_LowPU_Phase1PU70 = cms.Sequence(
    siPixelClusters +
    siPixelRecHits +
    MeasurementTrackerEvent +
    siPixelClusterShapeCache
)
trackingLowPU.toReplaceWith(InitialStepPreSplitting, _InitialStepPreSplitting_LowPU_Phase1PU70)
trackingPhase1PU70.toReplaceWith(InitialStepPreSplitting, _InitialStepPreSplitting_LowPU_Phase1PU70)
trackingPhase2PU140.toReplaceWith(InitialStepPreSplitting, _InitialStepPreSplitting_LowPU_Phase1PU70)
Example #3
0
# temporary...
_initialStepHitQuadrupletsMerging.SeedCreatorPSet = cms.PSet(
    ComponentName=cms.string("SeedFromConsecutiveHitsCreator"),
    MinOneOverPtError=initialStepSeeds.MinOneOverPtError,
    OriginTransverseErrorMultiplier=initialStepSeeds.
    OriginTransverseErrorMultiplier,
    SeedMomentumForBOFF=initialStepSeeds.SeedMomentumForBOFF,
    TTRHBuilder=initialStepSeeds.TTRHBuilder,
    forceKinematicWithRegionDirection=initialStepSeeds.
    forceKinematicWithRegionDirection,
    magneticField=initialStepSeeds.magneticField,
    propagator=initialStepSeeds.propagator,
)
_initialStepHitQuadrupletsMerging.SeedComparitorPSet = initialStepSeeds.SeedComparitorPSet

trackingPhase1PU70.toReplaceWith(initialStepHitQuadruplets,
                                 _initialStepHitQuadrupletsMerging)
trackingPhase1PU70.toModify(initialStepSeeds,
                            seedingHitSets="initialStepHitQuadruplets")

# building
import TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff
_initialStepTrajectoryFilterBase = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
    minimumNumberOfHits=3,
    minPt=0.2,
)
initialStepTrajectoryFilterBase = _initialStepTrajectoryFilterBase.clone(
    maxCCCLostHits=0,
    minGoodStripCharge=cms.PSet(
        refToPSet_=cms.string('SiStripClusterChargeCutLoose')))
from Configuration.Eras.Modifier_tracker_apv_vfp30_2016_cff import tracker_apv_vfp30_2016
_tracker_apv_vfp30_2016.toModify(initialStepTrajectoryFilterBase,
Example #4
0
# temporary...
_initialStepHitQuadrupletsMerging.SeedCreatorPSet = cms.PSet(
    ComponentName = cms.string("SeedFromConsecutiveHitsCreator"),
    MinOneOverPtError = initialStepSeeds.MinOneOverPtError,
    OriginTransverseErrorMultiplier = initialStepSeeds.OriginTransverseErrorMultiplier,
    SeedMomentumForBOFF = initialStepSeeds.SeedMomentumForBOFF,
    TTRHBuilder = initialStepSeeds.TTRHBuilder,
    forceKinematicWithRegionDirection = initialStepSeeds.forceKinematicWithRegionDirection,
    magneticField = initialStepSeeds.magneticField,
    propagator = initialStepSeeds.propagator,

)
_initialStepHitQuadrupletsMerging.SeedComparitorPSet = initialStepSeeds.SeedComparitorPSet

trackingPhase1PU70.toReplaceWith(initialStepHitQuadruplets, _initialStepHitQuadrupletsMerging) 
trackingPhase1PU70.toModify(initialStepSeeds, seedingHitSets="initialStepHitQuadruplets")


# building
import TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff
_initialStepTrajectoryFilterBase = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
    minimumNumberOfHits = 3,
    minPt = 0.2,
)
initialStepTrajectoryFilterBase = _initialStepTrajectoryFilterBase.clone(
    maxCCCLostHits = 0,
    minGoodStripCharge = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutLoose'))
)
from Configuration.Eras.Modifier_tracker_apv_vfp30_2016_cff import tracker_apv_vfp30_2016
_tracker_apv_vfp30_2016.toModify(initialStepTrajectoryFilterBase, maxCCCLostHits = 2)
Example #5
0
# For Phase1PU70
from RecoTracker.FinalTrackSelectors.trackListMerger_cfi import trackListMerger as _trackListMerger
from Configuration.Eras.Modifier_trackingPhase1PU70_cff import trackingPhase1PU70
trackingPhase1PU70.toReplaceWith(earlyGeneralTracks, _trackListMerger.clone(
    TrackProducers = ['initialStepTracks',
                      'highPtTripletStepTracks',
                      'lowPtQuadStepTracks',
                      'lowPtTripletStepTracks',
                      'detachedQuadStepTracks',
                      'mixedTripletStepTracks',
                      'pixelPairStepTracks',
                      'tobTecStepTracks'],
    hasSelector = [1,1,1,1,1,1,1,1],
    indivShareFrac = [1.0,0.16,0.095,0.09,0.095,0.095,0.095,0.08],
    selectedTrackQuals = [cms.InputTag("initialStepSelector","initialStep"),
                          cms.InputTag("highPtTripletStepSelector","highPtTripletStep"),
                          cms.InputTag("lowPtQuadStepSelector","lowPtQuadStep"),
                          cms.InputTag("lowPtTripletStepSelector","lowPtTripletStep"),
                          cms.InputTag("detachedQuadStep"),
                          cms.InputTag("mixedTripletStep"),
                          cms.InputTag("pixelPairStepSelector","pixelPairStep"),
                          cms.InputTag("tobTecStepSelector","tobTecStep")],
    setsToMerge = [cms.PSet( tLists=cms.vint32(0,1,2,3,4,5,6,7), pQual=cms.bool(True) ) ],
    copyExtras = True,
    makeReKeyedSeeds = cms.untracked.bool(False)
))
# For Phase2PU140
from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140
trackingPhase2PU140.toReplaceWith(earlyGeneralTracks, _trackListMerger.clone(
    TrackProducers =['initialStepTracks',
Example #6
0
    SeedComparitorPSet = RecoPixelVertexing.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi.LowPtClusterShapeSeedComparitor.clone()
)
_SeedComparitorPSet = dict(SeedComparitorPSet = dict(clusterShapeCacheSrc = "siPixelClusterShapeCachePreSplitting"))
trackingLowPU.toModify(pixelTracksHitTriplets, **_SeedComparitorPSet)
trackingPhase1PU70.toModify(pixelTracksHitTriplets, **_SeedComparitorPSet)
trackingPhase2PU140.toModify(pixelTracksHitTriplets, maxElement=0, **_SeedComparitorPSet)

pixelTracksHitQuadruplets = _pixelQuadrupletMergerEDProducer.clone(
    triplets = "pixelTracksHitTriplets",
    layerList = dict(refToPSet_ = cms.string("PixelSeedMergerQuadruplets")),
)

# Pixel tracks
pixelTracks = _pixelTracksDefault.clone()
_SeedingHitSets = dict(SeedingHitSets = "pixelTracksHitQuadruplets")
trackingPhase1PU70.toModify(pixelTracks, **_SeedingHitSets)
trackingPhase2PU140.toModify(pixelTracks, **_SeedingHitSets)

pixelTracksSequence = cms.Sequence(
    pixelTracksTrackingRegions +
    pixelTracksHitDoublets +
    pixelTracksHitTriplets +
    pixelFitterByHelixProjections +
    pixelTrackFilterByKinematics +
    pixelTracks
)
_pixelTracksSequence_quad = pixelTracksSequence.copy()
_pixelTracksSequence_quad.replace(pixelTracksHitTriplets, pixelTracksHitTriplets+pixelTracksHitQuadruplets)
trackingPhase1PU70.toReplaceWith(pixelTracksSequence, _pixelTracksSequence_quad)
trackingPhase2PU140.toReplaceWith(pixelTracksSequence, _pixelTracksSequence_quad)
Example #7
0
from Configuration.Eras.Modifier_trackingPhase1PU70_cff import trackingPhase1PU70
trackingPhase1PU70.toReplaceWith(
    preDuplicateMergingGeneralTracks,
    _trackListMerger.clone(
        TrackProducers=[
            "earlyGeneralTracks",
            "muonSeededTracksInOut",
            "muonSeededTracksOutIn",
        ],
        hasSelector=[0, 1, 1],
        selectedTrackQuals=[
            cms.InputTag(
                "muonSeededTracksInOutSelector",
                "muonSeededTracksInOutHighPurity"),  # not used but needed
            cms.InputTag("muonSeededTracksInOutSelector",
                         "muonSeededTracksInOutHighPurity"),
            cms.InputTag("muonSeededTracksOutInSelector",
                         "muonSeededTracksOutInHighPurity"),
        ],
        mvaValueTags=cms.VInputTag(
            cms.InputTag("earlyGeneralTracks", "MVAVals"),
            cms.InputTag("muonSeededTracksInOutSelector", "MVAVals"),
            cms.InputTag("muonSeededTracksOutInSelector", "MVAVals"),
        ),
        setsToMerge=[
            cms.PSet(pQual=cms.bool(True), tLists=cms.vint32(0, 1, 2))
        ],
        FoundHitBonus=100.0,
        LostHitPenalty=1.0,
        copyExtras=True,
        makeReKeyedSeeds=cms.untracked.bool(False)))
Example #8
0
)

###------------- MeasurementEstimator, defining the searcgh window for pattern recongnition ----------------

from TrackingTools.KalmanUpdators.Chi2MeasurementEstimator_cfi import Chi2MeasurementEstimator as _Chi2MeasurementEstimator
_muonSeededMeasurementEstimatorForInOutBase = _Chi2MeasurementEstimator.clone(
    ComponentName = cms.string('muonSeededMeasurementEstimatorForInOut'),
    MaxChi2 = cms.double(80.0), ## was 30 ## TO BE TUNED
    nSigma  = cms.double(4.),    ## was 3  ## TO BE TUNED 
)
muonSeededMeasurementEstimatorForInOut = _muonSeededMeasurementEstimatorForInOutBase.clone(
    MaxSagitta = cms.double(-1.)
)
from Configuration.Eras.Modifier_trackingPhase1PU70_cff import trackingPhase1PU70
trackingPhase1PU70.toReplaceWith(muonSeededMeasurementEstimatorForInOut, _muonSeededMeasurementEstimatorForInOutBase.clone(
    MaxChi2 = 400
))
from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140
trackingPhase2PU140.toModify(muonSeededMeasurementEstimatorForInOut, MaxChi2 = 400.0, MaxSagitta = 2)

_muonSeededMeasurementEstimatorForOutInBase = _Chi2MeasurementEstimator.clone(
    ComponentName = cms.string('muonSeededMeasurementEstimatorForOutIn'),
    MaxChi2 = cms.double(30.0), ## was 30 ## TO BE TUNED
    nSigma  = cms.double(3.),    ## was 3  ## TO BE TUNED
)
from Configuration.Eras.Modifier_tracker_apv_vfp30_2016_cff import tracker_apv_vfp30_2016 as _tracker_apv_vfp30_2016
_tracker_apv_vfp30_2016.toModify(_muonSeededMeasurementEstimatorForOutInBase, MinPtForHitRecoveryInGluedDet=1e9)
muonSeededMeasurementEstimatorForOutIn = _muonSeededMeasurementEstimatorForOutInBase.clone(
    MaxSagitta = cms.double(-1.) 
)
trackingPhase1PU70.toReplaceWith(muonSeededMeasurementEstimatorForOutIn, _muonSeededMeasurementEstimatorForOutInBase)
Example #9
0
from RecoLocalTracker.SubCollectionProducers.trackClusterRemover_cfi import trackClusterRemover as _trackClusterRemover
_convClustersBase = _trackClusterRemover.clone(
  maxChi2               = cms.double(30.0),
  trajectories          = cms.InputTag("tobTecStepTracks"),
  pixelClusters         = cms.InputTag("siPixelClusters"),
  stripClusters         = cms.InputTag("siStripClusters"),
  oldClusterRemovalInfo = cms.InputTag("tobTecStepClusters"),
  TrackQuality          = cms.string('highPurity'),
)
convClusters = _convClustersBase.clone(
  trackClassifier       = cms.InputTag('tobTecStep',"QualityMasks"),
)
from Configuration.Eras.Modifier_trackingPhase1PU70_cff import trackingPhase1PU70
trackingPhase1PU70.toReplaceWith(convClusters, _convClustersBase.clone(
  overrideTrkQuals      = "tobTecStepSelector:tobTecStep",
))

#Phase2 : configuring the phase2 track Cluster Remover
from RecoLocalTracker.SubCollectionProducers.phase2trackClusterRemover_cfi import phase2trackClusterRemover as _phase2trackClusterRemover
from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140
trackingPhase2PU140.toReplaceWith(convClusters, _phase2trackClusterRemover.clone(
    maxChi2                                  = 30.0,
    phase2pixelClusters                      = "siPixelClusters",
    phase2OTClusters                         = "siPhase2Clusters",
    TrackQuality                             = 'highPurity',
    minNumberOfLayersWithMeasBeforeFiltering = 0,
    trajectories                             = cms.InputTag("detachedQuadStepTracks"),
    oldClusterRemovalInfo                    = cms.InputTag("detachedQuadStepClusters"),
    overrideTrkQuals                         = cms.InputTag("detachedQuadStepSelector","detachedQuadStepTrk"),
    )
Example #10
0
from RecoTracker.ConversionSeedGenerators.ConversionStep2_cff import *

from RecoLocalTracker.SubCollectionProducers.trackClusterRemover_cfi import trackClusterRemover as _trackClusterRemover
_convClustersBase = _trackClusterRemover.clone(
    maxChi2=cms.double(30.0),
    trajectories=cms.InputTag("tobTecStepTracks"),
    pixelClusters=cms.InputTag("siPixelClusters"),
    stripClusters=cms.InputTag("siStripClusters"),
    oldClusterRemovalInfo=cms.InputTag("tobTecStepClusters"),
    TrackQuality=cms.string('highPurity'),
)
convClusters = _convClustersBase.clone(trackClassifier=cms.InputTag(
    'tobTecStep', "QualityMasks"), )
from Configuration.Eras.Modifier_trackingPhase1PU70_cff import trackingPhase1PU70
trackingPhase1PU70.toReplaceWith(
    convClusters,
    _convClustersBase.clone(
        overrideTrkQuals="tobTecStepSelector:tobTecStep", ))

#Phase2 : configuring the phase2 track Cluster Remover
from RecoLocalTracker.SubCollectionProducers.phase2trackClusterRemover_cfi import phase2trackClusterRemover as _phase2trackClusterRemover
from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140
trackingPhase2PU140.toReplaceWith(
    convClusters,
    _phase2trackClusterRemover.clone(
        maxChi2=30.0,
        phase2pixelClusters="siPixelClusters",
        phase2OTClusters="siPhase2Clusters",
        TrackQuality='highPurity',
        minNumberOfLayersWithMeasBeforeFiltering=0,
        trajectories=cms.InputTag("detachedQuadStepTracks"),
        oldClusterRemovalInfo=cms.InputTag("detachedQuadStepClusters"),
Example #11
0
# QUALITY CUTS DURING TRACK BUILDING
import TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff
_pixelPairStepTrajectoryFilterBase = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
    minimumNumberOfHits = 3,
    minPt = 0.1,
)
pixelPairStepTrajectoryFilterBase = _pixelPairStepTrajectoryFilterBase.clone(
    seedPairPenalty =0,
    maxCCCLostHits = 0,
    minGoodStripCharge = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutLoose'))
)
from Configuration.Eras.Modifier_tracker_apv_vfp30_2016_cff import tracker_apv_vfp30_2016
_tracker_apv_vfp30_2016.toModify(pixelPairStepTrajectoryFilterBase, maxCCCLostHits = 2)
trackingLowPU.toReplaceWith(pixelPairStepTrajectoryFilterBase, _pixelPairStepTrajectoryFilterBase)
trackingPhase1PU70.toReplaceWith(pixelPairStepTrajectoryFilterBase, _pixelPairStepTrajectoryFilterBase.clone(
    maxLostHitsFraction = 1./10.,
    constantValueForLostHitsFractionFilter = 0.801,
))
trackingPhase2PU140.toReplaceWith(pixelPairStepTrajectoryFilterBase, _pixelPairStepTrajectoryFilterBase.clone(
    maxLostHitsFraction = 1./10.,
    constantValueForLostHitsFractionFilter = 0.701,
))
import RecoPixelVertexing.PixelLowPtUtilities.StripSubClusterShapeTrajectoryFilter_cfi
pixelPairStepTrajectoryFilterShape = RecoPixelVertexing.PixelLowPtUtilities.StripSubClusterShapeTrajectoryFilter_cfi.StripSubClusterShapeTrajectoryFilterTIX12.clone()
pixelPairStepTrajectoryFilter = cms.PSet(
    ComponentType = cms.string('CompositeTrajectoryFilter'),
    filters = cms.VPSet(
        cms.PSet( refToPSet_ = cms.string('pixelPairStepTrajectoryFilterBase')),
    #    cms.PSet( refToPSet_ = cms.string('pixelPairStepTrajectoryFilterShape'))
    ),
)
Example #12
0
import FWCore.ParameterSet.Config as cms

from RecoPixelVertexing.PixelTrackFitting.PixelTracks_cff import *
#
# for STARTUP ONLY use try and use Offline 3D PV from pixelTracks, with adaptive vertex
#
#from RecoPixelVertexing.PixelVertexFinding.PixelVertexes_cff import *
from RecoVertex.PrimaryVertexProducer.OfflinePixel3DPrimaryVertices_cfi import *
recopixelvertexing = cms.Sequence(PixelLayerTriplets * pixelTracksSequence *
                                  pixelVertices)

# For LowPU and Phase1PU70
PixelLayerTripletsPreSplitting = PixelLayerTriplets.clone(
    BPix=dict(HitProducer="siPixelRecHitsPreSplitting"),
    FPix=dict(HitProducer="siPixelRecHitsPreSplitting"),
)
_recopixelvertexing_LowPU_Phase1PU70 = recopixelvertexing.copy()
_recopixelvertexing_LowPU_Phase1PU70.replace(PixelLayerTriplets,
                                             PixelLayerTripletsPreSplitting)
from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU
trackingLowPU.toReplaceWith(recopixelvertexing,
                            _recopixelvertexing_LowPU_Phase1PU70)
from Configuration.Eras.Modifier_trackingPhase1PU70_cff import trackingPhase1PU70
trackingPhase1PU70.toReplaceWith(recopixelvertexing,
                                 _recopixelvertexing_LowPU_Phase1PU70)
from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140
trackingPhase2PU140.toReplaceWith(recopixelvertexing,
                                  _recopixelvertexing_LowPU_Phase1PU70)
Example #13
0
# Phase1PU70
from Configuration.Eras.Modifier_trackingPhase1PU70_cff import trackingPhase1PU70
trackingPhase1PU70.toModify(tobTecStepTrackingRegionsPair,
                            RegionPSet=dict(ptMin=1.0,
                                            originHalfLength=15.0,
                                            originRadius=2.0))
trackingPhase1PU70.toModify(tobTecStepHitDoubletsPair,
                            seedingLayers='tobTecStepSeedLayers')
trackingPhase1PU70.toReplaceWith(
    tobTecStepSeeds,
    tobTecStepSeedsPair.clone(
        OriginTransverseErrorMultiplier=3.0,
        SeedComparitorPSet=cms.
        PSet(  # FIXME: is this defined in any cfi that could be imported instead of copy-paste?
            ComponentName=cms.string('PixelClusterShapeSeedComparitor'),
            FilterAtHelixStage=cms.bool(True),
            FilterPixelHits=cms.bool(False),
            FilterStripHits=cms.bool(True),
            ClusterShapeHitFilterName=cms.string('ClusterShapeHitFilter'),
            ClusterShapeCacheSrc=cms.InputTag(
                "siPixelClusterShapeCache"
            )  # not really needed here since FilterPixelHits=False
        ),
    ))

# QUALITY CUTS DURING TRACK BUILDING (for inwardss and outwards track building steps)
import TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff
_tobTecStepTrajectoryFilterBase = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
    maxLostHits=0, minimumNumberOfHits=5, minPt=0.1, minHitsMinPt=3)
tobTecStepTrajectoryFilter = _tobTecStepTrajectoryFilterBase.clone(
    seedPairPenalty=1, )
trackingLowPU.toReplaceWith(
Example #14
0
    seedingHitSets = "tobTecStepHitDoubletsPair",
))
# Phase1PU70
from Configuration.Eras.Modifier_trackingPhase1PU70_cff import trackingPhase1PU70
trackingPhase1PU70.toModify(tobTecStepTrackingRegionsPair, RegionPSet = dict(
    ptMin = 1.0,
    originHalfLength = 15.0,
    originRadius = 2.0
))
trackingPhase1PU70.toModify(tobTecStepHitDoubletsPair, seedingLayers = 'tobTecStepSeedLayers')
trackingPhase1PU70.toReplaceWith(tobTecStepSeeds, tobTecStepSeedsPair.clone(
    OriginTransverseErrorMultiplier = 3.0,
    SeedComparitorPSet = cms.PSet(# FIXME: is this defined in any cfi that could be imported instead of copy-paste?
        ComponentName = cms.string('PixelClusterShapeSeedComparitor'),
        FilterAtHelixStage = cms.bool(True),
        FilterPixelHits = cms.bool(False),
        FilterStripHits = cms.bool(True),
        ClusterShapeHitFilterName = cms.string('ClusterShapeHitFilter'),
        ClusterShapeCacheSrc = cms.InputTag("siPixelClusterShapeCache") # not really needed here since FilterPixelHits=False
    ),
))


# QUALITY CUTS DURING TRACK BUILDING (for inwardss and outwards track building steps)
import TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff
_tobTecStepTrajectoryFilterBase = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
    maxLostHits = 0,
    minimumNumberOfHits = 5,
    minPt = 0.1,
    minHitsMinPt = 3
    )
Example #15
0
        originHalfLength = 30.0,
        originRadius = 6.0,
    ))
))
# Phase1PU70
from Configuration.Eras.Modifier_trackingPhase1PU70_cff import trackingPhase1PU70
trackingPhase1PU70.toReplaceWith(tobTecStepSeeds, RecoTracker.TkSeedGenerator.GlobalMixedSeeds_cff.globalMixedSeeds.clone(
    OrderedHitsFactoryPSet = dict(SeedingLayers = 'tobTecStepSeedLayers'),
    RegionFactoryPSet = dict(
        RegionPSet = dict(
            ptMin = 1.0,
            originHalfLength = 15.0,
            originRadius = 2.0
        )
    ),
    SeedCreatorPSet = dict(OriginTransverseErrorMultiplier = 3.0),
    SeedComparitorPSet = cms.PSet(
        ComponentName = cms.string('PixelClusterShapeSeedComparitor'),
        FilterAtHelixStage = cms.bool(True),
        FilterPixelHits = cms.bool(False),
        FilterStripHits = cms.bool(True),
        ClusterShapeHitFilterName = cms.string('ClusterShapeHitFilter'),
        ClusterShapeCacheSrc = cms.InputTag("siPixelClusterShapeCache") # not really needed here since FilterPixelHits=False
    ),
))


# QUALITY CUTS DURING TRACK BUILDING (for inwardss and outwards track building steps)
import TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff
_tobTecStepTrajectoryFilterBase = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
    maxLostHits = 0,
##########

vertexAnalysisSelection = cms.Sequence(
    cms.ignore(selectedOfflinePrimaryVertices) +
    cms.ignore(selectedOfflinePrimaryVerticesWithBS))

##########

vertexAnalysisSequence = cms.Sequence(vertexAnalysisSelection + vertexAnalysis)

vertexAnalysisSequenceTrackingOnly = cms.Sequence(vertexAnalysisSelection +
                                                  vertexAnalysisTrackingOnly)

from SimTracker.TrackAssociation.trackingParticleRecoTrackAsssociation_cfi import trackingParticleRecoTrackAsssociation as _trackingParticleRecoTrackAsssociation
trackingParticlePixelTrackAsssociation = _trackingParticleRecoTrackAsssociation.clone(
    label_tr="pixelTracks")

_vertexAnalysisSequenceTrackingOnly_trackingLowPU = vertexAnalysisSequenceTrackingOnly.copy(
)
_vertexAnalysisSequenceTrackingOnly_trackingLowPU += (
    trackingParticlePixelTrackAsssociation + selectedPixelVertices +
    pixelVertexAnalysisTrackingOnly)
trackingLowPU.toReplaceWith(vertexAnalysisSequenceTrackingOnly,
                            _vertexAnalysisSequenceTrackingOnly_trackingLowPU)
trackingPhase1PU70.toReplaceWith(
    vertexAnalysisSequenceTrackingOnly,
    _vertexAnalysisSequenceTrackingOnly_trackingLowPU)
trackingPhase2PU140.toReplaceWith(
    vertexAnalysisSequenceTrackingOnly,
    _vertexAnalysisSequenceTrackingOnly_trackingLowPU)
Example #17
0
from RecoLocalCalo.Castor.Castor_cff import *
from RecoLocalCalo.Configuration.hcalGlobalReco_cff import *

globalreco_tracking = cms.Sequence(offlineBeamSpot*
                          MeasurementTrackerEventPreSplitting* # unclear where to put this
                          siPixelClusterShapeCachePreSplitting* # unclear where to put this
                          standalonemuontracking*
                          trackingGlobalReco*
                          hcalGlobalRecoSequence*
                          vertexreco)
_globalreco_tracking_LowPU_Phase1PU70 = globalreco_tracking.copy()
_globalreco_tracking_LowPU_Phase1PU70.replace(trackingGlobalReco, recopixelvertexing+trackingGlobalReco)
from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU
trackingLowPU.toReplaceWith(globalreco_tracking, _globalreco_tracking_LowPU_Phase1PU70)
from Configuration.Eras.Modifier_trackingPhase1PU70_cff import trackingPhase1PU70
trackingPhase1PU70.toReplaceWith(globalreco_tracking, _globalreco_tracking_LowPU_Phase1PU70)
from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140
trackingPhase2PU140.toReplaceWith(globalreco_tracking, _globalreco_tracking_LowPU_Phase1PU70)

globalreco = cms.Sequence(globalreco_tracking*
                          particleFlowCluster*
                          ecalClusters*
                          caloTowersRec*                          
                          egammaGlobalReco*
                          jetGlobalReco*
                          muonGlobalReco*
                          pfTrackingGlobalReco*
                          muoncosmicreco*
                          CastorFullReco)

_phase2_globalreco = globalreco.copyAndExclude([CastorFullReco])
Example #18
0
from RecoLocalCalo.Castor.Castor_cff import *
from RecoLocalCalo.Configuration.hcalGlobalReco_cff import *

globalreco_tracking = cms.Sequence(offlineBeamSpot*
                          MeasurementTrackerEventPreSplitting* # unclear where to put this
                          siPixelClusterShapeCachePreSplitting* # unclear where to put this
                          standalonemuontracking*
                          trackingGlobalReco*
                          hcalGlobalRecoSequence*
                          vertexreco)
_globalreco_tracking_LowPU_Phase1PU70 = globalreco_tracking.copy()
_globalreco_tracking_LowPU_Phase1PU70.replace(trackingGlobalReco, recopixelvertexing+trackingGlobalReco)
from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU
trackingLowPU.toReplaceWith(globalreco_tracking, _globalreco_tracking_LowPU_Phase1PU70)
from Configuration.Eras.Modifier_trackingPhase1PU70_cff import trackingPhase1PU70
trackingPhase1PU70.toReplaceWith(globalreco_tracking, _globalreco_tracking_LowPU_Phase1PU70)
from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140
trackingPhase2PU140.toReplaceWith(globalreco_tracking, _globalreco_tracking_LowPU_Phase1PU70)

globalreco = cms.Sequence(globalreco_tracking*
                          particleFlowCluster*
                          ecalClusters*
                          caloTowersRec*                          
                          egammaGlobalReco*
                          jetGlobalReco*
                          muonGlobalReco*
                          pfTrackingGlobalReco*
                          muoncosmicreco*
                          CastorFullReco)

_phase2_globalreco = globalreco.copyAndExclude([CastorFullReco])
Example #19
0
import FWCore.ParameterSet.Config as cms

from RecoPixelVertexing.PixelTrackFitting.PixelTracks_cff import *
#
# for STARTUP ONLY use try and use Offline 3D PV from pixelTracks, with adaptive vertex
#
#from RecoPixelVertexing.PixelVertexFinding.PixelVertexes_cff import *
from RecoVertex.PrimaryVertexProducer.OfflinePixel3DPrimaryVertices_cfi import *
recopixelvertexing = cms.Sequence(PixelLayerTriplets*pixelTracksSequence*pixelVertices)

# For LowPU and Phase1PU70
PixelLayerTripletsPreSplitting = PixelLayerTriplets.clone(
    BPix = dict(HitProducer = "siPixelRecHitsPreSplitting"),
    FPix = dict(HitProducer = "siPixelRecHitsPreSplitting"),
)
_recopixelvertexing_LowPU_Phase1PU70 = recopixelvertexing.copy()
_recopixelvertexing_LowPU_Phase1PU70.replace(PixelLayerTriplets, PixelLayerTripletsPreSplitting)
from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU
trackingLowPU.toReplaceWith(recopixelvertexing, _recopixelvertexing_LowPU_Phase1PU70)
from Configuration.Eras.Modifier_trackingPhase1PU70_cff import trackingPhase1PU70
trackingPhase1PU70.toReplaceWith(recopixelvertexing, _recopixelvertexing_LowPU_Phase1PU70)
from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140
trackingPhase2PU140.toReplaceWith(recopixelvertexing, _recopixelvertexing_LowPU_Phase1PU70)
Example #20
0
    minPt = 0.2,
)
initialStepTrajectoryFilterBase = _initialStepTrajectoryFilterBase.clone(
    maxCCCLostHits = 0,
    minGoodStripCharge = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutLoose'))
)
from Configuration.Eras.Modifier_tracker_apv_vfp30_2016_cff import tracker_apv_vfp30_2016
_tracker_apv_vfp30_2016.toModify(initialStepTrajectoryFilterBase, maxCCCLostHits = 2)
initialStepTrajectoryFilterInOut = initialStepTrajectoryFilterBase.clone(
    minimumNumberOfHits = 4,
    seedExtension = 1,
    strictSeedExtension = True, # don't allow inactive
    pixelSeedExtension = True,
)
trackingLowPU.toReplaceWith(initialStepTrajectoryFilterBase, _initialStepTrajectoryFilterBase)
trackingPhase1PU70.toReplaceWith(initialStepTrajectoryFilterBase, _initialStepTrajectoryFilterBase)

import RecoPixelVertexing.PixelLowPtUtilities.StripSubClusterShapeTrajectoryFilter_cfi
initialStepTrajectoryFilterShape = RecoPixelVertexing.PixelLowPtUtilities.StripSubClusterShapeTrajectoryFilter_cfi.StripSubClusterShapeTrajectoryFilterTIX12.clone()
initialStepTrajectoryFilter = cms.PSet(
    ComponentType = cms.string('CompositeTrajectoryFilter'),
    filters = cms.VPSet(
        cms.PSet( refToPSet_ = cms.string('initialStepTrajectoryFilterBase')),
    #    cms.PSet( refToPSet_ = cms.string('initialStepTrajectoryFilterShape'))
    ),
)

trackingPhase2PU140.toReplaceWith(initialStepTrajectoryFilter, TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
    minimumNumberOfHits = 3,
    minPt = 0.2
    )
# For Phase1PU70
from RecoTracker.FinalTrackSelectors.trackListMerger_cfi import trackListMerger as _trackListMerger
from Configuration.Eras.Modifier_trackingPhase1PU70_cff import trackingPhase1PU70
trackingPhase1PU70.toReplaceWith(preDuplicateMergingGeneralTracks, _trackListMerger.clone(
    TrackProducers = [
        "earlyGeneralTracks",
        "muonSeededTracksInOut",
        "muonSeededTracksOutIn",
    ],
    hasSelector = [0,1,1],
    selectedTrackQuals = [
        cms.InputTag("muonSeededTracksInOutSelector","muonSeededTracksInOutHighPurity"), # not used but needed
        cms.InputTag("muonSeededTracksInOutSelector","muonSeededTracksInOutHighPurity"),
        cms.InputTag("muonSeededTracksOutInSelector","muonSeededTracksOutInHighPurity"),
    ],
    mvaValueTags = cms.VInputTag(
        cms.InputTag("earlyGeneralTracks","MVAVals"),
        cms.InputTag("muonSeededTracksInOutSelector","MVAVals"),
        cms.InputTag("muonSeededTracksOutInSelector","MVAVals"),
    ),
    setsToMerge = [cms.PSet(pQual = cms.bool(True), tLists = cms.vint32(0, 1,2))],
    FoundHitBonus  = 100.0,
    LostHitPenalty =   1.0,
    copyExtras = True,
    makeReKeyedSeeds = cms.untracked.bool(False)
))

# For Phase2PU140
from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140
trackingPhase2PU140.toReplaceWith(preDuplicateMergingGeneralTracks, _trackListMerger.clone(
Example #22
0
trackingPhase1PU70.toModify(pixelTracksHitDoublets, **_seedingLayers)
trackingPhase2PU140.toModify(pixelTracksHitDoublets, **_seedingLayers)

pixelTracksHitTriplets = _pixelTripletHLTEDProducer.clone(
    doublets = "pixelTracksHitDoublets",
    produceSeedingHitSets = True,
    SeedComparitorPSet = RecoPixelVertexing.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi.LowPtClusterShapeSeedComparitor.clone()
)
_SeedComparitorPSet = dict(SeedComparitorPSet = dict(clusterShapeCacheSrc = "siPixelClusterShapeCachePreSplitting"))
trackingLowPU.toModify(pixelTracksHitTriplets, **_SeedComparitorPSet)
trackingPhase1PU70.toModify(pixelTracksHitTriplets, **_SeedComparitorPSet)
trackingPhase2PU140.toModify(pixelTracksHitTriplets, maxElement=0, **_SeedComparitorPSet)

pixelTracksHitQuadruplets = _pixelQuadrupletMergerEDProducer.clone(
    triplets = "pixelTracksHitTriplets",
    layerList = dict(refToPSet_ = cms.string("PixelSeedMergerQuadruplets")),
)

pixelTracksSequence = cms.Sequence(
    pixelTracksTrackingRegions +
    pixelTracksHitDoublets +
    pixelTracksHitTriplets +
    pixelFitterByHelixProjections +
    pixelTrackFilterByKinematics +
    pixelTracks
)
_pixelTracksSequence_quad = pixelTracksSequence.copy()
_pixelTracksSequence_quad.replace(pixelTracksHitTriplets, pixelTracksHitTriplets+pixelTracksHitQuadruplets)
trackingPhase1PU70.toReplaceWith(pixelTracksSequence, _pixelTracksSequence_quad)
trackingPhase2PU140.toReplaceWith(pixelTracksSequence, _pixelTracksSequence_quad)
Example #23
0
        layerList=cms.PSet(
            refToPSet_=cms.string("PixelSeedMergerQuadruplets")),
        addRemainingTriplets=cms.bool(False),
        mergeTriplets=cms.bool(True),
        ttrhBuilderLabel=cms.string('PixelTTRHBuilderWithoutAngle')))

# QUALITY CUTS DURING TRACK BUILDING
import TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff as _TrajectoryFilter_cff
_lowPtQuadStepTrajectoryFilterBase = _TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
    minimumNumberOfHits=3,
    minPt=0.075,
)
lowPtQuadStepTrajectoryFilterBase = _lowPtQuadStepTrajectoryFilterBase.clone(
    maxCCCLostHits=0,
    minGoodStripCharge=dict(refToPSet_='SiStripClusterChargeCutLoose'))
trackingPhase1PU70.toReplaceWith(lowPtQuadStepTrajectoryFilterBase,
                                 _lowPtQuadStepTrajectoryFilterBase)
trackingPhase2PU140.toReplaceWith(lowPtQuadStepTrajectoryFilterBase,
                                  _lowPtQuadStepTrajectoryFilterBase)

from RecoPixelVertexing.PixelLowPtUtilities.ClusterShapeTrajectoryFilter_cfi import *
# Composite filter
lowPtQuadStepTrajectoryFilter = _TrajectoryFilter_cff.CompositeTrajectoryFilter_block.clone(
    filters=[
        cms.PSet(refToPSet_=cms.string('lowPtQuadStepTrajectoryFilterBase'))
    ])
trackingPhase1PU70.toModify(
    lowPtQuadStepTrajectoryFilter,
    filters=lowPtQuadStepTrajectoryFilter.filters.value() +
    [cms.PSet(refToPSet_=cms.string('ClusterShapeTrajectoryFilter'))])
trackingPhase2PU140.toModify(
    lowPtQuadStepTrajectoryFilter,
Example #24
0
    cms.InputTag('mixedTripletStepSeedsB'),
)

# QUALITY CUTS DURING TRACK BUILDING
import TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff
_mixedTripletStepTrajectoryFilterBase = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
    #    maxLostHits = 0,
    minimumNumberOfHits=3,
    minPt=0.1)
mixedTripletStepTrajectoryFilter = _mixedTripletStepTrajectoryFilterBase.clone(
    constantValueForLostHitsFractionFilter=1.4, )
trackingLowPU.toReplaceWith(
    mixedTripletStepTrajectoryFilter,
    _mixedTripletStepTrajectoryFilterBase.clone(maxLostHits=0, ))
trackingPhase1PU70.toReplaceWith(
    mixedTripletStepTrajectoryFilter,
    _mixedTripletStepTrajectoryFilterBase.clone(maxLostHits=0, ))

# Propagator taking into account momentum uncertainty in multiple scattering calculation.
import TrackingTools.MaterialEffects.MaterialPropagatorParabolicMf_cff
import TrackingTools.MaterialEffects.MaterialPropagator_cfi
mixedTripletStepPropagator = TrackingTools.MaterialEffects.MaterialPropagator_cfi.MaterialPropagator.clone(
    #mixedTripletStepPropagator = TrackingTools.MaterialEffects.MaterialPropagatorParabolicMf_cff.MaterialPropagatorParabolicMF.clone(
    ComponentName='mixedTripletStepPropagator',
    ptMin=0.1)

import TrackingTools.MaterialEffects.OppositeMaterialPropagator_cfi
mixedTripletStepPropagatorOpposite = TrackingTools.MaterialEffects.OppositeMaterialPropagator_cfi.OppositeMaterialPropagator.clone(
    #mixedTripletStepPropagatorOpposite = TrackingTools.MaterialEffects.MaterialPropagatorParabolicMf_cff.OppositeMaterialPropagatorParabolicMF.clone(
    ComponentName='mixedTripletStepPropagatorOpposite',
    ptMin=0.1)
Example #25
0
    CAThetaCut = 0.004,
    CAPhiCut = 0.07,
    CAHardPtCut = 0.3,
))

# QUALITY CUTS DURING TRACK BUILDING
import TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff as _TrajectoryFilter_cff
_highPtTripletStepTrajectoryFilterBase = _TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
    minimumNumberOfHits = 3,
    minPt = 0.2,
)
highPtTripletStepTrajectoryFilterBase = _highPtTripletStepTrajectoryFilterBase.clone(
    maxCCCLostHits = 0,
    minGoodStripCharge = dict(refToPSet_ = 'SiStripClusterChargeCutLoose')
)
trackingPhase1PU70.toReplaceWith(highPtTripletStepTrajectoryFilterBase, _highPtTripletStepTrajectoryFilterBase)
trackingPhase2PU140.toReplaceWith(highPtTripletStepTrajectoryFilterBase, _highPtTripletStepTrajectoryFilterBase)
highPtTripletStepTrajectoryFilter = _TrajectoryFilter_cff.CompositeTrajectoryFilter_block.clone(
    filters = [cms.PSet(refToPSet_ = cms.string('highPtTripletStepTrajectoryFilterBase'))]
)

import RecoTracker.MeasurementDet.Chi2ChargeMeasurementEstimator_cfi
highPtTripletStepChi2Est = RecoTracker.MeasurementDet.Chi2ChargeMeasurementEstimator_cfi.Chi2ChargeMeasurementEstimator.clone(
    ComponentName = 'highPtTripletStepChi2Est',
    nSigma = 3.0,
    MaxChi2 = 30.0,
    clusterChargeCut = dict(refToPSet_ = 'SiStripClusterChargeCutLoose'),
    pTChargeCutThreshold = 15.
)
trackingPhase1PU70.toModify(highPtTripletStepChi2Est,
    clusterChargeCut = dict(refToPSet_ = "SiStripClusterChargeCutNone")
Example #26
0
                                 pixelPairElectronSeeds*
                                 stripPairElectronSeedLayers*
                                 stripPairElectronTrackingRegions*
                                 stripPairElectronHitDoublets*
                                 stripPairElectronSeeds*
                                 newCombinedSeeds)
_electronSeedsSeq_Phase1 = electronSeedsSeq.copy()
_electronSeedsSeq_Phase1.replace(pixelPairStepSeedClusterMask, detachedTripletStepSeedClusterMask)
trackingPhase1.toReplaceWith(electronSeedsSeq, _electronSeedsSeq_Phase1)
trackingPhase1QuadProp.toReplaceWith(electronSeedsSeq, _electronSeedsSeq_Phase1)
trackingPhase1PU70.toReplaceWith(electronSeedsSeq, cms.Sequence(
    initialStepSeedClusterMask*
    highPtTripletStepSeedClusterMask*
    pixelPairStepSeedClusterMask*
    tripletElectronSeedLayers*
    tripletElectronTrackingRegions*
    tripletElectronHitDoublets*
    tripletElectronHitTriplets*
    tripletElectronSeeds*
    newCombinedSeeds
))
trackingPhase2PU140.toReplaceWith(electronSeedsSeq, cms.Sequence(
    initialStepSeedClusterMask*
    highPtTripletStepSeedClusterMask*
    pixelPairStepSeedClusterMask*
    tripletElectronSeedLayers*
    tripletElectronTrackingRegions*
    tripletElectronHitDoublets*
    tripletElectronHitTriplets*
    tripletElectronSeeds*
    newCombinedSeeds
Example #27
0
trackingPhase2PU140.toModify(detachedQuadStepSeedLayers, 
    layerList = RecoPixelVertexing.PixelTriplets.quadrupletseedmerging_cff.PixelSeedMergerQuadruplets.layerList.value()
)

# TrackingRegion
from RecoTracker.TkTrackingRegions.globalTrackingRegionFromBeamSpotFixedZ_cfi import globalTrackingRegionFromBeamSpotFixedZ as _globalTrackingRegionFromBeamSpotFixedZ
detachedQuadStepTrackingRegions = _globalTrackingRegionFromBeamSpotFixedZ.clone(RegionPSet = dict(
    ptMin = 0.3,
    originHalfLength = 15.0,
    originRadius = 1.5
))
from RecoTracker.TkTrackingRegions.globalTrackingRegionFromBeamSpot_cfi import globalTrackingRegionFromBeamSpot as _globalTrackingRegionFromBeamSpot
from Configuration.Eras.Modifier_trackingPhase1PU70_cff import trackingPhase1PU70
trackingPhase1PU70.toReplaceWith(detachedQuadStepTrackingRegions, _globalTrackingRegionFromBeamSpot.clone(RegionPSet = dict(
    ptMin = 0.3,
    originRadius = 0.5,
    nSigmaZ = 4.0
)))
trackingPhase2PU140.toReplaceWith(detachedQuadStepTrackingRegions, _globalTrackingRegionFromBeamSpot.clone(RegionPSet = dict(
    ptMin = 0.45,
    originRadius = 0.7,
    nSigmaZ = 4.0
)))

# seeding
from RecoTracker.TkHitPairs.hitPairEDProducer_cfi import hitPairEDProducer as _hitPairEDProducer
detachedQuadStepHitDoublets = _hitPairEDProducer.clone(
    seedingLayers = "detachedQuadStepSeedLayers",
    trackingRegions = "detachedQuadStepTrackingRegions",
    maxElement = 0,
    produceIntermediateHitDoublets = True,
    cms.ignore(selectedOfflinePrimaryVertices)
    + cms.ignore(selectedOfflinePrimaryVerticesWithBS)
)

##########

vertexAnalysisSequence = cms.Sequence(
    vertexAnalysisSelection
    + vertexAnalysis
)

vertexAnalysisSequenceTrackingOnly = cms.Sequence(
    vertexAnalysisSelection
    + vertexAnalysisTrackingOnly
)

from SimTracker.TrackAssociation.trackingParticleRecoTrackAsssociation_cfi import trackingParticleRecoTrackAsssociation as _trackingParticleRecoTrackAsssociation
trackingParticlePixelTrackAsssociation = _trackingParticleRecoTrackAsssociation.clone(
    label_tr = "pixelTracks"
)

_vertexAnalysisSequenceTrackingOnly_trackingLowPU = vertexAnalysisSequenceTrackingOnly.copy()
_vertexAnalysisSequenceTrackingOnly_trackingLowPU += (
    trackingParticlePixelTrackAsssociation
    + selectedPixelVertices
    + pixelVertexAnalysisTrackingOnly
)
trackingLowPU.toReplaceWith(vertexAnalysisSequenceTrackingOnly, _vertexAnalysisSequenceTrackingOnly_trackingLowPU)
trackingPhase1PU70.toReplaceWith(vertexAnalysisSequenceTrackingOnly, _vertexAnalysisSequenceTrackingOnly_trackingLowPU)
trackingPhase2PU140.toReplaceWith(vertexAnalysisSequenceTrackingOnly, _vertexAnalysisSequenceTrackingOnly_trackingLowPU)
Example #29
0
# QUALITY CUTS DURING TRACK BUILDING
import TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff
_mixedTripletStepTrajectoryFilterBase = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
#    maxLostHits = 0,
    minimumNumberOfHits = 3,
    minPt = 0.1
)
mixedTripletStepTrajectoryFilter = _mixedTripletStepTrajectoryFilterBase.clone(
    constantValueForLostHitsFractionFilter = 1.4,
)
trackingLowPU.toReplaceWith(mixedTripletStepTrajectoryFilter, _mixedTripletStepTrajectoryFilterBase.clone(
    maxLostHits = 0,
))
trackingPhase1PU70.toReplaceWith(mixedTripletStepTrajectoryFilter, _mixedTripletStepTrajectoryFilterBase.clone(
    maxLostHits = 0,
))

# Propagator taking into account momentum uncertainty in multiple scattering calculation.
import TrackingTools.MaterialEffects.MaterialPropagatorParabolicMf_cff
import TrackingTools.MaterialEffects.MaterialPropagator_cfi
mixedTripletStepPropagator = TrackingTools.MaterialEffects.MaterialPropagator_cfi.MaterialPropagator.clone(
#mixedTripletStepPropagator = TrackingTools.MaterialEffects.MaterialPropagatorParabolicMf_cff.MaterialPropagatorParabolicMF.clone(
    ComponentName = 'mixedTripletStepPropagator',
    ptMin = 0.1
    )

import TrackingTools.MaterialEffects.OppositeMaterialPropagator_cfi
mixedTripletStepPropagatorOpposite = TrackingTools.MaterialEffects.OppositeMaterialPropagator_cfi.OppositeMaterialPropagator.clone(
#mixedTripletStepPropagatorOpposite = TrackingTools.MaterialEffects.MaterialPropagatorParabolicMf_cff.OppositeMaterialPropagatorParabolicMF.clone(
    ComponentName = 'mixedTripletStepPropagatorOpposite',
Example #30
0
                            ])
trackingPhase2PU140.toModify(newCombinedSeeds,
                             seedCollections=[
                                 'initialStepSeeds', 'highPtTripletStepSeeds',
                                 'pixelPairStepSeeds', 'tripletElectronSeeds'
                             ])

electronSeedsSeq = cms.Sequence(
    initialStepSeedClusterMask * pixelPairStepSeedClusterMask *
    mixedTripletStepSeedClusterMask * pixelLessStepSeedClusterMask *
    tripletElectronSeedLayers * tripletElectronSeeds *
    tripletElectronClusterMask * pixelPairElectronSeedLayers *
    pixelPairElectronSeeds * stripPairElectronSeedLayers *
    stripPairElectronSeeds * newCombinedSeeds)
_electronSeedsSeq_Phase1 = electronSeedsSeq.copy()
_electronSeedsSeq_Phase1.replace(pixelPairStepSeedClusterMask,
                                 detachedTripletStepSeedClusterMask)
trackingPhase1.toReplaceWith(electronSeedsSeq, _electronSeedsSeq_Phase1)
trackingPhase1PU70.toReplaceWith(
    electronSeedsSeq,
    cms.Sequence(initialStepSeedClusterMask *
                 highPtTripletStepSeedClusterMask *
                 pixelPairStepSeedClusterMask * tripletElectronSeedLayers *
                 tripletElectronSeeds * newCombinedSeeds))
trackingPhase2PU140.toReplaceWith(
    electronSeedsSeq,
    cms.Sequence(initialStepSeedClusterMask *
                 highPtTripletStepSeedClusterMask *
                 pixelPairStepSeedClusterMask * tripletElectronSeedLayers *
                 tripletElectronSeeds * newCombinedSeeds))
Example #31
0
        addRemainingTriplets=cms.bool(False),
        mergeTriplets=cms.bool(True),
        ttrhBuilderLabel=cms.string('PixelTTRHBuilderWithoutAngle')))

# QUALITY CUTS DURING TRACK BUILDING
import TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff as _TrajectoryFilter_cff
_detachedQuadStepTrajectoryFilterBase = _TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
    minimumNumberOfHits=3,
    minPt=0.075,
)
detachedQuadStepTrajectoryFilterBase = _detachedQuadStepTrajectoryFilterBase.clone(
    maxCCCLostHits=0,
    minGoodStripCharge=dict(refToPSet_='SiStripClusterChargeCutLoose'))
trackingPhase1PU70.toReplaceWith(
    detachedQuadStepTrajectoryFilterBase,
    _detachedQuadStepTrajectoryFilterBase.clone(
        maxLostHitsFraction=1. / 10.,
        constantValueForLostHitsFractionFilter=0.501,
    ))
trackingPhase2PU140.toReplaceWith(
    detachedQuadStepTrajectoryFilterBase,
    _detachedQuadStepTrajectoryFilterBase.clone(
        maxLostHitsFraction=1. / 10.,
        constantValueForLostHitsFractionFilter=0.301,
    ))
detachedQuadStepTrajectoryFilter = _TrajectoryFilter_cff.CompositeTrajectoryFilter_block.clone(
    filters=[
        cms.PSet(refToPSet_=cms.string('detachedQuadStepTrajectoryFilterBase'))
    ])
trackingPhase1PU70.toModify(
    detachedQuadStepTrajectoryFilter,
    filters=detachedQuadStepTrajectoryFilter.filters.value() +
Example #32
0
    ComponentType=cms.string('TrajectoryCleanerBySharedHits'),
    allowSharedFirstHit=cms.bool(True))

###------------- MeasurementEstimator, defining the searcgh window for pattern recongnition ----------------

from TrackingTools.KalmanUpdators.Chi2MeasurementEstimator_cfi import Chi2MeasurementEstimator as _Chi2MeasurementEstimator
_muonSeededMeasurementEstimatorForInOutBase = _Chi2MeasurementEstimator.clone(
    ComponentName=cms.string('muonSeededMeasurementEstimatorForInOut'),
    MaxChi2=cms.double(80.0),  ## was 30 ## TO BE TUNED
    nSigma=cms.double(4.),  ## was 3  ## TO BE TUNED 
)
muonSeededMeasurementEstimatorForInOut = _muonSeededMeasurementEstimatorForInOutBase.clone(
    MaxSagitta=cms.double(-1.))
from Configuration.Eras.Modifier_trackingPhase1PU70_cff import trackingPhase1PU70
trackingPhase1PU70.toReplaceWith(
    muonSeededMeasurementEstimatorForInOut,
    _muonSeededMeasurementEstimatorForInOutBase.clone(MaxChi2=400))
from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140
trackingPhase2PU140.toModify(muonSeededMeasurementEstimatorForInOut,
                             MaxChi2=400.0,
                             MaxSagitta=2)

_muonSeededMeasurementEstimatorForOutInBase = _Chi2MeasurementEstimator.clone(
    ComponentName=cms.string('muonSeededMeasurementEstimatorForOutIn'),
    MaxChi2=cms.double(30.0),  ## was 30 ## TO BE TUNED
    nSigma=cms.double(3.),  ## was 3  ## TO BE TUNED
)
muonSeededMeasurementEstimatorForOutIn = _muonSeededMeasurementEstimatorForOutInBase.clone(
    MaxSagitta=cms.double(-1.))
trackingPhase1PU70.toReplaceWith(muonSeededMeasurementEstimatorForOutIn,
                                 _muonSeededMeasurementEstimatorForOutInBase)
Example #33
0
_lowPtTripletStepStandardTrajectoryFilterBase = _TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
    minimumNumberOfHits=3,
    minPt=0.075,
)
lowPtTripletStepStandardTrajectoryFilter = _lowPtTripletStepStandardTrajectoryFilterBase.clone(
    maxCCCLostHits=0,
    minGoodStripCharge=cms.PSet(
        refToPSet_=cms.string('SiStripClusterChargeCutLoose')))
from Configuration.Eras.Modifier_tracker_apv_vfp30_2016_cff import tracker_apv_vfp30_2016
_tracker_apv_vfp30_2016.toModify(lowPtTripletStepStandardTrajectoryFilter,
                                 maxCCCLostHits=1)
from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU
trackingLowPU.toReplaceWith(lowPtTripletStepStandardTrajectoryFilter,
                            _lowPtTripletStepStandardTrajectoryFilterBase)
trackingPhase1PU70.toReplaceWith(
    lowPtTripletStepStandardTrajectoryFilter,
    _lowPtTripletStepStandardTrajectoryFilterBase)
trackingPhase2PU140.toReplaceWith(
    lowPtTripletStepStandardTrajectoryFilter,
    _lowPtTripletStepStandardTrajectoryFilterBase)

from RecoPixelVertexing.PixelLowPtUtilities.ClusterShapeTrajectoryFilter_cfi import *
# Composite filter
lowPtTripletStepTrajectoryFilter = _TrajectoryFilter_cff.CompositeTrajectoryFilter_block.clone(
    filters=[
        cms.PSet(
            refToPSet_=cms.string('lowPtTripletStepStandardTrajectoryFilter')),
        # cms.PSet(refToPSet_ = cms.string('ClusterShapeTrajectoryFilter'))
    ])
trackingPhase1PU70.toModify(
    lowPtTripletStepTrajectoryFilter,
Example #34
0
# For Phase1PU70
from RecoTracker.FinalTrackSelectors.trackListMerger_cfi import trackListMerger as _trackListMerger
from Configuration.Eras.Modifier_trackingPhase1PU70_cff import trackingPhase1PU70
trackingPhase1PU70.toReplaceWith(earlyGeneralTracks, _trackListMerger.clone(
    TrackProducers = ['initialStepTracks',
                      'highPtTripletStepTracks',
                      'lowPtQuadStepTracks',
                      'lowPtTripletStepTracks',
                      'detachedQuadStepTracks',
                      'mixedTripletStepTracks',
                      'pixelPairStepTracks',
                      'tobTecStepTracks'],
    hasSelector = [1,1,1,1,1,1,1,1],
    indivShareFrac = [1.0,0.16,0.095,0.09,0.095,0.095,0.095,0.08],
    selectedTrackQuals = [cms.InputTag("initialStepSelector","initialStep"),
                          cms.InputTag("highPtTripletStepSelector","highPtTripletStep"),
                          cms.InputTag("lowPtQuadStepSelector","lowPtQuadStep"),
                          cms.InputTag("lowPtTripletStepSelector","lowPtTripletStep"),
                          cms.InputTag("detachedQuadStep"),
                          cms.InputTag("mixedTripletStep"),
                          cms.InputTag("pixelPairStepSelector","pixelPairStep"),
                          cms.InputTag("tobTecStepSelector","tobTecStep")],
    setsToMerge = [cms.PSet( tLists=cms.vint32(0,1,2,3,4,5,6,7), pQual=cms.bool(True) ) ],
    copyExtras = True,
    makeReKeyedSeeds = cms.untracked.bool(False)
))
# For Phase2PU140
from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140
trackingPhase2PU140.toReplaceWith(earlyGeneralTracks, _trackListMerger.clone(
    TrackProducers =['initialStepTracks',