cmsrel CMSSW CMSSW_5_3_8_patch1 cd CMSSW_5_3_8_patch1/src/ cmsenv addpkg CommonTools/RecoUtils V00-01-04 addpkg DataFormats/METReco V03-03-11-01 addpkg DataFormats/ParticleFlowCandidate V15-03-04-01 addpkg DataFormats/PatCandidates V06-05-06-07 addpkg DataFormats/StdDictionaries V00-02-13-01 addpkg DataFormats/TrackReco V10-02-02-01 addpkg DataFormats/VertexReco V02-00-04-01 addpkg FWCore/GuiBrowsers V00-00-70 addpkg JetMETCorrections/Type1MET V04-06-09-02 addpkg PhysicsTools/PatAlgos V08-09-52 addpkg PhysicsTools/PatUtils V03-09-28 addpkg RecoJets/JetAlgorithms V04-05-01 addpkg RecoJets/JetAssociationAlgorithms V03-01-01-00 addpkg RecoJets/JetAssociationProducers V03-02-01 addpkg RecoJets/JetProducers V05-11-01 addpkg RecoMET/METAnalyzers V00-00-08 addpkg RecoMET/METFilters V00-00-13-01 addpkg RecoMET/METProducers V03-03-12-02 addpkg RecoParticleFlow/PFProducer V15-02-09 addpkg RecoTauTag/Configuration V01-04-10 addpkg RecoTauTag/RecoTau V01-04-23 addpkg TopQuarkAnalysis/TopPairBSM V04-02-09 |
cvs co -r V00-03-05 -d CMGTools/External UserCode/CMG/CMGTools/External cvs co -r V00-00-31 -d EGamma/EGammaAnalysisTools UserCode/EGamma/EGammaAnalysisTools cd EGamma/EGammaAnalysisTools/data ; cat download.url | xargs wget cd - ; cvs co -d KStenson/TrackingFilters UserCode/KStenson/TrackingFilters cp KStenson/TrackingFilters/plugins/TobTecFakesFilter.cc RecoMET/METFilters/plugins/ cp KStenson/TrackingFilters/python/tobtecfakesfilter_cfi.py RecoMET/METFilters/python rm -r KStenson/TrackingFilters git clone https://github.com/rgerosa/ElectroWeakAnalysis ![]() mv ElectroWeakAnalysis/VPlusJets/test/B2GPatuple/metUncertainty_cff.py TopQuarkAnalysis/TopPairBSM/python mv ElectroWeakAnalysis/VPlusJets/test/B2GPatuple/ttbsm_cfg.py TopQuarkAnalysis/TopPairBSM/test mv ElectroWeakAnalysis/VPlusJets/test/B2GPatuple/SmearedPATParticleProducer.cc PhysicsTools/PatUtils/plugins/ rm -rf ElectroWeakAnalysis/ scramv1 b -j 4 |
doPatJetSmearing = if true , apply resolution smearing on Jets to match what is observed in data and use this collection as well as the smeared
typeI pf met as default during the Met Uncertainty sequence
process.patPF2PATSequencePFlow.remove(process.patMETsPFlow) process.patPF2PATSequencePFlow.replace(process.producePatPFMETCorrectionsPFlow,process.makePatMETsPFlow) process.patMETsPFlow.metSource = cms.InputTag("pfType1CorrectedMetPFlow")
process.pfAllPhotonsPFlow = cms.EDFilter("PdgIdPFCandidateSelector", pdgId = cms.vint32(22), src = cms.InputTag("pfNoPileUpIsoPFlow")) process.pfSelectedPhotonsPFlow = cms.EDFilter("GenericPFCandidateSelector", src = cms.InputTag("pfAllPhotonsPFlow"), cut = cms.string('mva_nothing_gamma>0')) process.pfIsolatedPhotonsPFlow = cms.EDFilter("IsolatedPFCandidateSelector", src = cms.InputTag("pfSelectedPhotonsPFlow"), isolationValueMapsCharged = cms.VInputTag(cms.InputTag("phPFIsoValueCharged04PFIdPFlow")), deltaBetaIsolationValueMap = cms.InputTag("phPFIsoValuePU04PFIdPFlow"), isRelative = cms.bool(True), isolationCut = cms.double(999), doDeltaBetaCorrection = cms.bool(False), deltaBetaFactor = cms.double(-0.5), isolationValueMapsNeutral = cms.VInputTag(cms.InputTag("phPFIsoValueNeutral04PFIdPFlow"), cms.InputTag("phPFIsoValueGamma04PFIdPFlow")))
process.photonMatch = cms.EDProducer("MCMatcher", src = cms.InputTag("photons"), maxDPtRel = cms.double(1.0), mcPdgId = cms.vint32(22), mcStatus = cms.vint32(1), resolveByMatchQuality = cms.bool(False), maxDeltaR = cms.double(0.2), checkCharge = cms.bool(True), resolveAmbiguities = cms.bool(True), matched = cms.InputTag("genParticles")) process.patPhotons = cms.EDProducer("PATPhotonProducer", userData = cms.PSet( userCands = cms.PSet( src = cms.VInputTag("")), userInts = cms.PSet( src = cms.VInputTag("")), userFloats = cms.PSet(src = cms.VInputTag("")), userClasses = cms.PSet(src = cms.VInputTag("")), userFunctionLabels = cms.vstring(), userFunctions = cms.vstring()), addGenMatch = cms.bool(True), addResolutions = cms.bool(False), addEfficiencies = cms.bool(False), photonIDSources = cms.PSet( PhotonCutBasedIDTight = cms.InputTag("PhotonIDProd","PhotonCutBasedIDTight"), PhotonCutBasedIDLoose = cms.InputTag("PhotonIDProd","PhotonCutBasedIDLoose")), isoDeposits = cms.PSet(), efficiencies = cms.PSet(), embedSuperCluster = cms.bool(True), embedGenMatch = cms.bool(True), resolutions = cms.PSet(), addPhotonID = cms.bool(True), photonSource = cms.InputTag("photons"), userIsolation = cms.PSet(), genParticleMatch = cms.InputTag("photonMatch"))
process.cleanPatCandidates.replace(process.cleanPatMuons,process.cleanPatMuonsPFlow) process.cleanPatCandidates.replace(process.cleanPatElectrons,process.cleanPatElectronsPFlow) process.cleanPatPhotons.checkOverlaps.electrons.src = cms.InputTag("cleanPatElectronsPFlow") process.cleanPatCandidates.replace(process.cleanPatTaus,process.cleanPatTausPFlow) process.cleanPatCandidates.replace(process.cleanPatJets,process.cleanPatJetsPFlow) process.cleanPatJetsPFlow.checkOverlaps.photons.src = cms.InputTag("cleanPatPhotons") process.patDefaultSequence.remove(process.countPatCandidates)
process.phoPFIso = cms.EDFilter("PhotonIsoProducer", verbose = cms.untracked.bool(False), photonTag = cms.InputTag("photons"), nameValueMapIsoNh = cms.string('nhIsoForGsfEle'), nameValueMapIsoCh = cms.string('chIsoForGsfEle'), vertexTag = cms.InputTag("offlinePrimaryVertices"), nameValueMapIsoPh = cms.string('phIsoForGsfEle'), particleFlowTag = cms.InputTag("particleFlow")) In the patseq : process.phoPFIso is added, and the in the output 'keep *_phoPFIso_*_*'
from TopQuarkAnalysis.TopPairBSM.metUncertainty_cff import runMetUncertainty ## in order to have the best photon collection cleaned from electrons process.cleanPatCandidates.replace(process.cleanPatMuons,process.cleanPatMuonsPFlow) process.cleanPatCandidates.replace(process.cleanPatElectrons,process.cleanPatElectronsPFlow) process.cleanPatPhotons.checkOverlaps.electrons.src = cms.InputTag("cleanPatElectronsPFlow") process.cleanPatCandidates.replace(process.cleanPatTaus,process.cleanPatTausPFlow) process.cleanPatCandidates.replace(process.cleanPatJets,process.cleanPatJetsPFlow) process.cleanPatJetsPFlow.checkOverlaps.photons.src = cms.InputTag("cleanPatPhotons") process.patDefaultSequence.remove(process.countPatCandidates) patJetCollection = cms.InputTag("selectedPatJets"+postfix) patMuonCollection = cms.InputTag("patMuons"+postfix) patElectronCollection = cms.InputTag("patElectrons"+postfix) patTauCollection = cms.InputTag("patTaus"+postfix) photonCollection = cms.InputTag("cleanPatPhotons") patUnclusteredCandidate = cms.InputTag("pfCandMETcorr"+postfix) TypeIpatMetCollection = cms.InputTag("patMETs"+postfix) useData = options.useData doTauSystematic = False doPhotonSystematic = True storeSmearandShiftCollections = False if options.doMetUncertainty : runMetUncertainty(process, useData, options.doPatJetSmearing, patJetCollection, patMuonCollection, patElectronCollection, patTauCollection, photonCollection, patUnclusteredCandidate, TypeIpatMetCollection, doTauSystematic, doPhotonSystematic, storeSmearandShiftCollections )
process.load("CMGTools.External.pujetidsequence_cff") process.puJetIdChs.jets = cms.InputTag("selectedPatJetsPFlow") process.puJetIdChs.vertexes = cms.InputTag("goodOfflinePrimaryVertices") process.puJetMvaChs.jets = cms.InputTag("selectedPatJetsPFlow") process.puJetMvaChs.vertexes = cms.InputTag("goodOfflinePrimaryVertices") process.puJetMvaChs.algos[0].tmvaWeights = cms.string("CMGTools/External/data/TMVAClassificationCategory_JetID_53X_chs_Dec2012.weights.xml") process.puJetIdSequenceChs = cms.Sequence(process.puJetIdChs* process.puJetMvaChs) if not options.useData and options.doMetUncertainty : if not options.doPatJetSmearing : process.puJetIdChsEnUp = process.puJetIdChs.clone(jets = cms.InputTag("shiftedPatJetsPFlowEnUp")) process.puJetMvaChsEnUp = process.puJetMvaChs.clone(jets = cms.InputTag("shiftedPatJetsPFlowEnUp"), jetids = cms.InputTag("puJetIdChsEnUp")) process.puJetIdChsEnDown = process.puJetIdChs.clone(jets = cms.InputTag("shiftedPatJetsPFlowEnDown")) process.puJetMvaChsEnDown = process.puJetMvaChs.clone(jets = cms.InputTag("shiftedPatJetsPFlowEnDown"), jetids = cms.InputTag("puJetIdChsEnDown")) process.puJetIdSequenceChs += process.puJetIdChsEnUp*process.puJetMvaChsEnUp process.puJetIdSequenceChs += process.puJetIdChsEnDown*process.puJetMvaChsEnDown if not storeSmearandShiftCollections : process.puJetIdSequenceChs.remove(process.puJetIdChsEnUp) process.puJetIdSequenceChs.remove(process.puJetMvaChsEnUp) process.puJetIdSequenceChs.remove(process.puJetIdChsEnDown) process.puJetIdSequenceChs.remove(process.puJetMvaChsEnDown) else : process.puSmearedJetMvaChs = process.puJetMvaChs.clone(jets = cms.InputTag("smearedPatJetsPFlow"), jetids = cms.InputTag("puSmearedJetIdChs")) process.puSmearedJetIdChsResUp = process.puJetIdChs.clone(jets = cms.InputTag("smearedPatJetsPFlowResUp")) process.puSmearedJetMvaChsResUp = process.puJetMvaChs.clone(jets = cms.InputTag("smearedPatJetsPFlowResUp"), jetids = cms.InputTag("puSmearedJetIdChsResUp")) process.puSmearedJetIdChsResDown = process.puJetIdChs.clone(jets = cms.InputTag("smearedPatJetsPFlowResDown")) process.puSmearedJetMvaChsResDown = process.puJetMvaChs.clone(jets = cms.InputTag("smearedPatJetsPFlowResDown"), jetids = cms.InputTag("puSmearedJetIdChsResDown")) process.pushiftedSmearedJetIdChsEnUp = process.puJetIdChs.clone(jets = cms.InputTag("shiftedSmearedPatJetsPFlowEnUp")) process.pushiftedSmearedJetMvaChsEnUp = process.puJetMvaChs.clone(jets = cms.InputTag("shiftedSmearedPatJetsPFlowEnUp"), jetids = cms.InputTag("pushiftedSmearedJetIdChsEnUp")) process.pushiftedSmearedJetIdChsEnDown = process.puJetIdChs.clone(jets = cms.InputTag("shiftedSmearedPatJetsPFlowEnDown")) process.pushiftedSmearedJetMvaChsEnDown = process.puJetMvaChs.clone(jets = cms.InputTag("shiftedSmearedPatJetsPFlowEnDown"), jetids = cms.InputTag("pushiftedSmearedJetIdChsEnDown")) process.puJetIdSequenceChs += process.puSmearedJetIdChs*process.puSmearedJetMvaChs process.puJetIdSequenceChs += process.puSmearedJetIdChsResUp*process.puSmearedJetMvaChsResUp process.puJetIdSequenceChs += process.puSmearedJetIdChsResDown*process.puSmearedJetMvaChsResDown process.puJetIdSequenceChs += process.pushiftedSmearedJetIdChsEnUp*process.pushiftedSmearedJetMvaChsEnUp process.puJetIdSequenceChs += process.pushiftedSmearedJetIdChsEnDown*process.pushiftedSmearedJetMvaChsEnDown if not storeSmearandShiftCollections : process.puJetIdSequenceChs.remove(process.puSmearedJetIdChsResUp) process.puJetIdSequenceChs.remove(process.puSmearedJetMvaChsResUp) process.puJetIdSequenceChs.remove(process.puSmearedJetIdChsResDown) process.puJetIdSequenceChs.remove(process.puSmearedJetMvaChsResDown) process.puJetIdSequenceChs.remove(rocess.pushiftedSmearedJetIdChsEnUp) process.puJetIdSequenceChs.remove(process.pushiftedSmearedJetMvaChsEnUp) process.puJetIdSequenceChs.remove(rocess.pushiftedSmearedJetIdChsEnDown) process.puJetIdSequenceChs.remove(process.pushiftedSmearedJetMvaChsEnDown) process.patseq += process.puJetIdSequenceChs process.out.outputCommands += ['keep *_pu*JetId*_*_*', 'keep *_pu*JetMva*_*_*']
vector<pat::Electron> "shiftedPatElectronsPFlowEnDown" "PAT" vector<pat::Electron> "shiftedPatElectronsPFlowEnUp" "PAT" vector<pat::Jet> "shiftedPatJetsPFlowEnDown" "PAT" vector<pat::Jet> "shiftedPatJetsPFlowEnUp" "PAT" vector<pat::Muon> "shiftedPatMuonsPFlowEnDown" "PAT" vector<pat::Muon> "shiftedPatMuonsPFlowEnUp" "PAT" vector<pat::Photon> "shiftedPatPhotonPFlowEnDown" "PAT" vector<pat::Photon> "shiftedPatPhotonPFlowEnUp" "PAT" vector<pat::Tau> "shiftedPatTausPFlowEnDown" "PAT" vector<pat::Tau> "shiftedPatTausPFlowEnUp" "PAT"Smeared Collections( this smeared jets are produced only when doJetSmearing is set to true) :
vector<pat::Electron> "smearedPatElectronsPFlow" "PAT" vector<pat::Electron> "smearedPatElectronsPFlowResDown" "PAT" vector<pat::Electron> "smearedPatElectronsPFlowResUp" "PAT" vector<pat::Jet> "smearedPatJetsPFlow" "PAT" vector<pat::Jet> "shiftedsmearedPatJetsPFlowEnUp" "PAT" vector<pat::Jet> "shiftedsmearedPatJetsPFlowEnDown" "PAT" vector<pat::Jet> "smearedPatJetsPFlowResDown" "PAT" vector<pat::Jet> "smearedPatJetsPFlowResUp" "PAT" vector<pat::Muon> "smearedPatMuonsPFlow" "PAT" vector<pat::Muon> "smearedPatMuonsPFlowResDown" "PAT" vector<pat::Muon> "smearedPatMuonsPFlowResUp" "PAT" vector<pat::Photon> "smearedPatPhotonPFlow" "PAT" vector<pat::Photon> "smearedPatPhotonPFlowResDown" "PAT" vector<pat::Photon> "smearedPatPhotonPFlowResUp" "PAT" vector<pat::Tau> "smearedPatTausPFlow" "PAT" vector<pat::Tau> "smearedPatTausPFlowResDown" "PAT" vector<pat::Tau> "smearedPatTausPFlowResUp" "PAT"
vector<pat::MET> "patType1CorrectedPFMetElectronEnDown" "PAT" vector<pat::MET> "patType1CorrectedPFMetElectronEnUp" "PAT" vector<pat::MET> "patType1CorrectedPFMetElectronRes" "PAT" vector<pat::MET> "patType1CorrectedPFMetElectronResDown" "PAT" vector<pat::MET> "patType1CorrectedPFMetElectronResUp" "PAT" vector<pat::MET> "patType1CorrectedPFMetJetEnDown" "PAT" vector<pat::MET> "patType1CorrectedPFMetJetEnUp" "PAT" vector<pat::MET> "patType1CorrectedPFMetMuonEnDown" "PAT" vector<pat::MET> "patType1CorrectedPFMetMuonEnUp" "PAT" vector<pat::MET> "patType1CorrectedPFMetMuonRes" "PAT" vector<pat::MET> "patType1CorrectedPFMetMuonResDown" "PAT" vector<pat::MET> "patType1CorrectedPFMetMuonResUp" "PAT" vector<pat::MET> "patType1CorrectedPFMetPhotonEnDown" "PAT" vector<pat::MET> "patType1CorrectedPFMetPhotonEnUp" "PAT" vector<pat::MET> "patType1CorrectedPFMetPhotonRes" "PAT" vector<pat::MET> "patType1CorrectedPFMetPhotonResDown" "PAT" vector<pat::MET> "patType1CorrectedPFMetPhotonResUp" "PAT" vector<pat::MET> "patType1CorrectedPFMetTauRes" "PAT" vector<pat::MET> "patType1CorrectedPFMetTauResDown" "PAT" vector<pat::MET> "patType1CorrectedPFMetTauResUp" "PAT" vector<pat::MET> "patType1CorrectedPFMetTausEnDown" "PAT" vector<pat::MET> "patType1CorrectedPFMetTausEnUp" "PAT" vector<pat::MET> "patType1CorrectedPFMetUnclusteredEnDown" "PAT" vector<pat::MET> "patType1CorrectedPFMetUnclusteredEnUp" "PAT"
vector<pat::MET> "patType1CorrectedPFSmearedMet" "PAT" vector<pat::MET> "patType1CorrectedPFSmearedMetElectronEnDown" "PAT" vector<pat::MET> "patType1CorrectedPFSmearedMetElectronEnUp" "PAT" vector<pat::MET> "patType1CorrectedPFSmearedMetElectronRes" "PAT" vector<pat::MET> "patType1CorrectedPFSmearedMetElectronResDown" "PAT" vector<pat::MET> "patType1CorrectedPFSmearedMetElectronResUp" "PAT" vector<pat::MET> "patType1CorrectedPFSmearedMetJetEnDown" "PAT" vector<pat::MET> "patType1CorrectedPFSmearedMetJetEnUp" "PAT" vector<pat::MET> "patType1CorrectedPFSmearedMetJetResDown" "PAT" vector<pat::MET> "patType1CorrectedPFSmearedMetJetResUp" "PAT" vector<pat::MET> "patType1CorrectedPFSmearedMetMuonEnDown" "PAT" vector<pat::MET> "patType1CorrectedPFSmearedMetMuonEnUp" "PAT" vector<pat::MET> "patType1CorrectedPFSmearedMetMuonRes" "PAT" vector<pat::MET> "patType1CorrectedPFSmearedMetMuonResDown" "PAT" vector<pat::MET> "patType1CorrectedPFSmearedMetMuonResUp" "PAT" vector<pat::MET> "patType1CorrectedPFSmearedMetPhotonEnDown" "PAT" vector<pat::MET> "patType1CorrectedPFSmearedMetPhotonEnUp" "PAT" vector<pat::MET> "patType1CorrectedPFSmearedMetPhotonRes" "PAT" vector<pat::MET> "patType1CorrectedPFSmearedMetPhotonResDown" "PAT" vector<pat::MET> "patType1CorrectedPFSmearedMetPhotonResUp" "PAT" vector<pat::MET> "patType1CorrectedPFSmearedMetTauRes" "PAT" vector<pat::MET> "patType1CorrectedPFSmearedMetTauResDown" "PAT" vector<pat::MET> "patType1CorrectedPFSmearedMetTauResUp" "PAT" vector<pat::MET> "patType1CorrectedPFSmearedMetTausEnDown" "PAT" vector<pat::MET> "patType1CorrectedPFSmearedMetTausEnUp" "PAT" vector<pat::MET> "patType1CorrectedPFSmearedMetUnclusteredEnDown" "PAT" vector<pat::MET> "patType1CorrectedPFSmearedMetUnclusteredEnUp" "PAT"
DATA: cmsRun ttbsm_cfg.py useData=0 writePFCands=1 writeGenParticles=1 useExtraJetColls=0 doMetUncertainty=0 doPatJetSmearing=0
MC if you want to smear jet to reproduce resolution in data: cmsRun ttbsm_cfg.py useData=0 writePFCands=1 writeGenParticles=1 useExtraJetColls=0 doMetUncertainty=1 doPatJetSmearing=1
MC if you not to smear jet to reproduce resolution in data: cmsRun ttbsm_cfg.py useData=0 writePFCands=1 writeGenParticles=1 useExtraJetColls=0 doMetUncertainty=1 doPatJetSmearing=0Here we can find a common point, for me is better to apply jet smearing in order to have something closer to data and have a coherent met with resolution effect inside. Of course this trick is applied only on ak5 PF jets, for other jet collections it should be do offiline and no effect has to be propagated on the met.
source /uscmst1/prod/sw/cms/setup/cshrc prod (at Fermilab LPC only) kserver_init (at Fermilab LPC only) cmsrel CMSSW_5_3_8_patch1 cd CMSSW_5_3_8_patch1/src/ cmsenv addpkg CommonTools/RecoUtils V00-01-04 addpkg CondFormats/JetMETObjects V03-03-00 addpkg DataFormats/METReco V03-03-11-01 addpkg DataFormats/PatCandidates V06-05-06-07 addpkg JetMETCorrections/Type1MET V04-06-09-02 addpkg PhysicsTools/PatAlgos V08-09-52 addpkg PhysicsTools/PatUtils V03-09-28 addpkg RecoMET/METAnalyzers V00-00-08 addpkg RecoMET/METFilters V00-00-13-01 addpkg RecoMET/METProducers V03-03-12-02 |
cvs co -r HEAD PhysicsTools/KinFitter cvs co -r HEAD EgammaAnalysis/ElectronTools/interface/ElectronEffectiveArea.h cvs co -d EGamma/EGammaAnalysisTools -r V00-00-31 UserCode/EGamma/EGammaAnalysisTools cd EGamma/EGammaAnalysisTools/data cat download.url | xargs wget ; cd - cvs up -r 1.13 EGamma/EGammaAnalysisTools/interface/PFIsolationEstimator.h cvs up -r 1.20 EGamma/EGammaAnalysisTools/src/PFIsolationEstimator.cc cvs co -r V00-03-05 -d CMGTools/External UserCode/CMG/CMGTools/External cvs co -d MMozer/powhegweight UserCode/MMozer/powhegweight cvs co -d KStenson/TrackingFilters UserCode/KStenson/TrackingFilters cp KStenson/TrackingFilters/plugins/TobTecFakesFilter.cc RecoMET/METFilters/plugins/ cp KStenson/TrackingFilters/python/tobtecfakesfilter_cfi.py RecoMET/METFilters/python rm -r KStenson/TrackingFilters cvs co -d SHarper/HEEPAnalyzer UserCode/SHarper/HEEPAnalyzer git clone https://github.com/nhanvtran/JetSubstructure ![]() git clone https://github.com/rgerosa/ElectroWeakAnalysis ![]() scramv1 b -j 4 |
process.load("ElectroWeakAnalysis.VPlusJets.TrackCollections_cfi")
from ElectroWeakAnalysis.VPlusJets.patMETSysShiftCorrection_cfi import *it takes some input parameters: options.isMC options.useSmearedCollection = if this is set to true, it runs the correction also of all the met smeared collections runCorrection = string use to specify which period to take into account for shift correction value, default : Run2012ABCD vertexCollection = vertex collection to be considered, default : goodOfflinePrimaryVertices options.didPhotonSystematic = if you want to consider also photon shifted/smeared met collections options.didTauSystematic = if you want to consider also tau smeared/shifted met collections patTypeIMetCorrected = default unsmeared type I corrected met, default : patMETsPFlow patTypeIMetCorrectedForMetUncertainty = vector defined in the patMETSysShiftCorrection_cfi with all the typeI met for shift and smeared particles to be considered It produces in the output a lot of met collections, which are the ones to be taken into account for the VplusJets analyzer in the last stage
from ElectroWeakAnalysis.VPlusJets.WmunuCollectionsPAT_cfi import*Input parameters : patMuonCollection = input collection for muons, default : selectedPatMuonsPFlow patElectronCollection = input collection for electrons default : selectedPatElectronsPFlow vertexCollection = vertex collection to be considered, default : goodOfflinePrimaryVertices options.isQCD = if you want to invert iso cut for muons pTCutValue = Cut on the pT of the tight muon, font color="blue"> set at 50 GeV for HEEPid and 20 GeV for Higgs pTCutLooseMuonVeto = pT cut for loose muon definition, default : 20 GeV pTCutLooseElectronVeto = pT cut for loose electron definition, default : 20 GeV options.isTransverseMassCut = in order to apply transverse mass cut TransverseMassCutValue = value for mT cut, default : 30 GeV patTypeICorrectedMetSysShifted = default typeI met corrected + phi shift default : patMETsPFlowSysShifted
from ElectroWeakAnalysis.VPlusJets.AK5JetCollectionsPATSelection_cfi import *Input parameters : patJetCollection = input jet collections, in the most general case: default : selectedPatJetsPFlow, shiftedPatJetsPFlowEnUp, shiftedPatJetsPFlowEnDown patSmearedJetCollection = input smeared jet collection, in general case: default : smearedPatJetsPFlow, shiftedSmearedPatJetsPFlowEnUp, shiftedSmearedPatJetsPFlowEnDown, smearedPatJetsPFlowResDown, smearedPatJetsPFlowResUp options.isPileUpJetID = in order to apply loose pile Up jet ID and store flag info for harder wp useMVAPileUpJetID = if set to True, mva pile up discriminator used instead of cut based one default : True options.useSmearedCollection =apply the sequence also on smearedPatJetsPFlow options.useSmearedCollection =apply the sequence also on smearedPatJetsPFlow options.storeSmearandShiftCollections, = to run jet id, pileup id, cleaning and pT skim also on all the other jet collection (shifted+smeared) default : 30 GeV options.isRequireTwoJets = if set to True, require at least two jets with pT > threshold. Useful for resolved analysis options.isMC = this option is useful to run the genTagJetPath and the GenJetPath.
JetCollection = ak5PFJetsPtSkimmed , ak5PFJetsPtSkimmedCentral, ak5PFJetsPtSkimmedForward </br> ak5PFSmearedJetsPtSkimmed , ak5PFSmearedJetsPtSkimmedCentral, ak5PFSmearedJetsPtSkimmedForward (only onMC) srcPhoton = cleanPatPhotons IsoValPhoton = cms.VInputTag(cms.InputTag('phoPFIso:chIsoForGsfEle'), cms.InputTag('phoPFIso:phIsoForGsfEle'), cms.InputTag('phoPFIso:nhIsoForGsfEle') srcVectorBoson = bestWmunu or bestWToEnu srcPrimaryVertex = goodOfflinePrimaryVertices srcMet = here all the shifted met collection should be stored in principle you can find the list here (patTypeIMetCorrected, patTypeIMetCorrectedForMetUncertainty --> only when you run on MC): https://github.com/rgerosa/ElectroWeakAnalysis/blob/master/VPlusJets/python/patMETSysShiftCorrection_cfi.py </br> you have just to add "SysShifted" for having the met after the shift srcMetMVA = we don't have mva met now, so drop this srcGen = ak5GenJets srcMuons = patTunePMuonPFlow are new tune p muon collection, tightMuons is the pat muon collection after the id srcBeamSpot = offlineBeamSpot srcCaloMet = drop this part srcgenMet = genMetTrue srcGenParticles = genParticles srcJetsforRho = kt6PFJetsPFlow srcJetsforRho_lepIso = kt6PFJetsForIsolation srcJetsforRhoCHS = probably not inside the pat but i have to cross check with the previous collections srcJetsforRho_lepIsoCHS = probably not inside the pat but i have to cross check with the previous collections srcFlavorByValue = ak5tagJet all the other option are ok till now
For Data: cmsRun WmunuJetsAnalysisPAT_cfg.py isMC=0 isPileUpJetID=1 isRequireTwoJets=0 isHEEPID=1 useSmearedCollection=0 storeSmearandShiftCollections=0 (Mu Channel) cmsRun WenuJetsAnalysisPAT_cfg.py isMC=0 isPileUpJetID=1 isRequireTwoJets=0 isHEEPID=1 useSmearedCollection=0 storeSmearandShiftCollections=0 (Ele Channel)
For MC : cmsRun WmunuJetsAnalysisPAT_cfg.py isMC=1 isPileUpJetID=1 isRequireTwoJets=0 isHEEPID=1 useSmearedCollection=1 storeSmearandShiftCollections=0 (Mu Channel) cmsRun WenuJetsAnalysisPAT_cfg.py isMC=1 isPileUpJetID=1 isRequireTwoJets=0 isHEEPID=1 useSmearedCollection=1 storeSmearandShiftCollections=0 (Ele Channel)