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")
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)
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))
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"),
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 ) )
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 ),
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)
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")
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)
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
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,
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" )
"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_*_*'))
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'),
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)
#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))
) 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 ) ) )
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') )
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"),
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
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) )
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))
), 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"])
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_*', ])
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"))
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())
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.)
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())
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"),
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 = [
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 = "", )
), 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))