Example #1
0
    def _add_deepMET(process):
        process.load('RecoMET.METPUSubtraction.deepMETProducer_cfi')

        addToProcessAndTask('deepMETsResolutionTune',
                            process.deepMETProducer.clone(), process, task)
        addToProcessAndTask('deepMETsResponseTune',
                            process.deepMETProducer.clone(), process, task)
        process.deepMETsResponseTune.graph_path = 'RecoMET/METPUSubtraction/data/deepmet/deepmet_resp_v1_2018.pb'

        from Configuration.Eras.Modifier_phase2_common_cff import phase2_common
        phase2_common.toModify(
            process.deepMETsResolutionTune,
            max_n_pf=12500,
            graph_path=
            "RecoMET/METPUSubtraction/data/deepmet/deepmet_v1_phase2.pb")
        phase2_common.toModify(
            process.deepMETsResponseTune,
            max_n_pf=12500,
            graph_path=
            "RecoMET/METPUSubtraction/data/deepmet/deepmet_resp_v1_phase2.pb")

        from Configuration.Eras.Modifier_run2_jme_2016_cff import run2_jme_2016
        run2_jme_2016.toModify(
            process.deepMETsResponseTune,
            graph_path=
            "RecoMET/METPUSubtraction/data/deepmet/deepmet_resp_v1_2016.pb")
Example #2
0
def adapt(primaryVertexAssociationJME):
    # options for quality PrimaryDz = 6 (used in PUPPI)
    primaryVertexAssociationJME.assignment.maxDzSigForPrimaryAssignment = 1e10
    primaryVertexAssociationJME.assignment.maxDzForPrimaryAssignment = 0.3
    primaryVertexAssociationJME.assignment.maxDzErrorForPrimaryAssignment = 1e10
    primaryVertexAssociationJME.assignment.NumOfPUVtxsForCharged = 2
    primaryVertexAssociationJME.assignment.PtMaxCharged = 20.
    primaryVertexAssociationJME.assignment.EtaMinUseDz = 2.4
    primaryVertexAssociationJME.assignment.OnlyUseFirstDz = True
    from Configuration.Eras.Modifier_phase2_common_cff import phase2_common
    phase2_common.toModify(primaryVertexAssociationJME.assignment,
                           maxDzForPrimaryAssignment=0.1,
                           EtaMinUseDz=4.0)
Example #3
0
    applyOccupancyCut=False,
    applySumPtCut=True,
)
hpsPFTauDiscriminationByTightIsolationDBSumPtCorr.maximumSumPtCut = hpsPFTauDiscriminationByTightIsolationDBSumPtCorr.qualityCuts.isolationQualityCuts.minGammaEt
## ByLooseCombinedIsolationDBSumPtCorr
hpsPFTauDiscriminationByLooseCombinedIsolationDBSumPtCorr = hpsPFTauDiscriminationByLooseIsolationDBSumPtCorr.clone(
    ApplyDiscriminationByTrackerIsolation=True,
    ApplyDiscriminationByECALIsolation=True,
    deltaBetaFactor="%0.4f" % (ak4dBetaCorrection),
    applyOccupancyCut=False,
    applySumPtCut=True,
    maximumSumPtCut=2.5,
    Prediscriminants=requireDecayMode.clone())
hpsPFTauDiscriminationByLooseCombinedIsolationDBSumPtCorr.qualityCuts.isolationQualityCuts.minTrackPt = 0.5
phase2_common.toModify(
    hpsPFTauDiscriminationByLooseCombinedIsolationDBSumPtCorr.qualityCuts,
    isolationQualityCuts=dict(minTrackPt=0.8))
hpsPFTauDiscriminationByLooseCombinedIsolationDBSumPtCorr.qualityCuts.isolationQualityCuts.minGammaEt = 1.0
## ByMediumCombinedIsolationDBSumPtCorr
hpsPFTauDiscriminationByMediumCombinedIsolationDBSumPtCorr = hpsPFTauDiscriminationByMediumIsolationDBSumPtCorr.clone(
    ApplyDiscriminationByTrackerIsolation=True,
    ApplyDiscriminationByECALIsolation=True,
    deltaBetaFactor="%0.4f" % (ak4dBetaCorrection),
    applyOccupancyCut=False,
    applySumPtCut=True,
    maximumSumPtCut=1.5,
    Prediscriminants=requireDecayMode.clone())
hpsPFTauDiscriminationByMediumCombinedIsolationDBSumPtCorr.qualityCuts.isolationQualityCuts.minTrackPt = 0.5
phase2_common.toModify(
    hpsPFTauDiscriminationByMediumCombinedIsolationDBSumPtCorr.qualityCuts,
    isolationQualityCuts=dict(minTrackPt=0.8))
    HFDarkening = cms.bool(False),
    minFCToDelay=cms.double(5.), # old TC model! set to 5 for the new one
    debugCaloSamples=cms.bool(False),
    ignoreGeantTime=cms.bool(False),
    # settings for SimHit test injection
    injectTestHits = cms.bool(False),
    # if no time is specified for injected hits, t = 0 will be used
    # (recommendation: enable "ignoreGeantTime" in that case to set t = tof)
    # otherwise, need 1 time value per energy value
    injectTestHitsEnergy = cms.vdouble(),
    injectTestHitsTime = cms.vdouble(),
    # format for cells: subdet, ieta, iphi, depth
    # multiple quadruplets can be specified
    # if instead only 1 value is given, 
    # it will be interpreted as an entire subdetector
    injectTestHitsCells = cms.vint32()
)

from Configuration.Eras.Modifier_fastSim_cff import fastSim
fastSim.toModify( hcalSimBlock, hitsProducer=cms.string('famosSimHits') )

from Configuration.Eras.Modifier_run2_HCAL_2017_cff import run2_HCAL_2017
run2_HCAL_2017.toModify( hcalSimBlock, TestNumbering = cms.bool(True) )

# remove HE processing for phase 2, completely put in HGCal land
from Configuration.Eras.Modifier_phase2_hgcal_cff import phase2_hgcal
phase2_hgcal.toModify(hcalSimBlock, killHE = cms.bool(True) )

from Configuration.Eras.Modifier_phase2_common_cff import phase2_common
phase2_common.toModify(hcalSimBlock, doNeutralDensityFilter = cms.bool(False))
Example #5
0
        tracks = cms.PSet(
            workerType = cms.string("PreMixingDigiAccumulatorWorker"),
            accumulator = _recoTrackAccumulator.clone(
                pileUpTracks = "mix:generalTracks"
            )
        )
    ),
)

from Configuration.Eras.Modifier_phase2_common_cff import phase2_common
from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker
from Configuration.Eras.Modifier_phase2_ecal_cff import phase2_ecal
from Configuration.Eras.Modifier_phase2_hcal_cff import phase2_hcal
from Configuration.Eras.Modifier_phase2_hgcal_cff import phase2_hgcal
from Configuration.Eras.Modifier_phase2_muon_cff import phase2_muon
phase2_common.toModify(mixData, input = dict(producers = [])) # we use digis directly, no need for raw2digi producers

# 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"),
Example #6
0
    castorDigitizer
  ),
  puVtx = cms.PSet(
    pileupVtxDigitizer
  )
)

theDigitizersMixPreMix.strip.Noise = cms.bool(False) # will be added in DataMixer
theDigitizersMixPreMix.strip.PreMixingMode = cms.bool(True) #Special mode to save all hit strips
theDigitizersMixPreMix.strip.FedAlgorithm = cms.int32(5) # special ZS mode: accept adc>0
theDigitizersMixPreMix.pixel.AddPixelInefficiency = cms.bool(False) # will be added in DataMixer    

from Configuration.Eras.Modifier_fastSim_cff import fastSim
if fastSim.isChosen():
    # fastsim does not model castor
    delattr(theDigitizersMixPreMix,"castor")
    # fastsim does not digitize pixel and strip hits
    delattr(theDigitizersMixPreMix,"pixel")
    delattr(theDigitizersMixPreMix,"strip")

from Configuration.Eras.Modifier_phase2_common_cff import phase2_common
phase2_common.toModify( theDigitizersMixPreMix, castor = None )
    
theDigitizersMixPreMixValid = cms.PSet(
    theDigitizersMixPreMix,
    mergedtruth = cms.PSet(
        trackingParticles
        )
    )

Example #7
0
def miniAOD_customizeCommon(process):
    process.patMuons.isoDeposits = cms.PSet()
    process.patElectrons.isoDeposits = cms.PSet()
    process.patTaus.isoDeposits = cms.PSet()
    process.patPhotons.isoDeposits = cms.PSet()
    #
    process.patMuons.embedTrack = True  # used for IDs
    process.patMuons.embedCombinedMuon = True  # used for IDs
    process.patMuons.embedMuonBestTrack = True  # used for IDs
    process.patMuons.embedStandAloneMuon = True  # maybe?
    process.patMuons.embedPickyMuon = False  # no, use best track
    process.patMuons.embedTpfmsMuon = False  # no, use best track
    process.patMuons.embedDytMuon = False  # no, use best track
    process.patMuons.addPuppiIsolation = cms.bool(True)
    process.patMuons.puppiIsolationChargedHadrons = cms.InputTag(
        "muonPUPPIIsolation", "h+-DR040-ThresholdVeto000-ConeVeto000")
    process.patMuons.puppiIsolationNeutralHadrons = cms.InputTag(
        "muonPUPPIIsolation", "h0-DR040-ThresholdVeto000-ConeVeto001")
    process.patMuons.puppiIsolationPhotons = cms.InputTag(
        "muonPUPPIIsolation", "gamma-DR040-ThresholdVeto000-ConeVeto001")
    process.patMuons.puppiNoLeptonsIsolationChargedHadrons = cms.InputTag(
        "muonPUPPINoLeptonsIsolation", "h+-DR040-ThresholdVeto000-ConeVeto000")
    process.patMuons.puppiNoLeptonsIsolationNeutralHadrons = cms.InputTag(
        "muonPUPPINoLeptonsIsolation", "h0-DR040-ThresholdVeto000-ConeVeto001")
    process.patMuons.puppiNoLeptonsIsolationPhotons = cms.InputTag(
        "muonPUPPINoLeptonsIsolation",
        "gamma-DR040-ThresholdVeto000-ConeVeto001")

    process.patMuons.computeMiniIso = True
    process.patMuons.computeMuonMVA = True
    process.patMuons.computeSoftMuonMVA = True

    process.patMuons.addTriggerMatching = True
    from Configuration.Eras.Modifier_run2_muon_2016_cff import run2_muon_2016
    from Configuration.Eras.Modifier_run2_muon_2017_cff import run2_muon_2017
    from Configuration.Eras.Modifier_run2_muon_2018_cff import run2_muon_2018
    run2_muon_2016.toModify(
        process.patMuons,
        effectiveAreaVec=[0.0735, 0.0619, 0.0465, 0.0433, 0.0577])
    run2_muon_2017.toModify(
        process.patMuons,
        effectiveAreaVec=[0.0566, 0.0562, 0.0363, 0.0119, 0.0064])
    run2_muon_2018.toModify(
        process.patMuons,
        effectiveAreaVec=[0.0566, 0.0562, 0.0363, 0.0119, 0.0064])
    run2_muon_2016.toModify(
        process.patMuons,
        mvaTrainingFile=
        "RecoMuon/MuonIdentification/data/mu_2016_BDTG.weights.xml")

    process.patMuons.computePuppiCombinedIso = True
    #
    # disable embedding of electron and photon associated objects already stored by the ReducedEGProducer
    process.patElectrons.embedGsfElectronCore = False  ## process.patElectrons.embed in AOD externally stored gsf electron core
    process.patElectrons.embedSuperCluster = False  ## process.patElectrons.embed in AOD externally stored supercluster
    process.patElectrons.embedPflowSuperCluster = False  ## process.patElectrons.embed in AOD externally stored supercluster
    process.patElectrons.embedSeedCluster = False  ## process.patElectrons.embed in AOD externally stored the electron's seedcluster
    process.patElectrons.embedBasicClusters = False  ## process.patElectrons.embed in AOD externally stored the electron's basic clusters
    process.patElectrons.embedPreshowerClusters = False  ## process.patElectrons.embed in AOD externally stored the electron's preshower clusters
    process.patElectrons.embedPflowBasicClusters = False  ## process.patElectrons.embed in AOD externally stored the electron's pflow basic clusters
    process.patElectrons.embedPflowPreshowerClusters = False  ## process.patElectrons.embed in AOD externally stored the electron's pflow preshower clusters
    process.patElectrons.embedRecHits = False  ## process.patElectrons.embed in AOD externally stored the RecHits - can be called from the PATElectronProducer
    process.patElectrons.electronSource = cms.InputTag(
        "reducedEgamma", "reducedGedGsfElectrons")
    process.patElectrons.usePfCandidateMultiMap = True
    process.patElectrons.pfCandidateMultiMap = cms.InputTag(
        "reducedEgamma", "reducedGsfElectronPfCandMap")
    process.patElectrons.electronIDSources = cms.PSet()

    from Configuration.Eras.Modifier_run2_miniAOD_80XLegacy_cff import run2_miniAOD_80XLegacy
    from Configuration.Eras.Modifier_run2_miniAOD_94XFall17_cff import run2_miniAOD_94XFall17
    (run2_miniAOD_80XLegacy | run2_miniAOD_94XFall17).toModify(
        process.patElectrons,
        addPFClusterIso=True,
        ecalPFClusterIsoMap="reducedEgamma:eleEcalPFClusIso",
        hcalPFClusterIsoMap="reducedEgamma:eleHcalPFClusIso")

    #add puppi isolation in miniAOD
    process.patElectrons.addPuppiIsolation = cms.bool(True)
    process.patElectrons.puppiIsolationChargedHadrons = cms.InputTag(
        "egmElectronPUPPIIsolation", "h+-DR030-BarVeto000-EndVeto001")
    process.patElectrons.puppiIsolationNeutralHadrons = cms.InputTag(
        "egmElectronPUPPIIsolation", "h0-DR030-BarVeto000-EndVeto000")
    process.patElectrons.puppiIsolationPhotons = cms.InputTag(
        "egmElectronPUPPIIsolation", "gamma-DR030-BarVeto000-EndVeto008")
    process.patElectrons.puppiNoLeptonsIsolationChargedHadrons = cms.InputTag(
        "egmElectronPUPPINoLeptonsIsolation", "h+-DR030-BarVeto000-EndVeto001")
    process.patElectrons.puppiNoLeptonsIsolationNeutralHadrons = cms.InputTag(
        "egmElectronPUPPINoLeptonsIsolation", "h0-DR030-BarVeto000-EndVeto000")
    process.patElectrons.puppiNoLeptonsIsolationPhotons = cms.InputTag(
        "egmElectronPUPPINoLeptonsIsolation",
        "gamma-DR030-BarVeto000-EndVeto008")

    process.patElectrons.computeMiniIso = cms.bool(True)

    process.elPFIsoDepositChargedPAT.src = cms.InputTag(
        "reducedEgamma", "reducedGedGsfElectrons")
    process.elPFIsoDepositChargedAllPAT.src = cms.InputTag(
        "reducedEgamma", "reducedGedGsfElectrons")
    process.elPFIsoDepositNeutralPAT.src = cms.InputTag(
        "reducedEgamma", "reducedGedGsfElectrons")
    process.elPFIsoDepositGammaPAT.src = cms.InputTag(
        "reducedEgamma", "reducedGedGsfElectrons")
    process.elPFIsoDepositPUPAT.src = cms.InputTag("reducedEgamma",
                                                   "reducedGedGsfElectrons")
    #
    process.patPhotons.embedSuperCluster = False  ## whether to process.patPhotons.embed in AOD externally stored supercluster
    process.patPhotons.embedSeedCluster = False  ## process.patPhotons.embed in AOD externally stored the photon's seedcluster
    process.patPhotons.embedBasicClusters = False  ## process.patPhotons.embed in AOD externally stored the photon's basic clusters
    process.patPhotons.embedPreshowerClusters = False  ## process.patPhotons.embed in AOD externally stored the photon's preshower clusters
    process.patPhotons.embedRecHits = False  ## process.patPhotons.embed in AOD externally stored the RecHits - can be called from the PATPhotonProducer

    #add puppi isolation in miniAOD
    process.patPhotons.addPuppiIsolation = cms.bool(True)
    process.patPhotons.puppiIsolationChargedHadrons = cms.InputTag(
        "egmPhotonPUPPIIsolation", "h+-DR030-")
    process.patPhotons.puppiIsolationNeutralHadrons = cms.InputTag(
        "egmPhotonPUPPIIsolation", "h0-DR030-")
    process.patPhotons.puppiIsolationPhotons = cms.InputTag(
        "egmPhotonPUPPIIsolation", "gamma-DR030-")

    (run2_miniAOD_80XLegacy | run2_miniAOD_94XFall17).toModify(
        process.patPhotons,
        addPFClusterIso=True,
        ecalPFClusterIsoMap="reducedEgamma:phoEcalPFClusIso",
        hcalPFClusterIsoMap="reducedEgamma:phoHcalPFClusIso")
    #the 80X legacy customsations are done in ootPhotonProducer for OOT photons
    run2_miniAOD_94XFall17.toModify(
        process.patOOTPhotons,
        addPFClusterIso=True,
        ecalPFClusterIsoMap="reducedEgamma:ootPhoEcalPFClusIso",
        hcalPFClusterIsoMap="reducedEgamma:ootPhoHcalPFClusIso")

    process.patPhotons.photonSource = cms.InputTag("reducedEgamma",
                                                   "reducedGedPhotons")
    process.patPhotons.electronSource = cms.InputTag("reducedEgamma",
                                                     "reducedGedGsfElectrons")

    process.phPFIsoDepositChargedPAT.src = cms.InputTag(
        "reducedEgamma", "reducedGedPhotons")
    process.phPFIsoDepositChargedAllPAT.src = cms.InputTag(
        "reducedEgamma", "reducedGedPhotons")
    process.phPFIsoDepositNeutralPAT.src = cms.InputTag(
        "reducedEgamma", "reducedGedPhotons")
    process.phPFIsoDepositGammaPAT.src = cms.InputTag("reducedEgamma",
                                                      "reducedGedPhotons")
    process.phPFIsoDepositPUPAT.src = cms.InputTag("reducedEgamma",
                                                   "reducedGedPhotons")
    #
    process.patOOTPhotons.photonSource = cms.InputTag("reducedEgamma",
                                                      "reducedOOTPhotons")
    process.patOOTPhotons.electronSource = cms.InputTag(
        "reducedEgamma", "reducedGedGsfElectrons")
    #
    process.selectedPatJets.cut = cms.string("pt > 10")
    process.selectedPatMuons.cut = cms.string(
        "pt > 5 || isPFMuon || (pt > 3 && (isGlobalMuon || isStandAloneMuon || numberOfMatches > 0 || muonID('RPCMuLoose')))"
    )

    from Configuration.Eras.Modifier_phase2_muon_cff import phase2_muon
    phase2_muon.toModify(
        process.selectedPatMuons,
        cut=
        "pt > 5 || isPFMuon || (pt > 3 && (isGlobalMuon || isStandAloneMuon || numberOfMatches > 0 || muonID('RPCMuLoose') || muonID('ME0MuonArbitrated') || muonID('GEMMuonArbitrated')) )"
    )

    from Configuration.Eras.Modifier_pp_on_AA_2018_cff import pp_on_AA_2018
    from Configuration.Eras.Modifier_pp_on_PbPb_run3_cff import pp_on_PbPb_run3
    (pp_on_AA_2018 | pp_on_PbPb_run3).toModify(
        process.selectedPatMuons,
        cut=
        "pt > 5 || isPFMuon || (pt > 1.2 && (isGlobalMuon || isStandAloneMuon) )"
    )

    process.selectedPatElectrons.cut = cms.string("")
    process.selectedPatTaus.cut = cms.string(
        "pt > 18. && tauID('decayModeFindingNewDMs')> 0.5")
    process.selectedPatPhotons.cut = cms.string("")

    from PhysicsTools.PatAlgos.tools.jetTools import addJetCollection

    from PhysicsTools.PatAlgos.slimming.applySubstructure_cff import applySubstructure
    applySubstructure(process)

    #
    from PhysicsTools.PatAlgos.tools.trigTools import switchOnTriggerStandAlone
    switchOnTriggerStandAlone(process, outputModule='')
    process.patTrigger.packTriggerPathNames = cms.bool(True)
    #
    # apply type I + other PFMEt corrections to pat::MET object
    # and estimate systematic uncertainties on MET

    from PhysicsTools.PatUtils.tools.runMETCorrectionsAndUncertainties import runMetCorAndUncForMiniAODProduction
    runMetCorAndUncForMiniAODProduction(process,
                                        metType="PF",
                                        jetCollUnskimmed="patJets")

    #caloMET computation
    from PhysicsTools.PatAlgos.tools.metTools import addMETCollection
    addMETCollection(process, labelName="patCaloMet", metSource="caloMetM")

    #noHF pfMET =========

    task = getPatAlgosToolsTask(process)

    process.noHFCands = cms.EDFilter(
        "GenericPFCandidateSelector",
        src=cms.InputTag("particleFlow"),
        cut=cms.string("abs(pdgId)!=1 && abs(pdgId)!=2 && abs(eta)<3.0"))
    task.add(process.noHFCands)

    runMetCorAndUncForMiniAODProduction(
        process,
        pfCandColl=cms.InputTag("noHFCands"),
        recoMetFromPFCs=True,  #needed for HF removal
        jetSelection="pt>15 && abs(eta)<3.",
        postfix="NoHF")

    process.load('PhysicsTools.PatAlgos.slimming.slimmedMETs_cfi')
    task.add(process.slimmedMETs)
    process.slimmedMETs.addDeepMETs = True

    addToProcessAndTask('slimmedMETsNoHF', process.slimmedMETs.clone(),
                        process, task)
    process.slimmedMETsNoHF.src = cms.InputTag("patMETsNoHF")
    process.slimmedMETsNoHF.rawVariation = cms.InputTag("patPFMetNoHF")
    process.slimmedMETsNoHF.t1Uncertainties = cms.InputTag("patPFMetT1%sNoHF")
    process.slimmedMETsNoHF.t01Variation = cms.InputTag("patPFMetT0pcT1NoHF")
    process.slimmedMETsNoHF.t1SmearedVarsAndUncs = cms.InputTag(
        "patPFMetT1Smear%sNoHF")
    process.slimmedMETsNoHF.tXYUncForRaw = cms.InputTag("patPFMetTxyNoHF")
    process.slimmedMETsNoHF.tXYUncForT1 = cms.InputTag("patPFMetT1TxyNoHF")
    process.slimmedMETsNoHF.tXYUncForT01 = cms.InputTag(
        "patPFMetT0pcT1TxyNoHF")
    process.slimmedMETsNoHF.tXYUncForT1Smear = cms.InputTag(
        "patPFMetT1SmearTxyNoHF")
    process.slimmedMETsNoHF.tXYUncForT01Smear = cms.InputTag(
        "patPFMetT0pcT1SmearTxyNoHF")
    del process.slimmedMETsNoHF.caloMET
    # ================== NoHF pfMET

    #  ==================  CHSMET
    process.CHSCands = cms.EDFilter("CandPtrSelector",
                                    src=cms.InputTag("packedPFCandidates"),
                                    cut=cms.string("fromPV(0) > 0"))
    task.add(process.CHSCands)

    from RecoMET.METProducers.pfMet_cfi import pfMet
    process.pfMetCHS = pfMet.clone(src='CHSCands')
    task.add(process.pfMetCHS)

    addMETCollection(process, labelName="patCHSMet", metSource="pfMetCHS")

    process.patCHSMet.computeMETSignificance = cms.bool(False)

    #  ==================  CHSMET

    #  ==================  TrkMET
    process.TrkCands = cms.EDFilter(
        "CandPtrSelector",
        src=cms.InputTag("packedPFCandidates"),
        cut=cms.string(
            "charge()!=0 && pvAssociationQuality()>=4 && vertexRef().key()==0")
    )
    task.add(process.TrkCands)

    process.pfMetTrk = pfMet.clone(src='TrkCands')
    task.add(process.pfMetTrk)

    addMETCollection(process, labelName="patTrkMet", metSource="pfMetTrk")

    process.patTrkMet.computeMETSignificance = cms.bool(False)

    #  ==================  TrkMET

    ## PU JetID
    process.load("RecoJets.JetProducers.PileupJetID_cfi")
    task.add(process.pileUpJetIDTask)

    process.patJets.userData.userFloats.src = [
        cms.InputTag("pileupJetId:fullDiscriminant"),
    ]
    process.patJets.userData.userInts.src = [
        cms.InputTag("pileupJetId:fullId"),
    ]

    ## Quark Gluon Likelihood
    process.load('RecoJets.JetProducers.QGTagger_cfi')
    task.add(process.QGTaggerTask)

    process.patJets.userData.userFloats.src += [
        cms.InputTag('QGTagger:qgLikelihood'),
    ]

    ## DeepCSV meta discriminators (simple arithmethic on output probabilities)
    process.load('RecoBTag.Combined.deepFlavour_cff')
    task.add(process.pfDeepCSVDiscriminatorsJetTags)
    process.patJets.discriminatorSources.extend([
        cms.InputTag('pfDeepCSVDiscriminatorsJetTags:BvsAll'),
        cms.InputTag('pfDeepCSVDiscriminatorsJetTags:CvsB'),
        cms.InputTag('pfDeepCSVDiscriminatorsJetTags:CvsL'),
    ])

    ## CaloJets
    process.caloJetMap = cms.EDProducer(
        "RecoJetDeltaRValueMapProducer",
        src=process.patJets.jetSource,
        matched=cms.InputTag("ak4CaloJets"),
        distMax=cms.double(0.4),
        values=cms.vstring('pt', 'emEnergyFraction'),
        valueLabels=cms.vstring('pt', 'emEnergyFraction'),
        lazyParser=cms.bool(True))
    task.add(process.caloJetMap)
    process.patJets.userData.userFloats.src += [
        cms.InputTag("caloJetMap:pt"),
        cms.InputTag("caloJetMap:emEnergyFraction")
    ]

    #Muon object modifications
    from PhysicsTools.PatAlgos.slimming.muonIsolationsPUPPI_cfi import makeInputForPUPPIIsolationMuon
    makeInputForPUPPIIsolationMuon(process)

    #EGM object modifications
    from PhysicsTools.PatAlgos.slimming.egmIsolationsPUPPI_cfi import makeInputForPUPPIIsolationEgm
    makeInputForPUPPIIsolationEgm(process)
    from RecoEgamma.EgammaTools.egammaObjectModificationsInMiniAOD_cff import egamma_modifications
    process.slimmedElectrons.modifierConfig.modifications = egamma_modifications
    process.slimmedPhotons.modifierConfig.modifications = egamma_modifications

    #VID Electron IDs
    process.patElectrons.addElectronID = cms.bool(True)
    electron_ids = [
        'RecoEgamma.ElectronIdentification.Identification.heepElectronID_HEEPV70_cff',
        'RecoEgamma.ElectronIdentification.Identification.heepElectronID_HEEPV71_cff',
        'RecoEgamma.ElectronIdentification.Identification.cutBasedElectronID_Fall17_94X_V1_cff',
        'RecoEgamma.ElectronIdentification.Identification.cutBasedElectronID_Fall17_94X_V2_cff',
        'RecoEgamma.ElectronIdentification.Identification.mvaElectronID_Fall17_noIso_V1_cff',
        'RecoEgamma.ElectronIdentification.Identification.mvaElectronID_Fall17_iso_V1_cff',
        'RecoEgamma.ElectronIdentification.Identification.mvaElectronID_Fall17_noIso_V2_cff',
        'RecoEgamma.ElectronIdentification.Identification.mvaElectronID_Fall17_iso_V2_cff',
        'RecoEgamma.ElectronIdentification.Identification.cutBasedElectronID_Summer16_80X_V1_cff',
        'RecoEgamma.ElectronIdentification.Identification.mvaElectronID_Spring16_GeneralPurpose_V1_cff',
        'RecoEgamma.ElectronIdentification.Identification.mvaElectronID_Spring16_HZZ_V1_cff',
    ]
    switchOnVIDElectronIdProducer(process, DataFormat.MiniAOD, task)
    process.egmGsfElectronIDs.physicsObjectSrc = cms.InputTag(
        "reducedEgamma", "reducedGedGsfElectrons")
    process.electronMVAValueMapProducer.src = cms.InputTag(
        'reducedEgamma', 'reducedGedGsfElectrons')

    # To use older DataFormats, the electronMVAValueMapProducer MUST take a updated electron collection
    # such that the conversion variables are filled correctly.
    process.load("RecoEgamma.EgammaTools.gedGsfElectronsTo106X_cff")
    run2_miniAOD_80XLegacy.toModify(
        task, func=lambda t: t.add(process.gedGsfElectronsFrom80XTo106XTask))
    run2_miniAOD_80XLegacy.toModify(
        process.electronMVAValueMapProducer,
        keysForValueMaps=cms.InputTag('reducedEgamma',
                                      'reducedGedGsfElectrons'),
        src=cms.InputTag("gedGsfElectronsFrom80XTo106X"))

    run2_miniAOD_94XFall17.toModify(
        task, func=lambda t: t.add(process.gedGsfElectronsFrom94XTo106XTask))
    run2_miniAOD_94XFall17.toModify(
        process.electronMVAValueMapProducer,
        keysForValueMaps=cms.InputTag('reducedEgamma',
                                      'reducedGedGsfElectrons'),
        src=cms.InputTag("gedGsfElectronsFrom94XTo106X"))

    from Configuration.Eras.Modifier_pp_on_AA_2018_cff import pp_on_AA_2018
    pp_on_AA_2018.toModify(
        task, func=lambda t: t.add(process.gedGsfElectronsFrom94XTo106XTask))
    pp_on_AA_2018.toModify(process.electronMVAValueMapProducer,
                           keysForValueMaps=cms.InputTag(
                               'reducedEgamma', 'reducedGedGsfElectrons'),
                           src="gedGsfElectronsFrom94XTo106X")

    for idmod in electron_ids:
        setupAllVIDIdsInModule(process, idmod, setupVIDElectronSelection, None,
                               False, task)

    #VID Photon IDs
    process.patPhotons.addPhotonID = cms.bool(True)
    photon_ids = [
        'RecoEgamma.PhotonIdentification.Identification.cutBasedPhotonID_Fall17_94X_V1_TrueVtx_cff',
        'RecoEgamma.PhotonIdentification.Identification.cutBasedPhotonID_Fall17_94X_V2_cff',
        'RecoEgamma.PhotonIdentification.Identification.mvaPhotonID_Fall17_94X_V1p1_cff',
        'RecoEgamma.PhotonIdentification.Identification.mvaPhotonID_Fall17_94X_V2_cff',
        'RecoEgamma.PhotonIdentification.Identification.cutBasedPhotonID_Spring16_V2p2_cff',
        'RecoEgamma.PhotonIdentification.Identification.mvaPhotonID_Spring16_nonTrig_V1_cff'
    ]
    switchOnVIDPhotonIdProducer(process, DataFormat.AOD, task)
    process.egmPhotonIDs.physicsObjectSrc = cms.InputTag(
        "reducedEgamma", "reducedGedPhotons")
    process.photonMVAValueMapProducer.src = cms.InputTag(
        'reducedEgamma', 'reducedGedPhotons')
    for idmod in photon_ids:
        setupAllVIDIdsInModule(process, idmod, setupVIDPhotonSelection, None,
                               False, task)

    #add the cut base IDs bitmaps of which cuts passed
    from RecoEgamma.EgammaTools.egammaObjectModifications_tools import makeVIDBitsModifier
    egamma_modifications.append(
        makeVIDBitsModifier(process, "egmGsfElectronIDs", "egmPhotonIDs"))

    #-- Adding boosted taus
    from RecoTauTag.Configuration.boostedHPSPFTaus_cfi import addBoostedTaus
    addBoostedTaus(process)
    process.load("RecoTauTag.Configuration.RecoPFTauTag_cff")
    process.load("RecoTauTag.Configuration.HPSPFTaus_cff")
    #-- Adding customization for 94X 2017 legacy reMniAOD
    _makePatTausTaskWithRetrainedMVATauID = process.makePatTausTask.copy()
    _makePatTausTaskWithRetrainedMVATauID.add(
        process.hpsPFTauBasicDiscriminatorsTask,
        process.hpsPFTauDiscriminationByIsolationMVArun2v1DBoldDMwLTTask,
        process.hpsPFTauDiscriminationByIsolationMVArun2v1DBnewDMwLTTask,
        process.hpsPFTauBasicDiscriminatorsdR03Task,
        process.hpsPFTauDiscriminationByIsolationMVArun2v1DBdR03oldDMwLTTask,
        process.hpsPFTauDiscriminationByMVA6rawElectronRejection,
        process.hpsPFTauDiscriminationByMVA6ElectronRejection,
        process.hpsPFTauDiscriminationByMuonRejection3)
    from Configuration.ProcessModifiers.run2_miniAOD_UL_cff import run2_miniAOD_UL
    (run2_miniAOD_94XFall17 | run2_miniAOD_UL).toReplaceWith(
        process.makePatTausTask, _makePatTausTaskWithRetrainedMVATauID)
    #-- Adding DeepTauID
    # deepTau v2p1
    _updatedTauName = 'slimmedTausDeepIDsv2p1'
    _noUpdatedTauName = 'slimmedTausNoDeepIDs'
    import RecoTauTag.RecoTau.tools.runTauIdMVA as tauIdConfig
    tauIdEmbedder = tauIdConfig.TauIDEmbedder(process,
                                              debug=False,
                                              updatedTauName=_updatedTauName,
                                              toKeep=['deepTau2017v2p1'])
    from Configuration.Eras.Modifier_phase2_common_cff import phase2_common  #Phase2 Tau MVA
    phase2_common.toModify(
        tauIdEmbedder.toKeep,
        func=lambda t: t.append('newDMPhase2v1'))  #Phase2 Tau MVA
    tauIdEmbedder.runTauID()
    addToProcessAndTask(_noUpdatedTauName, process.slimmedTaus.clone(),
                        process, task)
    delattr(process, 'slimmedTaus')
    process.deepTau2017v2p1.taus = _noUpdatedTauName
    process.slimmedTaus = getattr(process,
                                  _updatedTauName).clone(src=_noUpdatedTauName)
    process.deepTauIDTask = cms.Task(process.deepTau2017v2p1,
                                     process.slimmedTaus)
    task.add(process.deepTauIDTask)
    if 'newDMPhase2v1' in tauIdEmbedder.toKeep:
        process.rerunDiscriminationByIsolationMVADBnewDMwLTPhase2raw.PATTauProducer = _noUpdatedTauName
        process.rerunDiscriminationByIsolationMVADBnewDMwLTPhase2.PATTauProducer = _noUpdatedTauName
        task.add(process.rerunIsolationMVADBnewDMwLTPhase2Task)

    #-- Rerun tauID against dead ECal towers to taus for the various re-MiniAOD eras
    # to enable default behoviour with leading track extrapolation to ECAL
    _makePatTausTaskWithDeadECalVeto = process.makePatTausTask.copy()
    _makePatTausTaskWithDeadECalVeto.add(
        process.hpsPFTauDiscriminationByDeadECALElectronRejection)
    _run2_miniAOD_ANY = (run2_miniAOD_80XLegacy | run2_miniAOD_94XFall17
                         | run2_miniAOD_UL)
    _run2_miniAOD_ANY.toReplaceWith(process.makePatTausTask,
                                    _makePatTausTaskWithDeadECalVeto)

    #-- Adding customization for 80X 2016 legacy reMiniAOD and 2018 heavy ions
    _makePatTausTaskWithTauReReco = process.makePatTausTask.copy()
    _makePatTausTaskWithTauReReco.add(process.PFTauTask)
    (run2_miniAOD_80XLegacy | pp_on_AA_2018).toReplaceWith(
        process.makePatTausTask, _makePatTausTaskWithTauReReco)

    # Adding puppi jets
    process.load('CommonTools.PileupAlgos.Puppi_cff')
    process.load('RecoJets.JetProducers.ak4PFJets_cfi')
    from Configuration.Eras.Modifier_pA_2016_cff import pA_2016
    _rerun_puppijets_task = task.copy()
    _rerun_puppijets_task.add(process.puppi, process.ak4PFJetsPuppi)
    (_run2_miniAOD_ANY | pA_2016 | pp_on_AA_2018).toReplaceWith(
        task, _rerun_puppijets_task)

    from RecoJets.JetAssociationProducers.j2tParametersVX_cfi import j2tParametersVX
    process.ak4PFJetsPuppiTracksAssociatorAtVertex = cms.EDProducer(
        "JetTracksAssociatorAtVertex",
        j2tParametersVX,
        jets=cms.InputTag("ak4PFJetsPuppi"))
    task.add(process.ak4PFJetsPuppiTracksAssociatorAtVertex)
    process.patJetPuppiCharge = cms.EDProducer(
        "JetChargeProducer",
        src=cms.InputTag("ak4PFJetsPuppiTracksAssociatorAtVertex"),
        var=cms.string('Pt'),
        exp=cms.double(1.0))
    task.add(process.patJetPuppiCharge)

    noDeepFlavourDiscriminators = [
        x.value() for x in process.patJets.discriminatorSources
        if not "DeepFlavour" in x.value()
    ]
    addJetCollection(process,
                     postfix="",
                     labelName='Puppi',
                     jetSource=cms.InputTag('ak4PFJetsPuppi'),
                     jetCorrections=('AK4PFPuppi',
                                     ['L2Relative', 'L3Absolute'], ''),
                     pfCandidates=cms.InputTag("particleFlow"),
                     algo='AK',
                     rParam=0.4,
                     btagDiscriminators=noDeepFlavourDiscriminators)

    process.patJetGenJetMatchPuppi.matched = 'slimmedGenJets'

    process.patJetsPuppi.jetChargeSource = cms.InputTag("patJetPuppiCharge")

    process.selectedPatJetsPuppi.cut = cms.string("pt > 15")

    from PhysicsTools.PatAlgos.slimming.applyDeepBtagging_cff import applyDeepBtagging
    applyDeepBtagging(process)

    addToProcessAndTask(
        'slimmedJetsPuppi',
        process.slimmedJetsNoDeepFlavour.clone(
            src="selectedPatJetsPuppi",
            packedPFCandidates="packedPFCandidates"), process, task)

    task.add(process.slimmedJetsPuppi)

    # Embed pixelClusterTagInfos in slimmedJets
    process.patJets.addTagInfos = True
    process.patJets.tagInfoSources = ["pixelClusterTagInfos"]
    process.slimmedJetsNoDeepFlavour.dropTagInfos = '0'
    process.updatedPatJetsTransientCorrectedSlimmedDeepFlavour.addTagInfos = True
    process.updatedPatJetsTransientCorrectedSlimmedDeepFlavour.tagInfoSources = [
        "pixelClusterTagInfos"
    ]

    _run2_miniAOD_ANY.toModify(process.patJets, addTagInfos=False)
    _run2_miniAOD_ANY.toModify(
        process.updatedPatJetsTransientCorrectedSlimmedDeepFlavour,
        addTagInfos=False)

    ## puppi met
    process.load('RecoMET.METProducers.pfMetPuppi_cfi')
    _rerun_puppimet_task = task.copy()
    _rerun_puppimet_task.add(process.puppiNoLep, process.pfMetPuppi)
    (_run2_miniAOD_ANY | pA_2016 | pp_on_AA_2018).toReplaceWith(
        task, _rerun_puppimet_task)

    runMetCorAndUncForMiniAODProduction(process,
                                        metType="Puppi",
                                        jetCollUnskimmed="slimmedJetsPuppi",
                                        recoMetFromPFCs=True,
                                        jetFlavor="AK4PFPuppi",
                                        postfix="Puppi")

    process.load('PhysicsTools.PatAlgos.slimming.slimmedMETs_cfi')
    task.add(process.slimmedMETs)
    addToProcessAndTask('slimmedMETsPuppi', process.slimmedMETs.clone(),
                        process, task)
    process.slimmedMETsPuppi.src = cms.InputTag("patMETsPuppi")
    process.slimmedMETsPuppi.rawVariation = cms.InputTag("patPFMetPuppi")
    process.slimmedMETsPuppi.t1Uncertainties = cms.InputTag(
        "patPFMetT1%sPuppi")
    process.slimmedMETsPuppi.t01Variation = cms.InputTag("patPFMetT0pcT1Puppi")
    process.slimmedMETsPuppi.t1SmearedVarsAndUncs = cms.InputTag(
        "patPFMetT1Smear%sPuppi")
    process.slimmedMETsPuppi.tXYUncForRaw = cms.InputTag("patPFMetTxyPuppi")
    process.slimmedMETsPuppi.tXYUncForT1 = cms.InputTag("patPFMetT1TxyPuppi")
    process.slimmedMETsPuppi.tXYUncForT01 = cms.InputTag(
        "patPFMetT0pcT1TxyPuppi")
    process.slimmedMETsPuppi.tXYUncForT1Smear = cms.InputTag(
        "patPFMetT1SmearTxyPuppi")
    process.slimmedMETsPuppi.tXYUncForT01Smear = cms.InputTag(
        "patPFMetT0pcT1SmearTxyPuppi")
    del process.slimmedMETsPuppi.caloMET

    process.load('RecoMET.METPUSubtraction.deepMETProducer_cfi')

    addToProcessAndTask('deepMETsResolutionTune',
                        process.deepMETProducer.clone(), process, task)
    addToProcessAndTask('deepMETsResponseTune',
                        process.deepMETProducer.clone(), process, task)
    process.deepMETsResponseTune.graph_path = 'RecoMET/METPUSubtraction/data/deepmet/deepmet_resp_v1_2018.pb'

    from Configuration.Eras.Modifier_phase2_common_cff import phase2_common
    phase2_common.toModify(
        process.deepMETsResolutionTune,
        max_n_pf=12500,
        graph_path="RecoMET/METPUSubtraction/data/deepmet/deepmet_v1_phase2.pb"
    )
    phase2_common.toModify(
        process.deepMETsResponseTune,
        max_n_pf=12500,
        graph_path=
        "RecoMET/METPUSubtraction/data/deepmet/deepmet_resp_v1_phase2.pb")

    from Configuration.Eras.Modifier_run2_jme_2016_cff import run2_jme_2016
    run2_jme_2016.toModify(
        process.deepMETsResponseTune,
        graph_path=
        "RecoMET/METPUSubtraction/data/deepmet/deepmet_resp_v1_2016.pb")
    # add DetIdAssociatorRecords to EventSetup (for isolatedTracks)
    process.load("TrackingTools.TrackAssociator.DetIdAssociatorESProducer_cff")

    # EGamma objects from HGCal are not yet in GED
    # so add companion collections for Phase-II MiniAOD production
    from Configuration.Eras.Modifier_phase2_hgcal_cff import phase2_hgcal
    process.load("RecoEgamma.EgammaTools.slimmedEgammaFromMultiCl_cff")
    phase2_hgcal.toModify(
        task, func=lambda t: t.add(process.slimmedEgammaFromMultiClTask))

    # L1 pre-firing weights for 2016 and 2017
    from Configuration.Eras.Modifier_run2_L1prefiring_cff import run2_L1prefiring
    from Configuration.Eras.Modifier_stage1L1Trigger_cff import stage1L1Trigger
    from Configuration.Eras.Modifier_stage2L1Trigger_2017_cff import stage2L1Trigger_2017
    process.load("PhysicsTools.PatUtils.L1ECALPrefiringWeightProducer_cff")
    stage1L1Trigger.toModify(process.prefiringweight, DataEra="2016BtoH")
    stage2L1Trigger_2017.toModify(process.prefiringweight, DataEra="2017BtoF")
    run2_L1prefiring.toModify(task,
                              func=lambda t: t.add(process.prefiringweight))
    outputCommands = cms.untracked.vstring('keep EBSrFlagsSorted_simEcalDigis_*_*', 
        'keep EESrFlagsSorted_simEcalDigis_*_*')
)
SimCalorimetryRECO = cms.PSet(
    outputCommands = cms.untracked.vstring()
)
SimCalorimetryAOD = cms.PSet(
    outputCommands = cms.untracked.vstring()
)

#
# Add extra event content if running in Run 2
#
from Configuration.Eras.Modifier_run2_common_cff import run2_common
run2_common.toModify( SimCalorimetryFEVTDEBUG.outputCommands, func=lambda outputCommands: outputCommands.append('keep *_simHcalUnsuppressedDigis_*_*') )
run2_common.toModify( SimCalorimetryRAW.outputCommands, func=lambda outputCommands: outputCommands.append('keep *_simHcalUnsuppressedDigis_*_*') )

from Configuration.Eras.Modifier_phase2_hcal_cff import phase2_hcal
phase2_hcal.toModify(SimCalorimetryFEVTDEBUG.outputCommands, func=lambda outputCommands: outputCommands.append('keep *_DMHcalDigis_*_*') )

from Configuration.Eras.Modifier_phase2_timing_cff import phase2_timing
phase2_timing.toModify(SimCalorimetryFEVTDEBUG.outputCommands, func=lambda outputCommands: outputCommands.append('keep *_mix_EETimeDigi_*') )
phase2_timing.toModify(SimCalorimetryFEVTDEBUG.outputCommands, func=lambda outputCommands: outputCommands.append('keep *_mix_EBTimeDigi_*') )

phase2_timing.toModify(SimCalorimetryRAW.outputCommands, func=lambda outputCommands: outputCommands.append('keep *_mix_EETimeDigi_*') )
phase2_timing.toModify(SimCalorimetryRAW.outputCommands, func=lambda outputCommands: outputCommands.append('keep *_mix_EBTimeDigi_*') )

from Configuration.Eras.Modifier_phase2_common_cff import phase2_common
phase2_common.toModify( SimCalorimetryFEVTDEBUG.outputCommands, func=lambda outputCommands: outputCommands.append('keep *_simEcalUnsuppressedDigis_*_*') )
phase2_common.toModify( SimCalorimetryRAW.outputCommands, func=lambda outputCommands: outputCommands.append('keep *_simEcalUnsuppressedDigis_*_*') )
from RecoTauTag.RecoTau.ak4PFJetsLegacyHPSPiZerosDefault_cfi import ak4PFJetsLegacyHPSPiZerosDefault
ak4PFJetsLegacyHPSPiZeros = ak4PFJetsLegacyHPSPiZerosDefault.clone(
    jetSrc = PFRecoTauPFJetInputs.inputJetCollection,
    minJetPt = PFRecoTauPFJetInputs.minJetPt,
    maxJetAbsEta = PFRecoTauPFJetInputs.maxJetAbsEta,
    builders = cms.VPSet(
        #builders.strips
        #builders.modStrips
        builders.modStrips2
    ),
    ranking = cms.VPSet(
        ranking.isInStrip
    ),
)
phase2_common.toModify(ak4PFJetsLegacyHPSPiZeros, 
                       builders = cms.VPSet(builders.modStrips) )

from RecoTauTag.RecoTau.ak4PFJetsRecoTauGreedyPiZerosDefault_cfi import ak4PFJetsRecoTauGreedyPiZerosDefault
#ak4PFJetsRecoTauGreedyPiZeros = ak4PFJetsLegacyHPSPiZerosDefault.clone(
ak4PFJetsRecoTauGreedyPiZeros = ak4PFJetsRecoTauGreedyPiZerosDefault.clone( 
    jetSrc = PFRecoTauPFJetInputs.inputJetCollection,
    minJetPt = PFRecoTauPFJetInputs.minJetPt,
    maxJetAbsEta = PFRecoTauPFJetInputs.maxJetAbsEta,
    massHypothesis = cms.double(0.136),
    outputSelection = cms.string('pt > 1.5'),
    builders = cms.VPSet(
        builders.comboStrips
    ),
    ranking = cms.VPSet(
        ranking.greedy
    ),
Example #10
0
import FWCore.ParameterSet.Config as cms

from SimMuon.GEMDigitizer.simMuonGEMDigisDef_cfi import *
simMuonGEMDigis = simMuonGEMDigisDef.clone()

from Configuration.ProcessModifiers.premix_stage2_cff import premix_stage2
premix_stage2.toModify(simMuonGEMDigis, mixLabel="mixData")

from Configuration.Eras.Modifier_run2_common_cff import run2_common
run2_common.toModify(simMuonGEMDigis, instLumi=1.5)

from Configuration.Eras.Modifier_run3_common_cff import run3_common
run3_common.toModify(simMuonGEMDigis, instLumi=2.0)

from Configuration.Eras.Modifier_phase2_common_cff import phase2_common
phase2_common.toModify(simMuonGEMDigis, instLumi=5)
Example #11
0
def applySubstructure( process, postfix="" ) :

    task = getPatAlgosToolsTask(process)

    from PhysicsTools.PatAlgos.tools.jetTools import addJetCollection


    from PhysicsTools.PatAlgos.producersLayer1.jetProducer_cfi import _patJets as patJetsDefault


    # Configure the RECO jets
    from RecoJets.JetProducers.ak4PFJets_cfi import ak4PFJetsPuppi
    from RecoJets.JetProducers.ak8PFJets_cfi import ak8PFJetsPuppi, ak8PFJetsPuppiSoftDrop, ak8PFJetsPuppiConstituents, ak8PFJetsCHSConstituents
    from RecoJets.JetProducers.ak8GenJets_cfi import ak8GenJets, ak8GenJetsSoftDrop, ak8GenJetsConstituents
    addToProcessAndTask('ak4PFJetsPuppi'+postfix,ak4PFJetsPuppi.clone(), process, task)
    addToProcessAndTask('ak8PFJetsPuppi'+postfix,ak8PFJetsPuppi.clone(), process, task)
    addToProcessAndTask('ak8PFJetsPuppiConstituents', ak8PFJetsPuppiConstituents.clone(cut = cms.string('pt > 170.0 && abs(rapidity()) < 2.4') ), process, task )
    addToProcessAndTask('ak8PFJetsCHSConstituents', ak8PFJetsCHSConstituents.clone(), process, task )
    addToProcessAndTask('ak8PFJetsPuppiSoftDrop'+postfix, ak8PFJetsPuppiSoftDrop.clone( src = cms.InputTag('ak8PFJetsPuppiConstituents', 'constituents') ), process, task)
    addToProcessAndTask('ak8GenJetsNoNuConstituents'+postfix, ak8GenJetsConstituents.clone(src='ak8GenJetsNoNu'), process, task )
    addToProcessAndTask('ak8GenJetsNoNuSoftDrop'+postfix,ak8GenJetsSoftDrop.clone(src=cms.InputTag('ak8GenJetsNoNuConstituents'+postfix, 'constituents')),process,task)
    addToProcessAndTask('slimmedGenJetsAK8SoftDropSubJets'+postfix,
                            cms.EDProducer("PATGenJetSlimmer",
                                               src = cms.InputTag("ak8GenJetsNoNuSoftDrop"+postfix, "SubJets"),
                                               packedGenParticles = cms.InputTag("packedGenParticles"),
                                               cut = cms.string(""),
                                               cutLoose = cms.string(""),
                                               nLoose = cms.uint32(0),
                                               clearDaughters = cms.bool(False), #False means rekeying
                                               dropSpecific = cms.bool(True),  # Save space
                                               ), process, task )
    
    
    #add AK8 CHS
    addJetCollection(process, postfix=postfix, labelName = 'AK8',
                     jetSource = cms.InputTag('ak8PFJetsCHS'+postfix),
                     algo= 'AK', rParam = 0.8,
                     btagDiscriminators = ['None'],
                     jetCorrections = ('AK8PFchs', cms.vstring(['L1FastJet', 'L2Relative', 'L3Absolute']), 'None'),
                     genJetCollection = cms.InputTag('slimmedGenJetsAK8')
                     )
    getattr(process,"patJetsAK8"+postfix).userData.userFloats.src = [] # start with empty list of user floats
    getattr(process,"selectedPatJetsAK8").cut = cms.string("pt > 170")


    ## add AK8 groomed masses with CHS
    from RecoJets.Configuration.RecoPFJets_cff import ak8PFJetsCHSPruned, ak8PFJetsCHSSoftDrop
    addToProcessAndTask('ak8PFJetsCHSPruned'+postfix, ak8PFJetsCHSPruned.clone(), process, task)
    addToProcessAndTask('ak8PFJetsCHSSoftDrop'+postfix, ak8PFJetsCHSSoftDrop.clone(), process, task)
    from RecoJets.JetProducers.ak8PFJetsCHS_groomingValueMaps_cfi import ak8PFJetsCHSPrunedMass, ak8PFJetsCHSTrimmedMass, ak8PFJetsCHSFilteredMass, ak8PFJetsCHSSoftDropMass
    addToProcessAndTask('ak8PFJetsCHSPrunedMass'+postfix, ak8PFJetsCHSPrunedMass.clone(), process, task)
    addToProcessAndTask('ak8PFJetsCHSTrimmedMass'+postfix, ak8PFJetsCHSTrimmedMass.clone(), process, task)
    addToProcessAndTask('ak8PFJetsCHSFilteredMass'+postfix, ak8PFJetsCHSFilteredMass.clone(), process, task)
    addToProcessAndTask('ak8PFJetsCHSSoftDropMass'+postfix, ak8PFJetsCHSSoftDropMass.clone(), process, task)

    getattr(process,"patJetsAK8").userData.userFloats.src += ['ak8PFJetsCHSPrunedMass'+postfix,'ak8PFJetsCHSSoftDropMass'+postfix]  
    getattr(process,"patJetsAK8").addTagInfos = cms.bool(False)

    # add Njetiness for CHS
    process.load('RecoJets.JetProducers.nJettinessAdder_cfi')
    task.add(process.Njettiness)
    addToProcessAndTask('NjettinessAK8'+postfix, process.Njettiness.clone(), process, task)
    getattr(process,"NjettinessAK8").src = cms.InputTag("ak8PFJetsCHS"+postfix)
    getattr(process,"NjettinessAK8").cone = cms.double(0.8)
    getattr(process,"patJetsAK8").userData.userFloats.src += ['NjettinessAK8'+postfix+':tau1','NjettinessAK8'+postfix+':tau2','NjettinessAK8'+postfix+':tau3','NjettinessAK8'+postfix+':tau4']

    # add Njetiness from CHS
    addToProcessAndTask('NjettinessAK8Subjets'+postfix, process.Njettiness.clone(), process, task)
    getattr(process,"NjettinessAK8Subjets"+postfix).src = cms.InputTag("ak8PFJetsPuppiSoftDrop"+postfix, "SubJets")
    getattr(process,"NjettinessAK8Subjets").cone = cms.double(0.8)
        
    ## PATify CHS soft drop fat jets
    addJetCollection(
        process,
        postfix=postfix,
        labelName = 'AK8PFCHSSoftDrop',
        jetSource = cms.InputTag('ak8PFJetsCHSSoftDrop'+postfix),
        btagDiscriminators = ['None'],
        jetCorrections = ('AK8PFchs', ['L1FastJet', 'L2Relative', 'L3Absolute'], 'None'),
        getJetMCFlavour = False # jet flavor disabled
    )





    #add RECO AK8 from PUPPI and RECO AK8 PUPPI with soft drop... will be needed by ungroomed AK8 jets later
    ## PATify puppi soft drop fat jets
    addJetCollection(
        process,
        postfix=postfix,
        labelName = 'AK8PFPuppiSoftDrop' + postfix,
        jetSource = cms.InputTag('ak8PFJetsPuppiSoftDrop'+postfix),
        btagDiscriminators = ['None'],
        genJetCollection = cms.InputTag('slimmedGenJetsAK8'), 
        jetCorrections = ('AK8PFPuppi', ['L2Relative', 'L3Absolute'], 'None'),
        getJetMCFlavour = False # jet flavor disabled
    )
    ## PATify soft drop subjets
    addJetCollection(
        process,
        postfix=postfix,
        labelName = 'AK8PFPuppiSoftDropSubjets',
        jetSource = cms.InputTag('ak8PFJetsPuppiSoftDrop'+postfix,'SubJets'),
        algo = 'ak',  # needed for subjet flavor clustering
        rParam = 0.8, # needed for subjet flavor clustering
        btagDiscriminators = ['pfDeepCSVJetTags:probb', 'pfDeepCSVJetTags:probbb', 'pfCombinedInclusiveSecondaryVertexV2BJetTags','pfCombinedMVAV2BJetTags'],
        jetCorrections = ('AK4PFPuppi', ['L2Relative', 'L3Absolute'], 'None'),
        explicitJTA = True,  # needed for subjet b tagging
        svClustering = True, # needed for subjet b tagging
        genJetCollection = cms.InputTag('slimmedGenJetsAK8SoftDropSubJets'), 
        fatJets=cms.InputTag('ak8PFJetsPuppi'),             # needed for subjet flavor clustering
        groomedFatJets=cms.InputTag('ak8PFJetsPuppiSoftDrop') # needed for subjet flavor clustering
    )


    # add groomed ECFs and N-subjettiness to soft dropped pat::Jets for fat jets and subjets
    process.load('RecoJets.JetProducers.ECF_cff')
    addToProcessAndTask('nb1AK8PuppiSoftDrop'+postfix, process.ecfNbeta1.clone(src = cms.InputTag("ak8PFJetsPuppiSoftDrop"+postfix), cuts = cms.vstring('', '', 'pt > 250')), process, task)
    addToProcessAndTask('nb2AK8PuppiSoftDrop'+postfix, process.ecfNbeta2.clone(src = cms.InputTag("ak8PFJetsPuppiSoftDrop"+postfix), cuts = cms.vstring('', '', 'pt > 250')), process, task)

    #too slow now ==> disable
    from Configuration.Eras.Modifier_pp_on_XeXe_2017_cff import pp_on_XeXe_2017
    pp_on_XeXe_2017.toModify(getattr(process,'nb1AK8PuppiSoftDrop'+postfix), cuts = ['pt > 999999', 'pt > 999999', 'pt > 999999'] )
    pp_on_XeXe_2017.toModify(getattr(process,'nb2AK8PuppiSoftDrop'+postfix), cuts = ['pt > 999999', 'pt > 999999', 'pt > 999999'] )
    from Configuration.Eras.Modifier_phase2_common_cff import phase2_common
    phase2_common.toModify(getattr(process,'nb1AK8PuppiSoftDrop'+postfix), cuts = ['pt > 999999', 'pt > 999999', 'pt > 999999'] )
    phase2_common.toModify(getattr(process,'nb2AK8PuppiSoftDrop'+postfix), cuts = ['pt > 999999', 'pt > 999999', 'pt > 999999'] )

    getattr(process,"patJetsAK8PFPuppiSoftDrop").userData.userFloats.src += ['nb1AK8PuppiSoftDrop'+postfix+':ecfN2','nb1AK8PuppiSoftDrop'+postfix+':ecfN3']
    getattr(process,"patJetsAK8PFPuppiSoftDrop").userData.userFloats.src += ['nb2AK8PuppiSoftDrop'+postfix+':ecfN2','nb2AK8PuppiSoftDrop'+postfix+':ecfN3']
    addToProcessAndTask('nb1AK8PuppiSoftDropSubjets'+postfix, process.ecfNbeta1.clone(src = cms.InputTag("ak8PFJetsPuppiSoftDrop"+postfix, "SubJets")), process, task)
    addToProcessAndTask('nb2AK8PuppiSoftDropSubjets'+postfix, process.ecfNbeta2.clone(src = cms.InputTag("ak8PFJetsPuppiSoftDrop"+postfix, "SubJets")), process, task)
    getattr(process,"patJetsAK8PFPuppiSoftDropSubjets"+postfix).userData.userFloats.src += ['nb1AK8PuppiSoftDropSubjets'+postfix+':ecfN2','nb1AK8PuppiSoftDropSubjets'+postfix+':ecfN3']
    getattr(process,"patJetsAK8PFPuppiSoftDropSubjets"+postfix).userData.userFloats.src += ['nb2AK8PuppiSoftDropSubjets'+postfix+':ecfN2','nb2AK8PuppiSoftDropSubjets'+postfix+':ecfN3']
    getattr(process,"patJetsAK8PFPuppiSoftDropSubjets"+postfix).userData.userFloats.src += ['NjettinessAK8Subjets'+postfix+':tau1','NjettinessAK8Subjets'+postfix+':tau2','NjettinessAK8Subjets'+postfix+':tau3','NjettinessAK8Subjets'+postfix+':tau4']

    pp_on_XeXe_2017.toModify(getattr(process,'nb1AK8PuppiSoftDropSubjets'+postfix), cuts = ['pt > 999999', 'pt > 999999', 'pt > 999999'] )
    pp_on_XeXe_2017.toModify(getattr(process,'nb2AK8PuppiSoftDropSubjets'+postfix), cuts = ['pt > 999999', 'pt > 999999', 'pt > 999999'] )
    phase2_common.toModify(getattr(process,'nb1AK8PuppiSoftDropSubjets'+postfix), cuts = ['pt > 999999', 'pt > 999999', 'pt > 999999'] )
    phase2_common.toModify(getattr(process,'nb2AK8PuppiSoftDropSubjets'+postfix), cuts = ['pt > 999999', 'pt > 999999', 'pt > 999999'] )

    # rekey the groomed ECF value maps to the ungroomed reco jets, which will then be picked
    # up by PAT in the user floats. 
    addToProcessAndTask("ak8PFJetsPuppiSoftDropValueMap"+postfix, 
                        cms.EDProducer("RecoJetToPatJetDeltaRValueMapProducer",
                                       src = cms.InputTag("ak8PFJetsPuppi"+postfix),
                                       matched = cms.InputTag("patJetsAK8PFPuppiSoftDrop"+postfix),
                                       distMax = cms.double(0.8),
                                       values = cms.vstring([
                    'userFloat("nb1AK8PuppiSoftDrop'+postfix+':ecfN2")',
                    'userFloat("nb1AK8PuppiSoftDrop'+postfix+':ecfN3")',
                    'userFloat("nb2AK8PuppiSoftDrop'+postfix+':ecfN2")',
                    'userFloat("nb2AK8PuppiSoftDrop'+postfix+':ecfN3")',
                    ]),
                                       valueLabels = cms.vstring( [
                    'nb1AK8PuppiSoftDropN2',
                    'nb1AK8PuppiSoftDropN3',
                    'nb2AK8PuppiSoftDropN2',
                    'nb2AK8PuppiSoftDropN3',
                    ]) ),
                    process, task)

        
    # Patify AK8 PF PUPPI
    addJetCollection(process, postfix=postfix, labelName = 'AK8Puppi',
                     jetSource = cms.InputTag('ak8PFJetsPuppi'+postfix),
                     algo= 'AK', rParam = 0.8,
                     jetCorrections = ('AK8PFPuppi', cms.vstring(['L2Relative', 'L3Absolute']), 'None'),
                     btagDiscriminators = ([
                         'pfCombinedSecondaryVertexV2BJetTags',
                         'pfCombinedInclusiveSecondaryVertexV2BJetTags',
                         'pfCombinedMVAV2BJetTags',
                         'pfDeepCSVJetTags:probb',
                         'pfDeepCSVJetTags:probc',
                         'pfDeepCSVJetTags:probudsg',
                         'pfDeepCSVJetTags:probbb',
                         'pfBoostedDoubleSecondaryVertexAK8BJetTags']),
                     genJetCollection = cms.InputTag('slimmedGenJetsAK8')
                     )
    getattr(process,"patJetsAK8Puppi"+postfix).userData.userFloats.src = [] # start with empty list of user floats
    getattr(process,"selectedPatJetsAK8Puppi"+postfix).cut = cms.string("pt > 100")
    getattr(process,"selectedPatJetsAK8Puppi"+postfix).cutLoose = cms.string("pt > 30")
    getattr(process,"selectedPatJetsAK8Puppi"+postfix).nLoose = cms.uint32(3)

    from RecoJets.JetAssociationProducers.j2tParametersVX_cfi import j2tParametersVX
    addToProcessAndTask('ak8PFJetsPuppiTracksAssociatorAtVertex'+postfix, cms.EDProducer("JetTracksAssociatorAtVertex",
                                      j2tParametersVX.clone( coneSize = cms.double(0.8) ),
                                      jets = cms.InputTag("ak8PFJetsPuppi") ),
                        process, task)
    addToProcessAndTask('patJetAK8PuppiCharge'+postfix, cms.EDProducer("JetChargeProducer",
                                     src = cms.InputTag("ak8PFJetsPuppiTracksAssociatorAtVertex"),
                                     var = cms.string('Pt'),
                                     exp = cms.double(1.0) ), 
                        process, task)

    ## now add AK8 groomed masses and ECF
    from RecoJets.JetProducers.ak8PFJetsPuppi_groomingValueMaps_cfi import ak8PFJetsPuppiSoftDropMass
    addToProcessAndTask('ak8PFJetsPuppiSoftDropMass'+postfix, ak8PFJetsPuppiSoftDropMass.clone(), process, task)
    getattr(process,"patJetsAK8Puppi"+postfix).userData.userFloats.src += ['ak8PFJetsPuppiSoftDropMass'+postfix]
    getattr(process,"patJetsAK8Puppi"+postfix).addTagInfos = cms.bool(False)
    getattr(process,"patJetsAK8Puppi"+postfix).userData.userFloats.src += [
        cms.InputTag('ak8PFJetsPuppiSoftDropValueMap'+postfix,'nb1AK8PuppiSoftDropN2'),
        cms.InputTag('ak8PFJetsPuppiSoftDropValueMap'+postfix,'nb1AK8PuppiSoftDropN3'),
        cms.InputTag('ak8PFJetsPuppiSoftDropValueMap'+postfix,'nb2AK8PuppiSoftDropN2'),
        cms.InputTag('ak8PFJetsPuppiSoftDropValueMap'+postfix,'nb2AK8PuppiSoftDropN3'),
        ]


    # add PUPPI Njetiness
    addToProcessAndTask('NjettinessAK8Puppi'+postfix, process.Njettiness.clone(), process, task)
    getattr(process,"NjettinessAK8Puppi"+postfix).src = cms.InputTag("ak8PFJetsPuppi"+postfix)
    getattr(process,"NjettinessAK8Puppi").cone = cms.double(0.8)
    getattr(process,"patJetsAK8Puppi").userData.userFloats.src += ['NjettinessAK8Puppi'+postfix+':tau1','NjettinessAK8Puppi'+postfix+':tau2','NjettinessAK8Puppi'+postfix+':tau3','NjettinessAK8Puppi'+postfix+':tau4']

    # Now combine the CHS and PUPPI information into the PUPPI jets via delta R value maps
    addToProcessAndTask("ak8PFJetsCHSValueMap"+postfix, cms.EDProducer("RecoJetToPatJetDeltaRValueMapProducer",
                                            src = cms.InputTag("ak8PFJetsPuppi"+postfix),
                                            matched = cms.InputTag("patJetsAK8"+postfix),
                                            distMax = cms.double(0.8),
                                            values = cms.vstring([
                                                'userFloat("ak8PFJetsCHSPrunedMass"'+postfix+')',
                                                'userFloat("ak8PFJetsCHSSoftDropMass"'+postfix+')',
                                                'userFloat("NjettinessAK8'+postfix+':tau1")',
                                                'userFloat("NjettinessAK8'+postfix+':tau2")',
                                                'userFloat("NjettinessAK8'+postfix+':tau3")',
                                                'userFloat("NjettinessAK8'+postfix+':tau4")',
                                                'pt','eta','phi','mass'
                                            ]),
                                            valueLabels = cms.vstring( [
                                                'ak8PFJetsCHSPrunedMass',
                                                'ak8PFJetsCHSSoftDropMass',
                                                'NjettinessAK8CHSTau1',
                                                'NjettinessAK8CHSTau2',
                                                'NjettinessAK8CHSTau3',
                                                'NjettinessAK8CHSTau4',
                                                'pt','eta','phi','mass'
                                            ]) ),
                        process, task)


    # Now set up the user floats
    getattr(process,"patJetsAK8Puppi"+postfix).userData.userFloats.src += [
                                                   cms.InputTag('ak8PFJetsCHSValueMap'+postfix,'ak8PFJetsCHSPrunedMass'),
                                                   cms.InputTag('ak8PFJetsCHSValueMap'+postfix,'ak8PFJetsCHSSoftDropMass'),
                                                   cms.InputTag('ak8PFJetsCHSValueMap'+postfix,'NjettinessAK8CHSTau1'),
                                                   cms.InputTag('ak8PFJetsCHSValueMap'+postfix,'NjettinessAK8CHSTau2'),
                                                   cms.InputTag('ak8PFJetsCHSValueMap'+postfix,'NjettinessAK8CHSTau3'),
                                                   cms.InputTag('ak8PFJetsCHSValueMap'+postfix,'NjettinessAK8CHSTau4'),
                                                   cms.InputTag('ak8PFJetsCHSValueMap'+postfix,'pt'),
                                                   cms.InputTag('ak8PFJetsCHSValueMap'+postfix,'eta'),
                                                   cms.InputTag('ak8PFJetsCHSValueMap'+postfix,'phi'),
                                                   cms.InputTag('ak8PFJetsCHSValueMap'+postfix,'mass'),
                                                   ]

    

    
    addToProcessAndTask("slimmedJetsAK8PFPuppiSoftDropSubjets"+postfix,
                        cms.EDProducer("PATJetSlimmer",
                             src = cms.InputTag("selectedPatJetsAK8PFPuppiSoftDropSubjets"),
                             packedPFCandidates = cms.InputTag("packedPFCandidates"),
                             dropJetVars = cms.string("1"),
                             dropDaughters = cms.string("0"),
                             rekeyDaughters = cms.string("1"),
                             dropTrackRefs = cms.string("1"),
                             dropSpecific = cms.string("1"),
                             dropTagInfos = cms.string("1"),
                             modifyJets = cms.bool(True),
                             mixedDaughters = cms.bool(False),
                             modifierConfig = cms.PSet( modifications = cms.VPSet() )
                                       ),
                        process, task)

    
    ## Establish references between PATified fat jets and subjets using the BoostedJetMerger
    addToProcessAndTask("slimmedJetsAK8PFPuppiSoftDropPacked"+postfix,
                        cms.EDProducer("BoostedJetMerger",
                               jetSrc=cms.InputTag("selectedPatJetsAK8PFPuppiSoftDrop"),
                               subjetSrc=cms.InputTag("slimmedJetsAK8PFPuppiSoftDropSubjets")
                                       ),
                        process, task )

    
    addToProcessAndTask("packedPatJetsAK8"+postfix, cms.EDProducer("JetSubstructurePacker",
                                           jetSrc = cms.InputTag("selectedPatJetsAK8Puppi"+postfix),
                                           distMax = cms.double(0.8),
                                           algoTags = cms.VInputTag(
                                               cms.InputTag("slimmedJetsAK8PFPuppiSoftDropPacked"+postfix)
                                           ),
                                           algoLabels = cms.vstring(
                                               'SoftDropPuppi'
                                           ),
                                          fixDaughters = cms.bool(True),
                                          packedPFCandidates = cms.InputTag("packedPFCandidates"+postfix),
                                                                   ),
                        process, task)

    # switch off daughter re-keying since it's done in the JetSubstructurePacker (and can't be done afterwards)
    process.slimmedJetsAK8.rekeyDaughters = "0"
    # Reconfigure the slimmedAK8 jet information to keep 
    process.slimmedJetsAK8.dropDaughters = cms.string("pt < 170")
    process.slimmedJetsAK8.dropSpecific = cms.string("pt < 170")
    process.slimmedJetsAK8.dropTagInfos = cms.string("pt < 170")
Example #12
0
      cms.PSet(type = cms.string('HBHEDataFramesSorted')),
      cms.PSet(type = cms.string('HFDataFramesSorted')),
      cms.PSet(type = cms.string('HODataFramesSorted')),
      cms.PSet(type = cms.string('ZDCDataFramesSorted')),
      cms.PSet(type = cms.string('QIE10DataFrameHcalDataFrameContainer')),
      cms.PSet(type = cms.string('QIE11DataFrameHcalDataFrameContainer'))
    )
)
simSiPixelDigis = cms.EDAlias(
    mix = cms.VPSet(
      cms.PSet(type = cms.string('PixelDigiedmDetSetVector')),
      cms.PSet(type = cms.string('PixelDigiSimLinkedmDetSetVector'))
    )
)
simSiStripDigis = cms.EDAlias(
    mix = cms.VPSet(
      cms.PSet(type = cms.string('SiStripDigiedmDetSetVector')),
      cms.PSet(type = cms.string('SiStripRawDigiedmDetSetVector')),
      cms.PSet(type = cms.string('StripDigiSimLinkedmDetSetVector'))
    )
)

# 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)

from Configuration.Eras.Modifier_phase2_common_cff import phase2_common
phase2_common.toModify(simCastorDigis, mix = None)
Example #13
0
    delattr(theDigitizers,"pixel")
    delattr(theDigitizers,"strip")
    setattr(theDigitizers,"tracks",recoTrackAccumulator)


from SimCalorimetry.HGCalSimProducers.hgcalDigitizer_cfi import hgceeDigitizer, hgchebackDigitizer, hgchefrontDigitizer 
    
from Configuration.Eras.Modifier_phase2_hgcal_cff import phase2_hgcal
phase2_hgcal.toModify( theDigitizers,
                            hgceeDigitizer = cms.PSet(hgceeDigitizer),
                            hgchebackDigitizer = cms.PSet(hgchebackDigitizer),
                            hgchefrontDigitizer = cms.PSet(hgchefrontDigitizer),
)

from Configuration.Eras.Modifier_phase2_common_cff import phase2_common
phase2_common.toModify( theDigitizers, castor = None )

from SimGeneral.MixingModule.ecalTimeDigitizer_cfi import ecalTimeDigitizer
from Configuration.Eras.Modifier_phase2_timing_cff import phase2_timing
from Configuration.Eras.Modifier_phase2_timing_layer_cff import phase2_timing_layer
phase2_timing.toModify( theDigitizers,
                        ecalTime = ecalTimeDigitizer.clone() )
    
from SimFastTiming.Configuration.SimFastTiming_cff import fastTimeDigitizer
phase2_timing_layer.toModify( theDigitizers,
                        fastTimingLayer = fastTimeDigitizer.clone() )

theDigitizersValid = cms.PSet(
    theDigitizers,
    mergedtruth = cms.PSet(
        trackingParticles
Example #14
0
    delattr(theDigitizers,"pixel")
    delattr(theDigitizers,"strip")
    setattr(theDigitizers,"tracks",recoTrackAccumulator)


from SimCalorimetry.HGCalSimProducers.hgcalDigitizer_cfi import hgceeDigitizer, hgchebackDigitizer, hgchefrontDigitizer 
    
from Configuration.Eras.Modifier_phase2_hgcal_cff import phase2_hgcal
phase2_hgcal.toModify( theDigitizers,
                            hgceeDigitizer = cms.PSet(hgceeDigitizer),
                            #hgchebackDigitizer = cms.PSet(hgchebackDigitizer),
                            hgchefrontDigitizer = cms.PSet(hgchefrontDigitizer),
)

from Configuration.Eras.Modifier_phase2_common_cff import phase2_common
phase2_common.toModify( theDigitizers, castor = None )

from SimGeneral.MixingModule.ecalTimeDigitizer_cfi import ecalTimeDigitizer
from Configuration.Eras.Modifier_phase2_timing_cff import phase2_timing
phase2_timing.toModify( theDigitizers,
                             ecalTime = ecalTimeDigitizer.clone() )
    
theDigitizersValid = cms.PSet(
    theDigitizers,
    mergedtruth = cms.PSet(
        trackingParticles
        )
    )


phase2_hgcal.toModify( theDigitizersValid,
Example #15
0
import FWCore.ParameterSet.Config as cms
from FWCore.ParameterSet.pfnInPath import pfnInPath
import os

from RecoMET.METPUSubtraction.deepMETProducer_cfi import deepMETProducer as _deepMETProducer

deepMETsResolutionTune = _deepMETProducer.clone()
deepMETsResponseTune = _deepMETProducer.clone(
    graph_path=
    'RecoMET/METPUSubtraction/data/models/deepmet/deepmet_resp_v1_2018/model.graphdef',
)

from Configuration.Eras.Modifier_phase2_common_cff import phase2_common
phase2_common.toModify(
    deepMETsResolutionTune,
    max_n_pf=12500,
    graph_path=
    "RecoMET/METPUSubtraction/data/models/deepmet_phase2/deepmet_v1_phase2/model.graphdef"
)
phase2_common.toModify(
    deepMETsResponseTune,
    max_n_pf=12500,
    graph_path=
    "RecoMET/METPUSubtraction/data/models/deepmet_phase2/deepmet_resp_v1_phase2/model.graphdef"
)

from Configuration.Eras.Modifier_run2_jme_2016_cff import run2_jme_2016
run2_jme_2016.toModify(
    deepMETsResponseTune,
    graph_path=
    "RecoMET/METPUSubtraction/data/models/deepmet/deepmet_resp_v1_2016/model.graphdef"
)
Example #16
0
    "eidRobustHighEnergy",
    "eidRobustLoose",
    "eidRobustTight",
    "eidTight",
    ),
  photonPFClusterIsoSources = cms.VInputTag(),
  photonPFClusterIsoOutput = cms.vstring(),
  ootPhotonPFClusterIsoSources = cms.VInputTag(),
  ootPhotonPFClusterIsoOutput = cms.vstring(),
  gsfElectronPFClusterIsoSources = cms.VInputTag(),
  gsfElectronPFClusterIsoOutput = cms.vstring(),
)

from Configuration.Eras.Modifier_phase2_common_cff import phase2_common
phase2_common.toModify(reducedEgamma, 
        preshowerEcalHits = cms.InputTag(""),
)

from Configuration.Eras.Modifier_run2_miniAOD_80XLegacy_cff import run2_miniAOD_80XLegacy
run2_miniAOD_80XLegacy.toModify(
    reducedEgamma, 
    photonPFClusterIsoSources = cms.VInputTag(
        cms.InputTag("photonEcalPFClusterIsolationProducer"),
        cms.InputTag("photonHcalPFClusterIsolationProducer"),
        ),
    photonPFClusterIsoOutput = cms.vstring(
        "phoEcalPFClusIso",
        "phoHcalPFClusIso",
        ),
    ootPhotonPFClusterIsoSources = cms.VInputTag(
        cms.InputTag("ootPhotonEcalPFClusterIsolationProducer"),
        minTrackHits                 = cms.uint32(8),
        minGammaEt                   = cms.double(1.5),
        #useTracksInsteadOfPFHadrons  = cms.bool(False),
    ),
    vxAssocQualityCuts = cms.PSet(
        minTrackPt                   = cms.double(0.5),    # filter PFChargedHadrons below given pt
        maxTrackChi2                 = cms.double(100.),   # require track Chi2
        maxTransverseImpactParameter = cms.double(0.1),    # wrt. PV
        minTrackVertexWeight         = cms.double(-1.),    # Tracks weight in vertex
        minTrackPixelHits            = cms.uint32(0),      # pixel-only hits
        minTrackHits                 = cms.uint32(3),      # total track hits
        minGammaEt                   = cms.double(0.5)     # filter PFgammas below given Pt
        #useTracksInsteadOfPFHadrons  = cms.bool(False),   # if true, use generalTracks, instead of PFChargedHadrons
    ),
    # The central definition of primary vertex source.
    primaryVertexSrc = cms.InputTag("offlinePrimaryVertices"),
    # Possible algorithms are: 'highestPtInEvent', 'closestInDeltaZ', 'highestWeightForLeadTrack' and 'combined'
    pvFindingAlgo = cms.string("closestInDeltaZ"),
    vertexTrackFiltering = cms.bool(False),
    recoverLeadingTrk = cms.bool(False),
    # produce histograms when running in debug mode
    # makeHisto = cms.bool(False)
    leadingTrkOrPFCandOption = cms.string("leadPFCand")
    ##leadingTrkOrPFCandOption = cms.string("leadTrack")
    ##leadingTrkOrPFCandOption = cms.string("minLeadTrackOrPFCand")
    ##leadingTrkOrPFCandOption = cms.string("firstTrack") #default behaviour until 710 (first track in the collection)
)
phase2_common.toModify(PFTauQualityCuts,
                       isolationQualityCuts = dict( maxDeltaZ = cms.double(0.1) ) )
                       
photonIDValueMapProducer = cms.EDProducer('PhotonIDValueMapProducer',
                                          # The module automatically detects AOD vs miniAOD, so we configure both
                                          #
                                          # AOD case
                                          #
                                          ebReducedRecHitCollection = cms.InputTag("reducedEcalRecHitsEB"),
                                          eeReducedRecHitCollection = cms.InputTag("reducedEcalRecHitsEE"),
                                          esReducedRecHitCollection = cms.InputTag("reducedEcalRecHitsES"),
                                          particleBasedIsolation = cms.InputTag("particleBasedIsolation","gedPhotons"),
                                          vertices = cms.InputTag("offlinePrimaryVertices"),
                                          pfCandidates = cms.InputTag("particleFlow"),
                                          src = cms.InputTag('gedPhotons'),
                                          #
                                          # miniAOD case
                                          #
                                          ebReducedRecHitCollectionMiniAOD = cms.InputTag("reducedEgamma:reducedEBRecHits"),
                                          eeReducedRecHitCollectionMiniAOD = cms.InputTag("reducedEgamma:reducedEERecHits"),
                                          esReducedRecHitCollectionMiniAOD = cms.InputTag("reducedEgamma:reducedESRecHits"),
                                          verticesMiniAOD = cms.InputTag("offlineSlimmedPrimaryVertices"),
                                          pfCandidatesMiniAOD = cms.InputTag("packedPFCandidates"),
                                          # there is no need for the isolation map here, for miniAOD it is inside packedPFCandidates
                                          srcMiniAOD = cms.InputTag('slimmedPhotons',processName=cms.InputTag.skipCurrentProcess()),
                                          )

from Configuration.Eras.Modifier_phase2_common_cff import phase2_common
phase2_common.toModify(photonIDValueMapProducer, 
    esReducedRecHitCollection = cms.InputTag(""),
    esReducedRecHitCollectionMiniAOD = cms.InputTag(""),
)
import FWCore.ParameterSet.Config as cms
from DQMServices.Core.DQMEDHarvester import DQMEDHarvester
from Validation.MuonGEMHits.MuonGEMCommonParameters_cfi import GEMValidationCommonParameters

gemDigiHarvesting = DQMEDHarvester("MuonGEMDigisHarvestor",
    GEMValidationCommonParameters,
    regionIds = cms.untracked.vint32(-1, 1),
    stationIds = cms.untracked.vint32(1),
    layerIds = cms.untracked.vint32(1, 2, 3, 4, 5, 6),
)

MuonGEMDigisPostProcessors = cms.Sequence(gemDigiHarvesting)

from Configuration.Eras.Modifier_phase2_common_cff import phase2_common
phase2_common.toModify( gemDigiHarvesting, stationIds = (1, 2) )
from Configuration.Eras.Modifier_run2_common_cff import run2_common
run2_common.toModify(SimCalorimetryFEVTDEBUG.outputCommands,
                     func=lambda outputCommands: outputCommands.append(
                         'keep *_simHcalUnsuppressedDigis_*_*'))
run2_common.toModify(SimCalorimetryRAW.outputCommands,
                     func=lambda outputCommands: outputCommands.append(
                         'keep *_simHcalUnsuppressedDigis_*_*'))

from Configuration.Eras.Modifier_phase2_timing_cff import phase2_timing
phase2_timing.toModify(SimCalorimetryFEVTDEBUG.outputCommands,
                       func=lambda outputCommands: outputCommands.append(
                           'keep *_mix_EETimeDigi_*'))
phase2_timing.toModify(SimCalorimetryFEVTDEBUG.outputCommands,
                       func=lambda outputCommands: outputCommands.append(
                           'keep *_mix_EBTimeDigi_*'))

phase2_timing.toModify(SimCalorimetryRAW.outputCommands,
                       func=lambda outputCommands: outputCommands.append(
                           'keep *_mix_EETimeDigi_*'))
phase2_timing.toModify(SimCalorimetryRAW.outputCommands,
                       func=lambda outputCommands: outputCommands.append(
                           'keep *_mix_EBTimeDigi_*'))

from Configuration.Eras.Modifier_phase2_common_cff import phase2_common
phase2_common.toModify(SimCalorimetryFEVTDEBUG.outputCommands,
                       func=lambda outputCommands: outputCommands.append(
                           'keep *_simEcalUnsuppressedDigis_*_*'))
phase2_common.toModify(SimCalorimetryRAW.outputCommands,
                       func=lambda outputCommands: outputCommands.append(
                           'keep *_simEcalUnsuppressedDigis_*_*'))
Example #21
0
phase2_common.toModify(
    PREMIXEventContent,
    outputCommands=PREMIXEventContent.outputCommands + [
        # Tracker
        'keep Phase2TrackerDigiedmDetSetVector_mix_*_*',
        'keep *_*_Phase2OTDigiSimLink_*',
        'keep *_simSiPixelDigis_*_*',  # covers digis and digiSimLinks
        # MTD
        # ???
        # ECAL
        'keep *_simEcalDigis_ebDigis_*',
        'keep ESDigiCollection_simEcalUnsuppressedDigis_*_*',
        # HCAL
        'keep *_simHcalDigis_*_*',
        'keep ZDCDataFramesSorted_simHcalUnsuppressedDigis_*_*',
        # HGCAL
        'keep *_simHGCalUnsuppressedDigis_EE_*',
        'keep *_simHGCalUnsuppressedDigis_HEfront_*',
        'keep *_simHGCalUnsuppressedDigis_HEback_*',
        # DT
        'keep *_simMuonDTDigis_*_*',
        # CSC
        'keep *_simMuonCSCDigis_*_*',
        'keep *_simMuonCscTriggerPrimitiveDigis_*_*',
        # RPC
        'keep *_simMuonRPCDigis_*_*',
        # GEM
        'keep *_simMuonGEMDigis_*_*',
        'keep *_*_GEMDigiSimLink_*',
        'keep *_*_GEMStripDigiSimLink_*',
        # ME0
        'keep *_simMuonME0Digis_*_*',
        'keep *_mix_g4SimHitsMuonME0Hits_*',
        'keep *_*_ME0DigiSimLink_*',
        'keep *_*_ME0StripDigiSimLink_*',
        # CaloParticles
        'keep *_mix_MergedCaloTruth_*',
    ])
import RecoTauTag.RecoTau.RecoTauPiZeroBuilderPlugins_cfi as builders
import RecoTauTag.RecoTau.RecoTauPiZeroQualityPlugins_cfi as ranking
from RecoTauTag.RecoTau.PFRecoTauPFJetInputs_cfi import PFRecoTauPFJetInputs
from RecoTauTag.RecoTau.recoTauPiZeroProducer_cfi import recoTauPiZeroProducer

from Configuration.Eras.Modifier_phase2_common_cff import phase2_common

ak4PFJetsLegacyHPSPiZeros = recoTauPiZeroProducer.clone(
    jetSrc=PFRecoTauPFJetInputs.inputJetCollection,
    minJetPt=PFRecoTauPFJetInputs.minJetPt,
    maxJetAbsEta=PFRecoTauPFJetInputs.maxJetAbsEta,
    builders=cms.VPSet(builders.modStrips2),
    ranking=cms.VPSet(ranking.isInStrip),
)
phase2_common.toModify(ak4PFJetsLegacyHPSPiZeros,
                       builders=cms.VPSet(builders.modStrips))

ak4PFJetsRecoTauGreedyPiZeros = recoTauPiZeroProducer.clone(
    jetSrc=PFRecoTauPFJetInputs.inputJetCollection,
    minJetPt=PFRecoTauPFJetInputs.minJetPt,
    maxJetAbsEta=PFRecoTauPFJetInputs.maxJetAbsEta,
    outputSelection=cms.string('pt > 1.5'),
    builders=cms.VPSet(builders.comboStrips),
    ranking=cms.VPSet(ranking.greedy),
)

ak4PFJetsRecoTauPiZeros = recoTauPiZeroProducer.clone(
    jetSrc=PFRecoTauPFJetInputs.inputJetCollection,
    minJetPt=PFRecoTauPFJetInputs.minJetPt,
    maxJetAbsEta=PFRecoTauPFJetInputs.maxJetAbsEta,
    outputSelection=cms.string('pt > 1.5'),
Example #23
0
    mix=cms.VPSet(cms.PSet(type=cms.string('CastorDataFramesSorted'))))
simEcalUnsuppressedDigis = cms.EDAlias(
    mix=cms.VPSet(cms.PSet(type=cms.string('EBDigiCollection')),
                  cms.PSet(type=cms.string('EEDigiCollection')),
                  cms.PSet(type=cms.string('ESDigiCollection'))))
simHcalUnsuppressedDigis = cms.EDAlias(mix=cms.VPSet(
    cms.PSet(type=cms.string('HBHEDataFramesSorted')),
    cms.PSet(type=cms.string('HFDataFramesSorted')),
    cms.PSet(type=cms.string('HODataFramesSorted')),
    cms.PSet(type=cms.string('ZDCDataFramesSorted')),
    cms.PSet(type=cms.string('QIE10DataFrameHcalDataFrameContainer')),
    cms.PSet(type=cms.string('QIE11DataFrameHcalDataFrameContainer'))))
simSiPixelDigis = cms.EDAlias(
    mix=cms.VPSet(cms.PSet(type=cms.string('PixelDigiedmDetSetVector')),
                  cms.PSet(
                      type=cms.string('PixelDigiSimLinkedmDetSetVector'))))
simSiStripDigis = cms.EDAlias(
    mix=cms.VPSet(cms.PSet(type=cms.string('SiStripDigiedmDetSetVector')),
                  cms.PSet(type=cms.string('SiStripRawDigiedmDetSetVector')),
                  cms.PSet(
                      type=cms.string('StripDigiSimLinkedmDetSetVector'))))

# 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)

from Configuration.Eras.Modifier_phase2_common_cff import phase2_common
phase2_common.toModify(simCastorDigis, mix=None)
Example #24
0
    #match these reco-jets to the gen-jets and compute jet response
    recoJetCollection=cms.InputTag('slimmedJets'),
    genJetCollection=cms.InputTag('slimmedGenJets'),
    jetDeltaR=cms.double(0.2),
    responsePlots=cms.VPSet(createResponsePlots(ptbins, etabins)),
    genJetPlots=cms.VPSet(createGenJetPlots(ptbins, etabins)))

pfJetDQMPostProcessor = cms.EDProducer(
    "PFJetDQMPostProcessor",
    jetResponseDir=cms.string(jetResponseDir),
    genjetDir=cms.string(genjetDir),
    ptBins=cms.vdouble(ptbins),
    etaBins=cms.vdouble(etabins),
    recoPtCut=cms.double(15.))

#----- ----- ----- ----- ----- ----- ----- -----
#
# Sequence
#

pfDQM = cms.Sequence(pfJetAnalyzerDQM)

#----- ----- ----- ----- ----- ----- ----- -----
#
# Era dependence
#

from Configuration.Eras.Modifier_phase2_common_cff import phase2_common
phase2_common.toModify(pfJetAnalyzerDQM, recoJetCollection="slimmedJetsPuppi")
import FWCore.ParameterSet.Config as cms
from DQMServices.Core.DQMEDHarvester import DQMEDHarvester
from Validation.MuonGEMHits.MuonGEMCommonParameters_cfi import GEMValidationCommonParameters

gemRecHitHarvesting = DQMEDHarvester(
    "MuonGEMRecHitsHarvestor",
    GEMValidationCommonParameters,
    regionIds=cms.untracked.vint32(-1, 1),
    stationIds=cms.untracked.vint32(1),
    layerIds=cms.untracked.vint32(1, 2, 3, 4, 5, 6),
)

MuonGEMRecHitsPostProcessors = cms.Sequence(gemRecHitHarvesting)

from Configuration.Eras.Modifier_phase2_common_cff import phase2_common
phase2_common.toModify(gemRecHitHarvesting, stationIds=(1, 2))
Example #26
0
)
                        
from Configuration.Eras.Modifier_phase2_common_cff import phase2_common
phase2_common.toModify(
    puppi,
    DeltaZCut = cms.double(0.1),
    algos = cms.VPSet( 
        cms.PSet( 
             etaMin = cms.vdouble(0.,  2.5),
             etaMax = cms.vdouble(2.5, 3.5),
             ptMin  = cms.vdouble(0.,  0.), #Normally 0
             MinNeutralPt   = cms.vdouble(0.2, 0.2),
             MinNeutralPtSlope   = cms.vdouble(0.015, 0.030),
             RMSEtaSF = cms.vdouble(1.0, 1.0),
             MedEtaSF = cms.vdouble(1.0, 1.0),
             EtaMaxExtrap = cms.double(2.0),
             puppiAlgos = puppiCentral
        ), cms.PSet( 
             etaMin              = cms.vdouble( 3.5),
             etaMax              = cms.vdouble(10.0),
             ptMin               = cms.vdouble( 0.), #Normally 0
             MinNeutralPt        = cms.vdouble( 2.0),
             MinNeutralPtSlope   = cms.vdouble(0.08),
             RMSEtaSF            = cms.vdouble(1.0 ),
             MedEtaSF            = cms.vdouble(0.75),
             EtaMaxExtrap        = cms.double( 2.0),
             puppiAlgos = puppiForward
       )
    )
)
Example #27
0
run3_common.toModify( g4SimHits, CastorSD = dict( useShowerLibrary = False ) ) 

##
## Change ECAL time slices
##
from Configuration.Eras.Modifier_phase2_timing_cff import phase2_timing
phase2_timing.toModify( g4SimHits.ECalSD,
                             StoreLayerTimeSim = cms.untracked.bool(True),
                             TimeSliceUnit = cms.double(0.001) )
##
## Change CALO Thresholds
##
from Configuration.Eras.Modifier_h2tb_cff import h2tb
h2tb.toModify(g4SimHits.CaloSD,
              EminHits  = cms.vdouble(0.0,0.0,0.0,0.0,0.0),
              TmaxHits  = cms.vdouble(1000.0,1000.0,1000.0,1000.0,2000.0) )

##
## DD4Hep migration
##
from Configuration.ProcessModifiers.dd4hep_cff import dd4hep
dd4hep.toModify( g4SimHits, g4GeometryDD4hepSource = True )

##
## Selection of SD's for Phase2
##

from Configuration.Eras.Modifier_phase2_common_cff import phase2_common
phase2_common.toModify(g4SimHits,
                       OnlySDs = cms.vstring('ZdcSensitiveDetector', 'TotemT2ScintSensitiveDetector', 'TotemSensitiveDetector', 'RomanPotSensitiveDetector', 'PLTSensitiveDetector', 'MuonSensitiveDetector', 'MtdSensitiveDetector', 'BCM1FSensitiveDetector', 'EcalSensitiveDetector', 'CTPPSSensitiveDetector', 'HGCalSensitiveDetector', 'BSCSensitiveDetector', 'CTPPSDiamondSensitiveDetector', 'FP420SensitiveDetector', 'BHMSensitiveDetector', 'HFNoseSensitiveDetector', 'HGCScintillatorSensitiveDetector', 'CastorSensitiveDetector', 'CaloTrkProcessing', 'HcalSensitiveDetector', 'TkAccumulatingSensitiveDetector') )
Example #28
0
import FWCore.ParameterSet.Config as cms

from SimMuon.GEMDigitizer.simMuonGEMDigisDef_cfi import *
simMuonGEMDigis = simMuonGEMDigisDef.clone()

from Configuration.ProcessModifiers.premix_stage2_cff import premix_stage2
premix_stage2.toModify(simMuonGEMDigis, mixLabel="mixData")

from Configuration.Eras.Modifier_run2_common_cff import run2_common
run2_common.toModify(simMuonGEMDigis, instLumi=1.5, bx0filter=True)

from Configuration.Eras.Modifier_run3_common_cff import run3_common
run3_common.toModify(simMuonGEMDigis, instLumi=2.0, bx0filter=True)

from Configuration.Eras.Modifier_phase2_common_cff import phase2_common
phase2_common.toModify(simMuonGEMDigis, instLumi=5, bx0filter=False)
        tracks = cms.PSet(
            workerType = cms.string("PreMixingDigiAccumulatorWorker"),
            accumulator = _recoTrackAccumulator.clone(
                pileUpTracks = "mix:generalTracks"
            )
        )
    ),
)

from Configuration.Eras.Modifier_phase2_common_cff import phase2_common
from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker
from Configuration.Eras.Modifier_phase2_hcal_cff import phase2_hcal
from Configuration.Eras.Modifier_phase2_hgcal_cff import phase2_hgcal
from Configuration.Eras.Modifier_phase2_hfnose_cff import phase2_hfnose
from Configuration.Eras.Modifier_phase2_muon_cff import phase2_muon
phase2_common.toModify(mixData, input = dict(producers = [])) # we use digis directly, no need for raw2digi producers

# 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"),
Example #30
0
RAWSIMEventContent.outputCommands.extend(SimFastTimingRAW.outputCommands)
RAWSIMEventContent.outputCommands.extend(SimGeneralRAW.outputCommands)
RAWSIMEventContent.outputCommands.extend(GeneratorInterfaceRAW.outputCommands)
RAWSIMEventContent.outputCommands.extend(RecoGenJetsFEVT.outputCommands)
RAWSIMEventContent.outputCommands.extend(RecoGenMETFEVT.outputCommands)
RAWSIMEventContent.outputCommands.extend(DigiToRawFEVT.outputCommands)
RAWSIMEventContent.outputCommands.extend(MEtoEDMConverterFEVT.outputCommands)
RAWSIMEventContent.outputCommands.extend(IOMCRAW.outputCommands)
RAWSIMEventContent.outputCommands.extend(CommonEventContent.outputCommands)
#
# Temporary collections needed for Phase-2 RECO using RAWSIM as input in Prod-like workflow
# They are until packer/unpackers are done.
#
from Configuration.Eras.Modifier_phase2_common_cff import phase2_common
phase2_common.toModify(RAWSIMEventContent,
    outputCommands = RAWSIMEventContent.outputCommands+[
        'keep *_sim*Digis_*_*',
        'keep *Phase2TrackerDigi*_*_*_*'])
#
#
# RAWSIMHLT Data Tier definition
#
#
RAWSIMHLTEventContent = cms.PSet(
    outputCommands = cms.untracked.vstring('drop *'),
    splitLevel = cms.untracked.int32(0),
)
RAWSIMHLTEventContent.outputCommands.extend(RAWSIMEventContent.outputCommands)
RAWSIMHLTEventContent.outputCommands.extend(HLTDebugRAW.outputCommands)
#
#
# RAWRECOSIMHLT Data Tier definition
Example #31
0
import FWCore.ParameterSet.Config as cms

pfDeepCSVJetTags = cms.EDProducer(
    'DeepFlavourJetTagsProducer',
    src=cms.InputTag('pfDeepCSVTagInfos'),
    checkSVForDefaults=cms.bool(False),
    meanPadding=cms.bool(False),
    NNConfig=cms.FileInPath('RecoBTag/Combined/data/DeepFlavourNoSL.json'),
    toAdd=cms.PSet(probcc=cms.string('probc')),
)

from Configuration.Eras.Modifier_phase1Pixel_cff import phase1Pixel

phase1Pixel.toModify(pfDeepCSVJetTags,
                     NNConfig='RecoBTag/Combined/data/DeepCSV_PhaseI.json',
                     checkSVForDefaults=True,
                     meanPadding=True,
                     toAdd=cms.PSet())

from Configuration.Eras.Modifier_phase2_common_cff import phase2_common

phase2_common.toModify(pfDeepCSVJetTags,
                       NNConfig='RecoBTag/Combined/data/DeepCSV_PhaseII.json',
                       checkSVForDefaults=True,
                       meanPadding=True,
                       toAdd=cms.PSet())
from SimCalorimetry.EcalSimProducers.ecalElectronicsSim_cff import *
from SimCalorimetry.EcalSimProducers.esElectronicsSim_cff import *
from SimCalorimetry.EcalSimProducers.ecalNotContainmentSim_cff import *
from SimCalorimetry.EcalSimProducers.ecalCosmicsSim_cff import *

ecalDigitizer = cms.PSet(
    ecal_digi_parameters,
    apd_sim_parameters,
    ecal_electronics_sim,
    ecal_cosmics_sim,
    ecal_sim_parameter_map,
    ecal_notCont_sim,
    es_electronics_sim,
    hitsProducer = cms.string('g4SimHits'),
    accumulatorType = cms.string("EcalDigiProducer"),
    makeDigiSimLinks = cms.untracked.bool(False)
)

from Configuration.Eras.Modifier_fastSim_cff import fastSim
if fastSim.isChosen():
    ecalDigitizer.hitsProducer = cms.string("famosSimHits")
    
ecalDigitizer.doEB = cms.bool(True)
ecalDigitizer.doEE = cms.bool(True)
ecalDigitizer.doES = cms.bool(True)

from Configuration.Eras.Modifier_phase2_common_cff import phase2_common
phase2_common.toModify( ecalDigitizer, doES = cms.bool(False) )
from Configuration.Eras.Modifier_phase2_hgcal_cff import phase2_hgcal
phase2_hgcal.toModify( ecalDigitizer, doEE = cms.bool(False) )
Example #33
0
    HEDarkening=cms.bool(False),
    HFDarkening=cms.bool(False),
    minFCToDelay=cms.double(5.),  # old TC model! set to 5 for the new one
    debugCaloSamples=cms.bool(False),
    ignoreGeantTime=cms.bool(False),
    # settings for SimHit test injection
    injectTestHits=cms.bool(False),
    # if no time is specified for injected hits, t = 0 will be used
    # (recommendation: enable "ignoreGeantTime" in that case to set t = tof)
    # otherwise, need 1 time value per energy value
    injectTestHitsEnergy=cms.vdouble(),
    injectTestHitsTime=cms.vdouble(),
    # format for cells: subdet, ieta, iphi, depth
    # multiple quadruplets can be specified
    # if instead only 1 value is given,
    # it will be interpreted as an entire subdetector
    injectTestHitsCells=cms.vint32())

from Configuration.Eras.Modifier_fastSim_cff import fastSim
fastSim.toModify(hcalSimBlock, hitsProducer=cms.string('famosSimHits'))

from Configuration.Eras.Modifier_run2_HCAL_2017_cff import run2_HCAL_2017
run2_HCAL_2017.toModify(hcalSimBlock, TestNumbering=cms.bool(True))

# remove HE processing for phase 2, completely put in HGCal land
from Configuration.Eras.Modifier_phase2_hgcal_cff import phase2_hgcal
phase2_hgcal.toModify(hcalSimBlock, killHE=cms.bool(True))

from Configuration.Eras.Modifier_phase2_common_cff import phase2_common
phase2_common.toModify(hcalSimBlock, doNeutralDensityFilter=cms.bool(False))
Example #34
0
    ),
    ootPhotonPFClusterIsoSources=cms.VInputTag(
        cms.InputTag("ootPhotonEcalPFClusterIsolationProducer"),
        cms.InputTag("ootPhotonHcalPFClusterIsolationProducer"),
    ),
    ootPhotonPFClusterIsoOutput=cms.vstring(
        "ootPhoEcalPFClusIso",
        "ootPhoHcalPFClusIso",
    ),
    gsfElectronPFClusterIsoSources=cms.VInputTag(
        cms.InputTag("electronEcalPFClusterIsolationProducer"),
        cms.InputTag("electronHcalPFClusterIsolationProducer"),
    ),
    gsfElectronPFClusterIsoOutput=cms.vstring(
        "eleEcalPFClusIso",
        "eleHcalPFClusIso",
    ),
)

from Configuration.Eras.Modifier_phase2_common_cff import phase2_common
phase2_common.toModify(
    reducedEgamma,
    preshowerEcalHits=cms.InputTag(""),
)

from Configuration.Eras.Modifier_run2_miniAOD_80XLegacy_cff import run2_miniAOD_80XLegacy
run2_miniAOD_80XLegacy.toModify(
    reducedEgamma,
    ootPhotonPFClusterIsoSources=["ootPhotonEcalPFClusterIsolationProducer"],
    ootPhotonPFClusterIsoOutput=["ootPhoEcalPFClusIso"])
Example #35
0
from Configuration.Eras.Modifier_phase2_common_cff import phase2_common
phase2_common.toModify(PREMIXEventContent, outputCommands = PREMIXEventContent.outputCommands+[
        # Tracker
        'keep Phase2TrackerDigiedmDetSetVector_mix_*_*',
        'keep *_simSiPixelDigis_*_*', # covers digis and digiSimLinks
        # MTD
        # ???
        # ECAL
        'keep *_simEcalDigis_ebDigis_*',
        'keep ESDigiCollection_simEcalUnsuppressedDigis_*_*',
        # HCAL
        'keep *_simHcalDigis_*_*',
        'keep ZDCDataFramesSorted_simHcalUnsuppressedDigis_*_*',
        # HGCAL
        'keep *_mix_HGCDigisEE_*',
        'keep *_mix_HGCDigisHEfront_*',
        'keep *_mix_HGCDigisHEback_*',
        # DT
        'keep *_simMuonDTDigis_*_*',
        # CSC
        'keep *_simMuonCSCDigis_*_*',
        'keep *_simMuonCscTriggerPrimitiveDigis_*_*',
        # RPC
        'keep *_simMuonRPCDigis_*_*',
        # GEM
        'keep *_simMuonGEMDigis_*_*',
        # ME0
        'keep *_simMuonME0Digis_*_*',
        # CaloParticles
        'keep *_mix_MergedCaloTruth_*',
])
Example #36
0
        gem = cms.PSet(
            workerType = cms.string("PreMixingCrossingFramePSimHitWorker"),
            labelSig = cms.InputTag("mix", "g4SimHitsMuonGEMHits"),
            pileInputTag = cms.InputTag("mix", "g4SimHitsMuonGEMHits"),
            collectionDM = cms.string("g4SimHitsMuonGEMHits"),
        ),
    )
)

from Configuration.Eras.Modifier_phase2_common_cff import phase2_common
from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker
from Configuration.Eras.Modifier_phase2_hcal_cff import phase2_hcal
from Configuration.Eras.Modifier_phase2_hgcal_cff import phase2_hgcal
from Configuration.Eras.Modifier_phase2_hfnose_cff import phase2_hfnose
from Configuration.Eras.Modifier_phase2_muon_cff import phase2_muon
phase2_common.toModify(mixData, input = dict(producers = [])) # we use digis directly, no need for raw2digi producers

# 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"),
        minTrackPixelHits=cms.uint32(0),
        minTrackHits=cms.uint32(8),
        minGammaEt=cms.double(1.5),
        #useTracksInsteadOfPFHadrons  = cms.bool(False),
    ),
    vxAssocQualityCuts=cms.PSet(
        minTrackPt=cms.double(0.5),  # filter PFChargedHadrons below given pt
        maxTrackChi2=cms.double(100.),  # require track Chi2
        maxTransverseImpactParameter=cms.double(0.1),  # wrt. PV
        minTrackVertexWeight=cms.double(-1.),  # Tracks weight in vertex
        minTrackPixelHits=cms.uint32(0),  # pixel-only hits
        minTrackHits=cms.uint32(3),  # total track hits
        minGammaEt=cms.double(1.0)  # filter PFgammas below given Pt
        #useTracksInsteadOfPFHadrons  = cms.bool(False),   # if true, use generalTracks, instead of PFChargedHadrons
    ),
    # The central definition of primary vertex source.
    primaryVertexSrc=cms.InputTag("offlinePrimaryVertices"),
    # Possible algorithms are: 'highestPtInEvent', 'closestInDeltaZ', 'highestWeightForLeadTrack' and 'combined'
    pvFindingAlgo=cms.string("closestInDeltaZ"),
    vertexTrackFiltering=cms.bool(False),
    recoverLeadingTrk=cms.bool(False),
    # produce histograms when running in debug mode
    # makeHisto = cms.bool(False)
    leadingTrkOrPFCandOption=cms.string("leadPFCand")
    ##leadingTrkOrPFCandOption = cms.string("leadTrack")
    ##leadingTrkOrPFCandOption = cms.string("minLeadTrackOrPFCand")
    ##leadingTrkOrPFCandOption = cms.string("firstTrack") #default behaviour until 710 (first track in the collection)
)
phase2_common.toModify(PFTauQualityCuts,
                       isolationQualityCuts=dict(maxDeltaZ=cms.double(0.1)))
from Configuration.ProcessModifiers.dd4hep_cff import dd4hep

dd4hep.toModify(muonOffsetESProducer, fromDD4hep=cms.bool(True))

from Configuration.Eras.Modifier_phase2_common_cff import phase2_common

phase2_common.toModify(
    muonOffsetESProducer,
    names=cms.vstring(
        "MuonCommonNumbering", "MuonBarrel", "MuonEndcap", "MuonBarrelWheels",
        "MuonBarrelStation1", "MuonBarrelStation2", "MuonBarrelStation3",
        "MuonBarrelStation4", "MuonBarrelSuperLayer", "MuonBarrelLayer",
        "MuonBarrelWire", "MuonRpcPlane1I", "MuonRpcPlane1O", "MuonRpcPlane2I",
        "MuonRpcPlane2O", "MuonRpcPlane3S", "MuonRpcPlane4",
        "MuonRpcChamberLeft", "MuonRpcChamberMiddle", "MuonRpcChamberRight",
        "MuonRpcEndcap1", "MuonRpcEndcap2", "MuonRpcEndcap3", "MuonRpcEndcap4",
        "MuonRpcEndcapSector", "MuonRpcEndcapChamberB1",
        "MuonRpcEndcapChamberB2", "MuonRpcEndcapChamberB3",
        "MuonRpcEndcapChamberC1", "MuonRpcEndcapChamberC2",
        "MuonRpcEndcapChamberC3", "MuonRpcEndcapChamberE1",
        "MuonRpcEndcapChamberE2", "MuonRpcEndcapChamberE3",
        "MuonRpcEndcapChamberF1", "MuonRpcEndcapChamberF2",
        "MuonRpcEndcapChamberF3", "MuonRpcEndcapChamberG1",
        "MuonRpcEndcapChamberH1", "MuonEndcapStation1", "MuonEndcapStation2",
        "MuonEndcapStation3", "MuonEndcapStation4", "MuonEndcapSubrings",
        "MuonEndcapSectors", "MuonEndcapLayers", "MuonEndcapRing1",
        "MuonEndcapRing2", "MuonEndcapRing3", "MuonEndcapRingA",
        "MuonGEMEndcap", "MuonGEMEndcap2", "MuonGEMSector", "MuonGEMChamber",
        "MuonGE0Sector", "MuonGE0Layer", "MuonGE0Chamber"))
Example #39
0
import FWCore.ParameterSet.Config as cms

pfDeepCSVJetTags = cms.EDProducer(
	'DeepFlavourJetTagsProducer',
	src = cms.InputTag('pfDeepCSVTagInfos'),
  checkSVForDefaults = cms.bool(False),
  meanPadding = cms.bool(False),
	NNConfig = cms.FileInPath('RecoBTag/Combined/data/DeepFlavourNoSL.json'),
  toAdd = cms.PSet(
      probcc = cms.string('probc')
      ),
	)

from Configuration.Eras.Modifier_phase1Pixel_cff import phase1Pixel
phase1Pixel.toModify(pfDeepCSVJetTags, NNConfig = cms.FileInPath('RecoBTag/Combined/data/DeepCSV_PhaseI.json'))
phase1Pixel.toModify(pfDeepCSVJetTags, checkSVForDefaults = cms.bool(True))
phase1Pixel.toModify(pfDeepCSVJetTags, meanPadding = cms.bool(True))
phase1Pixel.toModify(pfDeepCSVJetTags, toAdd = cms.PSet())

from Configuration.Eras.Modifier_phase2_common_cff import phase2_common
phase2_common.toModify(pfDeepCSVJetTags, NNConfig = cms.FileInPath('RecoBTag/Combined/data/DeepCSV_PhaseI.json'))
phase2_common.toModify(pfDeepCSVJetTags, checkSVForDefaults = cms.bool(True))
phase2_common.toModify(pfDeepCSVJetTags, meanPadding = cms.bool(True))
phase2_common.toModify(pfDeepCSVJetTags, toAdd = cms.PSet())
Example #40
0
from Configuration.Eras.Modifier_phase2_common_cff import phase2_common
phase2_common.toModify(
    puppi,
    EtaMinUseDeltaZ=-1.,
    PtMaxCharged=-1.,
    PtMaxNeutralsStartSlope=0.,
    DeltaZCut=cms.double(0.1),
    algos=cms.VPSet(
        cms.PSet(
            etaMin=cms.vdouble(0., 2.5),
            etaMax=cms.vdouble(2.5, 3.5),
            ptMin=cms.vdouble(0., 0.),  #Normally 0
            MinNeutralPt=cms.vdouble(0.2, 0.2),
            MinNeutralPtSlope=cms.vdouble(0.015, 0.030),
            RMSEtaSF=cms.vdouble(1.0, 1.0),
            MedEtaSF=cms.vdouble(1.0, 1.0),
            EtaMaxExtrap=cms.double(2.0),
            puppiAlgos=puppiCentral),
        cms.PSet(
            etaMin=cms.vdouble(3.5),
            etaMax=cms.vdouble(10.0),
            ptMin=cms.vdouble(0.),  #Normally 0
            MinNeutralPt=cms.vdouble(2.0),
            MinNeutralPtSlope=cms.vdouble(0.08),
            RMSEtaSF=cms.vdouble(1.0),
            MedEtaSF=cms.vdouble(0.75),
            EtaMaxExtrap=cms.double(2.0),
            puppiAlgos=puppiForward)))

puppiNoLep = puppi.clone(puppiNoLep=True, PtMaxPhotons=20.)
Example #41
0
import FWCore.ParameterSet.Config as cms

pfDeepCSVJetTags = cms.EDProducer(
    'DeepFlavourJetTagsProducer',
    src=cms.InputTag('pfDeepCSVTagInfos'),
    checkSVForDefaults=cms.bool(False),
    meanPadding=cms.bool(False),
    NNConfig=cms.FileInPath('RecoBTag/Combined/data/DeepFlavourNoSL.json'),
    toAdd=cms.PSet(probcc=cms.string('probc')),
)

from Configuration.Eras.Modifier_phase1Pixel_cff import phase1Pixel

phase1Pixel.toModify(
    pfDeepCSVJetTags,
    NNConfig=cms.FileInPath('RecoBTag/Combined/data/DeepCSV_PhaseI.json'))
phase1Pixel.toModify(pfDeepCSVJetTags, checkSVForDefaults=cms.bool(True))
phase1Pixel.toModify(pfDeepCSVJetTags, meanPadding=cms.bool(True))
phase1Pixel.toModify(pfDeepCSVJetTags, toAdd=cms.PSet())

from Configuration.Eras.Modifier_phase2_common_cff import phase2_common

phase2_common.toModify(
    pfDeepCSVJetTags,
    NNConfig=cms.FileInPath('RecoBTag/Combined/data/DeepCSV_PhaseII.json'))
phase2_common.toModify(pfDeepCSVJetTags, checkSVForDefaults=cms.bool(True))
phase2_common.toModify(pfDeepCSVJetTags, meanPadding=cms.bool(True))
phase2_common.toModify(pfDeepCSVJetTags, toAdd=cms.PSet())
Example #42
0
                 stripSimLink=None,
                 tracks=cms.PSet(
                     workerType=cms.string("PreMixingDigiAccumulatorWorker"),
                     accumulator=_recoTrackAccumulator.clone(
                         pileUpTracks="mix:generalTracks"))),
)

from Configuration.Eras.Modifier_phase2_common_cff import phase2_common
from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker
from Configuration.Eras.Modifier_phase2_ecal_cff import phase2_ecal
from Configuration.Eras.Modifier_phase2_hcal_cff import phase2_hcal
from Configuration.Eras.Modifier_phase2_hgcal_cff import phase2_hgcal
from Configuration.Eras.Modifier_phase2_hfnose_cff import phase2_hfnose
from Configuration.Eras.Modifier_phase2_muon_cff import phase2_muon

phase2_common.toModify(mixData, input=dict(
    producers=[]))  # we use digis directly, no need for raw2digi producers

# 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"),
Example #43
0
            maximumAbsoluteValues=cms.vdouble(1.5, 1.e+9),
            maximumRelativeValues=cms.vdouble(-1.0, 0.10)),
        cms.PSet(IDname=cms.string("ByTightCombinedIsolationDBSumPtCorr3Hits"),
                 referenceRawIDNames=cms.vstring(
                     "ByRawCombinedIsolationDBSumPtCorr3Hits",
                     "PhotonPtSumOutsideSignalCone"),
                 maximumAbsoluteValues=cms.vdouble(0.8, 1.e+9),
                 maximumRelativeValues=cms.vdouble(-1.0, 0.10)),
        cms.PSet(IDname=cms.string("ByLooseChargedIsolation"),
                 referenceRawIDNames=cms.vstring("ChargedIsoPtSum"),
                 maximumAbsoluteValues=cms.vdouble(2.5)),
        cms.PSet(
            IDname=cms.string("ByPhotonPtSumOutsideSignalCone"),
            referenceRawIDNames=cms.vstring("PhotonPtSumOutsideSignalCone"),
            maximumRelativeValues=cms.vdouble(0.10))))
phase2_common.toModify(hpsPFTauBasicDiscriminators.qualityCuts,
                       isolationQualityCuts=dict(minTrackPt=0.8))
hpsPFTauBasicDiscriminatorsTask = cms.Task(hpsPFTauBasicDiscriminators)

## Cut based isolations dR=0.3
hpsPFTauBasicDiscriminatorsdR03 = hpsPFTauBasicDiscriminators.clone(
    deltaBetaFactor='0.0720',  # 0.2*(0.3/0.5)^2
    customOuterCone=0.3)
del hpsPFTauBasicDiscriminatorsdR03.IDWPdefinitions[
    -1]  # ByPhotonPtSumOutsideSignalCone not defined for dR03
del hpsPFTauBasicDiscriminatorsdR03.IDWPdefinitions[
    -1]  # ByLooseChargedIsolation not defined for dR03
for pset in hpsPFTauBasicDiscriminatorsdR03.IDdefinitions:
    pset.IDname = pset.IDname.value() + "dR03"
for pset in hpsPFTauBasicDiscriminatorsdR03.IDWPdefinitions:
    pset.IDname = pset.IDname.value() + "dR03"
    pset.referenceRawIDNames = [
Example #44
0
                  EminHits  = [0.0, 0.0, 0.0, 0.0, 0.0],
                  TmaxHits  = [1000.0, 1000.0, 1000.0, 1000.0, 2000.0] ),
              CaloTrkProcessing = dict(
                  TestBeam = True ),
              HCalSD = dict(
                  ForTBHCAL = True )
)

##
## DD4hep migration
##
from Configuration.ProcessModifiers.dd4hep_cff import dd4hep
dd4hep.toModify( g4SimHits, g4GeometryDD4hepSource = True )

##
## Selection of SD's for Phase2, exclude PPS
##

from Configuration.Eras.Modifier_phase2_common_cff import phase2_common
phase2_common.toModify(g4SimHits,
                       OnlySDs = ['ZdcSensitiveDetector', 'TotemT2ScintSensitiveDetector', 'TotemSensitiveDetector', 'RomanPotSensitiveDetector', 'PLTSensitiveDetector', 'MuonSensitiveDetector', 'MtdSensitiveDetector', 'BCM1FSensitiveDetector', 'EcalSensitiveDetector', 'CTPPSSensitiveDetector', 'HGCalSensitiveDetector', 'BSCSensitiveDetector', 'CTPPSDiamondSensitiveDetector', 'FP420SensitiveDetector', 'BHMSensitiveDetector', 'HFNoseSensitiveDetector', 'HGCScintillatorSensitiveDetector', 'CastorSensitiveDetector', 'CaloTrkProcessing', 'HcalSensitiveDetector', 'TkAccumulatingSensitiveDetector'],
                       LHCTransport = False, 
                       MuonSD = dict( 
                       HaveDemoChambers = False ) 
)

from Configuration.Eras.Modifier_hgcaltb_cff import hgcaltb
hgcaltb.toModify(g4SimHits,
                 OnlySDs = ['AHcalSensitiveDetector', 'HGCSensitiveDetector', 'HGCalTB1601SensitiveDetector', 'HcalTB06BeamDetector']
)
from RecoEgamma.PhotonIdentification.photonIDValueMapProducer_cfi import *

import FWCore.ParameterSet.Config as cms

from Configuration.Eras.Modifier_phase2_common_cff import phase2_common
phase2_common.toModify(photonIDValueMapProducer, 
    esReducedRecHitCollection = "",
    esReducedRecHitCollectionMiniAOD = "",
)
Example #46
0
    ),
    HGCalTestBeamSD = cms.PSet(
        Material   = cms.string('Scintillator'),
        UseBirkLaw = cms.bool(False),
        BirkC1 = cms.double(0.013),
        BirkC3 = cms.double(1.75),
        BirkC2 = cms.double(0.0568),
    ),
    HcalTB06BeamSD = cms.PSet(
        UseBirkLaw = cms.bool(False),
        BirkC1 = cms.double(0.013),
        BirkC3 = cms.double(1.75),
        BirkC2 = cms.double(0.0568)
    )
)


##
## Change the HFShowerLibrary file used for Run 2
##
from Configuration.Eras.Modifier_run2_common_cff import run2_common
run2_common.toModify( g4SimHits.HFShowerLibrary, FileName = 'SimG4CMS/Calo/data/HFShowerLibrary_npmt_noatt_eta4_16en_v4.root' )
from Configuration.Eras.Modifier_run2_HCAL_2017_cff import run2_HCAL_2017
run2_HCAL_2017.toModify( g4SimHits, HCalSD = dict( TestNumberingScheme = True ) )
from Configuration.Eras.Modifier_phase2_timing_cff import phase2_timing
phase2_timing.toModify( g4SimHits.ECalSD,
                             StoreLayerTimeSim = cms.untracked.bool(True),
                             TimeSliceUnit = cms.double(0.001) )
from Configuration.Eras.Modifier_phase2_common_cff import phase2_common
phase2_common.toModify(g4SimHits.HCalSD, doNeutralDensityFilter = cms.bool(True))
import FWCore.ParameterSet.Config as cms
from Configuration.Eras.Modifier_phase2_common_cff import phase2_common

PFRecoTauPFJetInputs = cms.PSet (
    inputJetCollection = cms.InputTag("ak4PFJets"),
    jetConeSize = cms.double(0.5), # for matching between tau and jet
    isolationConeSize = cms.double(0.5), # for the size of the tau isolation
    minJetPt = cms.double(14.0), # do not make taus from jet with pt below that value
    maxJetAbsEta = cms.double(2.5) # do not make taus from jet more forward/backward than this
)
phase2_common.toModify(PFRecoTauPFJetInputs, maxJetAbsEta = cms.double(4.0))