from RecoTracker.TkSeedGenerator.trackerClusterCheckDefault_cfi import trackerClusterCheckDefault as _trackerClusterCheckDefault
trackerClusterCheck = _trackerClusterCheckDefault.clone()

from Configuration.Eras.Modifier_phase1Pixel_cff import phase1Pixel
from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker
# Disable too many clusters check until we have an updated cut string for phase1 and phase2
phase1Pixel.toModify(trackerClusterCheck, doClusterCheck=False) # FIXME
phase2_tracker.toModify(trackerClusterCheck, doClusterCheck=False) # FIXME

from Configuration.Eras.Modifier_peripheralPbPb_cff import peripheralPbPb
peripheralPbPb.toModify(trackerClusterCheck,
                        doClusterCheck=True,  #FIXMETOO
                        cut = "strip < 400000 && pixel < 40000 && (strip < 60000 + 7.0*pixel) && (pixel < 8000 + 0.14*strip)"
                        )
from Configuration.Eras.Modifier_pp_on_XeXe_2017_cff import pp_on_XeXe_2017
pp_on_XeXe_2017.toModify(trackerClusterCheck,
               doClusterCheck=True, #FIXMETOO
               cut = "strip < 1000000 && pixel < 100000 && (strip < 50000 + 10*pixel) && (pixel < 5000 + strip/2.)",
               MaxNumberOfPixelClusters = 100000
               )

from Configuration.Eras.Modifier_pp_on_AA_2018_cff import pp_on_AA_2018
pp_on_AA_2018.toModify(trackerClusterCheck,
               doClusterCheck=True, 
               cut = "strip < 1000000 && pixel < 150000 && (strip < 50000 + 10*pixel) && (pixel < 5000 + strip/2.)",
               MaxNumberOfPixelClusters = 150000,
               MaxNumberOfCosmicClusters = 500000
               )
import FWCore.ParameterSet.Config as cms

TrackerKinkFinderParametersBlock = cms.PSet(
    TrackerKinkFinderParameters  = cms.PSet(
        # use also position degrees of freedom of the track state
        usePosition = cms.bool(True),
        # discard off-diagonal terms when computing chi2s
        diagonalOnly = cms.bool(False),
        # configuraton for refitter
        DoPredictionsOnly = cms.bool(False),
        Fitter = cms.string('KFFitterForRefitInsideOut'),
        TrackerRecHitBuilder = cms.string('WithAngleAndTemplate'),
        Smoother = cms.string('KFSmootherForRefitInsideOut'),
        MuonRecHitBuilder = cms.string('MuonRecHitBuilder'),
        RefitDirection = cms.string('alongMomentum'),
        RefitRPCHits = cms.bool(True),
        Propagator = cms.string('SmartPropagatorAnyRKOpposite'),
    )
)

# Switch back to GenericCPE until bias in template CPE gets fixed
from Configuration.Eras.Modifier_phase1Pixel_cff import phase1Pixel
phase1Pixel.toModify(TrackerKinkFinderParametersBlock, TrackerKinkFinderParameters = dict(TrackerRecHitBuilder = 'WithTrackAngle')) # FIXME

# This customization will be removed once we get the templates for
# phase2 pixel
from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker
phase2_tracker.toModify(TrackerKinkFinderParametersBlock, TrackerKinkFinderParameters = dict(TrackerRecHitBuilder = 'WithTrackAngle')) # FIXME

import FWCore.ParameterSet.Config as cms

TrackerKinkFinderParametersBlock = cms.PSet(
    TrackerKinkFinderParameters  = cms.PSet(
        # use also position degrees of freedom of the track state
        usePosition = cms.bool(True),
        # discard off-diagonal terms when computing chi2s
        diagonalOnly = cms.bool(False),
        # configuraton for refitter
        DoPredictionsOnly = cms.bool(False),
        Fitter = cms.string('KFFitterForRefitInsideOut'),
        TrackerRecHitBuilder = cms.string('WithAngleAndTemplate'),
        Smoother = cms.string('KFSmootherForRefitInsideOut'),
        MuonRecHitBuilder = cms.string('MuonRecHitBuilder'),
        RefitDirection = cms.string('alongMomentum'),
        RefitRPCHits = cms.bool(True),
        Propagator = cms.string('SmartPropagatorAnyRKOpposite'),
    )
)

# This customization will be removed once we get the templates for
# phase2 pixel
from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker
phase2_tracker.toModify(TrackerKinkFinderParametersBlock, TrackerKinkFinderParameters = dict(TrackerRecHitBuilder = 'WithTrackAngle')) # FIXME

Exemple #4
0
                        'TrackerHitsPixelBarrelLowTof',
                        'TrackerHitsPixelBarrelHighTof',
                        'TrackerHitsPixelEndcapLowTof',
                        'TrackerHitsPixelEndcapHighTof'),
    #
    # to associate to reco::Muon segments
    inputDTRecSegment4DCollection=cms.InputTag("dt4DSegments"),
    inputCSCSegmentCollection=cms.InputTag("cscSegments"),
)

from Configuration.Eras.Modifier_run3_GEM_cff import run3_GEM
from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker
run3_GEM.toModify(muonAssociatorByHitsCommonParameters, useGEMs=True)
phase2_tracker.toModify(
    muonAssociatorByHitsCommonParameters,
    usePhase2Tracker=True,
    pixelSimLinkSrc="simSiPixelDigis:Pixel",
)

from Configuration.Eras.Modifier_fastSim_cff import fastSim
fastSim.toModify(muonAssociatorByHitsCommonParameters,
                 simtracksTag="fastSimProducer",
                 DTsimhitsTag="MuonSimHits:MuonDTHits",
                 CSCsimHitsTag="MuonSimHits:MuonCSCHits",
                 RPCsimhitsTag="MuonSimHits:MuonRPCHits",
                 simtracksXFTag="mix:fastSimProducer",
                 DTsimhitsXFTag="mix:MuonSimHitsMuonDTHits",
                 CSCsimHitsXFTag="mix:MuonSimHitsMuonCSCHits",
                 RPCsimhitsXFTag="mix:MuonSimHitsMuonRPCHits",
                 ROUList=['fastSimProducerTrackerHits'])
Exemple #5
0
stripDigitizer = cms.PSet(SiStripSimBlock,
                          accumulatorType=cms.string("SiStripDigitizer"),
                          hitsProducer=cms.string('g4SimHits'),
                          makeDigiSimLinks=cms.untracked.bool(True))

from Configuration.ProcessModifiers.premix_stage1_cff import premix_stage1
premix_stage1.toModify(stripDigitizer, makeDigiSimLinks=False)

# Customize here instead of SiStripSimBlock as the latter is imported
# also to DataMixer configuration, and the original version is needed
# there. Customize before phase2_tracker because this customization
# applies only to phase0 strips, and at the moment it is unclear what
# needs to be done for phase2 tracker in premixing stage2.
from Configuration.ProcessModifiers.premix_stage2_cff import premix_stage2
premix_stage2.toModify(
    stripDigitizer,
    Noise=False,  # will be added in DataMixer
    PreMixingMode=True,  #Special mode to save all hit strips
    FedAlgorithm=5,  # special ZS mode: accept adc>0
    includeAPVSimulation=
    False  # APV simulation is off for the MixingModule configuration in premix stage2
)

from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker
phase2_tracker.toModify(stripDigitizer,
                        ROUList=[
                            "g4SimHitsTrackerHitsPixelBarrelLowTof",
                            "g4SimHitsTrackerHitsPixelEndcapLowTof"
                        ])
Exemple #6
0
    beamSpot=cms.InputTag("offlineBeamSpot"),
    Fitter=cms.string('KFFittingSmootherWithOutliersRejectionAndRK'),
    useHitsSplitting=cms.bool(False),
    alias=cms.untracked.string('ctfWithMaterialTracks'),
    TrajectoryInEvent=cms.bool(False),
    TTRHBuilder=cms.string('WithAngleAndTemplate'),
    AlgorithmName=cms.string('undefAlgorithm'),
    Propagator=cms.string('RungeKuttaTrackerPropagator'),

    # this parameter decides if the propagation to the beam line
    # for the track parameters defiition is from the first hit
    # or from the closest to the beam line
    # true for cosmics/beam halo, false for collision tracks (needed by loopers)
    GeometricInnerState=cms.bool(False),

    ### These are paremeters related to the filling of the Secondary hit-patterns
    #set to "", the secondary hit pattern will not be filled (backward compatible with DetLayer=0)
    NavigationSchool=cms.string('SimpleNavigationSchool'),
    MeasurementTracker=cms.string(''),
    MeasurementTrackerEvent=cms.InputTag('MeasurementTrackerEvent'),
)

# Switch back to GenericCPE until bias in template CPE gets fixed
from Configuration.Eras.Modifier_phase1Pixel_cff import phase1Pixel
phase1Pixel.toModify(TrackProducer, TTRHBuilder='WithTrackAngle')  # FIXME

# This customization will be removed once we get the templates for
# phase2 pixel
from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker
phase2_tracker.toModify(TrackProducer, TTRHBuilder='WithTrackAngle')  # FIXME
        cms.InputTag('g4SimHits', 'MuonDTHits'),
        cms.InputTag('g4SimHits', 'MuonCSCHits'),
        cms.InputTag('g4SimHits', 'MuonRPCHits'),
        cms.InputTag('g4SimHits', 'TrackerHitsTIBLowTof'),
        cms.InputTag('g4SimHits', 'TrackerHitsTIBHighTof'),
        cms.InputTag('g4SimHits', 'TrackerHitsTIDLowTof'),
        cms.InputTag('g4SimHits', 'TrackerHitsTIDHighTof'),
        cms.InputTag('g4SimHits', 'TrackerHitsTOBLowTof'),
        cms.InputTag('g4SimHits', 'TrackerHitsTOBHighTof'),
        cms.InputTag('g4SimHits', 'TrackerHitsTECLowTof'),
        cms.InputTag('g4SimHits', 'TrackerHitsTECHighTof'),
        cms.InputTag('g4SimHits', 'TrackerHitsPixelBarrelLowTof'),
        cms.InputTag('g4SimHits', 'TrackerHitsPixelBarrelHighTof'),
        cms.InputTag('g4SimHits', 'TrackerHitsPixelEndcapLowTof'),
        cms.InputTag('g4SimHits', 'TrackerHitsPixelEndcapHighTof')),
    trackingParticleSrc=cms.InputTag('mix', 'MergedTrackTruth'))

from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker
phase2_tracker.toModify(simHitTPAssocProducer,
                        simHitSrc=[
                            "g4SimHits:TrackerHitsPixelBarrelLowTof",
                            "g4SimHits:TrackerHitsPixelEndcapLowTof"
                        ])

from Configuration.Eras.Modifier_fastSim_cff import fastSim
fastSim.toModify(simHitTPAssocProducer,
                 simHitSrc=[
                     "famosSimHits:TrackerHits", "MuonSimHits:MuonCSCHits",
                     "MuonSimHits:MuonDTHits", "MuonSimHits:MuonRPCHits"
                 ])
MonitorTrackMuonsInnerTrack.doSeedParameterHistos = False
MonitorTrackMuonsInnerTrack.doProfilesVsLS = False
MonitorTrackMuonsInnerTrack.doAllPlots = False
MonitorTrackMuonsInnerTrack.doGeneralPropertiesPlots = True
MonitorTrackMuonsInnerTrack.doHitPropertiesPlots = True
MonitorTrackMuonsInnerTrack.doTrackerSpecific = True
MonitorTrackMuonsInnerTrack.doDCAPlots = True
MonitorTrackMuonsInnerTrack.doDCAwrtPVPlots = True
MonitorTrackMuonsInnerTrack.doDCAwrt000Plots = False
MonitorTrackMuonsInnerTrack.doSIPPlots  = True
MonitorTrackMuonsInnerTrack.doEffFromHitPatternVsPU = True
MonitorTrackMuonsInnerTrack.doEffFromHitPatternVsBX = False
MonitorTrackMuonsInnerTrack.TkSizeBin = 10
MonitorTrackMuonsInnerTrack.TkSizeMax = 10.
MonitorTrackMuonsInnerTrack.phiErrMax = 0.001
MonitorTrackMuonsInnerTrack.etaErrMax = 0.001
MonitorTrackMuonsInnerTrack.PVBin = 40
MonitorTrackMuonsInnerTrack.PVMin = -0.5
MonitorTrackMuonsInnerTrack.PVMax = 79.5 ## it might need to be adjust if CMS asks to have lumi levelling at lower values


from Configuration.Eras.Modifier_phase1Pixel_cff import phase1Pixel
from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker
phase1Pixel.toModify(MonitorTrackMuonsInnerTrack, EtaBin=31, EtaMin=-3., EtaMax=3.)
phase2_tracker.toModify(MonitorTrackMuonsInnerTrack, EtaBin=46, EtaMin=-4.5, EtaMax=4.5)
phase2_tracker.toModify(MonitorTrackMuonsInnerTrack, PVBin=125, PVMin=-0.5, PVMax=249.5)


#MonitorTrackINNMuons = cms.Sequence(muonInnerTrack+MonitorTrackMuonsInnerTrack)
MonitorTrackINNMuons = cms.Sequence(cms.ignore(muonsPt10)+muonInnerTrack+MonitorTrackMuonsInnerTrack)
                                        
)

# 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(
                zSeparation = cms.double(1.0)        
                )
            )
               )
    
from Configuration.Eras.Modifier_highBetaStar_2018_cff import highBetaStar_2018
import FWCore.ParameterSet.Config as cms

clusterSummaryProducer = cms.EDProducer('ClusterSummaryProducer',
                                        stripClusters=cms.InputTag('siStripClusters'),
                                        pixelClusters=cms.InputTag('siPixelClustersPreSplitting'),
                                        doStrips=cms.bool(True),
                                        doPixels=cms.bool(True),
                                        verbose=cms.bool(False),
                                        wantedSubDets = cms.vstring("TOB","TIB","TID","TEC","STRIP","BPIX","FPIX","PIXEL"),
                                        wantedUserSubDets = cms.VPSet()
                                        )
from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker
phase2_tracker.toModify(clusterSummaryProducer,
  doStrips = False,
  stripClusters = ''
)
clusterSummaryProducerNoSplitting = clusterSummaryProducer.clone(pixelClusters = 'siPixelClusters')
# Overcoming the 255 arguments limit
# TrackingRegion monitoring
TrackMon.PVBin = cms.int32 ( 40 )
TrackMon.PVMin = cms.double( -0.5)
TrackMon.PVMax = cms.double( 79.5) ## it might need to be adjust if CMS asks to have lumi levelling at lower values

TrackMon.RegionProducer = cms.InputTag("")
TrackMon.RegionSeedingLayersProducer = cms.InputTag("")
TrackMon.RegionCandidates = cms.InputTag("")
TrackMon.doRegionPlots = cms.bool(False)
TrackMon.doRegionCandidatePlots = cms.bool(False)
TrackMon.RegionSizeBin = cms.int32(20)
TrackMon.RegionSizeMax = cms.double(19.5)
TrackMon.RegionSizeMin = cms.double(-0.5)
TrackMon.RegionCandidatePtBin = cms.int32(100)
TrackMon.RegionCandidatePtMax = cms.double(1000)
TrackMon.RegionCandidatePtMin = cms.double(0)

# Number of candidates/seed within pattern recognition
TrackMon.SeedCandBin = cms.int32(20)
TrackMon.SeedCandMax = cms.double(19.5)
TrackMon.SeedCandMin = cms.double(-0.5)

from Configuration.Eras.Modifier_phase1Pixel_cff import phase1Pixel
from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker
phase1Pixel.toModify(TrackMon, EtaBin=31, EtaMin=-3., EtaMax=3.)
phase1Pixel.toModify(TrackMon, LUMIBin=300, LUMIMin=200., LUMIMax=20000.)
phase2_tracker.toModify(TrackMon, EtaBin=46, EtaMin=-4.5, EtaMax=4.5)
phase2_tracker.toModify(TrackMon, PVBin=125, PVMin=-0.5, PVMax=249.5)
phase2_tracker.toModify(TrackMon, LUMIBin=700, LUMIMin=0., LUMIMax=70000.)
from SimGeneral.TrackingAnalysis.trackingParticleNumberOfLayersProducer_cfi import *
from Configuration.Eras.Modifier_fastSim_cff import fastSim
fastSim.toModify(trackingParticleNumberOfLayersProducer, simHits=['fastSimProducer:TrackerHits'])
from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker
phase2_tracker.toModify(trackingParticleNumberOfLayersProducer, simHits = ["g4SimHits:TrackerHitsPixelBarrelLowTof", "g4SimHits:TrackerHitsPixelEndcapLowTof"])

from Configuration.ProcessModifiers.premix_stage2_cff import premix_stage2
premix_stage2.toModify(trackingParticleNumberOfLayersProducer, trackingParticles = "mixData:MergedTrackTruth")
        'TrackerHitsTECHighTof', 
        'TrackerHitsPixelBarrelLowTof', 
        'TrackerHitsPixelBarrelHighTof', 
        'TrackerHitsPixelEndcapLowTof', 
        'TrackerHitsPixelEndcapHighTof'),
    #
    # to associate to reco::Muon segments 
    inputDTRecSegment4DCollection = cms.InputTag("dt4DSegments"),
    inputCSCSegmentCollection = cms.InputTag("cscSegments"),
)

from Configuration.Eras.Modifier_run3_GEM_cff import run3_GEM
from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker
run3_GEM.toModify(muonAssociatorByHitsCommonParameters, useGEMs = True)
phase2_tracker.toModify(muonAssociatorByHitsCommonParameters,
    usePhase2Tracker = True,
    pixelSimLinkSrc = "simSiPixelDigis:Pixel",
)

from Configuration.Eras.Modifier_fastSim_cff import fastSim
fastSim.toModify(muonAssociatorByHitsCommonParameters,
    simtracksTag = "fastSimProducer",
    DTsimhitsTag  = "MuonSimHits:MuonDTHits",
    CSCsimHitsTag = "MuonSimHits:MuonCSCHits",
    RPCsimhitsTag = "MuonSimHits:MuonRPCHits",
    simtracksXFTag = "mix:fastSimProducer",
    DTsimhitsXFTag  = "mix:MuonSimHitsMuonDTHits",
    CSCsimHitsXFTag = "mix:MuonSimHitsMuonCSCHits",
    RPCsimhitsXFTag = "mix:MuonSimHitsMuonRPCHits",
    ROUList = ['fastSimProducerTrackerHits']
)
    # ... reco::Track collection
    # tracksTag = cms.InputTag("standAloneMuons"),
    # tracksTag = cms.InputTag("standAloneMuons","UpdatedAtVtx"),
    # tracksTag = cms.InputTag("standAloneSETMuons"),
    # tracksTag = cms.InputTag("standAloneSETMuons","UpdatedAtVtx"),                                   
    # tracksTag = cms.InputTag("cosmicMuons"),
    tracksTag = cms.InputTag("globalMuons"),
    # tracksTag = cms.InputTag("tevMuons","firstHit"),
    # tracksTag = cms.InputTag("tevMuons","picky"),                                     
    # tracksTag = cms.InputTag("globalSETMuons"),
    # tracksTag = cms.InputTag("globalCosmicMuons"),
    # tracksTag = cms.InputTag("generalTracks"),
    # tracksTag = cms.InputTag("ctfWithMaterialTracksP5LHCNavigation"),
    # tracksTag = cms.InputTag("hltL2Muons"),
    # tracksTag = cms.InputTag("hltL2Muons","UpdatedAtVtx"),
    # tracksTag = cms.InputTag("hltL3Muons")
    # tracksTag = cms.InputTag("hltL3Muons","L2Seeded")
    # tracksTag = cms.InputTag("hltL3TkTracksFromL2")
    #
    # ... TrackingParticle collection
    tpTag = cms.InputTag("mix","MergedTrackTruth"),
    ignoreMissingTrackCollection = cms.untracked.bool(False),
)

from Configuration.Eras.Modifier_run3_GEM_cff import run3_GEM
run3_GEM.toModify( NewMuonAssociatorByHits, useGEMs = cms.bool(True) )
from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker
phase2_tracker.toModify( NewMuonAssociatorByHits, pixelSimLinkSrc = "simSiPixelDigis:Pixel" )
phase2_tracker.toModify( NewMuonAssociatorByHits, stripSimLinkSrc = "simSiPixelDigis:Tracker" )

import FWCore.ParameterSet.Config as cms

from RecoTracker.MeasurementDet.measurementTrackerEventDefault_cfi import measurementTrackerEventDefault as _measurementTrackerEventDefault

MeasurementTrackerEvent = _measurementTrackerEventDefault.clone(
    badPixelFEDChannelCollectionLabels = ['siPixelDigis'],
)

# This customization will be removed once we have phase2 pixel digis
# Need this line to stop error about missing siPixelDigis
from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker
phase2_tracker.toModify(MeasurementTrackerEvent, # FIXME
    inactivePixelDetectorLabels = [],
    Phase2TrackerCluster1DProducer = 'siPhase2Clusters',
    stripClusterProducer = ''
)

MeasurementTrackerEventPreSplitting = MeasurementTrackerEvent.clone(
    pixelClusterProducer = 'siPixelClustersPreSplitting'
    )
Exemple #16
0
        ),
    )
)

from Configuration.Eras.Modifier_run3_common_cff import run3_common
run3_common.toModify(simCastorDigis, mix = None)

from Configuration.Eras.Modifier_phase2_hgcal_cff import phase2_hgcal
(~phase2_hgcal).toModify(simHGCalUnsuppressedDigis, mix = None)

from Configuration.ProcessModifiers.premix_stage1_cff import premix_stage1
(premix_stage1 & phase2_hgcal).toModify(simHGCalUnsuppressedDigis,
    mix = {
        0 : dict(type = "PHGCSimAccumulator"),
        1 : dict(type = "PHGCSimAccumulator"),
        2 : dict(type = "PHGCSimAccumulator"),
    }
)

from Configuration.Eras.Modifier_phase2_hfnose_cff import phase2_hfnose
(~phase2_hfnose).toModify(simHFNoseUnsuppressedDigis, mix = None)

from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker
phase2_tracker.toModify(simSiPixelDigis, mix = _pixelCommon) 

# no castor,pixel,strip digis in fastsim
from Configuration.Eras.Modifier_fastSim_cff import fastSim
fastSim.toModify(simCastorDigis, mix = None)
fastSim.toModify(simSiPixelDigis, mix = None)
fastSim.toModify(simSiStripDigis, mix = None)
Exemple #17
0
RAWAODSIMEventContent.outputCommands.extend(HLTriggerRAW.outputCommands)


# in fastsim, normal digis are edaliases of simdigis
# drop the simdigis to avoid complaints from the outputmodule related to duplicated branches
if fastSim.isChosen():
    for _entry in [FEVTDEBUGHLTEventContent,FEVTDEBUGEventContent,RECOSIMEventContent,AODSIMEventContent,RAWAODSIMEventContent]:
        fastSimEC.dropSimDigis(_entry.outputCommands)
    for _entry in [MINIAODEventContent, MINIAODSIMEventContent]:
        fastSimEC.dropPatTrigger(_entry.outputCommands)


from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker
for _entry in [FEVTDEBUGEventContent,FEVTDEBUGHLTEventContent,FEVTEventContent]:
    phase2_tracker.toModify(_entry, outputCommands = _entry.outputCommands + [
        'keep Phase2TrackerDigiedmDetSetVector_mix_*_*',
        'keep *_TTClustersFromPhase2TrackerDigis_*_*',
        'keep *_TTStubsFromPhase2TrackerDigis_*_*'
    ])

from RecoLocalFastTime.Configuration.RecoLocalFastTime_EventContent_cff import RecoLocalFastTimeFEVT, RecoLocalFastTimeRECO, RecoLocalFastTimeAOD
from Configuration.Eras.Modifier_phase2_timing_layer_cff import phase2_timing_layer
def _addOutputCommands(mod, newCommands):
    phase2_timing_layer.toModify(mod, outputCommands = mod.outputCommands + newCommands.outputCommands)

_addOutputCommands(FEVTDEBUGEventContent,RecoLocalFastTimeFEVT)
_addOutputCommands(FEVTDEBUGHLTEventContent,RecoLocalFastTimeFEVT)
_addOutputCommands(FEVTEventContent,RecoLocalFastTimeFEVT)
_addOutputCommands(RECOSIMEventContent,RecoLocalFastTimeRECO)
_addOutputCommands(AODSIMEventContent,RecoLocalFastTimeAOD)
Exemple #18
0
#    PurityCut_track = cms.double(0.),
#    EfficiencyCut_muon = cms.double(0.),
#    PurityCut_muon = cms.double(0.),
#    includeZeroHitMuons = cms.bool(True),
#    acceptOneStubMatchings = cms.bool(False),
##############################################
MABH.EfficiencyCut_track = 0.5
MABH.PurityCut_track = 0.75
#MABH.EfficiencyCut_muon = 0.5
MABH.EfficiencyCut_muon = 0.     # for high pt muons this is a better choice
MABH.PurityCut_muon = 0.75
MABH.includeZeroHitMuons = False
#
# temporary fix for Phase2
from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker
phase2_tracker.toModify( MABH, EfficiencyCut_track = 0. )
phase2_tracker.toModify( MABH, PurityCut_track = 0. )
#
MABHhlt = MABH.clone()
MABHhlt.EfficiencyCut_track = 0. # backup solution as UseGrouped/UseSplitting are always assumed to be true
MABHhlt.DTrechitTag = 'hltDt1DRecHits'
MABHhlt.ignoreMissingTrackCollection = True
################################################

NEWtpToTkMuonAssociation = MABH.clone()
#tpToTkMuonAssociation.tracksTag = 'generalTracks'
NEWtpToTkMuonAssociation.tracksTag ='NEWprobeTracks'
NEWtpToTkMuonAssociation.UseTracker = True
NEWtpToTkMuonAssociation.UseMuon = False

NEWtpToStaSeedAssociation = MABH.clone()
import FWCore.ParameterSet.Config as cms

## muonAssociatorByHits using only digiSimLinks (and TrackingParticles),
## not accessing the PSimHits directly. Useful if you run on RECOSIM without RAWSIM

from SimMuon.MCTruth.MuonAssociatorByHits_cfi import muonAssociatorByHitsCommonParameters
muonAssociatorByHitsNoSimHitsHelper = cms.EDProducer("MuonToTrackingParticleAssociatorEDProducer",
    muonAssociatorByHitsCommonParameters
)
# don't read simhits, they're not there
muonAssociatorByHitsNoSimHitsHelper.CSCsimHitsTag = ""
muonAssociatorByHitsNoSimHitsHelper.RPCsimhitsTag = ""
muonAssociatorByHitsNoSimHitsHelper.GEMsimhitsTag = ""
muonAssociatorByHitsNoSimHitsHelper.DTsimhitsTag  = ""

### The following is useful when running only on RECO
# don't normalize on the total number of hits (which is unknown, if I don't have simHits)
muonAssociatorByHitsNoSimHitsHelper.AbsoluteNumberOfHits_muon = True
muonAssociatorByHitsNoSimHitsHelper.AbsoluteNumberOfHits_track = True
# use only muon system
muonAssociatorByHitsNoSimHitsHelper.UseTracker = False

from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker
phase2_tracker.toModify( muonAssociatorByHitsNoSimHitsHelper, pixelSimLinkSrc = "simSiPixelDigis:Pixel" )
phase2_tracker.toModify( muonAssociatorByHitsNoSimHitsHelper, stripSimLinkSrc = "simSiPixelDigis:Tracker" )
import FWCore.ParameterSet.Config as cms

from RecoLocalTracker.SiStripClusterizer.DefaultClusterizer_cff import *

siStripClusters = cms.EDProducer("SiStripClusterizer",
                               Clusterizer = DefaultClusterizer,
                               DigiProducersList = cms.VInputTag(
    cms.InputTag('siStripDigis','ZeroSuppressed'),
    cms.InputTag('siStripZeroSuppression','VirginRaw'),
    cms.InputTag('siStripZeroSuppression','ProcessedRaw'),
    cms.InputTag('siStripZeroSuppression','ScopeMode')),
                               )

# The SiStripClusters are not used anymore in phase2 tracking
# This part has to be clean up when they will be officially removed from the entire flow
from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker
phase2_tracker.toModify(siStripClusters, # FIXME
  DigiProducersList = cms.VInputTag( cms.InputTag('simSiStripDigis','ZeroSuppressed'),
                                     cms.InputTag('siStripZeroSuppression','VirginRaw'),
                                     cms.InputTag('siStripZeroSuppression','ProcessedRaw'),
                                     cms.InputTag('siStripZeroSuppression','ScopeMode'))
)
Exemple #21
0
from Configuration.ProcessModifiers.premix_stage1_cff import premix_stage1
(premix_stage1 & phase2_hgcal).toModify(simHGCalUnsuppressedDigis,
                                        mix={
                                            0: dict(type="PHGCSimAccumulator"),
                                            1: dict(type="PHGCSimAccumulator"),
                                            2: dict(type="PHGCSimAccumulator"),
                                        })

from Configuration.Eras.Modifier_phase2_hfnose_cff import phase2_hfnose
(~phase2_hfnose).toModify(simHFNoseUnsuppressedDigis, mix=None)

from Configuration.Eras.Modifier_phase1Pixel_cff import phase1Pixel

phase1Pixel.toModify(
    simSiPixelDigis,
    mix=_pixelCommon +
    [cms.PSet(type=cms.string('PixelFEDChanneledmNewDetSetVector'))])

from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker

phase2_tracker.toModify(simSiStripDigis, mix=None)
phase2_tracker.toModify(simAPVsaturation, mix=None)

# no castor,pixel,strip digis in fastsim
from Configuration.Eras.Modifier_fastSim_cff import fastSim
(fastSim & ~run3_common).toModify(simCastorDigis, mix=None)
fastSim.toModify(simSiPixelDigis, mix=None)
fastSim.toModify(simSiStripDigis, mix=None)
fastSim.toModify(simAPVsaturation, mix=None)
        PropDirForCosmics = cms.bool(False),
        RefitRPCHits = cms.bool(True),
        
        # DYT stuff
        DYTthrs = cms.vint32(20, 30),
        DYTselector = cms.int32(1),
        DYTupdator = cms.bool(False),
        DYTuseAPE = cms.bool(False),

        # muon station to be skipped
        SkipStation		= cms.int32(-1),
        
        # PXB = 1, PXF = 2, TIB = 3, TID = 4, TOB = 5, TEC = 6
        TrackerSkipSystem	= cms.int32(-1),
        
        # layer, wheel, or disk depending on the system
        TrackerSkipSection	= cms.int32(-1),

	RefitFlag = cms.bool(True)
        ),
)

# This customization will be removed once we get the templates for
# phase2 pixel
from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker
phase2_tracker.toModify(GlobalTrajectoryBuilderCommon, # FIXME
    TrackerRecHitBuilder = 'WithTrackAngle',
    TrackTransformer = dict(TrackerRecHitBuilder = 'WithTrackAngle'),
    GlbRefitterParameters = dict(TrackerRecHitBuilder = 'WithTrackAngle'),
)
import FWCore.ParameterSet.Config as cms
materialDumperAnalyzer = cms.EDAnalyzer("TrackingRecoMaterialAnalyser",
                                        folder = cms.string('Tracking/RecoMaterial/'),
                                        tracks = cms.InputTag("generalTracks"),
                                        beamspot = cms.InputTag("offlineBeamSpot"),
                                        usePV = cms.bool(False),
                                        vertices = cms.InputTag("offlinePrimaryVertices"),
                                        DoPredictionsOnly = cms.bool(False),
                                        Fitter = cms.string('KFFitterForRefitInsideOut'),
                                        TrackerRecHitBuilder = cms.string('WithAngleAndTemplate'),
                                        Smoother = cms.string('KFSmootherForRefitInsideOut'),
                                        MuonRecHitBuilder = cms.string('MuonRecHitBuilder'),
                                        RefitDirection = cms.string('alongMomentum'),
                                        RefitRPCHits = cms.bool(True),
                                        Propagator = cms.string('SmartPropagatorAnyRKOpposite'),
                                        #Propagators
                                        PropagatorAlong = cms.string("RungeKuttaTrackerPropagator"),
                                        PropagatorOpposite = cms.string("RungeKuttaTrackerPropagatorOpposite")
)

from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker
phase2_tracker.toModify(materialDumperAnalyzer, TrackerRecHitBuilder='WithTrackAngle')

materialDumper = cms.Sequence(materialDumperAnalyzer)
materialDumper_step = cms.Path(materialDumper)

    intimeOnly = cms.bool(False),
    stableOnly = cms.bool(False),
    minRapidity = cms.double(-2.5),
    minHit = cms.int32(0),
    ptMin = cms.double(0.9),
    ptMax = cms.double(1e100),
    maxRapidity = cms.double(2.5),
    tip = cms.double(3.5),
    minPhi = cms.double(-3.2),
    maxPhi = cms.double(3.2),
)

from Configuration.Eras.Modifier_fastSim_cff import fastSim
fastSim.toModify(generalTpSelectorBlock, stableOnly = True)

TpSelectorForEfficiencyVsEtaBlock = generalTpSelectorBlock.clone()
TpSelectorForEfficiencyVsPhiBlock = generalTpSelectorBlock.clone()
TpSelectorForEfficiencyVsPtBlock = generalTpSelectorBlock.clone(ptMin = 0.050 )
TpSelectorForEfficiencyVsVTXRBlock = generalTpSelectorBlock.clone(tip = 60.0)
TpSelectorForEfficiencyVsVTXZBlock = generalTpSelectorBlock.clone()

def _modifyForPhase1(pset):
    pset.minRapidity = -3
    pset.maxRapidity = 3
from Configuration.Eras.Modifier_phase1Pixel_cff import phase1Pixel
phase1Pixel.toModify(generalTpSelectorBlock, _modifyForPhase1)
phase1Pixel.toModify(TpSelectorForEfficiencyVsEtaBlock, _modifyForPhase1)
from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker
phase2_tracker.toModify(generalTpSelectorBlock, minRapidity=-4.5, maxRapidity=4.5)
phase2_tracker.toModify(TpSelectorForEfficiencyVsEtaBlock, minRapidity=-4.5, maxRapidity=4.5)
    EcalStripSumE_deltaEta=cms.double(0.03),
    EcalStripSumE_deltaPhiOverQ_maxValue=cms.double(0.5),
    EOverPLead_minValue=cms.double(0.95),
    HOverPLead_maxValue=cms.double(0.05),
    HcalWindow=cms.double(0.184),
    ClusterThreshold=cms.double(0.5),
    UsePreShower=cms.bool(False),
    PreIdLabel=cms.string('preid'),
    ProducePreId=cms.untracked.bool(True),
    PtThresholdSavePreId=cms.untracked.double(1.0),
    Min_dr=cms.double(0.2))

# This customization will be removed once we get the templates for
# phase2 pixel
from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker
phase2_tracker.toModify(trackerDrivenElectronSeeds,
                        TTRHBuilder='WithTrackAngle')  # FIXME

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(trackerDrivenElectronSeeds, MinPt=5.0)

# tracker driven electron seeds depend on the generalTracks trajectory collection
# However, in FastSim jobs, trajectories are only available for the 'before mixing' track collections
# Therefore we let the seeds depend on the 'before mixing' generalTracks collection
# TODO: investigate whether the dependence on trajectories can be avoided
from Configuration.Eras.Modifier_fastSim_cff import fastSim
trackerDrivenElectronSeedsTmp = trackerDrivenElectronSeeds.clone(
    TkColList=cms.VInputTag(cms.InputTag("generalTracksBeforeMixing")))
import FastSimulation.Tracking.ElectronSeedTrackRefFix_cfi
_fastSim_trackerDrivenElectronSeeds = FastSimulation.Tracking.ElectronSeedTrackRefFix_cfi.fixedTrackerDrivenElectronSeeds.clone(
import FWCore.ParameterSet.Config as cms

clusterSummaryProducer = cms.EDProducer(
    'ClusterSummaryProducer',
    stripClusters=cms.InputTag('siStripClusters'),
    pixelClusters=cms.InputTag('siPixelClustersPreSplitting'),
    doStrips=cms.bool(True),
    doPixels=cms.bool(True),
    verbose=cms.bool(False),
    wantedSubDets=cms.vstring("TOB", "TIB", "TID", "TEC", "STRIP", "BPIX",
                              "FPIX", "PIXEL"),
    wantedUserSubDets=cms.VPSet())
from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker
phase2_tracker.toModify(clusterSummaryProducer,
                        doStrips=False,
                        stripClusters='')
clusterSummaryProducerNoSplitting = clusterSummaryProducer.clone(
    pixelClusters='siPixelClusters')
    # ... reco::Track collection
    # tracksTag = cms.InputTag("standAloneMuons"),
    # tracksTag = cms.InputTag("standAloneMuons","UpdatedAtVtx"),
    # tracksTag = cms.InputTag("standAloneSETMuons"),
    # tracksTag = cms.InputTag("standAloneSETMuons","UpdatedAtVtx"),
    # tracksTag = cms.InputTag("cosmicMuons"),
    tracksTag=cms.InputTag("globalMuons"),
    # tracksTag = cms.InputTag("tevMuons","firstHit"),
    # tracksTag = cms.InputTag("tevMuons","picky"),
    # tracksTag = cms.InputTag("globalSETMuons"),
    # tracksTag = cms.InputTag("globalCosmicMuons"),
    # tracksTag = cms.InputTag("generalTracks"),
    # tracksTag = cms.InputTag("ctfWithMaterialTracksP5LHCNavigation"),
    # tracksTag = cms.InputTag("hltL2Muons"),
    # tracksTag = cms.InputTag("hltL2Muons","UpdatedAtVtx"),
    # tracksTag = cms.InputTag("hltL3Muons")
    # tracksTag = cms.InputTag("hltL3Muons","L2Seeded")
    # tracksTag = cms.InputTag("hltL3TkTracksFromL2")
    #
    # ... TrackingParticle collection
    tpTag=cms.InputTag("mix", "MergedTrackTruth"),
    ignoreMissingTrackCollection=cms.untracked.bool(False),
)

from Configuration.Eras.Modifier_run3_GEM_cff import run3_GEM
run3_GEM.toModify(muonAssociatorByHits, useGEMs=cms.bool(True))
from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker
phase2_tracker.toModify(muonAssociatorByHits, usePhase2Tracker=cms.bool(True))
phase2_tracker.toModify(muonAssociatorByHits,
                        pixelSimLinkSrc="simSiPixelDigis:Pixel")
import FWCore.ParameterSet.Config as cms

#
from CondTools.SiPixel.SiPixelGainCalibrationService_cfi import *
phase2ITPixelClusters = cms.EDProducer("Phase2ITPixelClusterProducer",
    SiPixelGainCalibrationServiceParameters,
    src = cms.InputTag("siPixelDigis"),
    ChannelThreshold = cms.int32(1000),
    MissCalibrate = cms.untracked.bool(True),
    SplitClusters = cms.bool(False),
    VCaltoElectronGain = cms.int32(65),
    VCaltoElectronOffset = cms.int32(-414),                          
    # **************************************
    # ****  payLoadType Options         ****
    # ****  HLT - column granularity    ****
    # ****  Offline - gain:col/ped:pix  ****
    # **************************************
    payloadType = cms.string('Offline'),
    SeedThreshold = cms.int32(1000),
    ClusterThreshold = cms.double(4000.0),
    # **************************************
    maxNumberOfClusters = cms.int32(-1), # -1 means no limit.
)

# This customization will be removed once we have phase2 pixel digis
from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker
phase2_tracker.toModify(phase2ITPixelClusters, #FIXME
    src = cms.InputTag('simSiPixelDigis', "Pixel"),
    MissCalibrate = False
)
    ModelWeights = cms.vstring([
            'RecoEgamma/ElectronIdentification/data/LowPtElectrons/RunII_Fall17_LowPtElectrons_unbiased.xml.gz',
            'RecoEgamma/ElectronIdentification/data/LowPtElectrons/RunII_Fall17_LowPtElectrons_displaced_pt_eta_biased.xml.gz',
            ]),
    ModelThresholds = thresholds("T"),
    PassThrough = cms.bool(False),
    UsePfTracks = cms.bool(True),
    MinPtThreshold = cms.double(1.0),
    MaxPtThreshold = cms.double(15.),
    )

# Modifiers for FastSim
from Configuration.Eras.Modifier_fastSim_cff import fastSim
lowPtGsfElectronSeedsTmp = lowPtGsfElectronSeeds.clone(tracks = cms.InputTag("generalTracksBeforeMixing"))
import FastSimulation.Tracking.ElectronSeedTrackRefFix_cfi
_fastSim_lowPtGsfElectronSeeds = FastSimulation.Tracking.ElectronSeedTrackRefFix_cfi.fixedTrackerDrivenElectronSeeds.clone()
_fastSim_lowPtGsfElectronSeeds.seedCollection = cms.InputTag("lowPtGsfElectronSeedsTmp","")
_fastSim_lowPtGsfElectronSeeds.idCollection = cms.VInputTag("lowPtGsfElectronSeedsTmp","lowPtGsfElectronSeedsTmp:HCAL")
_fastSim_lowPtGsfElectronSeeds.PreIdLabel = cms.vstring("","HCAL")
_fastSim_lowPtGsfElectronSeeds.PreGsfLabel = cms.string("")
fastSim.toReplaceWith(lowPtGsfElectronSeeds,_fastSim_lowPtGsfElectronSeeds)

# Modifiers for Phase2
from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker
phase2_tracker.toModify(lowPtGsfElectronSeeds, TTRHBuilder  = 'WithTrackAngle')

# Modifiers for BParking
from Configuration.Eras.Modifier_bParking_cff import bParking
bParking.toModify(lowPtGsfElectronSeeds, ModelThresholds = thresholds("L") )
bParking.toModify(lowPtGsfElectronSeeds, MinPtThreshold = 0.5)
Exemple #30
0
    cms.PSet(type=cms.string('PixelDigiSimLinkedmDetSetVector')))
simSiPixelDigis = cms.EDAlias(
    mix=_pixelCommon +
    [cms.PSet(type=cms.string('PixelFEDChanneledmNewDetSetVector'))])
simSiStripDigis = cms.EDAlias(
    mix=cms.VPSet(cms.PSet(type=cms.string('SiStripDigiedmDetSetVector')),
                  cms.PSet(type=cms.string('SiStripRawDigiedmDetSetVector')),
                  cms.PSet(
                      type=cms.string('StripDigiSimLinkedmDetSetVector'))))
#mergedtruth = cms.EDAlias(
#    mix = cms.VPSet(
#      cms.PSet(type = cms.string('TrackingParticles')),
#      cms.PSet(type = cms.string('TrackingVertexs'))
#    )
#)

genPUProtons = cms.EDAlias(
    mixData=cms.VPSet(cms.PSet(type=cms.string('recoGenParticles'))))

from Configuration.Eras.Modifier_run3_common_cff import run3_common
run3_common.toModify(simCastorDigis, mix=None)

from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker
phase2_tracker.toModify(simSiPixelDigis, mix=_pixelCommon)

# no castor,pixel,strip digis in fastsim
from Configuration.Eras.Modifier_fastSim_cff import fastSim
fastSim.toModify(simCastorDigis, mix=None)
fastSim.toModify(simSiPixelDigis, mix=None)
fastSim.toModify(simSiStripDigis, mix=None)
Exemple #31
0
        # muon station to be skipped
        SkipStation=cms.int32(-1),

        # PXB = 1, PXF = 2, TIB = 3, TID = 4, TOB = 5, TEC = 6
        TrackerSkipSystem=cms.int32(-1),

        # layer, wheel, or disk depending on the system
        TrackerSkipSection=cms.int32(-1),
        RefitFlag=cms.bool(True)),
)

# Switch back to GenericCPE until bias in template CPE gets fixed
from Configuration.Eras.Modifier_phase1Pixel_cff import phase1Pixel
phase1Pixel.toModify(
    GlobalTrajectoryBuilderCommon,  # FIXME
    TrackerRecHitBuilder='WithTrackAngle',
    TrackTransformer=dict(TrackerRecHitBuilder='WithTrackAngle'),
    GlbRefitterParameters=dict(TrackerRecHitBuilder='WithTrackAngle'),
)

# This customization will be removed once we get the templates for
# phase2 pixel
from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker
phase2_tracker.toModify(
    GlobalTrajectoryBuilderCommon,  # FIXME
    TrackerRecHitBuilder='WithTrackAngle',
    TrackTransformer=dict(TrackerRecHitBuilder='WithTrackAngle'),
    GlbRefitterParameters=dict(TrackerRecHitBuilder='WithTrackAngle'),
)
Exemple #32
0
# Tracker
phase2_tracker.toModify(mixData,
    workers = dict(
        # Disable SiStrip
        strip = None,
        stripSimLink = None,
        # Replace pixel with Phase2 tracker
        pixel = cms.PSet(
            phase2TrackerDigitizer,
            workerType = cms.string("PreMixingPhase2TrackerWorker"),

            pixelLabelSig = cms.InputTag("simSiPixelDigis:Pixel"),
            pixelPileInputTag = cms.InputTag("simSiPixelDigis:Pixel"),
            trackerLabelSig = cms.InputTag("simSiPixelDigis:Tracker"),
            trackerPileInputTag = cms.InputTag("simSiPixelDigis:Tracker"),
            premixStage1ElectronPerAdc = cms.double(_phase2TrackerPremixStage1ModifyDict["PixelDigitizerAlgorithm"]["ElectronPerAdc"])
        ),
        pixelSimLink = dict(
            labelSig = "simSiPixelDigis:Pixel",
            pileInputTag = "simSiPixelDigis:Pixel",
        ),
        phase2OTSimLink = cms.PSet(
            workerType = cms.string("PreMixingPixelDigiSimLinkWorker"),
            labelSig = cms.InputTag("simSiPixelDigis:Tracker"),
            pileInputTag = cms.InputTag("simSiPixelDigis:Tracker"),
            collectionDM = cms.string("Phase2OTDigiSimLink"),
        ),
    ),
)

# ECAL
Exemple #33
0
muoncosmichighlevelreco = cms.Sequence(muoncosmichighlevelrecoTask)

#### High level sequence (i.e., post PF reconstruction) ###
from RecoMuon.MuonIdentification.muons_cfi import *
from RecoMuon.MuonIdentification.displacedMuons_cfi import *
from RecoMuon.MuonIsolation.muonPFIsolation_cff import *
from RecoMuon.MuonIdentification.muonReducedTrackExtras_cfi import *
from RecoMuon.MuonIdentification.displacedMuonReducedTrackExtras_cfi import *

# clusters are not present in fastsim
from Configuration.Eras.Modifier_fastSim_cff import fastSim
fastSim.toModify(muonReducedTrackExtras, outputClusters=False)

# cluster collections are different in phase 2
from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker
phase2_tracker.toModify(muonReducedTrackExtras, outputClusters=False)
phase2_tracker.toModify(displacedMuonReducedTrackExtras, outputClusters=False)

muonshighlevelrecoTask = cms.Task(muonPFIsolationTask,
                                  displacedMuonPFIsolationTask, muons,
                                  displacedMuons, muonReducedTrackExtras,
                                  displacedMuonReducedTrackExtras)
muonshighlevelreco = cms.Sequence(muonshighlevelrecoTask)

# displaced sequences do not run in fastsim
fastSim.toReplaceWith(
    muonshighlevelrecoTask,
    muonshighlevelrecoTask.copyAndExclude([
        displacedMuonPFIsolationTask, displacedMuons,
        displacedMuonReducedTrackExtras
    ]))
import FWCore.ParameterSet.Config as cms

templates = cms.ESProducer("PixelCPETemplateRecoESProducer",
    ComponentName = cms.string('PixelCPETemplateReco'),
    speed = cms.int32(-2),
    #PixelErrorParametrization = cms.string('NOTcmsim'),
    Alpha2Order = cms.bool(True),
    UseClusterSplitter = cms.bool(False),

    # petar, for clusterProbability() from TTRHs
    ClusterProbComputationFlag = cms.int32(0),
    # gavril
    DoCosmics = cms.bool(False), 
    # The flag to regulate if the LA offset is taken from Alignment 
    # True in Run II for offline RECO
    DoLorentz = cms.bool(True),
 
    LoadTemplatesFromDB = cms.bool(True)

)

# This customization will be removed once we get the templates for phase2 pixel
from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker
phase2_tracker.toModify(templates,
  LoadTemplatesFromDB = False,
  DoLorentz = False,
)

Exemple #35
0
duplicateDisplacedTrackClassifier.src = 'mergedDuplicateDisplacedTracks'
duplicateDisplacedTrackClassifier.mva.minPixelHits = [0, 0, 0]
duplicateDisplacedTrackClassifier.mva.maxChi2 = [9999., 9999., 9999.]
duplicateDisplacedTrackClassifier.mva.maxChi2n = [9999., 9999., 9999.]
duplicateDisplacedTrackClassifier.mva.minLayers = [0, 0, 0]
duplicateDisplacedTrackClassifier.mva.min3DLayers = [0, 0, 0]
duplicateDisplacedTrackClassifier.mva.maxLostLayers = [99, 99, 99]

#for displaced global muons
displacedTracks = DuplicateListMerger.clone(
    originalSource=cms.InputTag("preDuplicateMergingDisplacedTracks"),
    originalMVAVals=cms.InputTag("preDuplicateMergingDisplacedTracks",
                                 "MVAValues"),
    mergedSource=cms.InputTag("mergedDuplicateDisplacedTracks"),
    mergedMVAVals=cms.InputTag("duplicateDisplacedTrackClassifier",
                               "MVAValues"),
    candidateSource=cms.InputTag("duplicateDisplacedTrackCandidates",
                                 "candidates"),
    candidateComponents=cms.InputTag("duplicateDisplacedTrackCandidates",
                                     "candidateMap"))
#for displaced global muons
displacedTracksSequence = cms.Sequence(
    duplicateDisplacedTrackCandidates * mergedDuplicateDisplacedTracks *
    duplicateDisplacedTrackClassifier * displacedTracks)

# This customization will be removed once we get the templates for
# phase2 pixel
from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker
phase2_tracker.toModify(duplicateDisplacedTrackCandidates,
                        ttrhBuilderName="WithTrackAngle")  # FIXME
Exemple #36
0
FEVTEventContent.outputCommands.extend(L1TriggerRECO.outputCommands)
FEVTEventContent.outputCommands.extend(HLTriggerRECO.outputCommands)
FEVTEventContent.outputCommands.extend(MEtoEDMConverterRECO.outputCommands)
FEVTEventContent.outputCommands.extend(EvtScalersRECO.outputCommands)
FEVTEventContent.outputCommands.extend(OnlineMetaDataContent.outputCommands)
FEVTEventContent.outputCommands.extend(TcdsEventContent.outputCommands)
FEVTEventContent.outputCommands.extend(CommonEventContent.outputCommands)

ctpps.toModify(FEVTEventContent, 
    outputCommands = FEVTEventContent.outputCommands + RecoCTPPSFEVT.outputCommands)
phase2_hgcal.toModify(FEVTEventContent,
    outputCommands = FEVTEventContent.outputCommands + TICL_FEVT.outputCommands)
phase2_tracker.toModify(FEVTEventContent, 
    outputCommands = FEVTEventContent.outputCommands + [
        'keep Phase2TrackerDigiedmDetSetVector_mix_*_*',
        'keep *_TTClustersFromPhase2TrackerDigis_*_*',
        'keep *_TTStubsFromPhase2TrackerDigis_*_*',
        'keep *_TrackerDTC_*_*',
        'keep *_*_Level1TTTracks_*'])
phase2_muon.toModify(FEVTEventContent, 
    outputCommands = FEVTEventContent.outputCommands + ['keep *_muonGEMDigis_*_*'])
run2_GEM_2017.toModify(FEVTEventContent, 
    outputCommands = FEVTEventContent.outputCommands + ['keep *_muonGEMDigis_*_*'])
run3_GEM.toModify(FEVTEventContent, 
    outputCommands = FEVTEventContent.outputCommands + ['keep *_muonGEMDigis_*_*'])
pp_on_AA.toModify(FEVTEventContent, 
    outputCommands = FEVTEventContent.outputCommands + ['keep FEDRawDataCollection_rawDataRepacker_*_*'])
phase2_timing_layer.toModify(FEVTEventContent, 
    outputCommands = FEVTEventContent.outputCommands + RecoLocalFastTimeFEVT.outputCommands)
phase2_timing_layer.toModify(FEVTEventContent, 
    outputCommands = FEVTEventContent.outputCommands + RecoMTDFEVT.outputCommands)
Exemple #37
0
    rawDataCollector.RawCollectionList,
    func=lambda list: list.append(cms.InputTag("hcalRawDatauHTR")))

# GEM settings
from Configuration.Eras.Modifier_run2_GEM_2017_cff import run2_GEM_2017

run2_GEM_2017.toModify(
    rawDataCollector.RawCollectionList,
    func=lambda list: list.append(cms.InputTag("gemPacker")))

from Configuration.Eras.Modifier_run3_GEM_cff import run3_GEM

run3_GEM.toModify(rawDataCollector.RawCollectionList,
                  func=lambda list: list.append(cms.InputTag("gemPacker")))

# For Run2 it is needed to include the general ctpps era ctpps_2016
from Configuration.Eras.Modifier_ctpps_2021_cff import ctpps_2021

ctpps_2021.toModify(
    rawDataCollector.RawCollectionList,
    func=lambda list: list.extend(
        [cms.InputTag("ctppsTotemRawData"),
         cms.InputTag("ctppsPixelRawData")]))

# Phase-2 Tracker
from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker

phase2_tracker.toModify(
    rawDataCollector.RawCollectionList,
    func=lambda list: list.remove(cms.InputTag("SiStripDigiToRaw")))
    maxDzpvsigCumulative = cms.double(10),
    nintDzpvsigCumulative = cms.int32(200),

    seedingLayerSets = cms.vstring(),

    doMTDPlots = cms.untracked.bool(False), # meant to be switch on in Phase2 workflows
)

def _modifyForPhase1(pset):
    pset.minEta = -3
    pset.maxEta = 3
    pset.nintEta = 60
from Configuration.Eras.Modifier_phase1Pixel_cff import phase1Pixel
#phase1Pixel.toModify(MTVHistoProducerAlgoForTrackerBlock, dict(minEta = -3, maxEta = 3, nintEta = 60) )
phase1Pixel.toModify(MTVHistoProducerAlgoForTrackerBlock, _modifyForPhase1)

def _modifyForPhase2(pset):
    pset.minEta = -4.5
    pset.maxEta = 4.5
    pset.nintEta = 90
from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker
#phase2_tracker.toModify(MTVHistoProducerAlgoForTrackerBlock, dict(minEta = -4.5, maxEta = 4.5, nintEta = 90) )
phase2_tracker.toModify(MTVHistoProducerAlgoForTrackerBlock, _modifyForPhase2)

def _modifyForPhase2wMTD(pset):
    pset.doMTDPlots = True
from Configuration.Eras.Modifier_phase2_timing_layer_cff import phase2_timing_layer
#phase2_timing_layer.toModify(MTVHistoProducerAlgoForTrackerBlock, dict(doMTDPlots = True) )
phase2_timing_layer.toModify(MTVHistoProducerAlgoForTrackerBlock, _modifyForPhase2wMTD)

    cotThetaRes_rangeMin=cms.double(-0.02),
    cotThetaRes_rangeMax=cms.double(+0.02),
    cotThetaRes_nbin=cms.int32(300),
    dxyRes_rangeMin=cms.double(-0.1),
    dxyRes_rangeMax=cms.double(0.1),
    dxyRes_nbin=cms.int32(500),
    dzRes_rangeMin=cms.double(-0.05),
    dzRes_rangeMax=cms.double(+0.05),
    dzRes_nbin=cms.int32(150),
    maxDzpvCumulative=cms.double(0.6),
    nintDzpvCumulative=cms.int32(240),
    maxDzpvsigCumulative=cms.double(10),
    nintDzpvsigCumulative=cms.int32(200),
    seedingLayerSets=cms.vstring(),
)


def _modifyForPhase1(pset):
    pset.minEta = -3
    pset.maxEta = 3
    pset.nintEta = 60


from Configuration.Eras.Modifier_phase1Pixel_cff import phase1Pixel
phase1Pixel.toModify(MTVHistoProducerAlgoForTrackerBlock, _modifyForPhase1)
from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker
phase2_tracker.toModify(MTVHistoProducerAlgoForTrackerBlock,
                        minEta=-4.5,
                        maxEta=4.5,
                        nintEta=90)
Exemple #40
0
from RecoTracker.TkSeedGenerator.trackerClusterCheckDefault_cfi import trackerClusterCheckDefault as _trackerClusterCheckDefault
trackerClusterCheck = _trackerClusterCheckDefault.clone()

from Configuration.Eras.Modifier_phase1Pixel_cff import phase1Pixel
from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker
# Disable too many clusters check until we have an updated cut string for phase1 and phase2
phase1Pixel.toModify(trackerClusterCheck, doClusterCheck=False)  # FIXME
phase2_tracker.toModify(trackerClusterCheck, doClusterCheck=False)  # FIXME

from Configuration.Eras.Modifier_peripheralPbPb_cff import peripheralPbPb
peripheralPbPb.toModify(
    trackerClusterCheck,
    cut=
    "strip < 400000 && pixel < 40000 && (strip < 60000 + 7.0*pixel) && (pixel < 8000 + 0.14*strip)"
)
#    PurityCut_track = cms.double(0.),
#    EfficiencyCut_muon = cms.double(0.),
#    PurityCut_muon = cms.double(0.),
#    includeZeroHitMuons = cms.bool(True),
#    acceptOneStubMatchings = cms.bool(False),
##############################################
MABH.EfficiencyCut_track = 0.5
MABH.PurityCut_track = 0.75
#MABH.EfficiencyCut_muon = 0.5
MABH.EfficiencyCut_muon = 0.  # for high pt muons this is a better choice
MABH.PurityCut_muon = 0.75
MABH.includeZeroHitMuons = False
#
# temporary fix for Phase2
from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker
phase2_tracker.toModify(MABH, EfficiencyCut_track=0.)
phase2_tracker.toModify(MABH, PurityCut_track=0.)
#
MABHhlt = MABH.clone()
MABHhlt.EfficiencyCut_track = 0.  # backup solution as UseGrouped/UseSplitting are always assumed to be true
MABHhlt.DTrechitTag = 'hltDt1DRecHits'
MABHhlt.ignoreMissingTrackCollection = True
################################################

NEWtpToTkMuonAssociation = MABH.clone()
#tpToTkMuonAssociation.tracksTag = 'generalTracks'
NEWtpToTkMuonAssociation.tracksTag = 'NEWprobeTracks'
NEWtpToTkMuonAssociation.UseTracker = True
NEWtpToTkMuonAssociation.UseMuon = False

NEWtpToStaSeedAssociation = MABH.clone()
import FWCore.ParameterSet.Config as cms

from DQMServices.Core.DQMEDAnalyzer import DQMEDAnalyzer
pixelDigisValid = DQMEDAnalyzer('SiPixelDigiValid',
    src = cms.InputTag("simSiPixelDigis"),
    outputFile = cms.untracked.string(''),
    runStandalone = cms.bool(False)
)

# This customization will be removed once we have phase2 pixel digis
from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker
phase2_tracker.toModify(pixelDigisValid, src = 'simSiPixelDigis:Pixel')

    Weights8 = cms.string('RecoParticleFlow/PFTracking/data/MVA_BDTTrackDrivenSeed_cat8.xml'),
    Weights9 = cms.string('RecoParticleFlow/PFTracking/data/MVA_BDTTrackDrivenSeed_cat9.xml'),                                        
    PFEcalClusterLabel = cms.InputTag("particleFlowClusterECAL"),
    PFHcalClusterLabel = cms.InputTag("particleFlowClusterHCAL"),
    PSThresholdFile = cms.string('RecoParticleFlow/PFTracking/data/PSThreshold.dat'),
    MinPt = cms.double(2.0),
    TkColList = cms.VInputTag(cms.InputTag("generalTracks")),
    UseTMVA = cms.untracked.bool(True),
    TrackQuality = cms.string('highPurity'),
    MaxPt = cms.double(50.0),
    ApplyIsolation = cms.bool(False),
    EcalStripSumE_deltaPhiOverQ_minValue = cms.double(-0.1),
    EcalStripSumE_minClusEnergy = cms.double(0.1),
    EcalStripSumE_deltaEta = cms.double(0.03),
    EcalStripSumE_deltaPhiOverQ_maxValue = cms.double(0.5),
    EOverPLead_minValue = cms.double(0.95),
    HOverPLead_maxValue = cms.double(0.05),
    HcalWindow=cms.double(0.184),                       
    ClusterThreshold = cms.double(0.5),
    UsePreShower =cms.bool(False),
    PreIdLabel = cms.string('preid'),
    ProducePreId = cms.untracked.bool(True),
    PtThresholdSavePreId = cms.untracked.double(1.0),
    Min_dr = cms.double(0.2)
)

# This customization will be removed once we get the templates for
# phase2 pixel
from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker
phase2_tracker.toModify(trackerDrivenElectronSeeds, TTRHBuilder  = 'WithTrackAngle') # FIXME
    # ****  payLoadType Options         ****
    # ****  HLT - column granularity    ****
    # ****  Offline - gain:col/ped:pix  ****
    # **************************************
    payloadType = cms.string('Offline'),
    SeedThreshold = cms.int32(1000),
    ClusterThreshold    = cms.int32(4000),
    ClusterThreshold_L1 = cms.int32(4000),
    # **************************************
    maxNumberOfClusters = cms.int32(-1), # -1 means no limit.
)

# phase1 pixel
from Configuration.Eras.Modifier_phase1Pixel_cff import phase1Pixel
phase1Pixel.toModify(siPixelClusters,
  VCaltoElectronGain      = cms.int32(47),   # L2-4: 47 +- 4.7
  VCaltoElectronGain_L1   = cms.int32(50),   # L1:   49.6 +- 2.6
  VCaltoElectronOffset    = cms.int32(-60),  # L2-4: -60 +- 130
  VCaltoElectronOffset_L1 = cms.int32(-670), # L1:   -670 +- 220
  ChannelThreshold        = cms.int32(250),
  ClusterThreshold_L1     = cms.int32(2000)
)

# Need these until phase2 pixel templates are used
from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker
phase2_tracker.toModify(siPixelClusters, # FIXME
  src = cms.InputTag('simSiPixelDigis', "Pixel"),
  MissCalibrate = False,
  ElectronPerADCGain = cms.double(600.) # it can be changed to something else (e.g. 135e) if needed
)
    # ****  Offline - gain:col/ped:pix  ****
    # **************************************
    payloadType=cms.string('Offline'),
    SeedThreshold=cms.int32(1000),
    ClusterThreshold=cms.int32(4000),
    ClusterThreshold_L1=cms.int32(4000),
    # **************************************
    maxNumberOfClusters=cms.int32(-1),  # -1 means no limit.
)

# phase1 pixel
from Configuration.Eras.Modifier_phase1Pixel_cff import phase1Pixel
phase1Pixel.toModify(
    siPixelClusters,
    VCaltoElectronGain=cms.int32(47),  # L2-4: 47 +- 4.7
    VCaltoElectronGain_L1=cms.int32(50),  # L1:   49.6 +- 2.6
    VCaltoElectronOffset=cms.int32(-60),  # L2-4: -60 +- 130
    VCaltoElectronOffset_L1=cms.int32(-670),  # L1:   -670 +- 220
    ChannelThreshold=cms.int32(250),
    ClusterThreshold_L1=cms.int32(2000))

# Need these until phase2 pixel templates are used
from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker
phase2_tracker.toModify(
    siPixelClusters,  # FIXME
    src=cms.InputTag('simSiPixelDigis', "Pixel"),
    MissCalibrate=False,
    ElectronPerADCGain=cms.double(
        600.)  # it can be changed to something else (e.g. 135e) if needed
)
Exemple #46
0
# in fastsim, normal digis are edaliases of simdigis
# drop the simdigis to avoid complaints from the outputmodule related to duplicated branches
if fastSim.isChosen():
    for _entry in [
            FEVTDEBUGHLTEventContent, FEVTDEBUGEventContent,
            RECOSIMEventContent, AODSIMEventContent, RAWAODSIMEventContent
    ]:
        fastSimEC.dropSimDigis(_entry.outputCommands)

from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker
for _entry in [
        FEVTDEBUGEventContent, FEVTDEBUGHLTEventContent, FEVTEventContent
]:
    phase2_tracker.toModify(_entry,
                            outputCommands=_entry.outputCommands +
                            ['keep Phase2TrackerDigiedmDetSetVector_mix_*_*'])

from RecoLocalFastTime.Configuration.RecoLocalFastTime_EventContent_cff import RecoLocalFastTimeFEVT, RecoLocalFastTimeRECO, RecoLocalFastTimeAOD
from Configuration.Eras.Modifier_phase2_timing_layer_cff import phase2_timing_layer


def _addOutputCommands(mod, newCommands):
    phase2_timing_layer.toModify(mod,
                                 outputCommands=mod.outputCommands +
                                 newCommands.outputCommands)


_addOutputCommands(FEVTDEBUGEventContent, RecoLocalFastTimeFEVT)
_addOutputCommands(FEVTDEBUGHLTEventContent, RecoLocalFastTimeFEVT)
_addOutputCommands(FEVTEventContent, RecoLocalFastTimeFEVT)
import FWCore.ParameterSet.Config as cms

#Full Event content 
RecoLocalTrackerFEVT = cms.PSet(
    outputCommands = cms.untracked.vstring(
    'keep DetIdedmEDCollection_siStripDigis_*_*',
    'keep DetIdedmEDCollection_siPixelDigis_*_*',
    'keep *_siPixelClusters_*_*', 
    'keep *_siStripClusters_*_*',
    'keep *_clusterSummaryProducer_*_*')
)
#RECO content
RecoLocalTrackerRECO = cms.PSet(
    outputCommands = cms.untracked.vstring(
    'keep DetIdedmEDCollection_siStripDigis_*_*',
    'keep DetIdedmEDCollection_siPixelDigis_*_*',
    'keep *_siPixelClusters_*_*', 
    'keep *_siStripClusters_*_*',
    'keep ClusterSummary_clusterSummaryProducer_*_*')
)
#AOD content
RecoLocalTrackerAOD = cms.PSet(
    outputCommands = cms.untracked.vstring('keep ClusterSummary_clusterSummaryProducer_*_*')
)

from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker
phase2_tracker.toModify(RecoLocalTrackerFEVT, outputCommands = RecoLocalTrackerFEVT.outputCommands + ['keep *_siPhase2Clusters_*_*'] )
phase2_tracker.toModify(RecoLocalTrackerRECO, outputCommands = RecoLocalTrackerRECO.outputCommands + ['keep *_siPhase2Clusters_*_*'] )

    DoSmoothing=cms.bool(True),
    beamSpot=cms.InputTag("hltOfflineBeamSpot"),
    TTRHBuilder=cms.string('WithAngleAndTemplate')))
MuonTrackLoaderForCosmic = cms.PSet(TrackLoaderParameters=cms.PSet(
    MuonUpdatorAtVertexAnyDirection,
    PutTrajectoryIntoEvent=cms.untracked.bool(False),
    VertexConstraint=cms.bool(False),
    AllowNoVertex=cms.untracked.bool(True),
    Smoother=cms.string('KFSmootherForMuonTrackLoader'),
    DoSmoothing=cms.bool(False),
    beamSpot=cms.InputTag("offlineBeamSpot"),
    TTRHBuilder=cms.string('WithAngleAndTemplate')))

# Switch back to GenericCPE until bias in template CPE gets fixed
from Configuration.Eras.Modifier_phase1Pixel_cff import phase1Pixel
for _loader in [
        MuonTrackLoaderForSTA, MuonTrackLoaderForGLB, MuonTrackLoaderForL2,
        MuonTrackLoaderForL3, MuonTrackLoaderForCosmic
]:
    phase1Pixel.toModify(
        _loader,
        TrackLoaderParameters=dict(TTRHBuilder='WithTrackAngle'))  # FIXME

# This customization will be removed once we get the templates for
# phase2 pixel
from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker

phase2_tracker.toModify(
    MuonTrackLoaderForGLB,
    TrackLoaderParameters=dict(TTRHBuilder='WithTrackAngle'))  # FIXME
Exemple #49
0
# Tracker
phase2_tracker.toModify(
    mixData,
    workers=dict(
        # Disable SiStrip
        strip=None,
        stripSimLink=None,
        # Replace pixel with Phase2 tracker
        pixel=cms.PSet(
            phase2TrackerDigitizer,
            workerType=cms.string("PreMixingPhase2TrackerWorker"),
            pixelLabelSig=cms.InputTag("simSiPixelDigis:Pixel"),
            pixelPileInputTag=cms.InputTag("simSiPixelDigis:Pixel"),
            trackerLabelSig=cms.InputTag("simSiPixelDigis:Tracker"),
            trackerPileInputTag=cms.InputTag("simSiPixelDigis:Tracker"),
            premixStage1ElectronPerAdc=cms.double(
                _phase2TrackerPremixStage1ModifyDict["PixelDigitizerAlgorithm"]
                ["ElectronPerAdc"])),
        pixelSimLink=dict(
            labelSig="simSiPixelDigis:Pixel",
            pileInputTag="simSiPixelDigis:Pixel",
        ),
        phase2OTSimLink=cms.PSet(
            workerType=cms.string("PreMixingPixelDigiSimLinkWorker"),
            labelSig=cms.InputTag("simSiPixelDigis:Tracker"),
            pileInputTag=cms.InputTag("simSiPixelDigis:Tracker"),
            collectionDM=cms.string("Phase2OTDigiSimLink"),
        ),
    ),
)
Exemple #50
0
RAWAODSIMEventContent.outputCommands.extend(L1TriggerRAW.outputCommands)
RAWAODSIMEventContent.outputCommands.extend(HLTriggerRAW.outputCommands)
RAWAODSIMEventContent.outputCommands.extend(SimG4CoreHLTAODSIM.outputCommands)

# in fastsim, normal digis are edaliases of simdigis
# drop the simdigis to avoid complaints from the outputmodule related to duplicated branches
for _entry in [FEVTDEBUGHLTEventContent,FEVTDEBUGEventContent,RECOSIMEventContent,AODSIMEventContent,RAWAODSIMEventContent]:
    fastSim.toModify(_entry, outputCommands = _entry.outputCommands + fastSimEC.dropSimDigis)
for _entry in [MINIAODEventContent, MINIAODSIMEventContent]:
    fastSim.toModify(_entry, outputCommands = _entry.outputCommands + fastSimEC.dropPatTrigger)


for _entry in [FEVTDEBUGEventContent,FEVTDEBUGHLTEventContent,FEVTEventContent]:
    phase2_tracker.toModify(_entry, outputCommands = _entry.outputCommands + [
        'keep Phase2TrackerDigiedmDetSetVector_mix_*_*',
        'keep *_TTClustersFromPhase2TrackerDigis_*_*',
        'keep *_TTStubsFromPhase2TrackerDigis_*_*'
    ])

from Configuration.Eras.Modifier_run2_GEM_2017_cff import run2_GEM_2017
from Configuration.Eras.Modifier_run3_GEM_cff import run3_GEM
from Configuration.Eras.Modifier_phase2_muon_cff import phase2_muon
from Configuration.Eras.Modifier_pp_on_AA_2018_cff import pp_on_AA_2018
for _entry in [FEVTDEBUGEventContent,FEVTDEBUGHLTEventContent,FEVTEventContent]:
    run2_GEM_2017.toModify(_entry, outputCommands = _entry.outputCommands + ['keep *_muonGEMDigis_*_*'])
    run3_GEM.toModify(_entry, outputCommands = _entry.outputCommands + ['keep *_muonGEMDigis_*_*'])
    phase2_muon.toModify(_entry, outputCommands = _entry.outputCommands + ['keep *_muonGEMDigis_*_*'])
    pp_on_AA_2018.toModify(_entry, outputCommands = _entry.outputCommands + ['keep FEDRawDataCollection_rawDataRepacker_*_*'])

from RecoLocalFastTime.Configuration.RecoLocalFastTime_EventContent_cff import RecoLocalFastTimeFEVT, RecoLocalFastTimeRECO, RecoLocalFastTimeAOD
from Configuration.Eras.Modifier_phase2_timing_layer_cff import phase2_timing_layer
Exemple #51
0
    pixelSimLinkSrc=cms.InputTag("simSiPixelDigis"),
    stripSimLinkSrc=cms.InputTag("simSiStripDigis"),
    phase2TrackerSimLinkSrc=cms.InputTag("simSiPixelDigis", "Tracker"),
    ROUList=cms.vstring('TrackerHitsPixelBarrelLowTof',
                        'TrackerHitsPixelBarrelHighTof',
                        'TrackerHitsPixelEndcapLowTof',
                        'TrackerHitsPixelEndcapHighTof',
                        'TrackerHitsTIBLowTof', 'TrackerHitsTIBHighTof',
                        'TrackerHitsTIDLowTof', 'TrackerHitsTIDHighTof',
                        'TrackerHitsTOBLowTof', 'TrackerHitsTOBHighTof',
                        'TrackerHitsTECLowTof', 'TrackerHitsTECHighTof'))
from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker
phase2_tracker.toModify(
    process.testassociator,
    usePhase2Tracker=cms.bool(True),
    siPhase2RecHits=cms.InputTag("siPhase2RecHits"),
    pixelSimLinkSrc=cms.InputTag("simSiPixelDigis", "Pixel"),
    phase2TrackerSimLinkSrc=cms.InputTag("simSiPixelDigis", "Tracker"),
)

# To enable debugging:
# [scram b clean ;] scram b USER_CXXFLAGS="-DEDM_ML_DEBUG"

# process.load("SimTracker.TrackerHitAssociation.test.messageLoggerDebug_cff")

process.MessageLogger.cerr.FwkReport.reportEvery = 1

# Number of events (-1 = all)
process.maxEvents = cms.untracked.PSet(input=cms.untracked.int32(20))

# Processes to run
import FWCore.ParameterSet.Config as cms

from RecoLocalTracker.SiStripZeroSuppression.DefaultAlgorithms_cff import *

siStripZeroSuppression = cms.EDProducer("SiStripZeroSuppression",

    Algorithms = DefaultAlgorithms,
    RawDigiProducersList = cms.VInputTag( cms.InputTag('siStripDigis','VirginRaw'), 
                                          cms.InputTag('siStripDigis','ProcessedRaw'),
                                          cms.InputTag('siStripDigis','ScopeMode')),
                                       #   cms.InputTag('siStripDigis','ZeroSuppressed')),

    storeCM = cms.bool(True), 
    fixCM= cms.bool(False),                # put -999 into CM collection for "inspected" APV

    produceRawDigis = cms.bool(True),
    produceCalculatedBaseline = cms.bool(False),
    produceBaselinePoints = cms.bool(False),
    storeInZScollBadAPV = cms.bool(True), # it selects if in the ZS collection the bad APVs are written. To be kept for ZS
    produceHybridFormat = cms.bool(False)
)

# The SiStripClusters are not used anymore in phase2 tracking
# This part has to be clean up when they will be officially removed from the entire flow
from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker
phase2_tracker.toModify(siStripZeroSuppression, # FIXME
  RawDigiProducersList = [ 'simSiStripDigis:VirginRaw',
                           'simSiStripDigis:ProcessedRaw',
                           'simSiStripDigis:ScopeMode' ]
)
import FWCore.ParameterSet.Config as cms

clusterShapeExtractor = cms.EDAnalyzer(
    "PixelClusterShapeExtractor",
    tracks=cms.InputTag("generalTracks"),
    clusterShapeCacheSrc=cms.InputTag('siPixelClusterShapeCache'),
    pixelSimLinkSrc=cms.InputTag('simSiPixelDigis'),
    hasSimHits=cms.bool(True),
    hasRecTracks=cms.bool(False),
    noBPIX1=cms.bool(False),
    # for the associator
    associateStrip=cms.bool(False),
    associatePixel=cms.bool(True),
    associateRecoTracks=cms.bool(False),
    ROUList=cms.vstring('TrackerHitsPixelBarrelLowTof',
                        'TrackerHitsPixelBarrelHighTof',
                        'TrackerHitsPixelEndcapLowTof',
                        'TrackerHitsPixelEndcapHighTof'))

from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker

phase2_tracker.toModify(
    clusterShapeExtractor,
    pixelSimLinkSrc=cms.InputTag('simSiPixelDigis', 'Pixel'),
)
    #
    # ... reco::Track collection
    # tracksTag = cms.InputTag("standAloneMuons"),
    # tracksTag = cms.InputTag("standAloneMuons","UpdatedAtVtx"),
    # tracksTag = cms.InputTag("standAloneSETMuons"),
    # tracksTag = cms.InputTag("standAloneSETMuons","UpdatedAtVtx"),                                   
    # tracksTag = cms.InputTag("cosmicMuons"),
    tracksTag = cms.InputTag("globalMuons"),
    # tracksTag = cms.InputTag("tevMuons","firstHit"),
    # tracksTag = cms.InputTag("tevMuons","picky"),                                     
    # tracksTag = cms.InputTag("globalSETMuons"),
    # tracksTag = cms.InputTag("globalCosmicMuons"),
    # tracksTag = cms.InputTag("generalTracks"),
    # tracksTag = cms.InputTag("ctfWithMaterialTracksP5LHCNavigation"),
    # tracksTag = cms.InputTag("hltL2Muons"),
    # tracksTag = cms.InputTag("hltL2Muons","UpdatedAtVtx"),
    # tracksTag = cms.InputTag("hltL3Muons")
    # tracksTag = cms.InputTag("hltL3Muons","L2Seeded")
    # tracksTag = cms.InputTag("hltL3TkTracksFromL2")
    #
    # ... TrackingParticle collection
    tpTag = cms.InputTag("mix","MergedTrackTruth"),
    ignoreMissingTrackCollection = cms.untracked.bool(False),
)

from Configuration.Eras.Modifier_run3_GEM_cff import run3_GEM
run3_GEM.toModify( muonAssociatorByHits, useGEMs = cms.bool(True) )
from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker
phase2_tracker.toModify( muonAssociatorByHits, usePhase2Tracker = cms.bool(True) )
phase2_tracker.toModify( muonAssociatorByHits, pixelSimLinkSrc = "simSiPixelDigis:Pixel" )
Exemple #55
0
    trackExtraTags=[
        "displacedMuonReducedTrackExtras", "displacedStandAloneMuons"
    ],
    trackExtraAssocs=["displacedMuonReducedTrackExtras"],
    pixelClusterTag="displacedMuonReducedTrackExtras",
    stripClusterTag="displacedMuonReducedTrackExtras")

# no clusters in fastsim
from Configuration.Eras.Modifier_fastSim_cff import fastSim

fastSim.toModify(slimmedMuonTrackExtras, outputClusters=False)

# cluster collections are different in phase 2, so skip this for now
from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker

phase2_tracker.toModify(slimmedMuonTrackExtras, outputClusters=False)
phase2_tracker.toModify(slimmedDisplacedMuonTrackExtras, outputClusters=False)

# lower minimum pt for B-parking
from Configuration.Eras.Modifier_bParking_cff import bParking

bParking.toModify(slimmedMuonTrackExtras, cut="pt > 3.0")

# full set of track extras not available in existing AOD
from Configuration.Eras.Modifier_run2_miniAOD_80XLegacy_cff import run2_miniAOD_80XLegacy
from Configuration.Eras.Modifier_run2_miniAOD_94XFall17_cff import run2_miniAOD_94XFall17
from Configuration.ProcessModifiers.pp_on_AA_cff import pp_on_AA
from Configuration.ProcessModifiers.miniAOD_skip_trackExtras_cff import miniAOD_skip_trackExtras

(run2_miniAOD_80XLegacy | run2_miniAOD_94XFall17 | pp_on_AA
 | miniAOD_skip_trackExtras).toModify(slimmedMuonTrackExtras,
Exemple #56
0
    tip=cms.double(3.5),
    minPhi=cms.double(-3.2),
    maxPhi=cms.double(3.2),
)

from Configuration.Eras.Modifier_fastSim_cff import fastSim
fastSim.toModify(generalTpSelectorBlock, stableOnly=True)

TpSelectorForEfficiencyVsEtaBlock = generalTpSelectorBlock.clone()
TpSelectorForEfficiencyVsPhiBlock = generalTpSelectorBlock.clone()
TpSelectorForEfficiencyVsPtBlock = generalTpSelectorBlock.clone(ptMin=0.050)
TpSelectorForEfficiencyVsVTXRBlock = generalTpSelectorBlock.clone(tip=60.0)
TpSelectorForEfficiencyVsVTXZBlock = generalTpSelectorBlock.clone()


def _modifyForPhase1(pset):
    pset.minRapidity = -3
    pset.maxRapidity = 3


from Configuration.Eras.Modifier_phase1Pixel_cff import phase1Pixel
phase1Pixel.toModify(generalTpSelectorBlock, _modifyForPhase1)
phase1Pixel.toModify(TpSelectorForEfficiencyVsEtaBlock, _modifyForPhase1)
from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker
phase2_tracker.toModify(generalTpSelectorBlock,
                        minRapidity=-4.5,
                        maxRapidity=4.5)
phase2_tracker.toModify(TpSelectorForEfficiencyVsEtaBlock,
                        minRapidity=-4.5,
                        maxRapidity=4.5)
Exemple #57
0
#    BXlumiMax = cms.double(20000),

###############################
################## FOR HI PLOTS#####################
#######
TransDCABins = cms.int32(100),
TransDCAMin = cms.double(-8.0),
TransDCAMax = cms.double(8.0),

LongDCABins = cms.int32(100),
LongDCAMin = cms.double(-8.0),
LongDCAMax = cms.double(8.0),          
)

# Overcoming the 255 arguments limit
# TrackingRegion monitoring
TrackMon.RegionProducer = cms.InputTag("")
TrackMon.RegionCandidates = cms.InputTag("")
TrackMon.doRegionPlots = cms.bool(False)
TrackMon.RegionSizeBin = cms.int32(20)
TrackMon.RegionSizeMax = cms.double(19.5)
TrackMon.RegionSizeMin = cms.double(-0.5)
TrackMon.RegionCandidatePtBin = cms.int32(100)
TrackMon.RegionCandidatePtMax = cms.double(1000)
TrackMon.RegionCandidatePtMin = cms.double(0)

from Configuration.Eras.Modifier_phase1Pixel_cff import phase1Pixel
from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker
phase1Pixel.toModify(TrackMon, EtaBin=30, EtaMin=-3, EtaMax=3)
phase2_tracker.toModify(TrackMon, EtaBin=46, EtaMin=-4.5, EtaMax=4.5)
import FWCore.ParameterSet.Config as cms

from SimTracker.TrackerHitAssociation.tpClusterProducerDefault_cfi import tpClusterProducerDefault as _tpClusterProducerDefault

tpClusterProducer = _tpClusterProducerDefault.clone()

from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker
phase2_tracker.toModify( 
    tpClusterProducer,
    pixelSimLinkSrc = cms.InputTag("simSiPixelDigis", "Pixel"),
    phase2OTSimLinkSrc = cms.InputTag("simSiPixelDigis","Tracker")
)

from Configuration.ProcessModifiers.premix_stage2_cff import premix_stage2
premix_stage2.toModify(tpClusterProducer,
    trackingParticleSrc = "mixData:MergedTrackTruth",
    pixelSimLinkSrc = "mixData:PixelDigiSimLink",
    stripSimLinkSrc = "mixData:StripDigiSimLink",
)
    # PU monitoring
    # Nunmber of Good Primary Vertices
    GoodPVtxBin = cms.int32(200),
    GoodPVtxMin = cms.double( 0.),
    GoodPVtxMax = cms.double(200.),

    LUMIBin  = cms.int32 ( 4000 ),
    LUMIMin  = cms.double(    0.),
    LUMIMax  = cms.double(20000.),

#    # BXlumi                          
#    BXlumiBin = cms.int32(400),
#    BXlumiMin = cms.double(2000),
#    BXlumiMax = cms.double(6000),
                ###############################
################## FOR HI PLOTS#####################
#######
TransDCABins = cms.int32(100),
TransDCAMin = cms.double(-8.0),
TransDCAMax = cms.double(8.0),

LongDCABins = cms.int32(100),
LongDCAMin = cms.double(-8.0),
LongDCAMax = cms.double(8.0),          
)

from Configuration.Eras.Modifier_phase1Pixel_cff import phase1Pixel
from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker
phase1Pixel.toModify(TrackMon, EtaBin=30, EtaMin=-3, EtaMax=3)
phase2_tracker.toModify(TrackMon, EtaBin=46, EtaMin=-4.5, EtaMax=4.5)
   TopFolderName  = cms.string("OfflinePV"),
   AlignmentLabel = cms.string("Alignment"),                           
   vertexLabel    = cms.InputTag("offlinePrimaryVertices"),
   beamSpotLabel  = cms.InputTag("offlineBeamSpot"),
   ndof           = cms.int32( 4 ),                           
   TkSizeBin      = cms.int32( 100  ),
   TkSizeMax      = cms.double(499.5),                       
   TkSizeMin      = cms.double( -0.5),
   Xpos           = cms.double(0.1),
   Ypos           = cms.double(0.0),
   DxyBin         = cms.int32(100),
   DxyMax         = cms.double(5000.0),
   DxyMin         = cms.double(-5000.0),                        
   DzBin          = cms.int32(100),
   DzMax          = cms.double(2000.0),
   DzMin          = cms.double(-2000.0),                                             
   PhiBin         = cms.int32(32),
   PhiMax         = cms.double(3.141592654),
   PhiMin         = cms.double(-3.141592654),
   EtaBin         = cms.int32(26),
   EtaMax         = cms.double(2.5),
   EtaMin         = cms.double(-2.5)
)

# same as above, should be in sync with cut used in Vertex finder...
from Configuration.Eras.Modifier_phase1Pixel_cff import phase1Pixel
from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker
phase1Pixel.toModify(pvMonitor, EtaBin=26, EtaMin=-2.5, EtaMax=2.5)
phase2_tracker.toModify(pvMonitor, EtaBin=41, EtaMin=-4.0, EtaMax=4.0)