Exemple #1
0
    FPix=dict(
        useErrorsFromParam=cms.bool(True),
        hitErrorRPhi=cms.double(0.0030),
        hitErrorRZ=cms.double(0.0020),
        TTRHBuilder='TTRHBuilderWithoutAngle4PixelPairs',
    ))

# TrackingRegion
from RecoTracker.TkTrackingRegions.globalTrackingRegionWithVertices_cff import globalTrackingRegionWithVertices as _globalTrackingRegionWithVertices
pixelPairStepTrackingRegions = _globalTrackingRegionWithVertices.clone(
    RegionPSet=dict(ptMin=0.6,
                    originRadius=0.015,
                    fixedError=0.03,
                    useMultipleScattering=True))
from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU
trackingLowPU.toModify(pixelPairStepTrackingRegions,
                       RegionPSet=dict(useMultipleScattering=False))
_region_Phase1 = dict(
    useMultipleScattering=False,
    maxNVertices=5,
)
trackingPhase1.toModify(pixelPairStepTrackingRegions,
                        RegionPSet=_region_Phase1)
trackingPhase2PU140.toModify(pixelPairStepTrackingRegions,
                             RegionPSet=_region_Phase1)
from Configuration.Eras.Modifier_highBetaStar_2018_cff import highBetaStar_2018
highBetaStar_2018.toModify(pixelPairStepTrackingRegions,
                           RegionPSet=dict(ptMin=0.05,
                                           originRadius=0.2,
                                           fixedError=4.))
fastSim.toModify(
    pixelPairStepTrackingRegions,
from RecoTracker.TkTrackingRegions.globalTrackingRegionWithVertices_cfi import *
from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU
trackingLowPU.toModify(globalTrackingRegionWithVertices, RegionPSet = dict(VertexCollection = "pixelVertices"))
from Configuration.Eras.Modifier_pp_on_XeXe_2017_cff import pp_on_XeXe_2017
from Configuration.Eras.Modifier_pp_on_AA_2018_cff import pp_on_AA_2018

for e in [pp_on_XeXe_2017, pp_on_AA_2018]:
    e.toModify(globalTrackingRegionWithVertices, RegionPSet = dict(
            VertexCollection = "firstStepPrimaryVertices",
            beamSpot = "offlineBeamSpot",
            maxNVertices = -1,
            nSigmaZ = 4.,
            precise = True,
            sigmaZVertex = 4.,
            useFakeVertices = False,
            useFixedError = True,
            useFoundVertices = True,
            useMultipleScattering = False                                                  
            )
                             )
Exemple #3
0
from RecoPixelVertexing.PixelTriplets.quadrupletseedmerging_cff import *

from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU

# TrackingRegion
pixelTracksTrackingRegions = _globalTrackingRegionFromBeamSpot.clone()

# Hit ntuplets
pixelTracksHitDoublets = _hitPairEDProducer.clone(
    clusterCheck="",
    seedingLayers="PixelLayerTriplets",
    trackingRegions="pixelTracksTrackingRegions",
    maxElement=0,
    produceIntermediateHitDoublets=True,
)
trackingLowPU.toModify(pixelTracksHitDoublets,
                       seedingLayers="PixelLayerTripletsPreSplitting")

pixelTracksHitTriplets = _pixelTripletHLTEDProducer.clone(
    doublets="pixelTracksHitDoublets",
    produceSeedingHitSets=True,
    SeedComparitorPSet=RecoPixelVertexing.PixelLowPtUtilities.
    LowPtClusterShapeSeedComparitor_cfi.LowPtClusterShapeSeedComparitor.clone(
    ))
trackingLowPU.toModify(
    pixelTracksHitTriplets,
    SeedComparitorPSet=dict(
        clusterShapeCacheSrc="siPixelClusterShapeCachePreSplitting"))

pixelTracksSequence = cms.Sequence(pixelTracksTrackingRegions +
                                   pixelTracksHitDoublets +
                                   pixelTracksHitTriplets +
        skipClusters = cms.InputTag('pixelLessStepClusters'),
        useRingSlector = cms.bool(True),
        TTRHBuilder = cms.string('WithTrackAngle'), clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
        minRing = cms.int32(3),
        maxRing = cms.int32(3)
    )
)
from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU
trackingLowPU.toModify(pixelLessStepSeedLayers,
    layerList = [
        'TIB1+TIB2',
        'TID1_pos+TID2_pos','TID2_pos+TID3_pos',
        'TEC1_pos+TEC2_pos','TEC2_pos+TEC3_pos','TEC3_pos+TEC4_pos','TEC3_pos+TEC5_pos','TEC4_pos+TEC5_pos',
        'TID1_neg+TID2_neg','TID2_neg+TID3_neg',
        'TEC1_neg+TEC2_neg','TEC2_neg+TEC3_neg','TEC3_neg+TEC4_neg','TEC3_neg+TEC5_neg','TEC4_neg+TEC5_neg'
    ],
    TIB = dict(clusterChargeCut = dict(refToPSet_ = 'SiStripClusterChargeCutTiny')),
    TID = dict(clusterChargeCut = dict(refToPSet_ = 'SiStripClusterChargeCutTiny')),
    TEC = dict(clusterChargeCut = dict(refToPSet_ = 'SiStripClusterChargeCutTiny')),
    MTIB = None,
    MTID = None,
    MTEC = None,
)

# TrackingRegion
from RecoTracker.TkTrackingRegions.globalTrackingRegionFromBeamSpotFixedZ_cfi import globalTrackingRegionFromBeamSpotFixedZ as _globalTrackingRegionFromBeamSpotFixedZ
pixelLessStepTrackingRegions = _globalTrackingRegionFromBeamSpotFixedZ.clone(RegionPSet = dict(
    ptMin = 0.4,
    originHalfLength = 12.0,
    originRadius = 1.0
))
Exemple #5
0
import FWCore.ParameterSet.Config as cms

from RecoJets.JetProducers.ak4CaloJets_cfi import ak4CaloJets as _ak4CaloJets
from RecoLocalCalo.CaloTowersCreator.calotowermaker_cfi import calotowermaker
caloTowerForTrk = calotowermaker.clone(hbheInput=cms.InputTag('hbheprereco'))
ak4CaloJetsForTrk = _ak4CaloJets.clone(
    srcPVs=cms.InputTag('firstStepPrimaryVerticesUnsorted'),
    src=cms.InputTag('caloTowerForTrk'))
from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU
trackingLowPU.toModify(ak4CaloJetsForTrk, srcPVs="pixelVertices")
from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140
trackingPhase2PU140.toModify(ak4CaloJetsForTrk, srcPVs="pixelVertices")

caloJetsForTrk = cms.Sequence(caloTowerForTrk * ak4CaloJetsForTrk)

from Configuration.Eras.Modifier_phase2_hcal_cff import phase2_hcal
phase2_hcal.toModify(caloTowerForTrk, hbheInput=cms.InputTag("hbhereco"))
Exemple #6
0
    FastSimulation.Tracking.TrajectorySeedProducer_cfi.trajectorySeedProducer.
    clone(trackingRegions="tobTecStepTrackingRegionsPair",
          hitMasks=cms.InputTag("tobTecStepMasks"),
          seedFinderSelector=dict(
              layerList=tobTecStepSeedLayersPair.layerList.value())))

# Combined seeds
import RecoTracker.TkSeedGenerator.GlobalCombinedSeeds_cfi
tobTecStepSeeds = RecoTracker.TkSeedGenerator.GlobalCombinedSeeds_cfi.globalCombinedSeeds.clone(
)
tobTecStepSeeds.seedCollections = cms.VInputTag(
    cms.InputTag('tobTecStepSeedsTripl'), cms.InputTag('tobTecStepSeedsPair'))

# LowPU
from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU
trackingLowPU.toModify(tobTecStepHitDoubletsPair,
                       seedingLayers='tobTecStepSeedLayers')
trackingLowPU.toReplaceWith(
    tobTecStepSeeds,
    _seedCreatorFromRegionConsecutiveHitsEDProducer.clone(
        seedingHitSets="tobTecStepHitDoubletsPair", ))

# 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(
    tobTecStepTrajectoryFilter,
    _tobTecStepTrajectoryFilterBase.clone(minimumNumberOfHits=6, ))
for e in [pp_on_XeXe_2017, pp_on_AA_2018]:
Exemple #7
0
import FWCore.ParameterSet.Config as cms

RegionPSetWithVerticesBlock = cms.PSet(RegionPSet=cms.PSet(
    precise=cms.bool(True),
    useMultipleScattering=cms.bool(False),
    beamSpot=cms.InputTag("offlineBeamSpot"),
    useFixedError=cms.bool(True),
    originRadius=cms.double(0.2),
    sigmaZVertex=cms.double(3.0),
    fixedError=cms.double(0.2),
    VertexCollection=cms.InputTag("firstStepPrimaryVertices"),
    ptMin=cms.double(0.9),
    useFoundVertices=cms.bool(True),
    useFakeVertices=cms.bool(False),
    maxNVertices=cms.int32(-1),
    nSigmaZ=cms.double(4.0)))
from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU
trackingLowPU.toModify(RegionPSetWithVerticesBlock,
                       RegionPSet=dict(VertexCollection="pixelVertices"))
Exemple #8
0
                      FastSimulation.Tracking.TrajectorySeedProducer_cfi.trajectorySeedProducer.clone(
        trackingRegions = "tobTecStepTrackingRegionsPair",
        hitMasks = cms.InputTag("tobTecStepMasks"),
        seedFinderSelector = dict(layerList = tobTecStepSeedLayersPair.layerList.value())
        )
)


# Combined seeds
import RecoTracker.TkSeedGenerator.GlobalCombinedSeeds_cfi
tobTecStepSeeds = RecoTracker.TkSeedGenerator.GlobalCombinedSeeds_cfi.globalCombinedSeeds.clone()
tobTecStepSeeds.seedCollections = cms.VInputTag(cms.InputTag('tobTecStepSeedsTripl'),cms.InputTag('tobTecStepSeedsPair'))

# LowPU
from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU
trackingLowPU.toModify(tobTecStepHitDoubletsPair, seedingLayers = 'tobTecStepSeedLayers')
trackingLowPU.toReplaceWith(tobTecStepSeeds, _seedCreatorFromRegionConsecutiveHitsEDProducer.clone(
    seedingHitSets = "tobTecStepHitDoubletsPair",
))


# 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,
    OrderedHitsFactoryPSet=cms.PSet(
        ComponentName=cms.string('StandardHitTripletGenerator'),
        SeedingLayers=cms.InputTag('PixelLayerTriplets'),
        GeneratorPSet=cms.PSet(PixelTripletHLTGeneratorWithFilter)),
    CleanerPSet=cms.PSet(
        ComponentName=cms.string('PixelTrackCleanerBySharedHits'),
        useQuadrupletAlgo=cms.bool(False),
    ))

_OrderedHitsFactoryPSet_LowPU_Phase1PU70 = dict(
    SeedingLayers="PixelLayerTripletsPreSplitting",
    GeneratorPSet=dict(SeedComparitorPSet=dict(
        clusterShapeCacheSrc="siPixelClusterShapeCachePreSplitting")))
from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU
trackingLowPU.toModify(
    PixelTrackReconstructionBlock,
    OrderedHitsFactoryPSet=_OrderedHitsFactoryPSet_LowPU_Phase1PU70)
from Configuration.Eras.Modifier_trackingPhase1PU70_cff import trackingPhase1PU70
trackingPhase1PU70.toModify(
    PixelTrackReconstructionBlock,
    SeedMergerPSet=cms.PSet(
        layerList=cms.PSet(
            refToPSet_=cms.string('PixelSeedMergerQuadruplets')),
        addRemainingTriplets=cms.bool(False),
        mergeTriplets=cms.bool(True),
        ttrhBuilderLabel=cms.string('PixelTTRHBuilderWithoutAngle')),
    FilterPSet=dict(chi2=50.0, tipMax=0.05),
    RegionFactoryPSet=dict(RegionPSet=dict(originRadius=0.02)),
    OrderedHitsFactoryPSet=_OrderedHitsFactoryPSet_LowPU_Phase1PU70,
)
from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140
Exemple #10
0
                  skipClusters=cms.InputTag('pixelLessStepClusters'),
                  useRingSlector=cms.bool(True),
                  TTRHBuilder=cms.string('WithTrackAngle'),
                  clusterChargeCut=cms.PSet(
                      refToPSet_=cms.string('SiStripClusterChargeCutTight')),
                  minRing=cms.int32(3),
                  maxRing=cms.int32(3)))
from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU
trackingLowPU.toModify(
    pixelLessStepSeedLayers,
    layerList=[
        'TIB1+TIB2', 'TID1_pos+TID2_pos', 'TID2_pos+TID3_pos',
        'TEC1_pos+TEC2_pos', 'TEC2_pos+TEC3_pos', 'TEC3_pos+TEC4_pos',
        'TEC3_pos+TEC5_pos', 'TEC4_pos+TEC5_pos', 'TID1_neg+TID2_neg',
        'TID2_neg+TID3_neg', 'TEC1_neg+TEC2_neg', 'TEC2_neg+TEC3_neg',
        'TEC3_neg+TEC4_neg', 'TEC3_neg+TEC5_neg', 'TEC4_neg+TEC5_neg'
    ],
    TIB=dict(clusterChargeCut=dict(refToPSet_='SiStripClusterChargeCutTiny')),
    TID=dict(clusterChargeCut=dict(refToPSet_='SiStripClusterChargeCutTiny')),
    TEC=dict(clusterChargeCut=dict(refToPSet_='SiStripClusterChargeCutTiny')),
    MTIB=None,
    MTID=None,
    MTEC=None,
)

# SEEDS
import RecoTracker.TkSeedGenerator.GlobalSeedsFromTriplets_cff
pixelLessStepSeeds = RecoTracker.TkSeedGenerator.GlobalSeedsFromTriplets_cff.globalSeedsFromTriplets.clone(
)
#OrderedHitsFactory
pixelLessStepSeeds.OrderedHitsFactoryPSet.SeedingLayers = 'pixelLessStepSeedLayers'
pixelLessStepSeeds.OrderedHitsFactoryPSet.ComponentName = 'StandardMultiHitGenerator'
    minNumberLayers = cms.uint32(3),
    minNumber3DLayers = cms.uint32(3),
    maxNumberLostLayers = cms.uint32(2),
    qualityBit = cms.string('tight'), ## set to '' or comment out if you dont want to set the bit
    keepAllTracks= cms.bool(True)
    )

highpurityMTS= tightMTS.clone(
    name= cms.string('TrkHighPurity'),                           
    preFilterName='TrkTight',
    res_par=cms.vdouble(0.003,0.001),
    qualityBit = cms.string('highPurity') ## set to '' or comment out if you dont want to set the bit
)

#typical configuration is six selectors... something like this to
#make cloning easier.
multiTrackSelector = cms.EDProducer("MultiTrackSelector",
   src = cms.InputTag("generalTracks"),
   beamspot = cms.InputTag("offlineBeamSpot"),
   useVertices = cms.bool(True),
   useVtxError = cms.bool(False),
   vertices    = cms.InputTag("firstStepPrimaryVertices"),
   trackSelectors = cms.VPSet( looseMTS,
                               tightMTS,
                               highpurityMTS)
 ) 
from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU
trackingLowPU.toModify(multiTrackSelector,
    vertices = "pixelVertices"
)
from RecoTracker.FinalTrackSelectors.TrackCutClassifier_cfi import *
from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU
trackingLowPU.toModify(TrackCutClassifier, vertices="pixelVertices")
                                      "detachedTripletStep",
                                      "mixedTripletStep",
                                      "pixelLessStep",
                                      "tobTecStep"
                                      ]
from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU
trackingLowPU.toModify(earlyGeneralTracks,
    trackProducers = [
        'initialStepTracks',
        'lowPtTripletStepTracks',
        'pixelPairStepTracks',
        'detachedTripletStepTracks',
        'mixedTripletStepTracks',
        'pixelLessStepTracks',
        'tobTecStepTracks'
    ],
    inputClassifiers = [
        "initialStepSelector",
        "lowPtTripletStepSelector",
        "pixelPairStepSelector",
        "detachedTripletStep",
        "mixedTripletStep",
        "pixelLessStepSelector",
        "tobTecStep"
    ]
)
from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1
_forPhase1 = dict(
    trackProducers = [
        'initialStepTracks',
        'highPtTripletStepTracks',
        'jetCoreRegionalStepTracks',
                                                                      ),
)
from Configuration.ProcessModifiers.premix_stage2_cff import premix_stage2
premix_stage2.toModify(vertexAnalysis,
    trackingParticleCollection = "mixData:MergedTrackTruth",
    trackingVertexCollection = "mixData:MergedTrackTruth",
)

vertexAnalysisTrackingOnly = vertexAnalysis.clone(
    vertexRecoCollections = vertexAnalysis.vertexRecoCollections.value() + [
        "firstStepPrimaryVerticesPreSplitting",
        "firstStepPrimaryVertices"
    ]
)
from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU
trackingLowPU.toModify(vertexAnalysisTrackingOnly, vertexRecoCollections = vertexAnalysis.vertexRecoCollections.value())
from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140
trackingPhase2PU140.toModify(vertexAnalysisTrackingOnly,
    vertexRecoCollections = vertexAnalysis.vertexRecoCollections.value() + [
        "firstStepPrimaryVertices"
    ]
)

pixelVertexAnalysisTrackingOnly = vertexAnalysis.clone(
    do_generic_sim_plots = False,
    trackAssociatorMap = "trackingParticlePixelTrackAsssociation",
    vertexAssociator = "PixelVertexAssociatorByPositionAndTracks",
    vertexRecoCollections = [
        "pixelVertices",
        "selectedPixelVertices"
    ]
Exemple #15
0
pixelPairStepSeeds.RegionFactoryPSet.RegionPSet.fixedError = 0.03
pixelPairStepSeeds.RegionFactoryPSet.RegionPSet.useMultipleScattering = True
pixelPairStepSeeds.OrderedHitsFactoryPSet.SeedingLayers = cms.InputTag('pixelPairStepSeedLayers')

pixelPairStepSeeds.SeedComparitorPSet = cms.PSet(
        ComponentName = cms.string('PixelClusterShapeSeedComparitor'),
        FilterAtHelixStage = cms.bool(True),
        FilterPixelHits = cms.bool(True),
        FilterStripHits = cms.bool(False),
        ClusterShapeHitFilterName = cms.string('ClusterShapeHitFilter'),
        ClusterShapeCacheSrc = cms.InputTag('siPixelClusterShapeCache'),
    )
from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU
trackingLowPU.toModify(pixelPairStepSeeds,
    RegionFactoryPSet = dict(RegionPSet = dict(
        VertexCollection = 'pixelVertices',
        useMultipleScattering = False
    ))
)
trackingPhase1PU70.toModify(pixelPairStepSeeds,
    RegionFactoryPSet = dict(
        RegionPSet = dict(
            ptMin = 1.2,
            useMultipleScattering = False,
            VertexCollection = "pixelVertices",
        )
    ),
)
trackingPhase2PU140.toModify(pixelPairStepSeeds,
    RegionFactoryPSet = dict(
        RegionPSet = dict(
            ptMin = 1.3,
Exemple #16
0
    TEC = cms.PSet(
        matchedRecHits = cms.InputTag("siStripMatchedRecHits","matchedRecHit"),
        useRingSlector = cms.bool(True),
        TTRHBuilder = cms.string('WithTrackAngle'), clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
        minRing = cms.int32(1),
        maxRing = cms.int32(1),
        skipClusters = cms.InputTag('mixedTripletStepClusters')
    )
)
from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU
trackingLowPU.toModify(mixedTripletStepSeedLayersA,
    layerList = [
        'BPix1+BPix2+BPix3',
        'BPix1+BPix2+FPix1_pos', 'BPix1+BPix2+FPix1_neg',
        'BPix1+FPix1_pos+FPix2_pos', 'BPix1+FPix1_neg+FPix2_neg',
        'BPix2+FPix1_pos+FPix2_pos', 'BPix2+FPix1_neg+FPix2_neg',
        'FPix1_pos+FPix2_pos+TEC1_pos', 'FPix1_neg+FPix2_neg+TEC1_neg',
        'FPix2_pos+TEC2_pos+TEC3_pos', 'FPix2_neg+TEC2_neg+TEC3_neg'
    ],
    TEC = dict(clusterChargeCut = dict(refToPSet_ = 'SiStripClusterChargeCutTiny')),
)
from Configuration.Eras.Modifier_highBetaStar_2018_cff import highBetaStar_2018
highBetaStar_2018.toModify(mixedTripletStepSeedLayersA,
    layerList = [
        'BPix1+BPix2+BPix3',
        'BPix1+FPix1_pos+FPix2_pos','BPix1+FPix1_neg+FPix2_neg',
        'BPix2+FPix1_pos+FPix2_pos','BPix2+FPix1_neg+FPix2_neg',
        'BPix1+BPix2+FPix1_pos', 'BPix1+BPix2+FPix1_neg',
        'BPix1+BPix2+FPix2_pos', 'BPix1+BPix2+FPix2_neg'
    ]
)
                                                                             originHalfLength = cms.double(12.0)
                                                                             ),
                                                      ComponentName = cms.string('GlobalRegionProducerFromBeamSpot')
                                                      ),
                                                  SeedCreatorPSet = cms.PSet(
                                                      ComponentName = cms.string('SeedForPhotonConversion1Leg'),
                                                      SeedMomentumForBOFF = cms.double(5.0),
                                                      propagator = cms.string('PropagatorWithMaterial'),
                                                      TTRHBuilder = cms.string('WithTrackAngle')
                                                      )
                                                  )
from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU
trackingLowPU.toModify(photonConvTrajSeedFromSingleLeg,
    OrderedHitsFactoryPSet = dict(maxElement = 10000),
    ClusterCheckPSet = dict(
        MaxNumberOfCosmicClusters = 150000,
        MaxNumberOfPixelClusters = 20000,
        cut = "strip < 150000 && pixel < 20000 && (strip < 20000 + 7* pixel)"
    )
)

from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140
trackingPhase2PU140.toModify(photonConvTrajSeedFromSingleLeg,
    ClusterCheckPSet = dict(
        MaxNumberOfCosmicClusters = 1000000,
        MaxNumberOfPixelClusters = 100000,
        cut = None
    ),
    OrderedHitsFactoryPSet = dict(maxElement = 100000),
    RegionFactoryPSet = dict(RegionPSet = dict(ptMin = 0.3)),
)
Exemple #18
0
from RecoPixelVertexing.PixelTriplets.pixelTripletLargeTipEDProducerDefault_cfi import pixelTripletLargeTipEDProducerDefault as _pixelTripletLargeTipEDProducerDefault

pixelTripletLargeTipEDProducer = _pixelTripletLargeTipEDProducerDefault.clone()
from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU
from Configuration.Eras.Modifier_trackingPhase1PU70_cff import trackingPhase1PU70
from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140
trackingLowPU.toModify(pixelTripletLargeTipEDProducer, maxElement=100000)
trackingPhase1PU70.toModify(pixelTripletLargeTipEDProducer, maxElement=0)
trackingPhase2PU140.toModify(pixelTripletLargeTipEDProducer, maxElement=0)

from Configuration.Eras.Modifier_peripheralPbPb_cff import peripheralPbPb
peripheralPbPb.toModify(pixelTripletLargeTipEDProducer, maxElement=1000000)
Exemple #19
0
trackingPhase1PU70.toModify(initialStepSeeds,
    RegionFactoryPSet = dict(RegionPSet = dict(ptMin = 0.7)),
    SeedMergerPSet = _SeedMergerPSet
)
from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140
trackingPhase2PU140.toModify(initialStepSeeds,
   ClusterCheckPSet = dict(doClusterCheck = cms.bool(False)),
   OrderedHitsFactoryPSet = dict(GeneratorPSet = dict(maxElement = 0)),
   RegionFactoryPSet = dict(RegionPSet = dict(ptMin = 0.8)),
   SeedCreatorPSet = dict(magneticField = '', propagator = 'PropagatorWithMaterial'),
   SeedMergerPSet = _SeedMergerPSet
) 


from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU
trackingLowPU.toModify(initialStepSeeds, OrderedHitsFactoryPSet = dict(GeneratorPSet = dict(maxElement = 100000)))

# 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)
initialStepTrajectoryFilterInOut = initialStepTrajectoryFilterBase.clone(
    minimumNumberOfHits = 4,
Exemple #20
0
    clusterChargeCut = dict(refToPSet_ = "SiStripClusterChargeCutTiny")
)

# TRACK BUILDING
import RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi
detachedTripletStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone(
    MeasurementTrackerName = '',
    trajectoryFilter = cms.PSet(refToPSet_ = cms.string('detachedTripletStepTrajectoryFilter')),
    maxCand = 3,
    alwaysUseInvalidHits = True,
    estimator = cms.string('detachedTripletStepChi2Est'),
    maxDPhiForLooperReconstruction = cms.double(2.0),
    maxPtForLooperReconstruction = cms.double(0.7) 
    )
trackingLowPU.toModify(detachedTripletStepTrajectoryBuilder,
    maxCand = 2,
    alwaysUseInvalidHits = False,
)

# MAKING OF TRACK CANDIDATES
import RecoTracker.CkfPattern.CkfTrackCandidates_cfi
detachedTripletStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
    src = cms.InputTag('detachedTripletStepSeeds'),
    clustersToSkip = cms.InputTag('detachedTripletStepClusters'),
    ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput
    numHitsForSeedCleaner = cms.int32(50),
    onlyPixelHitsForSeedCleaner = cms.bool(True),
    TrajectoryBuilderPSet = cms.PSet(refToPSet_ = cms.string('detachedTripletStepTrajectoryBuilder')),
    doSeedingRegionRebuilding = True,
    useHitsSplitting = True
    )
Exemple #21
0
# TrackingRegion
pixelTracksTrackingRegions = _globalTrackingRegionFromBeamSpot.clone()
trackingPhase1PU70.toModify(pixelTracksTrackingRegions, RegionPSet = dict(originRadius =  0.02))
trackingPhase2PU140.toModify(pixelTracksTrackingRegions, RegionPSet = dict(originRadius =  0.02))

# Hit ntuplets
pixelTracksHitDoublets = _hitPairEDProducer.clone(
    clusterCheck = "",
    seedingLayers = "PixelLayerTriplets",
    trackingRegions = "pixelTracksTrackingRegions",
    maxElement = 0,
    produceIntermediateHitDoublets = True,
)
_seedingLayers = dict(seedingLayers = "PixelLayerTripletsPreSplitting")
trackingLowPU.toModify(pixelTracksHitDoublets, **_seedingLayers)
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",
Exemple #22
0
    clusterChargeCut=dict(refToPSet_="SiStripClusterChargeCutTiny"))
trackingPhase2PU140.toModify(
    initialStepChi2Est,
    clusterChargeCut=dict(refToPSet_='SiStripClusterChargeCutNone'),
)

import RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi
initialStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone(
    trajectoryFilter=cms.PSet(
        refToPSet_=cms.string('initialStepTrajectoryFilter')),
    alwaysUseInvalidHits=True,
    maxCand=3,
    estimator=cms.string('initialStepChi2Est'),
    maxDPhiForLooperReconstruction=cms.double(2.0),
    maxPtForLooperReconstruction=cms.double(0.7))
trackingLowPU.toModify(initialStepTrajectoryBuilder, maxCand=5)
trackingPhase1.toModify(
    initialStepTrajectoryBuilder,
    minNrOfHitsForRebuild=1,
    keepOriginalIfRebuildFails=True,
)
trackingPhase2PU140.toModify(
    initialStepTrajectoryBuilder,
    minNrOfHitsForRebuild=1,
    keepOriginalIfRebuildFails=True,
)

import RecoTracker.CkfPattern.CkfTrackCandidates_cfi
initialStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
    src=cms.InputTag('initialStepSeeds'),
    ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput
Exemple #23
0
                                    hitErrorRZ = cms.double(0.0036),
                                    hitErrorRPhi = cms.double(0.0051),
                                    TTRHBuilder = cms.string('TTRHBuilderWithoutAngle4PixelPairs'),
                                    HitProducer = cms.string('siPixelRecHits'),
                                    useErrorsFromParam = cms.bool(True),
                                    skipClusters = cms.InputTag('convClusters'),
                                    )
    )
)

photonConvTrajSeedFromSingleLeg.TrackRefitter = cms.InputTag('generalTracks')
photonConvTrajSeedFromSingleLeg.primaryVerticesTag = cms.InputTag('firstStepPrimaryVertices')
#photonConvTrajSeedFromQuadruplets.TrackRefitter = cms.InputTag('generalTracks')
#photonConvTrajSeedFromQuadruplets.primaryVerticesTag = cms.InputTag('pixelVertices')
from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU
trackingLowPU.toModify(photonConvTrajSeedFromSingleLeg, primaryVerticesTag   = "pixelVertices")

from Configuration.Eras.Modifier_pp_on_XeXe_2017_cff import pp_on_XeXe_2017
pp_on_XeXe_2017.toModify(photonConvTrajSeedFromSingleLeg,
                         RegionFactoryPSet = dict(RegionPSet = dict(ptMin = 999999.0,
                                                                    originRadius = 0,
                                                                    originHalfLength = 0
                                                                    ))
                         )

# TRACKER DATA CONTROL

# QUALITY CUTS DURING TRACK BUILDING
import TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff
convCkfTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
        maxLostHits = 1,
    clusterChargeCut = dict(refToPSet_ = "SiStripClusterChargeCutTiny")
)

# TRACK BUILDING
import RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi
detachedTripletStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone(
    MeasurementTrackerName = '',
    trajectoryFilter = cms.PSet(refToPSet_ = cms.string('detachedTripletStepTrajectoryFilter')),
    maxCand = 3,
    alwaysUseInvalidHits = True,
    estimator = cms.string('detachedTripletStepChi2Est'),
    maxDPhiForLooperReconstruction = cms.double(2.0),
    maxPtForLooperReconstruction = cms.double(0.7) 
    )
trackingLowPU.toModify(detachedTripletStepTrajectoryBuilder,
    maxCand = 2,
    alwaysUseInvalidHits = False,
)

# MAKING OF TRACK CANDIDATES
import RecoTracker.CkfPattern.CkfTrackCandidates_cfi
detachedTripletStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
    src = cms.InputTag('detachedTripletStepSeeds'),
    clustersToSkip = cms.InputTag('detachedTripletStepClusters'),
    ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput
    numHitsForSeedCleaner = cms.int32(50),
    onlyPixelHitsForSeedCleaner = cms.bool(True),
    TrajectoryBuilderPSet = cms.PSet(refToPSet_ = cms.string('detachedTripletStepTrajectoryBuilder')),
    doSeedingRegionRebuilding = True,
    useHitsSplitting = True
    )
Exemple #25
0
    minNumberLayers=cms.uint32(3),
    minNumber3DLayers=cms.uint32(3),
    maxNumberLostLayers=cms.uint32(2),
    qualityBit=cms.string(
        'tight'),  ## set to '' or comment out if you dont want to set the bit
    keepAllTracks=cms.bool(True))

highpurityMTS = tightMTS.clone(
    name=cms.string('TrkHighPurity'),
    preFilterName='TrkTight',
    res_par=cms.vdouble(0.003, 0.001),
    qualityBit=cms.string(
        'highPurity'
    )  ## set to '' or comment out if you dont want to set the bit
)

#typical configuration is six selectors... something like this to
#make cloning easier.
multiTrackSelector = cms.EDProducer(
    "MultiTrackSelector",
    src=cms.InputTag("generalTracks"),
    beamspot=cms.InputTag("offlineBeamSpot"),
    useVertices=cms.bool(True),
    useVtxError=cms.bool(False),
    vertices=cms.InputTag("firstStepPrimaryVertices"),
    trackSelectors=cms.VPSet(looseMTS, tightMTS, highpurityMTS))
from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU
trackingLowPU.toModify(multiTrackSelector, vertices="pixelVertices")
from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140
trackingPhase2PU140.toModify(multiTrackSelector, vertices="pixelVertices")
Exemple #26
0
        hitErrorRPhi = cms.double(0.0030),
        hitErrorRZ = cms.double(0.0020),
        TTRHBuilder = cms.string('TTRHBuilderWithoutAngle4PixelPairs'),
    )
)

# TrackingRegion
from RecoTracker.TkTrackingRegions.globalTrackingRegionWithVertices_cff import globalTrackingRegionWithVertices as _globalTrackingRegionWithVertices
pixelPairStepTrackingRegions = _globalTrackingRegionWithVertices.clone(RegionPSet = dict(
    ptMin = 0.6,
    originRadius = 0.015,
    fixedError = 0.03,
    useMultipleScattering = True,
))
from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU
trackingLowPU.toModify(pixelPairStepTrackingRegions, RegionPSet=dict(useMultipleScattering=False))
_region_Phase1 = dict(
    useMultipleScattering = False,
    maxNVertices = 5,
)
trackingPhase1.toModify(pixelPairStepTrackingRegions, RegionPSet=_region_Phase1)
trackingPhase1QuadProp.toModify(pixelPairStepTrackingRegions, RegionPSet=_region_Phase1)
trackingPhase2PU140.toModify(pixelPairStepTrackingRegions, RegionPSet=dict(ptMin = 0.6, useMultipleScattering=False))

# SEEDS
from RecoTracker.TkHitPairs.hitPairEDProducer_cfi import hitPairEDProducer as _hitPairEDProducer
pixelPairStepHitDoublets = _hitPairEDProducer.clone(
    seedingLayers = "pixelPairStepSeedLayers",
    trackingRegions = "pixelPairStepTrackingRegions",
    produceSeedingHitSets = True,
)
    clusterChargeCut = dict(refToPSet_ = "SiStripClusterChargeCutTiny")
)

# TRACK BUILDING
import RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi
lowPtTripletStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone(
    MeasurementTrackerName = '',
    trajectoryFilter = cms.PSet(refToPSet_ = cms.string('lowPtTripletStepTrajectoryFilter')),
    maxCand = 4,
    estimator = cms.string('lowPtTripletStepChi2Est'),
    maxDPhiForLooperReconstruction = cms.double(2.0),
    # 0.63 GeV is the maximum pT for a charged particle to loop within the 1.1m radius
    # of the outermost Tracker barrel layer (with B=3.8T)
    maxPtForLooperReconstruction = cms.double(0.7) 
    )
trackingLowPU.toModify(lowPtTripletStepTrajectoryBuilder, maxCand = 3)
trackingPhase2PU140.toModify(lowPtTripletStepTrajectoryBuilder, 
    inOutTrajectoryFilter = dict(refToPSet_ = "lowPtTripletStepTrajectoryFilterInOut"),
    useSameTrajFilter = False,
    maxCand = 3,
)

# MAKING OF TRACK CANDIDATES
import RecoTracker.CkfPattern.CkfTrackCandidates_cfi
lowPtTripletStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
    src = cms.InputTag('lowPtTripletStepSeeds'),
    ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput
    numHitsForSeedCleaner = cms.int32(50),
    onlyPixelHitsForSeedCleaner = cms.bool(True),

    TrajectoryBuilderPSet = cms.PSet(refToPSet_ = cms.string('lowPtTripletStepTrajectoryBuilder')),
                                   Debug = cms.untracked.bool(False),
                                   Apply3DFit = cms.untracked.bool(True),
                                   VertexCollection = cms.untracked.InputTag('offlinePrimaryVertices'),
                                   #WriteAscii = cms.untracked.bool(True),
                                   #AsciiFileName = cms.untracked.string('PVFit.txt'),
                                   maxNrStoredVertices = cms.untracked.uint32(10000),
                                   minNrVerticesForFit = cms.untracked.uint32(50),
                                   minVertexNdf = cms.untracked.double(10.),
                                   maxVertexNormChi2 = cms.untracked.double(10.),
                                   minVertexNTracks = cms.untracked.uint32(0),
                                   minVertexMeanWeight = cms.untracked.double(0.5),
                                   maxVertexR = cms.untracked.double(2),
                                   maxVertexZ = cms.untracked.double(10),
                                   errorScale = cms.untracked.double(0.9),
                                   nSigmaCut = cms.untracked.double(5.),
                                   FitPerBunchCrossing = cms.untracked.bool(False),
                                   useOnlyFirstPV = cms.untracked.bool(False),
                                   minSumPt = cms.untracked.double(0.)
                                   ),
                               )

# This customization is needed in the trackingLowPU era to be able to
# compute the beamspot also in the cases in which the pixel detector
# is not included in data-taking, like it was the case for "Quiet
# Beam" collisions on 2016 with run 269207.

from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU
trackingLowPU.toModify(AlcaBeamMonitor,
                            BeamFitter = dict(MaximumImpactParameter = 5.0,
                                              MinimumInputTracks = 50))
import FWCore.ParameterSet.Config as cms

from RecoJets.JetProducers.ak4CaloJets_cfi import ak4CaloJets
from RecoLocalCalo.CaloTowersCreator.calotowermaker_cfi import calotowermaker
caloTowerForTrk = calotowermaker.clone(hbheInput=cms.InputTag('hbheprereco'))
ak4CaloJetsForTrk = ak4CaloJets.clone(srcPVs = cms.InputTag('firstStepPrimaryVertices'), src= cms.InputTag('caloTowerForTrk'))
from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU
trackingLowPU.toModify(ak4CaloJetsForTrk,
    srcPVs = "pixelVertices"
)
from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140
trackingPhase2PU140.toModify(ak4CaloJetsForTrk,
    srcPVs = "pixelVertices"
)

caloJetsForTrk = cms.Sequence(caloTowerForTrk*ak4CaloJetsForTrk)

from Configuration.Eras.Modifier_phase2_hcal_cff import phase2_hcal
phase2_hcal.toModify( caloTowerForTrk, hbheInput = cms.InputTag("hbhereco") )

        MinimumInputTracks=cms.untracked.int32(150),
        deltaSignificanceCut=cms.untracked.double(10)),
    PVFitter=cms.PSet(
        Debug=cms.untracked.bool(False),
        Apply3DFit=cms.untracked.bool(True),
        VertexCollection=cms.untracked.InputTag('offlinePrimaryVertices'),
        #WriteAscii = cms.untracked.bool(True),
        #AsciiFileName = cms.untracked.string('PVFit.txt'),
        maxNrStoredVertices=cms.untracked.uint32(10000),
        minNrVerticesForFit=cms.untracked.uint32(50),
        minVertexNdf=cms.untracked.double(10.),
        maxVertexNormChi2=cms.untracked.double(10.),
        minVertexNTracks=cms.untracked.uint32(0),
        minVertexMeanWeight=cms.untracked.double(0.5),
        maxVertexR=cms.untracked.double(2),
        maxVertexZ=cms.untracked.double(10),
        errorScale=cms.untracked.double(0.9),
        nSigmaCut=cms.untracked.double(5.),
        FitPerBunchCrossing=cms.untracked.bool(False)),
)

# This customization is needed in the trackingLowPU era to be able to
# compute the beamspot also in the cases in which the pixel detector
# is not included in data-taking, like it was the case for "Quiet
# Beam" collisions on 2016 with run 269207.

from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU
trackingLowPU.toModify(AlcaBeamMonitor,
                       BeamFitter=dict(MaximumImpactParameter=5.0,
                                       MinimumInputTracks=50))
Exemple #31
0
from RecoPixelVertexing.PixelTriplets.quadrupletseedmerging_cff import *

from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU

# TrackingRegion
pixelTracksTrackingRegions = _globalTrackingRegionFromBeamSpot.clone()

# Hit ntuplets
pixelTracksHitDoublets = _hitPairEDProducer.clone(
    clusterCheck = "",
    seedingLayers = "PixelLayerTriplets",
    trackingRegions = "pixelTracksTrackingRegions",
    maxElement = 0,
    produceIntermediateHitDoublets = True,
)
trackingLowPU.toModify(pixelTracksHitDoublets, seedingLayers = "PixelLayerTripletsPreSplitting")

pixelTracksHitTriplets = _pixelTripletHLTEDProducer.clone(
    doublets = "pixelTracksHitDoublets",
    produceSeedingHitSets = True,
    SeedComparitorPSet = RecoPixelVertexing.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi.LowPtClusterShapeSeedComparitor.clone()
)
trackingLowPU.toModify(pixelTracksHitTriplets, SeedComparitorPSet = dict(clusterShapeCacheSrc = "siPixelClusterShapeCachePreSplitting"))

pixelTracksSequence = cms.Sequence(
    pixelTracksTrackingRegions +
    pixelTracksHitDoublets +
    pixelTracksHitTriplets +
    pixelFitterByHelixProjections +
    pixelTrackFilterByKinematics +
    pixelTracks
from RecoTracker.TkTrackingRegions.globalTrackingRegionWithVertices_cfi import *
from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU
trackingLowPU.toModify(globalTrackingRegionWithVertices,
                       RegionPSet=dict(VertexCollection="pixelVertices"))
Exemple #33
0
# TrackingRegion
pixelTracksTrackingRegions = _globalTrackingRegionFromBeamSpot.clone()
trackingPhase1PU70.toModify(pixelTracksTrackingRegions, RegionPSet = dict(originRadius =  0.02))
trackingPhase2PU140.toModify(pixelTracksTrackingRegions, RegionPSet = dict(originRadius =  0.02))

# Hit ntuplets
pixelTracksHitDoublets = _hitPairEDProducer.clone(
    clusterCheck = "",
    seedingLayers = "PixelLayerTriplets",
    trackingRegions = "pixelTracksTrackingRegions",
    maxElement = 0,
    produceIntermediateHitDoublets = True,
)
_seedingLayers = dict(seedingLayers = "PixelLayerTripletsPreSplitting")
trackingLowPU.toModify(pixelTracksHitDoublets, **_seedingLayers)
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",
import FWCore.ParameterSet.Config as cms

RegionPSetWithVerticesBlock = cms.PSet(
    RegionPSet = cms.PSet(
        precise = cms.bool(True),
        useMultipleScattering = cms.bool(False),
        beamSpot = cms.InputTag("offlineBeamSpot"),
        useFixedError = cms.bool(True),
        originRadius = cms.double(0.2),
        sigmaZVertex = cms.double(3.0),
        fixedError = cms.double(0.2),
        VertexCollection = cms.InputTag("firstStepPrimaryVertices"),
        ptMin = cms.double(0.9),
        useFoundVertices = cms.bool(True),
        useFakeVertices = cms.bool(False),
        maxNVertices = cms.int32(-1),
        nSigmaZ = cms.double(4.0)
    )
)
from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU
trackingLowPU.toModify(RegionPSetWithVerticesBlock,
    RegionPSet = dict(VertexCollection = "pixelVertices")
)
               maxDistanceToBeam = cms.double(1.0)
               )
      ]
    )
                                        

                                        
)

# This customization is needed in the trackingLowPU era to be able to
# produce vertices also in the cases in which the pixel detector is
# not included in data-taking, like it was the case for "Quiet Beam"
# collisions on 2016 with run 269207.

from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU
trackingLowPU.toModify(offlinePrimaryVertices,
                            TkFilterParameters = dict(minPixelLayersWithHits = 0))


# higher eta cut for the phase 2 tracker
from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker 
phase2_tracker.toModify(offlinePrimaryVertices, 
                        TkFilterParameters = dict(maxEta = 4.0))

from Configuration.Eras.Modifier_pp_on_XeXe_2017_cff import pp_on_XeXe_2017
from Configuration.Eras.Modifier_pp_on_AA_2018_cff import pp_on_AA_2018
for e in [pp_on_XeXe_2017, pp_on_AA_2018]:
    e.toModify(offlinePrimaryVertices,
               TkFilterParameters = dict(maxD0Significance = 3.0),
               TkClusParameters = cms.PSet(
            algorithm = cms.string("gap"),
            TkGapClusParameters = cms.PSet(
Exemple #36
0
    TEC=cms.PSet(matchedRecHits=cms.InputTag("siStripMatchedRecHits",
                                             "matchedRecHit"),
                 useRingSlector=cms.bool(True),
                 TTRHBuilder=cms.string('WithTrackAngle'),
                 clusterChargeCut=cms.PSet(
                     refToPSet_=cms.string('SiStripClusterChargeCutTight')),
                 minRing=cms.int32(1),
                 maxRing=cms.int32(1),
                 skipClusters=cms.InputTag('mixedTripletStepClusters')))
from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU
trackingLowPU.toModify(
    mixedTripletStepSeedLayersA,
    layerList=[
        'BPix1+BPix2+BPix3', 'BPix1+BPix2+FPix1_pos', 'BPix1+BPix2+FPix1_neg',
        'BPix1+FPix1_pos+FPix2_pos', 'BPix1+FPix1_neg+FPix2_neg',
        'BPix2+FPix1_pos+FPix2_pos', 'BPix2+FPix1_neg+FPix2_neg',
        'FPix1_pos+FPix2_pos+TEC1_pos', 'FPix1_neg+FPix2_neg+TEC1_neg',
        'FPix2_pos+TEC2_pos+TEC3_pos', 'FPix2_neg+TEC2_neg+TEC3_neg'
    ],
    TEC=dict(clusterChargeCut=dict(refToPSet_='SiStripClusterChargeCutTiny')),
)

# TrackingRegion
from RecoTracker.TkTrackingRegions.globalTrackingRegionFromBeamSpotFixedZ_cfi import globalTrackingRegionFromBeamSpotFixedZ as _globalTrackingRegionFromBeamSpotFixedZ
_mixedTripletStepTrackingRegionsCommon = _globalTrackingRegionFromBeamSpotFixedZ.clone(
    RegionPSet=dict(ptMin=0.4, originHalfLength=15.0, originRadius=1.5))
trackingLowPU.toModify(_mixedTripletStepTrackingRegionsCommon,
                       RegionPSet=dict(originHalfLength=10.0))
mixedTripletStepTrackingRegionsA = _mixedTripletStepTrackingRegionsCommon.clone(
)
from RecoTracker.FinalTrackSelectors.TrackCutClassifier_cfi import *
from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU
trackingLowPU.toModify(TrackCutClassifier,
    vertices = "pixelVertices"
)
from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140
trackingPhase2PU140.toModify(TrackCutClassifier,
    vertices = "pixelVertices"
)
                            beamSpot=cms.InputTag("offlineBeamSpot"),
                            originRadius=cms.double(3.0),
                            ptMin=cms.double(0.2),
                            originHalfLength=cms.double(12.0)),
        ComponentName=cms.string('GlobalRegionProducerFromBeamSpot')),
    SeedCreatorPSet=cms.PSet(
        ComponentName=cms.string('SeedForPhotonConversion1Leg'),
        SeedMomentumForBOFF=cms.double(5.0),
        propagator=cms.string('PropagatorWithMaterial'),
        TTRHBuilder=cms.string('WithTrackAngle')))
from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU

trackingLowPU.toModify(
    photonConvTrajSeedFromSingleLeg,
    OrderedHitsFactoryPSet=dict(maxElement=10000),
    ClusterCheckPSet=dict(
        MaxNumberOfCosmicClusters=150000,
        MaxNumberOfPixelClusters=20000,
        cut="strip < 150000 && pixel < 20000 && (strip < 20000 + 7* pixel)"))

from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140

trackingPhase2PU140.toModify(
    photonConvTrajSeedFromSingleLeg,
    ClusterCheckPSet=dict(MaxNumberOfCosmicClusters=1000000,
                          MaxNumberOfPixelClusters=100000,
                          cut=None),
    OrderedHitsFactoryPSet=dict(maxElement=100000),
    RegionFactoryPSet=dict(RegionPSet=dict(ptMin=0.3)),
)
Exemple #39
0
    seedingLayers="pixelTracksSeedLayers",
    trackingRegions="pixelTracksTrackingRegions")

pixelTracksHitQuadruplets = _initialStepCAHitQuadruplets.clone(
    doublets="pixelTracksHitDoublets",
    SeedComparitorPSet=dict(
        clusterShapeCacheSrc='siPixelClusterShapeCachePreSplitting'))

# for trackingLowPU
pixelTracksHitTriplets = _pixelTripletHLTEDProducer.clone(
    doublets="pixelTracksHitDoublets",
    produceSeedingHitSets=True,
    SeedComparitorPSet=RecoPixelVertexing.PixelLowPtUtilities.
    LowPtClusterShapeSeedComparitor_cfi.LowPtClusterShapeSeedComparitor.clone(
        clusterShapeCacheSrc="siPixelClusterShapeCachePreSplitting"))

pixelTracks = _pixelTracks.clone(SeedingHitSets="pixelTracksHitQuadruplets")
trackingLowPU.toModify(pixelTracks, SeedingHitSets="pixelTracksHitTriplets")

pixelTracksTask = cms.Task(pixelTracksTrackingRegions,
                           pixelFitterByHelixProjections,
                           pixelTrackFilterByKinematics, pixelTracksSeedLayers,
                           pixelTracksHitDoublets, pixelTracksHitQuadruplets,
                           pixelTracks)
_pixelTracksTask_lowPU = pixelTracksTask.copy()
_pixelTracksTask_lowPU.replace(pixelTracksHitQuadruplets,
                               pixelTracksHitTriplets)
trackingLowPU.toReplaceWith(pixelTracksTask, _pixelTracksTask_lowPU)

pixelTracksSequence = cms.Sequence(pixelTracksTask)
Exemple #40
0
                                                                      ),
)
from Configuration.ProcessModifiers.premix_stage2_cff import premix_stage2
premix_stage2.toModify(vertexAnalysis,
    trackingParticleCollection = "mixData:MergedTrackTruth",
    trackingVertexCollection = "mixData:MergedTrackTruth",
)

vertexAnalysisTrackingOnly = vertexAnalysis.clone(
    vertexRecoCollections = vertexAnalysis.vertexRecoCollections.value() + [
        "firstStepPrimaryVerticesPreSplitting",
        "firstStepPrimaryVertices"
    ]
)
from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU
trackingLowPU.toModify(vertexAnalysisTrackingOnly, vertexRecoCollections = vertexAnalysis.vertexRecoCollections.value())
from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140
trackingPhase2PU140.toModify(vertexAnalysisTrackingOnly,
    vertexRecoCollections = vertexAnalysis.vertexRecoCollections.value() + [
        "firstStepPrimaryVertices"
    ]
)

pixelVertexAnalysisTrackingOnly = vertexAnalysis.clone(
    do_generic_sim_plots = False,
    trackAssociatorMap = "trackingParticlePixelTrackAsssociation",
    vertexAssociator = "PixelVertexAssociatorByPositionAndTracks",
    vertexRecoCollections = [
        "pixelVertices",
        "selectedPixelVertices"
    ]
               maxDistanceToBeam = cms.double(1.0)
               )
      ]
    )
                                        

                                        
)

# This customization is needed in the trackingLowPU era to be able to
# produce vertices also in the cases in which the pixel detector is
# not included in data-taking, like it was the case for "Quiet Beam"
# collisions on 2016 with run 269207.

from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU
trackingLowPU.toModify(offlinePrimaryVertices,
                            TkFilterParameters = dict(minPixelLayersWithHits = 0))


# higher eta cut for the phase 2 tracker
from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker 
phase2_tracker.toModify(offlinePrimaryVertices, 
                        TkFilterParameters = dict(maxEta = 4.0))

from Configuration.Eras.Modifier_pp_on_XeXe_2017_cff import pp_on_XeXe_2017
from Configuration.Eras.Modifier_pp_on_AA_2018_cff import pp_on_AA_2018
for e in [pp_on_XeXe_2017, pp_on_AA_2018]:
    e.toModify(offlinePrimaryVertices,
               TkFilterParameters = dict(maxD0Significance = 3.0),
               TkClusParameters = cms.PSet(
            algorithm = cms.string("gap"),
            TkGapClusParameters = cms.PSet(
Exemple #42
0
        skipClusters = cms.InputTag('pixelLessStepClusters'),
        useRingSlector = cms.bool(True),
        TTRHBuilder = cms.string('WithTrackAngle'), clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
        minRing = cms.int32(3),
        maxRing = cms.int32(3)
    )
)
from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU
trackingLowPU.toModify(pixelLessStepSeedLayers,
    layerList = [
        'TIB1+TIB2',
        'TID1_pos+TID2_pos','TID2_pos+TID3_pos',
        'TEC1_pos+TEC2_pos','TEC2_pos+TEC3_pos','TEC3_pos+TEC4_pos','TEC3_pos+TEC5_pos','TEC4_pos+TEC5_pos',
        'TID1_neg+TID2_neg','TID2_neg+TID3_neg',
        'TEC1_neg+TEC2_neg','TEC2_neg+TEC3_neg','TEC3_neg+TEC4_neg','TEC3_neg+TEC5_neg','TEC4_neg+TEC5_neg'
    ],
    TIB = dict(clusterChargeCut = dict(refToPSet_ = 'SiStripClusterChargeCutTiny')),
    TID = dict(clusterChargeCut = dict(refToPSet_ = 'SiStripClusterChargeCutTiny')),
    TEC = dict(clusterChargeCut = dict(refToPSet_ = 'SiStripClusterChargeCutTiny')),
    MTIB = None,
    MTID = None,
    MTEC = None,
)

# TrackingRegion
from RecoTracker.TkTrackingRegions.globalTrackingRegionFromBeamSpotFixedZ_cfi import globalTrackingRegionFromBeamSpotFixedZ as _globalTrackingRegionFromBeamSpotFixedZ
pixelLessStepTrackingRegions = _globalTrackingRegionFromBeamSpotFixedZ.clone(RegionPSet = dict(
    ptMin = 0.4,
    originHalfLength = 12.0,
    originRadius = 1.0
))
                                      "detachedTripletStep",
                                      "mixedTripletStep",
                                      "pixelLessStep",
                                      "tobTecStep"
                                      ]
from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU
trackingLowPU.toModify(earlyGeneralTracks,
    trackProducers = [
        'initialStepTracks',
        'lowPtTripletStepTracks',
        'pixelPairStepTracks',
        'detachedTripletStepTracks',
        'mixedTripletStepTracks',
        'pixelLessStepTracks',
        'tobTecStepTracks'
    ],
    inputClassifiers = [
        "initialStepSelector",
        "lowPtTripletStepSelector",
        "pixelPairStepSelector",
        "detachedTripletStep",
        "mixedTripletStep",
        "pixelLessStepSelector",
        "tobTecStep"
    ]
)
from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1
from Configuration.Eras.Modifier_trackingPhase1QuadProp_cff import trackingPhase1QuadProp
_forPhase1 = dict(
    trackProducers = [
        'initialStepTracks',
        'highPtTripletStepTracks',
Exemple #44
0
        FPix=cms.PSet(
            hitErrorRZ=cms.double(0.0036),
            hitErrorRPhi=cms.double(0.0051),
            TTRHBuilder=cms.string('TTRHBuilderWithoutAngle4PixelPairs'),
            HitProducer=cms.string('siPixelRecHits'),
            useErrorsFromParam=cms.bool(True),
            skipClusters=cms.InputTag('convClusters'),
        )))

photonConvTrajSeedFromSingleLeg.TrackRefitter = cms.InputTag('generalTracks')
photonConvTrajSeedFromSingleLeg.primaryVerticesTag = cms.InputTag(
    'firstStepPrimaryVertices')
#photonConvTrajSeedFromQuadruplets.TrackRefitter = cms.InputTag('generalTracks')
#photonConvTrajSeedFromQuadruplets.primaryVerticesTag = cms.InputTag('pixelVertices')
from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU
trackingLowPU.toModify(photonConvTrajSeedFromSingleLeg,
                       primaryVerticesTag="pixelVertices")

from Configuration.Eras.Modifier_pp_on_XeXe_2017_cff import pp_on_XeXe_2017
from Configuration.Eras.Modifier_pp_on_AA_2018_cff import pp_on_AA_2018
for e in [pp_on_XeXe_2017, pp_on_AA_2018]:
    e.toModify(photonConvTrajSeedFromSingleLeg,
               RegionFactoryPSet=dict(RegionPSet=dict(
                   ptMin=999999.0, originRadius=0, originHalfLength=0)))

# TRACKER DATA CONTROL

# QUALITY CUTS DURING TRACK BUILDING
import TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff
convCkfTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
    maxLostHits=1, minimumNumberOfHits=3, minPt=0.1)
Exemple #45
0
)
trackingPhase2PU140.toModify(initialStepChi2Est,
    clusterChargeCut = dict(refToPSet_ = 'SiStripClusterChargeCutNone'),
)


import RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi
initialStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone(
    trajectoryFilter = cms.PSet(refToPSet_ = cms.string('initialStepTrajectoryFilter')),
    alwaysUseInvalidHits = True,
    maxCand = 3,
    estimator = cms.string('initialStepChi2Est'),
    maxDPhiForLooperReconstruction = cms.double(2.0),
    maxPtForLooperReconstruction = cms.double(0.7)
    )
trackingLowPU.toModify(initialStepTrajectoryBuilder, maxCand = 5)
trackingPhase1.toModify(initialStepTrajectoryBuilder,
    minNrOfHitsForRebuild = 1,
    keepOriginalIfRebuildFails = True,
)
trackingPhase2PU140.toModify(initialStepTrajectoryBuilder,
    minNrOfHitsForRebuild = 1,
    keepOriginalIfRebuildFails = True,
)

import RecoTracker.CkfPattern.CkfTrackCandidates_cfi
initialStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
    src = cms.InputTag('initialStepSeeds'),
    ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput
    numHitsForSeedCleaner = cms.int32(50),
    onlyPixelHitsForSeedCleaner = cms.bool(True),
Exemple #46
0
    clusterChargeCut=dict(refToPSet_="SiStripClusterChargeCutTiny"))

# TRACK BUILDING
import RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi

lowPtTripletStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone(
    MeasurementTrackerName='',
    trajectoryFilter=cms.PSet(
        refToPSet_=cms.string('lowPtTripletStepTrajectoryFilter')),
    maxCand=4,
    estimator=cms.string('lowPtTripletStepChi2Est'),
    maxDPhiForLooperReconstruction=cms.double(2.0),
    # 0.63 GeV is the maximum pT for a charged particle to loop within the 1.1m radius
    # of the outermost Tracker barrel layer (with B=3.8T)
    maxPtForLooperReconstruction=cms.double(0.7))
trackingLowPU.toModify(lowPtTripletStepTrajectoryBuilder, maxCand=3)
trackingPhase2PU140.toModify(
    lowPtTripletStepTrajectoryBuilder,
    inOutTrajectoryFilter=dict(
        refToPSet_="lowPtTripletStepTrajectoryFilterInOut"),
    useSameTrajFilter=False,
    maxCand=3,
)

# MAKING OF TRACK CANDIDATES
import RecoTracker.CkfPattern.CkfTrackCandidates_cfi

lowPtTripletStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
    src=cms.InputTag('lowPtTripletStepSeeds'),
    ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput
    numHitsForSeedCleaner=cms.int32(50),
Exemple #47
0
    doublets = "pixelTracksHitDoublets",
    SeedComparitorPSet = dict(clusterShapeCacheSrc = 'siPixelClusterShapeCachePreSplitting')
)

# for trackingLowPU
pixelTracksHitTriplets = _pixelTripletHLTEDProducer.clone(
    doublets = "pixelTracksHitDoublets",
    produceSeedingHitSets = True,
    SeedComparitorPSet = RecoPixelVertexing.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi.LowPtClusterShapeSeedComparitor.clone(
        clusterShapeCacheSrc = "siPixelClusterShapeCachePreSplitting"
    )
)

pixelTracks = _pixelTracks.clone(
    SeedingHitSets = "pixelTracksHitQuadruplets"
)
trackingLowPU.toModify(pixelTracks, SeedingHitSets = "pixelTracksHitTriplets")

pixelTracksSequence = cms.Sequence(
    pixelTracksTrackingRegions +
    pixelFitterByHelixProjections +
    pixelTrackFilterByKinematics +
    pixelTracksSeedLayers +
    pixelTracksHitDoublets +
    pixelTracksHitQuadruplets +
    pixelTracks
)
_pixelTracksSequence_lowPU = pixelTracksSequence.copy()
_pixelTracksSequence_lowPU.replace(pixelTracksHitQuadruplets, pixelTracksHitTriplets)
trackingLowPU.toReplaceWith(pixelTracksSequence, _pixelTracksSequence_lowPU)