diff --git a/UFHZZ4LAna/Scripts/hadd_data_2018.py b/UFHZZ4LAna/Scripts/hadd_data_2018.py new file mode 100644 index 0000000..a7c98bb --- /dev/null +++ b/UFHZZ4LAna/Scripts/hadd_data_2018.py @@ -0,0 +1,19 @@ +import os,argparse,glob + +def makedirs(dir): + if not os.path.exists(dir): + os.makedirs(os.path.abspath(dir)) + +inputDir = "/cms/data/store/user/muahmad/2018data/UFHZZAnalysisRun2/Data2018ABCD_v1/" +outputDir = "/cms/data/store/user/t2/users/klo/Higgs/DarkZ/NTuples/Data_Run2018/Oct18_v1/" + +pdNames = glob.glob(inputDir+"*/") + +for pdDir in pdNames: + pdName = pdDir.split("/")[-2] + makedirs(os.path.join(outputDir,pdName)) + for crabDir in glob.glob(pdDir+"*/"): + dataset_name = crabDir.split("/")[-2].replace("crab_","") + cmd = "hadd -f "+os.path.join(outputDir,pdName,dataset_name+".root")+" "+crabDir+"*/*/*.root" + #print "hadd -f "+os.path.join(outputDir,pdName,dataset_name+".root") + os.system(cmd) diff --git a/UFHZZ4LAna/python/templateData_102X_2l_cfg.py b/UFHZZ4LAna/python/templateData_102X_2l_cfg.py new file mode 100755 index 0000000..d4cfe14 --- /dev/null +++ b/UFHZZ4LAna/python/templateData_102X_2l_cfg.py @@ -0,0 +1,351 @@ +import FWCore.ParameterSet.Config as cms + +from FWCore.ParameterSet.VarParsing import VarParsing + +process = cms.Process("UFHZZ4LAnalysis") + +process.load("FWCore.MessageService.MessageLogger_cfi") +process.MessageLogger.cerr.threshold = 'DEBUG' +process.MessageLogger.cerr.FwkReport.reportEvery = 1000 +process.MessageLogger.categories.append('UFHZZ4LAna') + +process.load("Configuration.StandardSequences.MagneticField_cff") +process.load("Configuration.Geometry.GeometryRecoDB_cff") +process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_condDBv2_cff') +process.load('Configuration.StandardSequences.Services_cff') +process.GlobalTag.globaltag='102X_dataRun2_Prompt_v6' + +process.Timing = cms.Service("Timing", + summaryOnly = cms.untracked.bool(True) + ) + + +process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(-1) ) + +myfilelist = cms.untracked.vstring(DUMMYFILELIST) + +process.source = cms.Source("PoolSource",fileNames = myfilelist, + duplicateCheckMode = cms.untracked.string('noDuplicateCheck'), + ) + +process.TFileService = cms.Service("TFileService", + fileName = cms.string("DUMMYFILENAME.root") +) + +# clean muons by segments +process.boostedMuons = cms.EDProducer("PATMuonCleanerBySegments", + src = cms.InputTag("slimmedMuons"), + preselection = cms.string("track.isNonnull"), + passthrough = cms.string("isGlobalMuon && numberOfMatches >= 2"), + fractionOfSharedSegments = cms.double(0.499), + ) + + +# Kalman Muon Calibrations +process.calibratedMuons = cms.EDProducer("KalmanMuonCalibrationsProducer", + muonsCollection = cms.InputTag("boostedMuons"), + isMC = cms.bool(False), + isSync = cms.bool(False) + ) + +#from EgammaAnalysis.ElectronTools.regressionWeights_cfi import regressionWeights +#process = regressionWeights(process) +#process.load('EgammaAnalysis.ElectronTools.regressionApplication_cff') + +process.selectedElectrons = cms.EDFilter("PATElectronSelector", + #src = cms.InputTag("slimmedElectrons"), + src = cms.InputTag("electronsMVA"), + cut = cms.string("pt > 5 && abs(eta)<2.5 && abs(-log(tan(superClusterPosition.theta/2)))<2.5") + ) + +process.RandomNumberGeneratorService = cms.Service("RandomNumberGeneratorService", + calibratedPatElectrons = cms.PSet( + #initialSeed = cms.untracked.uint32(SEED), # for HPC + initialSeed = cms.untracked.uint32(123456), # for crab + engineName = cms.untracked.string('TRandom3') + ) +) + +#process.load('EgammaAnalysis.ElectronTools.calibratedElectronsRun2_cfi') +#process.calibratedPatElectrons = cms.EDProducer("CalibratedPatElectronProducerRun2", +# # input collections +# electrons = cms.InputTag('selectedElectrons'), +# +# gbrForestName = cms.vstring('electron_eb_ECALTRK_lowpt', 'electron_eb_ECALTRK', +# 'electron_ee_ECALTRK_lowpt', 'electron_ee_ECALTRK', +# 'electron_eb_ECALTRK_lowpt_var', 'electron_eb_ECALTRK_var', +# 'electron_ee_ECALTRK_lowpt_var', 'electron_ee_ECALTRK_var'), +# +# isMC = cms.bool(False), +# autoDataType = cms.bool(True), +# isSynchronization = cms.bool(False), +# correctionFile = cms.string("EgammaAnalysis/ElectronTools/data/ScalesSmearings/Run2017_17Nov2017_v1_ele_unc"), +# +# recHitCollectionEB = cms.InputTag('reducedEgamma:reducedEBRecHits'), +# recHitCollectionEE = cms.InputTag('reducedEgamma:reducedEERecHits') +# +# +# ) +# +from PhysicsTools.SelectorUtils.tools.vid_id_tools import * +dataFormat = DataFormat.MiniAOD +switchOnVIDElectronIdProducer(process, dataFormat) +# define which IDs we want to produce +my_id_modules = [ 'RecoEgamma.ElectronIdentification.Identification.mvaElectronID_Fall17_iso_V2_cff' ] +# add them to the VID producer +for idmod in my_id_modules: + setupAllVIDIdsInModule(process,idmod,setupVIDElectronSelection) +#process.electronMVAValueMapProducer.srcMiniAOD = cms.InputTag("calibratedPatElectrons") +#process.electronMVAValueMapProducer.srcMiniAOD = cms.InputTag("slimmedElectrons") + +process.electronsMVA = cms.EDProducer("SlimmedElectronMvaIDProducer", + mvaValuesMap = cms.InputTag("electronMVAValueMapProducer:ElectronMVAEstimatorRun2Fall17IsoV2Values"), + #electronsCollection = cms.InputTag("calibratedPatElectrons"), + #electronsCollection = cms.InputTag("selectedElectrons"), + electronsCollection = cms.InputTag("slimmedElectrons"), + idname = cms.string("ElectronMVAEstimatorRun2Fall17IsoV2Values"), +) + +# FSR Photons +process.load('UFHZZAnalysisRun2.FSRPhotons.fsrPhotons_cff') + +#import os +# Jet Energy Corrections +from CondCore.DBCommon.CondDBSetup_cfi import * +#from CondCore.CondDB.CondDB_cfi import * +era = "Fall17_17Nov2017BCDEF_V6_DATA" +# for HPC +#dBFile = os.environ.get('CMSSW_BASE')+"/src/UFHZZAnalysisRun2/UFHZZ4LAna/data/"+era+".db" +# for crab +dBFile = "src/UFHZZAnalysisRun2/UFHZZ4LAna/data/"+era+".db" +process.jec = cms.ESSource("PoolDBESSource", + CondDBSetup, + connect = cms.string("sqlite_file:"+dBFile), + toGet = cms.VPSet( + cms.PSet( + record = cms.string("JetCorrectionsRecord"), + tag = cms.string("JetCorrectorParametersCollection_"+era+"_AK4PF"), + label= cms.untracked.string("AK4PF") + ), + cms.PSet( + record = cms.string("JetCorrectionsRecord"), + tag = cms.string("JetCorrectorParametersCollection_"+era+"_AK4PFchs"), + label= cms.untracked.string("AK4PFchs") + ), + + cms.PSet( + record = cms.string("JetCorrectionsRecord"), + tag = cms.string("JetCorrectorParametersCollection_"+era+"_AK8PFchs"), + label= cms.untracked.string("AK8PFchs") + ), + ) +) +process.es_prefer_jec = cms.ESPrefer("PoolDBESSource",'jec') + + +process.load("PhysicsTools.PatAlgos.producersLayer1.jetUpdater_cff") + +process.jetCorrFactors = process.updatedPatJetCorrFactors.clone( + src = cms.InputTag("slimmedJets"), + levels = ['L1FastJet', + 'L2Relative', + 'L3Absolute', + 'L2L3Residual'], + payload = 'AK4PFchs' ) + +process.AK8PFJetCorrFactors = process.updatedPatJetCorrFactors.clone( + src = cms.InputTag("slimmedJetsAK8"), + levels = ['L1FastJet', + 'L2Relative', + 'L3Absolute', + 'L2L3Residual'], + payload = 'AK8PFchs' ) + +process.slimmedJetsJEC = process.updatedPatJets.clone( + jetSource = cms.InputTag("slimmedJets"), + jetCorrFactorsSource = cms.VInputTag(cms.InputTag("jetCorrFactors")) + ) + +process.slimmedJetsAK8JEC = process.updatedPatJets.clone( + jetSource = cms.InputTag("slimmedJetsAK8"), + jetCorrFactorsSource = cms.VInputTag(cms.InputTag("AK8PFJetCorrFactors")) + ) + +# JER +#process.load("JetMETCorrections.Modules.JetResolutionESProducer_cfi") +## for hpc +#dBJERFile = os.environ.get('CMSSW_BASE')+"/src/UFHZZAnalysisRun2/UFHZZ4LAna/data/Summer15_25nsV6_MC_JER.db" +## for crab +#dBFile = "src/UFHZZAnalysisRun2/UFHZZ4LAna/data/Summer15_25nsV6_MC_JER.db" +#process.jer = cms.ESSource("PoolDBESSource", +# CondDBSetup, +# connect = cms.string("sqlite_file:"+dBJERFile), +# toGet = cms.VPSet( +# cms.PSet( +# record = cms.string('JetResolutionRcd'), +# tag = cms.string('JR_Summer15_25nsV6_MC_PtResolution_AK4PFchs'), +# label = cms.untracked.string('AK4PFchs_pt') +# ), +# cms.PSet( +# record = cms.string('JetResolutionRcd'), +# tag = cms.string('JR_Summer15_25nsV6_MC_PhiResolution_AK4PFchs'), +# label = cms.untracked.string('AK4PFchs_phi') +# ), +# cms.PSet( +# record = cms.string('JetResolutionScaleFactorRcd'), +# tag = cms.string('JR_Summer15_25nsV6_DATA_SF_AK4PFchs'), +# label = cms.untracked.string('AK4PFchs') +# ) +# ) +# ) +#process.es_prefer_jer = cms.ESPrefer('PoolDBESSource', 'jer') + + +#QGTag +process.load("CondCore.CondDB.CondDB_cfi") +qgDatabaseVersion = 'cmssw8020_v2' +# for hpc +#QGdBFile = os.environ.get('CMSSW_BASE')+"/src/UFHZZAnalysisRun2/UFHZZ4LAna/data/QGL_"+qgDatabaseVersion+".db" +# for crab +#QGdBFile = "src/UFHZZAnalysisRun2/UFHZZ4LAna/data/QGL_"+qgDatabaseVersion+".db" +QGdBFile = "src/UFHZZAnalysisRun2/UFHZZ4LAna/data/QGL_"+qgDatabaseVersion+".db" +process.QGPoolDBESSource = cms.ESSource("PoolDBESSource", + DBParameters = cms.PSet(messageLevel = cms.untracked.int32(1)), + timetype = cms.string('runnumber'), + toGet = cms.VPSet( + cms.PSet( + record = cms.string('QGLikelihoodRcd'), + tag = cms.string('QGLikelihoodObject_'+qgDatabaseVersion+'_AK4PFchs'), + label = cms.untracked.string('QGL_AK4PFchs') + ), + ), + connect = cms.string('sqlite_file:'+QGdBFile) +) +process.es_prefer_qg = cms.ESPrefer('PoolDBESSource','QGPoolDBESSource') +process.load('RecoJets.JetProducers.QGTagger_cfi') +process.QGTagger.srcJets = cms.InputTag( 'slimmedJetsJEC' ) +process.QGTagger.jetsLabel = cms.string('QGL_AK4PFchs') +process.QGTagger.srcVertexCollection=cms.InputTag("offlinePrimaryVertices") + +# compute corrected pruned jet mass +process.corrJets = cms.EDProducer ( "CorrJetsProducer", + jets = cms.InputTag( "slimmedJetsAK8JEC" ), + vertex = cms.InputTag( "offlineSlimmedPrimaryVertices" ), + rho = cms.InputTag( "fixedGridRhoFastjetAll" ), + payload = cms.string ( "AK8PFchs" ), + isData = cms.bool ( True )) + + +# Recompute MET +from PhysicsTools.PatUtils.tools.runMETCorrectionsAndUncertainties import runMetCorAndUncFromMiniAOD + +runMetCorAndUncFromMiniAOD(process, + isData=True, + ) + +## STXS +#process.load("SimGeneral.HepPDTESSource.pythiapdt_cfi") +#process.mergedGenParticles = cms.EDProducer("MergedGenParticleProducer", +# inputPruned = cms.InputTag("prunedGenParticles"), +# inputPacked = cms.InputTag("packedGenParticles"), +#) +#process.myGenerator = cms.EDProducer("GenParticles2HepMCConverter", +# genParticles = cms.InputTag("mergedGenParticles"), +# genEventInfo = cms.InputTag("generator"), +# signalParticlePdgIds = cms.vint32(25) +#) +#process.rivetProducerHTXS = cms.EDProducer('HTXSRivetProducer', +# HepMCCollection = cms.InputTag('myGenerator','unsmeared'), +# LHERunInfo = cms.InputTag('externalLHEProducer'), +# ProductionMode = cms.string('AUTO'), +#) +## HZZ Fiducial from RIVET +#process.rivetProducerHZZFid = cms.EDProducer('HZZRivetProducer', +# HepMCCollection = cms.InputTag('myGenerator','unsmeared'), +#) + + + +# Analyzer +process.Ana = cms.EDAnalyzer('UFHZZ4LAna', + photonSrc = cms.untracked.InputTag("slimmedPhotons"), + #electronSrc = cms.untracked.InputTag("electronsMVA"), + electronSrc = cms.untracked.InputTag("selectedElectrons"), + muonSrc = cms.untracked.InputTag("calibratedMuons"), + #muonSrc = cms.untracked.InputTag("boostedMuons"), + tauSrc = cms.untracked.InputTag("slimmedTaus"), + jetSrc = cms.untracked.InputTag("slimmedJetsJEC"), + mergedjetSrc = cms.untracked.InputTag("corrJets"), + metSrc = cms.untracked.InputTag("slimmedMETs","","UFHZZ4LAnalysis"), + vertexSrc = cms.untracked.InputTag("offlineSlimmedPrimaryVertices"), + beamSpotSrc = cms.untracked.InputTag("offlineBeamSpot"), + conversionSrc = cms.untracked.InputTag("reducedEgamma","reducedConversions"), + isMC = cms.untracked.bool(False), + isSignal = cms.untracked.bool(False), + mH = cms.untracked.double(125.0), + CrossSection = cms.untracked.double(1.0), + FilterEff = cms.untracked.double(1), + weightEvents = cms.untracked.bool(False), + elRhoSrc = cms.untracked.InputTag("fixedGridRhoFastjetAll"), + muRhoSrc = cms.untracked.InputTag("fixedGridRhoFastjetAll"), + rhoSrcSUS = cms.untracked.InputTag("fixedGridRhoFastjetCentralNeutral"), + pileupSrc = cms.untracked.InputTag("slimmedAddPileupInfo"), + pfCandsSrc = cms.untracked.InputTag("packedPFCandidates"), + fsrPhotonsSrc = cms.untracked.InputTag("boostedFsrPhotons"), + prunedgenParticlesSrc = cms.untracked.InputTag("prunedGenParticles"), + packedgenParticlesSrc = cms.untracked.InputTag("packedGenParticles"), + genJetsSrc = cms.untracked.InputTag("slimmedGenJets"), + generatorSrc = cms.untracked.InputTag("generator"), + lheInfoSrc = cms.untracked.InputTag("externalLHEProducer"), + reweightForPU = cms.untracked.bool(False), + triggerSrc = cms.InputTag("TriggerResults","","HLT"), + triggerObjects = cms.InputTag("slimmedPatTrigger"), + doTriggerMatching = cms.untracked.bool(True), + triggerList = cms.untracked.vstring( + # Single Lepton: + 'HLT_Ele35_WPTight_Gsf_v', + 'HLT_Ele38_WPTight_Gsf_v', + 'HLT_Ele40_WPTight_Gsf_v', + 'HLT_IsoMu27_v', + # Dilepton + 'HLT_Ele23_Ele12_CaloIdL_TrackIdL_IsoVL_v', + 'HLT_DoubleEle33_CaloIdL_MW_v', + 'HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_DZ_Mass3p8_v', + 'HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_DZ_Mass8_v', + 'HLT_Mu23_TrkIsoVVL_Ele12_CaloIdL_TrackIdL_IsoVL_v', + 'HLT_Mu8_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_v', + 'HLT_Mu12_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_v', + 'HLT_Mu23_TrkIsoVVL_Ele12_CaloIdL_TrackIdL_IsoVL_DZ_v', + 'HLT_DiMu9_Ele9_CaloIdL_TrackIdL_DZ_v', + 'HLT_Mu8_DiEle12_CaloIdL_TrackIdL_v', + 'HLT_Mu8_DiEle12_CaloIdL_TrackIdL_DZ_v', + # TriLepton + 'HLT_Ele16_Ele12_Ele8_CaloIdL_TrackIdL_v', + 'HLT_TripleMu_10_5_5_DZ_v', + 'HLT_TripleMu_12_10_5_v', + ), + skimLooseLeptons = cms.untracked.int32(2), + skimTightLeptons = cms.untracked.int32(2), + doMela = cms.untracked.bool(False), + #verbose = cms.untracked.bool(True) + ) + +process.p = cms.Path(process.fsrPhotonSequence* + process.boostedMuons* + process.calibratedMuons* +# process.regressionApplication* + #process.calibratedPatElectrons* + #process.electronMVAValueMapProducer* + process.egmGsfElectronIDSequence* + process.electronsMVA* + process.selectedElectrons* + process.jetCorrFactors* + process.slimmedJetsJEC* + process.QGTagger* + process.AK8PFJetCorrFactors* + process.slimmedJetsAK8JEC* + process.fullPatMetSequence* + process.corrJets* +# process.mergedGenParticles*process.myGenerator*process.rivetProducerHTXS*#process.rivetProducerHZZFid* + process.Ana + )