cfgTools.addCategories( diphotonDumper, [ ## cuts are applied in cascade ## ("all","1"), ("EBHighR9", "max(abs(leadingPhoton.superCluster.eta),abs(subLeadingPhoton.superCluster.eta))<1.4442" "&& min(leadingPhoton.r9,subLeadingPhoton.r9)>0.94", 0), ("EBLowR9", "max(abs(leadingPhoton.superCluster.eta),abs(subLeadingPhoton.superCluster.eta))<1.4442", 0), ("EEHighR9", "min(leadingPhoton.r9,subLeadingPhoton.r9)>0.94", 0), ("EELowR9", "1", 0), ], variables=[ "mass", "pt", "leadPt :=leadingPhoton.pt", "subleadPt :=subLeadingPhoton.pt", "leadEta :=leadingPhoton.eta", "subleadEta :=subLeadingPhoton.eta", "leadR9 :=leadingPhoton.r9", "subleadR9 :=subLeadingPhoton.r9", "leadScEta :=leadingPhoton.superCluster.eta", "subleadScEta :=subLeadingPhoton.superCluster.eta", "leadPhi :=leadingPhoton.phi", "subleadPhi :=subLeadingPhoton.phi", "leadCShapeMVA :=leadingPhoton.userFloat('cShapeMVA')", "subleadCShapeMVA :=subLeadingPhoton.userFloat('cShapeMVA')", "minR9 :=min(leadingPhoton.r9,subLeadingPhoton.r9)", "maxEta :=max(abs(leadingPhoton.superCluster.eta),abs(subLeadingPhoton.superCluster.eta))", "leadBlockChIso := leadingView.pfChIso03WrtChosenVtx", "leadBlockPhoIso := leadingPhoton.pfPhoIso03", "leadRndConeChIso := leadingView.extraChIsoWrtChoosenVtx('rnd03')", "leadRndConePhoIso:= leadingPhoton.extraPhoIso('rnd03')", "leadPhoIsoEA := map( abs(leadingPhoton.superCluster.eta) :: 0.,0.9,1.5,2.0,2.2,3. :: 0.21,0.2,0.14,0.22,0.31 )", "subleadPhoIsoEA := map( abs(subLeadingPhoton.superCluster.eta) :: 0.,0.9,1.5,2.0,2.2,3. :: 0.21,0.2,0.14,0.22,0.31 )", "leadMatchType :=leadingPhoton.genMatchType", "leadGenIso :=leadingPhoton.userFloat('genIso')", "subleadMatchType :=subLeadingPhoton.genMatchType", "subleadGenIso :=subLeadingPhoton.userFloat('genIso')", "leadChIso := leadingPhoton.egChargedHadronIso", "leadPhoIso := leadingPhoton.egPhotonIso", "leadNeutIso := leadingPhoton.egNeutralHadronIso", "leadHoE := leadingPhoton.hadTowOverEm", "leadSigmaIeIe := (?leadingPhoton.r9>0.8||leadingPhoton.egChargedHadronIso<20||leadingPhoton.egChargedHadronIso/leadingPhoton.pt<0.3?leadingPhoton.full5x5_sigmaIetaIeta:leadingPhoton.sigmaIetaIeta)", "leadPixSeed := leadingPhoton.hasPixelSeed", "leadPassEleVeto := leadingPhoton.passElectronVeto", "subleadBlockChIso := subLeadingView.pfChIso03WrtChosenVtx", "subleadBlockPhoIso := subLeadingPhoton.pfPhoIso03", "subleadRndConeChIso := subLeadingView.extraChIsoWrtChoosenVtx('rnd03')", "subleadRndConePhoIso:= subLeadingPhoton.extraPhoIso('rnd03')", "subleadChIso := subLeadingPhoton.egChargedHadronIso", "subleadPhoIso := subLeadingPhoton.egPhotonIso", "subleadNeutIso := subLeadingPhoton.egNeutralHadronIso", "subleadHoE := subLeadingPhoton.hadTowOverEm", "subleadSigmaIeIe := (?subLeadingPhoton.r9>0.8||subLeadingPhoton.egChargedHadronIso<20||subLeadingPhoton.egChargedHadronIso/subLeadingPhoton.pt<0.3?subLeadingPhoton.full5x5_sigmaIetaIeta:subLeadingPhoton.sigmaIetaIeta)", "subleadPixSeed := subLeadingPhoton.hasPixelSeed", "subleadPassEleVeto := subLeadingPhoton.passElectronVeto", ], histograms=[ "mass>>mass(1500,0,15000)", "leadPt>>leadPt(145,100,3000)", "subleadPt>>subleadPt(145,100,3000)", "leadEta>>leadEta(55,-2.75,2.75)", "subleadEta>>subleadEta(55,-2.75,2.75)", "leadBlockChIso>>leadBlockChIso(120,-10,50)", "leadBlockPhoIso>>leadBlockPhoIso(120,-10,50)", "leadChIso>>leadChIso(120,-10,50)", "leadPhoIso>>leadPhoIso(120,-10,50)", "leadNeutIso>>leadNeutIso(120,-10,50)", "leadHoE>>leadHoE(40,0,0.2)", "leadSigmaIeIe>>leadSigmaIeIe(50,0,5.e-2)", "leadPixSeed>>leadPixSeed(2,-0.5,1.5)", "subleadPassEleVeto>>subleadPassEleVeto(2,-0.5,1.5)", "subleadBlockChIso>>subleadBlockChIso(120,-10,50)", "subleadBlockPhoIso>>subleadBlockPhoIso(120,-10,50)", "subleadChIso>>subleadChIso(120,-10,50)", "subleadPhoIso>>subleadPhoIso(120,-10,50)", "subleadNeutIso>>subleadNeutIso(120,-10,50)", "subleadHoE>>subleadHoE(40,0,0.2)", "subleadSigmaIeIe>>subleadSigmaIeIe(50,0,5.e-2)", "subleadPixSeed>>subleadPixSeed(2,-0.5,1.5)", "subleadPassEleVeto>>subleadPassEleVeto(2,-0.5,1.5)", "subleadPt:leadPt>>ptSubVsLead(145,100,3000:145,100,3000)", "minR9>>minR9(110,0,1.1)", "maxEta>>maxEta(250,0,2.5)" ])
cfgTools.addCategories(process.mumugammaDumper, ## categories definition ## cuts are applied in cascade. Events getting to these categories have already failed the "Reject" selection [("EB","abs(MMG_Photon.superCluster.eta)<1.5",0), ## ("EE","abs(MMG_Photon.superCluster.eta)>1.5",0),##("EE","1",0), ## evereything elese is EB+EE ], ## variables to be dumped in trees/datasets. Same variables for all categories ## if different variables wanted for different categories, can add categorie one by one with cfgTools.addCategory variables=["Mass_mmg :=mass", "Mass_mumu :=DiMuPtr.mass", "PT_mumu :=DiMuPtr.pt", "leadPt :=DiMuPtr.leadingMuon.pt", "subleadPt :=DiMuPtr.subleadingMuon.pt", "photonPT :=MMG_Photon.pt", #"photonMVAOutput :=MMG_Photon.PhoIdMvaDWrtVtx(Vertex)", "photonSCeta :=MMG_Photon.superCluster.eta" #"evtrho :=rho" ], ## histograms to be plotted. ## the variables need to be defined first histograms=["Mass_mmg>>mass(160,10,170)", "Mass_mumu>>mass_mumu(80,20,100)", "PT_mumu>>pt_mumu(100,0,100)", "Mass_mmg:Mass_mumu>>MmmgVsMmm(120,30,150:120,30,150)", "subleadPt:leadPt>>ptSubVsLead(200,10,210:200,10,210)", #"evtrho>>eventRho(50, 0, 50)", "photonPT>>photonpt(100,10,110)", #"photonMVAOutput>>IDmva(80,0.2,1.0)", "photonSCeta>>scEta(50,-2.5,2.5)" #"maxEta>>maxEta[0.,0.1,0.2,0.3,0.4,0.6,0.8,1.0,1.2,1.4442,1.566,1.7,1.8,2.,2.2,2.3,2.5]" ] )
cats += [("VBFDiJet_%s"%syst,"leadingJet.pt>0&&%s"%systcutstring,0)]#, #("excluded_%s"%syst,systcutstring,0)] else: cats = [ ("VBFDiJet","leadingJet.pt>0",0)#, #("excluded","1",0) ] cats += [ ("VBFDiJet","leadingJet.pt>0",0)#, #("excluded","1",0) ] cfgTools.addCategories(process.vbfTagDumper, cats, variables = all_variables, histograms = [] ) print cats #process.vbfTagDumper.nameTemplate ="$PROCESS_$SQRTS_$LABEL_$SUBCAT_$CLASSNAME" process.vbfTagDumper.nameTemplate = "$PROCESS_$SQRTS_$CLASSNAME_$SUBCAT_$LABEL" customize.setDefault("maxEvents" , -1 ) # max-number of events customize.setDefault("targetLumi", 1.00e+3 ) # define integrated lumi customize(process) from HLTrigger.HLTfilters.hltHighLevel_cfi import hltHighLevel process.hltHighLevel = hltHighLevel.clone(HLTPaths = cms.vstring("HLT_Diphoton30_18_R9Id_OR_IsoCaloId_AND_HE_R9Id_Mass95_v1") )
cfgTools.addCategories(process.vbfTagDumper, ## categories definition [("all","1",0) ], ## variables to be dumped in trees/datasets. Same variables for all categories variables=dipho_variables+ ["dRphoLeadJ := min(deltaR(leadingJet.eta, leadingJet.phi, diPhoton.leadingPhoton.eta, diPhoton.leadingPhoton.phi), deltaR(leadingJet.eta, leadingJet.phi, diPhoton.subLeadingPhoton.eta, diPhoton.subLeadingPhoton.phi))", "dRphoSubleadJ := min(deltaR(subLeadingJet.eta, subLeadingJet.phi, diPhoton.leadingPhoton.eta, diPhoton.leadingPhoton.phi), deltaR(subLeadingJet.eta, subLeadingJet.phi, diPhoton.subLeadingPhoton.eta, diPhoton.subLeadingPhoton.phi))", "leadJPt := leadingJet.pt", "leadJEta := leadingJet.eta", "subleadJPt := subLeadingJet.pt", "subleadJEta := leadingJet.eta", "Mjj := sqrt((leadingJet.energy+subLeadingJet.energy)^2-(leadingJet.px+subLeadingJet.px)^2-(leadingJet.py+subLeadingJet.py)^2-(leadingJet.pz+subLeadingJet.pz)^2)", "dijet_dEta := abs(leadingJet.eta - subLeadingJet.eta)", "dijet_dPhi := deltaPhi(leadingJet.phi, subLeadingJet.phi)", "dijet_Zep := VBFMVA.dijet_Zep", "dijet_MVA := VBFMVA.VBFMVAValue", "vbfcat := categoryNumber", "genZ :=tagTruth().genPV().z", "vtxZ :=diPhoton().vtx().z", "dZ :=abs(tagTruth().genPV().z-diPhoton().vtx().z)", "leadQuarkPt := tagTruth().pt_Q1", "matchingGenJetToLeadPt := tagTruth().pt_genPartMatchingToJ1" ], histograms=["CMS_hgg_mass>>mass(160,100,180)", "subleadPt:leadPt>>ptLeadvsSub(180,20,200:180,20,200)", "diphoMVA>>diphoMVA(50,0,1)", "maxEta>>maxEta[0.,0.1,0.2,0.3,0.4,0.6,0.8,1.0,1.2,1.4442,1.566,1.7,1.8,2.,2.2,2.3,2.5]", "subleadJetPt:leadJetPt>>JetptLeadvsSub(8,20,100:8,20,100)", "VBFMVA>>VBFMVA(50,0,1)" ] )
cfgTools.addCategories( process.dumper, [("All", "1", 0)], variables=[ 'mass', 'leadEnergy := leadingPhoton.p4.energy', 'leadInitialEnergy := leadingPhoton.energyAtStep("initial")', 'leadEnergy_corr := leadingPhoton.userFloat("afterDiffCorr_regr_E")', 'leadEnergy_uncorr := leadingPhoton.userFloat("reco_E")', 'leadPhoId := leadingView.phoIdMvaWrtChosenVtx', 'leadPt := leadingPhoton.pt', 'leadEta := leadingPhoton.superCluster().eta', 'leadPhi := leadingPhoton.phi', 'leadR9 := leadingPhoton.full5x5_r9', 'leadR9_uncorr := ? leadingPhoton.hasUserFloat("uncorr_r9")>0 ? leadingPhoton.userFloat("uncorr_r9") : -1.', 'leadS4 := leadingPhoton.s4', 'leadS4_uncorr := ? leadingPhoton.hasUserFloat("uncorr_s4")>0 ? leadingPhoton.userFloat("uncorr_s4") : -1', 'leadSieie := leadingPhoton.full5x5_sigmaIetaIeta', 'leadSieie_uncorr := ? leadingPhoton.hasUserFloat("uncorr_sieie")>0 ? leadingPhoton.userFloat("uncorr_sieie") : -1', 'leadSieip := leadingPhoton.sieip', 'leadSieip_uncorr := ? leadingPhoton.hasUserFloat("uncorr_sieip")>0 ? leadingPhoton.userFloat("uncorr_sieip") : -1', 'leadEtaWidth := ? leadingPhoton.hasUserFloat("etaWidth")>0 ? leadingPhoton.userFloat("etaWidth") : -1', 'leadEtaWidth_uncorr := ? leadingPhoton.hasUserFloat("uncorr_etaWidth")>0 ? leadingPhoton.userFloat("uncorr_etaWidth") : -1', 'leadPhiWidth := ? leadingPhoton.hasUserFloat("phiWidth")>0 ? leadingPhoton.userFloat("phiWidth") : -1', 'leadPhiWidth_uncorr := ? leadingPhoton.hasUserFloat("uncorr_phiWidth")>0 ? leadingPhoton.userFloat("uncorr_phiWidth") : -1', 'leadPhoIso := leadingPhoton.pfPhoIso03', 'leadPhoIso_uncorr := ? leadingPhoton.hasUserFloat("uncorr_pfPhoIso03")>0 ? leadingPhoton.userFloat("uncorr_pfPhoIso03") : -1', 'subleadEnergy := subLeadingPhoton.p4.energy', 'subleadInitialEnergy := subLeadingPhoton.energyAtStep("initial")', 'subleadEnergy_corr := subLeadingPhoton.userFloat("afterDiffCorr_regr_E")', 'subleadEnergy_uncorr := subLeadingPhoton.userFloat("reco_E")', 'subleadPhoId := subLeadingView.phoIdMvaWrtChosenVtx', 'subleadPt := subLeadingPhoton.pt', 'subleadEta := subLeadingPhoton.superCluster().eta', 'subleadPhi := subLeadingPhoton.phi', 'subleadR9 := subLeadingPhoton.full5x5_r9', 'subleadR9_uncorr := ? subLeadingPhoton.hasUserFloat("uncorr_r9")>0 ? subLeadingPhoton.userFloat("uncorr_r9") : -1', 'subleadS4 := subLeadingPhoton.s4', 'subleadS4_uncorr := ? subLeadingPhoton.hasUserFloat("uncorr_s4")>0 ? subLeadingPhoton.userFloat("uncorr_s4") : -1', 'subleadSieie := subLeadingPhoton.full5x5_sigmaIetaIeta', 'subleadSieie_uncorr := ? subLeadingPhoton.hasUserFloat("uncorr_sieie")>0 ? subLeadingPhoton.userFloat("uncorr_sieie") : -1', 'subleadSieip := subLeadingPhoton.sieip', 'subleadSieip_uncorr := ? subLeadingPhoton.hasUserFloat("uncorr_sieip")>0 ? subLeadingPhoton.userFloat("uncorr_sieip") : -1', 'subleadEtaWidth := ? subLeadingPhoton.hasUserFloat("etaWidth")>0 ? subLeadingPhoton.userFloat("etaWidth") : -1', 'subleadEtaWidth_uncorr := ? subLeadingPhoton.hasUserFloat("uncorr_etaWidth")>0 ? subLeadingPhoton.userFloat("uncorr_etaWidth") : -1', 'subleadPhiWidth := ? subLeadingPhoton.hasUserFloat("phiWidth")>0 ? subLeadingPhoton.userFloat("phiWidth") : -1', 'subleadPhiWidth_uncorr := ? subLeadingPhoton.hasUserFloat("uncorr_phiWidth")>0 ? subLeadingPhoton.userFloat("uncorr_phiWidth") : -1', 'subleadPhoIso := subLeadingPhoton.pfPhoIso03', 'subleadPhoIso_uncorr := ? subLeadingPhoton.hasUserFloat("uncorr_pfPhoIso03")>0 ? subLeadingPhoton.userFloat("uncorr_pfPhoIso03") : -1' ], histograms=[])
process.vertexViewDumper.dumpTrees = True process.vertexViewDumper.dumpWorkspace = False process.vertexViewDumper.quietRooFit = True # interestng categories cfgTools.addCategories( process.vertexViewDumper, ## categories definition ## cuts are applied in cascade. Events getting to these categories have already failed the "Reject" selection [("trueVertexes", "isClosestToGen", 0), ("puVertexes", "!isClosestToGen", 0)], ## variables to be dumped in trees/datasets. Same variables for all categories ## if different variables wanted for different categories, can add categorie one by one with cfgTools.addCategory variables=[ "logSumPt2", "ptBal", "ptAsym", "nConv", "pullConv", "vx := pos.x", "vy := pos.y", "vx := pos.y", "dZtoGen", ], ## histograms to be plotted. ## the variables need to be defined first histograms=["dZtoGen>>dZtoGen(100,-10.,10.)", "logSumPt2>>logSumPt2(100,-2,10)"], ) process.p1 = cms.Path(process.kinPreselDiPhotons * process.flashggSingleVertexViews * process.vertexViewDumper)
import flashgg.Taggers.dumperConfigTools as cfgTools process.load("flashgg.Taggers.diphotoMVAWithZeeDumper_cff") process.load("flashgg.Taggers.photonDumper_cfi") process.load("flashgg.Taggers.diphotonDumper_cfi") process.diphotonDumper.src = cms.InputTag("flashggZeeDiPhotons") process.TFileService = cms.Service("TFileService", fileName=cms.string("histo.root"), closeFileFast=cms.untracked.bool(True)) #DIPHOTON MVA cfgTools.addCategories(process.DiPhotonWithZeeMVADumper, [ ("All", "1", 0), ], variables=["dipho_mva:=mvaValue"], histograms=[ "dipho_mva>>dipho_mva(100,-1,1)", ]) # split tree, histogram and datasets by process process.DiPhotonWithZeeMVADumper.nameTemplate = "zeevalidation_$SQRTS_$LABEL_$SUBCAT" #cfgTools.addCategories(process.photonDumper, # ## categories EB, EE # [("EB", "abs(superCluster.eta)<1.479", 0), # ("EE", "abs(superCluster.eta)>1.566",0)], # variables=["chIsoRv := getpfChgIsoWrtChosenVtx03", # "chIsoWv := getpfChgIsoWrtWorstVtx03", # "phIso := getpfPhoIso03", # #"rho", # "sieie := full5x5_sigmaIetaIeta",
process.vbfTagDumper.dumpHistos = True process.vbfTagDumper.dumpWorkspace = False # use the trigger-diphoton-preselection from PhysicsTools.PatAlgos.tools.helpers import massSearchReplaceAnyInputTag massSearchReplaceAnyInputTag(process.flashggTagSequence, cms.InputTag("flashggDiPhotons"), cms.InputTag("flashggPreselectedDiPhotons")) # get the variable list import flashgg.Taggers.VBFTagVariables as var all_variables = var.dijet_variables + var.dipho_variables + var.truth_variables cfgTools.addCategories(process.vbfTagDumper, [("VBFDiJet", "leadingJet.pt>0", 0), ("excluded", "1", 0)], variables=all_variables, histograms=[]) #process.vbfTagDumper.nameTemplate ="$PROCESS_$SQRTS_$LABEL_$SUBCAT_$CLASSNAME" process.vbfTagDumper.nameTemplate = "$PROCESS_$SQRTS_$CLASSNAME_$SUBCAT_$LABEL" from flashgg.MetaData.JobConfig import customize customize.setDefault("maxEvents", 1000) # max-number of events customize.setDefault("targetLumi", 2.11e+3) # define integrated lumi customize(process) process.p1 = cms.Path( process.flashggTagSequence * # process.flashggTagTester* # Uncommment if you what to test VBFtag process.vbfTagDumper)
# process.diphotonDumper.src = cms.InputTag("flashggDiPhotonSystematics") process.diphotonDumper.src = cms.InputTag("flashggUpdatedIdMVADiPhotons") # process.diphotonDumper.src = cms.InputTag("flashggDiPhotons") process.diphotonDumper.dumpHistos = False process.diphotonDumper.dumpTrees = True process.diphotonDumper.dumpGlobalVariables = cms.untracked.bool(True) process.diphotonDumper.globalVariables = process.globalVariables process.TFileService = cms.Service( "TFileService", fileName=cms.string("histo.root"), closeFileFast=cms.untracked.bool(True) ) # DIPHOTON MVA cfgTools.addCategories( process.DiPhotonWithZeeMVADumper, [("All", "1", 0)], variables=["dipho_mva:=mvaValue"], histograms=["dipho_mva>>dipho_mva(100,-1,1)"], ) # split tree, histogram and datasets by process process.DiPhotonWithZeeMVADumper.nameTemplate = "zeevalidation_$SQRTS_$LABEL_$SUBCAT" cfgTools.addCategories( process.diphotonDumper, ## categories definition ## cuts are applied in cascade. Events getting to these categories have already failed the "Reject" selection [ ( "All", """ (abs(leadingPhoton.superCluster.eta) < 2.5 && abs(subLeadingPhoton.superCluster.eta) < 2.5 && leadingPhoton.passElectronVeto==0) &&
"&& dijet_Mjj > 250 && leadPho_PToM > 0.5") cfgTools.addCategories(process.VBFMVADumperNew, [ ("VBFDiJet" ,"dijet_LeadJPt > 0",0), ("PreselectedVBFDiJet",preselection_cut ,0), ("expluded","1",0) # really importent to avoid having an error ], variables=[ "dijet_abs_dEta := dijet_abs_dEta ", "dijet_leadEta := dijet_leadEta ", "dijet_subleadEta := dijet_subleadEta ", "dijet_LeadJPt := dijet_LeadJPt ", "dijet_SubJPt := dijet_SubJPt ", "dijet_Zep := dijet_Zep ", "dijet_Mjj := dijet_Mjj ", "dipho_PToM := dipho_PToM ", "leadPho_PToM := leadPho_PToM ", "sublPho_PToM := sublPho_PToM ", "dijet_dPhi_trunc := dijet_dPhi_trunc ", "vbfMvaResult_value := vbfMvaResult_value", "vbfMvaResult_value_bdt := vbfMvaResult_value_bdt", "vbfMvaResult_value_bdtg := vbfMvaResult_value_bdtg", ], histograms=[ "vbfMvaResult_value>>outputBDT(400,-1,1)", "vbfMvaResult_value_bdt>>output_bdt(400,-1,1)", "vbfMvaResult_value_bdtg>>output_bdtg(400,-1,1)", ] ) # split tree, histogram and datasets by process process.VBFMVADumperNew.nameTemplate ="$PROCESS_$SQRTS_$LABEL_$SUBCAT"
process.diphotonDumper.src = cms.InputTag("flashggUpdatedIdMVADiPhotons") #process.diphotonDumper.src = cms.InputTag("flashggDiPhotons") process.diphotonDumper.dumpHistos = False process.diphotonDumper.dumpTrees = True process.diphotonDumper.dumpGlobalVariables = cms.untracked.bool(True) process.diphotonDumper.globalVariables = process.globalVariables process.TFileService = cms.Service("TFileService", fileName=cms.string("histo.root"), closeFileFast=cms.untracked.bool(True)) #DIPHOTON MVA cfgTools.addCategories(process.DiPhotonWithZeeMVADumper, [ ("All", "1", 0), ], variables=["dipho_mva:=mvaValue"], histograms=[ "dipho_mva>>dipho_mva(100,-1,1)", ]) # split tree, histogram and datasets by process process.DiPhotonWithZeeMVADumper.nameTemplate = "zeevalidation_$SQRTS_$LABEL_$SUBCAT" cfgTools.addCategories( process.diphotonDumper, ## categories definition ## cuts are applied in cascade. Events getting to these categories have already failed the "Reject" selection [("All", """ (abs(leadingPhoton.superCluster.eta) < 2.5 && abs(subLeadingPhoton.superCluster.eta) < 2.5 && leadingPhoton.passElectronVeto==0) && (leadingPhoton.pt > 33) && (leadingPhoton.hadronicOverEm < 0.1) && ((leadingPhoton.full5x5_r9 > 0.5 && leadingPhoton.isEB) || (leadingPhoton.full5x5_r9 > 0.8 && leadingPhoton.isEE)) &&
process.VBFMVADumperNew.dumpTrees = True process.VBFMVADumperNew.dumpWorkspace = False process.VBFMVADumperNew.quietRooFit = True cfgTools.addCategories( process.VBFMVADumperNew, [ ## cuts are applied in cascade ("All", "dipho_PToM>=0", 0), ], variables=[ "dijet_abs_dEta := dijet_abs_dEta ", "dijet_leadEta := dijet_leadEta ", "dijet_subleadEta := dijet_subleadEta ", "dijet_LeadJPt := dijet_LeadJPt ", "dijet_SubJPt := dijet_SubJPt ", "dijet_Zep := dijet_Zep ", "dijet_Mjj := dijet_Mjj ", "dipho_PToM := dipho_PToM ", "leadPho_PToM := leadPho_PToM ", "sublPho_PToM := sublPho_PToM ", "dijet_dPhi_trunc := dijet_dPhi_trunc ", "vbfMvaResult_value := vbfMvaResult_value", ], histograms=[ #"mvaresult>>VBFMVAValue(100,-1000,1000)", "vbfMvaResult_value>>VBFMVAValue(100,-1,1)", #"VBFMVAValue>>VBFMVAValue2(100,-1,1)", ]) # split tree, histogram and datasets by process process.VBFMVADumperNew.nameTemplate = "$PROCESS_$SQRTS_$LABEL_$SUBCAT" process.load("flashgg/Taggers/VBFDiPhoDiJetMVADumperNew_cff")
cfgTools.addCategories(diphotonDumper, [## cuts are applied in cascade ## ("all","1"), ("EBHighR9","max(abs(leadingPhoton.superCluster.eta),abs(subLeadingPhoton.superCluster.eta))<1.4442" "&& min(leadingPhoton.r9,subLeadingPhoton.r9)>0.94",0), ("EBLowR9","max(abs(leadingPhoton.superCluster.eta),abs(subLeadingPhoton.superCluster.eta))<1.4442",0), ("EEHighR9","min(leadingPhoton.r9,subLeadingPhoton.r9)>0.94",0), ("EELowR9","1",0), ], variables=["mass","pt", "leadPt :=leadingPhoton.pt", "subleadPt :=subLeadingPhoton.pt", "leadEta :=leadingPhoton.eta", "subleadEta :=subLeadingPhoton.eta", "leadR9 :=leadingPhoton.r9", "subleadR9 :=subLeadingPhoton.r9", "leadScEta :=leadingPhoton.superCluster.eta", "subleadScEta :=subLeadingPhoton.superCluster.eta", "leadPhi :=leadingPhoton.phi", "subleadPhi :=subLeadingPhoton.phi", "leadCShapeMVA :=leadingPhoton.userFloat('cShapeMVA')", "subleadCShapeMVA :=subLeadingPhoton.userFloat('cShapeMVA')", "minR9 :=min(leadingPhoton.r9,subLeadingPhoton.r9)", "maxEta :=max(abs(leadingPhoton.superCluster.eta),abs(subLeadingPhoton.superCluster.eta))", "leadBlockChIso := leadingView.pfChIso03WrtChosenVtx", "leadBlockPhoIso := leadingPhoton.pfPhoIso03", "leadRndConeChIso := leadingView.extraChIsoWrtChoosenVtx('rnd03')", "leadRndConePhoIso:= leadingPhoton.extraPhoIso('rnd03')", "leadPhoIsoEA := map( abs(leadingPhoton.superCluster.eta) :: 0.,0.9,1.5,2.0,2.2,3. :: 0.21,0.2,0.14,0.22,0.31 )", "subleadPhoIsoEA := map( abs(subLeadingPhoton.superCluster.eta) :: 0.,0.9,1.5,2.0,2.2,3. :: 0.21,0.2,0.14,0.22,0.31 )", "leadMatchType :=leadingPhoton.genMatchType", "leadGenIso :=leadingPhoton.userFloat('genIso')", "subleadMatchType :=subLeadingPhoton.genMatchType", "subleadGenIso :=subLeadingPhoton.userFloat('genIso')", "leadChIso := leadingPhoton.egChargedHadronIso", "leadPhoIso := leadingPhoton.egPhotonIso", "leadNeutIso := leadingPhoton.egNeutralHadronIso", "leadHoE := leadingPhoton.hadTowOverEm", "leadSigmaIeIe := (?leadingPhoton.r9>0.8||leadingPhoton.egChargedHadronIso<20||leadingPhoton.egChargedHadronIso/leadingPhoton.pt<0.3?leadingPhoton.full5x5_sigmaIetaIeta:leadingPhoton.sigmaIetaIeta)", "leadPixSeed := leadingPhoton.hasPixelSeed", "leadPassEleVeto := leadingPhoton.passElectronVeto", "subleadBlockChIso := subLeadingView.pfChIso03WrtChosenVtx", "subleadBlockPhoIso := subLeadingPhoton.pfPhoIso03", "subleadRndConeChIso := subLeadingView.extraChIsoWrtChoosenVtx('rnd03')", "subleadRndConePhoIso:= subLeadingPhoton.extraPhoIso('rnd03')", "subleadChIso := subLeadingPhoton.egChargedHadronIso", "subleadPhoIso := subLeadingPhoton.egPhotonIso", "subleadNeutIso := subLeadingPhoton.egNeutralHadronIso", "subleadHoE := subLeadingPhoton.hadTowOverEm", "subleadSigmaIeIe := (?subLeadingPhoton.r9>0.8||subLeadingPhoton.egChargedHadronIso<20||subLeadingPhoton.egChargedHadronIso/subLeadingPhoton.pt<0.3?subLeadingPhoton.full5x5_sigmaIetaIeta:subLeadingPhoton.sigmaIetaIeta)", "subleadPixSeed := subLeadingPhoton.hasPixelSeed", "subleadPassEleVeto := subLeadingPhoton.passElectronVeto", ], histograms=["mass>>mass(1500,0,15000)", "leadPt>>leadPt(145,100,3000)", "subleadPt>>subleadPt(145,100,3000)", "leadEta>>leadEta(55,-2.75,2.75)", "subleadEta>>subleadEta(55,-2.75,2.75)", "leadBlockChIso>>leadBlockChIso(120,-10,50)", "leadBlockPhoIso>>leadBlockPhoIso(120,-10,50)", "leadChIso>>leadChIso(120,-10,50)", "leadPhoIso>>leadPhoIso(120,-10,50)", "leadNeutIso>>leadNeutIso(120,-10,50)", "leadHoE>>leadHoE(40,0,0.2)", "leadSigmaIeIe>>leadSigmaIeIe(50,0,5.e-2)", "leadPixSeed>>leadPixSeed(2,-0.5,1.5)", "subleadPassEleVeto>>subleadPassEleVeto(2,-0.5,1.5)", "subleadBlockChIso>>subleadBlockChIso(120,-10,50)", "subleadBlockPhoIso>>subleadBlockPhoIso(120,-10,50)", "subleadChIso>>subleadChIso(120,-10,50)", "subleadPhoIso>>subleadPhoIso(120,-10,50)", "subleadNeutIso>>subleadNeutIso(120,-10,50)", "subleadHoE>>subleadHoE(40,0,0.2)", "subleadSigmaIeIe>>subleadSigmaIeIe(50,0,5.e-2)", "subleadPixSeed>>subleadPixSeed(2,-0.5,1.5)", "subleadPassEleVeto>>subleadPassEleVeto(2,-0.5,1.5)", "subleadPt:leadPt>>ptSubVsLead(145,100,3000:145,100,3000)", "minR9>>minR9(110,0,1.1)", "maxEta>>maxEta(250,0,2.5)" ] )
process.TTHDiLeptonTagDumper.nameTemplate = cms.untracked.string("$PROCESS_$SQRTS_$CLASSNAME_$SUBCAT_$LABEL") #from PhysicsTools.PatAlgos.tools.helpers import massSearchReplaceAnyInputTag #massSearchReplaceAnyInputTag(process.flashggTagSequence,cms.InputTag("flashggDiPhotons"),cms.InputTag("flashggPreselectedDiPhotons")) import flashgg.Taggers.ttHTagVariables as var if customize.processId == "Data": variables_ = var.generic_variables + var.dipho_variables else: variables_ = var.generic_variables + var.dipho_variables cfgTools.addCategories(process.TTHDiLeptonTagDumper, ## categories definition [ ("all","1",0) ], variables = variables_, histograms = [] ) process.TTHLeptonicDumper = createTagDumper("TTHLeptonicTag") #process.load("flashgg.Taggers.tthDumper_cfi") #process.flashggMuMuGamma.PhotonTag=cms.InputTag('flashggUpdatedIdMVAPhotons') process.TTHLeptonicDumper.dumpTrees = True process.TTHLeptonicDumper.dumpHistos = False process.TTHLeptonicDumper.dumpWorkspace = False process.TTHLeptonicDumper.nameTemplate = cms.untracked.string("$PROCESS_$SQRTS_$CLASSNAME_$SUBCAT_$LABEL") #from PhysicsTools.PatAlgos.tools.helpers import massSearchReplaceAnyInputTag
process.DiPhotonMVADumperNew.dumpTrees = True process.DiPhotonMVADumperNew.dumpWorkspace = False process.DiPhotonMVADumperNew.quietRooFit = True cfgTools.addCategories(process.DiPhotonMVADumperNew, [## cuts are applied in cascade ("All","1",0) ], variables=[ "leadptom := leadptom ", "subleadptom := subleadptom ", "leadmva := leadmva ", "subleadmva := subleadmva ", "leadeta := leadeta ", "subleadeta := subleadeta ", "sigmarv := sigmarv", "sigmawv := sigmawv", "CosPhi := CosPhi", "vtxprob := vtxprob", "result := result", ], histograms=[ "result>>DiPhotonMVAValue(100,-1,1)", ] ) # split tree, histogram and datasets by process process.DiPhotonMVADumperNew.nameTemplate = "$PROCESS_$SQRTS_$LABEL_$SUBCAT" process.load("flashgg/Taggers/DiPhotonMVADumper_cff") process.DiPhotonMVADumper.dumpTrees = True
"subleadEta := diPhoton.subLeadingPhoton.eta", "subleadPhi := diPhoton.subLeadingPhoton.phi", "sublead_sieie := diPhoton.subLeadingPhoton.sigmaIetaIeta", "sublead_hoe := diPhoton.subLeadingPhoton.hadronicOverEm", "sublead_sigmaEoE := diPhoton.subLeadingPhoton.sigEOverE", "sublead_ptoM := diPhoton.subLeadingPhoton.pt/diPhoton.mass", "subleadR9 := diPhoton.subLeadingPhoton.r9", "leadIDMVA := diPhoton.leadingView.phoIdMvaWrtChosenVtx", "subleadIDMVA := diPhoton.subLeadingView.phoIdMvaWrtChosenVtx", ] cfgTools.addCategories( process.untaggedDumper, ## categories definition [("all", "1", 0)], ## variables to be dumped in trees/datasets. Same variables for all categories variables=dipho_variables, ## histograms histograms=[]) ## VBF ## cfgTools.addCategories( process.vbfTagDumper, ## categories definition [("all", "1", 0)], ## variables to be dumped in trees/datasets. Same variables for all categories variables=dipho_variables + [ "dRphoLeadJ := min(deltaR(leadingJet.eta, leadingJet.phi, diPhoton.leadingPhoton.eta, diPhoton.leadingPhoton.phi), deltaR(leadingJet.eta, leadingJet.phi, diPhoton.subLeadingPhoton.eta, diPhoton.subLeadingPhoton.phi))", "dRphoSubleadJ := min(deltaR(subLeadingJet.eta, subLeadingJet.phi, diPhoton.leadingPhoton.eta, diPhoton.leadingPhoton.phi), deltaR(subLeadingJet.eta, subLeadingJet.phi, diPhoton.subLeadingPhoton.eta, diPhoton.subLeadingPhoton.phi))", "leadJPt := leadingJet.pt",
fileName = cms.string("test.root") ) # # analysis configuration # import flashgg.Taggers.dumperConfigTools as cfgTools from flashgg.Taggers.genDiphotonDumper_cfi import genDiphotonDumper cfgTools.addCategories(genDiphotonDumper, [("EB","max(abs(leadingPhoton.eta),abs(subLeadingPhoton.eta))<1.4442",0), ("EE","1",0) ], variables=["genMass := mass","pt", "genLeadPt := leadingPhoton.pt", "genSubeadPt := subLeadingPhoton.pt", ], histograms=["genMass>>genmass(1500,0,15000)", ] ) from diphotons.Analysis.DiPhotonAnalysis import DiPhotonAnalysis analysis = DiPhotonAnalysis(None, massCut=customize.massCut,ptLead=customize.ptLead,ptSublead=customize.ptSublead,scaling=customize.scaling, ## kinematic cuts genIsoDefinition=("genIso",10.), dataTriggers=[], mcTriggers=[], removeEEEE=customize.removeEEEE )
cfgTools.addCategories( process.tthLeptonicTagDumper, ## categories definition [("all", "1", 0)], ## variables to be dumped in trees/datasets. Same variables for all categories variables=dipho_variables + [ "n_ele := electrons.size", "ele1_pt := ?(electrons.size>0)? electrons.at(0).pt : -1", "ele2_pt := ?(electrons.size>1)? electrons.at(1).pt : -1", "ele1_eta := ?(electrons.size>0)? electrons.at(0).eta : -999", "ele2_eta := ?(electrons.size>1)? electrons.at(1).eta : -999", "ele1_phi := ?(electrons.size>0)? electrons.at(0).phi : -999", "ele2_phi := ?(electrons.size>1)? electrons.at(1).phi : -999", "ele1_energy := ?(electrons.size>0)? electrons.at(0).energy : -999", "ele2_energy := ?(electrons.size>1)? electrons.at(1).energy : -999", "n_muons := muons.size", "muon1_pt := ?(muons.size>0)? muons.at(0).pt : -1", "muon2_pt := ?(muons.size>1)? muons.at(1).pt : -1", "muon1_eta := ?(muons.size>0)? muons.at(0).eta : -999", "muon2_eta := ?(muons.size>1)? muons.at(1).eta : -999", "muon1_phi := ?(muons.size>0)? muons.at(0).phi : -999", "muon2_phi := ?(muons.size>1)? muons.at(1).phi : -999", "muon1_energy := ?(muons.size>0)? muons.at(0).energy : -999", "muon2_energy := ?(muons.size>1)? muons.at(1).energy : -999", "n_bjets := bJets.size", "n_jets := jets.size", #"bjet1_pt := bJets.at(0).pt", #"bjet2_pt := ?bJets.size>1? bJets.at(1).pt : -1", #"bjet1_csv:= bJets.at(0).bDiscriminator('pfCombinedInclusiveSecondaryVertexV2BJetTags')", #"bjet2_csv:= ?bJets.size>1? bJets.at(1).bDiscriminator('pfCombinedInclusiveSecondaryVertexV2BJetTags') : -1", "Mjj := ?(jets.size>1)?" + "sqrt((jets.at(0).energy+jets.at(1).energy)^2-(jets.at(0).px+jets.at(1).px)^2-(jets.at(0).py+jets.at(1).py)^2-(jets.at(0).pz+jets.at(1).pz)^2)" + ": -1", "MetPt := MetPt", "MetPhi := MetPhi", "mT := MT", "tthMVA := mvaRes", "jet_pt1 := ? jets.size()>0 ? jets[0].pt() : -100 ", "jet_eta1 := ? jets.size()>0 ? jets[0].eta() : -100 ", "jet_phi1 := ? jets.size()>0 ? jets[0].phi() : -100 ", "jet_bdiscriminant1 := ? jets.size()>0 ? jets[0].bDiscriminator('pfDeepCSVJetTags:probb') : -100", "jet_pt2 := ? jets.size()>1 ? jets[1].pt() : -100 ", "jet_eta2 := ? jets.size()>1 ? jets[1].eta() : -100 ", "jet_phi2 := ? jets.size()>1 ? jets[1].phi() : -100 ", "jet_bdiscriminant2 := ? jets.size()>1 ? jets[1].bDiscriminator('pfDeepCSVJetTags:probb') : -100", "jet_pt3 := ? jets.size()>2 ? jets[2].pt() : -100 ", "jet_eta3 := ? jets.size()>2 ? jets[2].eta() : -100 ", "jet_phi3 := ? jets.size()>2 ? jets[2].phi() : -100 ", "jet_bdiscriminant3 := ? jets.size()>2 ? jets[2].bDiscriminator('pfDeepCSVJetTags:probb') : -100 ", "jet_pt4 := ? jets.size()>3 ? jets[3].pt() : -100 ", "jet_eta4 := ? jets.size()>3 ? jets[3].eta() : -100 ", "jet_phi4 := ? jets.size()>3 ? jets[3].phi() : -100 ", "jet_bdiscriminant4 := ? jets.size()>3 ? jets[3].bDiscriminator('pfDeepCSVJetTags:probb') : -100 ", "jet_pt5 := ? jets.size()>4 ? jets[4].pt() : -100 ", "jet_eta5 := ? jets.size()>4 ? jets[4].eta() : -100 ", "jet_phi5 := ? jets.size()>4 ? jets[4].phi() : -100 ", "jet_bdiscriminant5 := ? jets.size()>4 ? jets[4].bDiscriminator('pfDeepCSVJetTags:probb') : -100 ", "jet_pt6 := ? jets.size()>5 ? jets[5].pt() : -100 ", "jet_eta6 := ? jets.size()>5 ? jets[5].eta() : -100 ", "jet_phi6 := ? jets.size()>5 ? jets[5].phi() : -100 ", "jet_bdiscriminant6 := ? jets.size()>5 ? jets[5].bDiscriminator('pfDeepCSVJetTags:probb') : -100 ", "jet_pt7 := ? jets.size()>6 ? jets[6].pt() : -100 ", "jet_eta7 := ? jets.size()>6 ? jets[6].eta() : -100 ", "jet_phi7 := ? jets.size()>6 ? jets[6].phi() : -100 ", "jet_bdiscriminant7 := ? jets.size()>6 ? jets[6].bDiscriminator('pfDeepCSVJetTags:probb') : -100 ", "jet_pt8 := ? jets.size()>7 ? jets[7].pt() : -100 ", "jet_eta8 := ? jets.size()>7 ? jets[7].eta() : -100 ", "jet_phi8 := ? jets.size()>7 ? jets[7].phi() : -100 ", "jet_bdiscriminant8 := ? jets.size()>7 ? jets[7].bDiscriminator('pfDeepCSVJetTags:probb') : -100 ", "jet_pt9 := ? jets.size()>8 ? jets[8].pt() : -100 ", "jet_eta9 := ? jets.size()>8 ? jets[8].eta() : -100 ", "jet_phi9 := ? jets.size()>8 ? jets[8].phi() : -100 ", "jet_bdiscriminant9 := ? jets.size()>8 ? jets[8].bDiscriminator('pfDeepCSVJetTags:probb') : -100 ", "jet_pt10 := ? jets.size()>9 ? jets[9].pt() : -100 ", "jet_eta10 := ? jets.size()>9 ? jets[9].eta() : -100 ", "jet_phi10 := ? jets.size()>9 ? jets[9].phi() : -100 ", "jet_bdiscriminant10 := ? jets.size()>9 ? jets[9].bDiscriminator('pfDeepCSVJetTags:probb') : -100 ", "jet_pt11 := ? jets.size()>10 ? jets[10].pt() : -100 ", "jet_eta11 := ? jets.size()>10 ? jets[10].eta() : -100 ", "jet_phi11 := ? jets.size()>10 ? jets[10].phi() : -100 ", "jet_bdiscriminant11 := ? jets.size()>10 ? jets[10].bDiscriminator('pfDeepCSVJetTags:probb') : -100 ", "jet_pt12 := ? jets.size()>11 ? jets[11].pt() : -100 ", "jet_eta12 := ? jets.size()>11 ? jets[11].eta() : -100 ", "jet_phi12 := ? jets.size()>11 ? jets[11].phi() : -100 ", "jet_bdiscriminant12 := ? jets.size()>11 ? jets[11].bDiscriminator('pfDeepCSVJetTags:probb') : -100 ", "jet_pt13 := ? jets.size()>12 ? jets[12].pt() : -100 ", "jet_eta13 := ? jets.size()>12 ? jets[12].eta() : -100 ", "jet_phi13 := ? jets.size()>12 ? jets[12].phi() : -100 ", "jet_bdiscriminant13 := ? jets.size()>12 ? jets[12].bDiscriminator('pfDeepCSVJetTags:probb') : -100 ", "jet_pt14 := ? jets.size()>13 ? jets[13].pt() : -100 ", "jet_eta14 := ? jets.size()>13 ? jets[13].eta() : -100 ", "jet_phi14 := ? jets.size()>13 ? jets[13].phi() : -100 ", "jet_bdiscriminant14 := ? jets.size()>13 ? jets[13].bDiscriminator('pfDeepCSVJetTags:probb') : -100 ", "jet_pt15 := ? jets.size()>14 ? jets[14].pt() : -100 ", "jet_eta15 := ? jets.size()>14 ? jets[14].eta() : -100 ", "jet_phi15 := ? jets.size()>14 ? jets[14].phi() : -100 ", "jet_bdiscriminant15 := ? jets.size()>14 ? jets[14].bDiscriminator('pfDeepCSVJetTags:probb') : -100 ", "jet_bbdiscriminant1 := ?(jets.size>0)? jets.at(0).bDiscriminator('pfDeepCSVJetTags:probbb') : -1", "jet_bbdiscriminant2 := ?(jets.size>1)? jets.at(1).bDiscriminator('pfDeepCSVJetTags:probbb') : -1", "jet_bbdiscriminant3 := ?(jets.size>2)? jets.at(2).bDiscriminator('pfDeepCSVJetTags:probbb') : -1", "jet_bbdiscriminant4 := ?(jets.size>3)? jets.at(3).bDiscriminator('pfDeepCSVJetTags:probbb') : -1", "jet_bbdiscriminant5 := ?(jets.size>4)? jets.at(4).bDiscriminator('pfDeepCSVJetTags:probbb') : -1", "jet_bbdiscriminant6 := ?(jets.size>5)? jets.at(5).bDiscriminator('pfDeepCSVJetTags:probbb') : -1", "jet_bbdiscriminant7 := ?(jets.size>6)? jets.at(6).bDiscriminator('pfDeepCSVJetTags:probbb') : -1", "jet_bbdiscriminant8 := ?(jets.size>7)? jets.at(7).bDiscriminator('pfDeepCSVJetTags:probbb') : -1", "jet_bbdiscriminant9 := ?(jets.size>8)? jets.at(8).bDiscriminator('pfDeepCSVJetTags:probbb') : -1", "jet_bbdiscriminant10 := ?(jets.size>9)? jets.at(9).bDiscriminator('pfDeepCSVJetTags:probbb') : -1", "jet_bbdiscriminant11 := ?(jets.size>10)? jets.at(10).bDiscriminator('pfDeepCSVJetTags:probbb') : -1", "jet_bbdiscriminant12 := ?(jets.size>11)? jets.at(11).bDiscriminator('pfDeepCSVJetTags:probbb') : -1", "jet_bbdiscriminant13 := ?(jets.size>12)? jets.at(12).bDiscriminator('pfDeepCSVJetTags:probbb') : -1", "jet_bbdiscriminant14 := ?(jets.size>13)? jets.at(13).bDiscriminator('pfDeepCSVJetTags:probbb') : -1", "jet_bbdiscriminant15 := ?(jets.size>14)? jets.at(14).bDiscriminator('pfDeepCSVJetTags:probbb') : -1", "jet_cdiscriminant1 := ?(jets.size>0)? jets.at(0).bDiscriminator('pfDeepCSVJetTags:probc') : -1", "jet_cdiscriminant2 := ?(jets.size>1)? jets.at(1).bDiscriminator('pfDeepCSVJetTags:probc') : -1", "jet_cdiscriminant3 := ?(jets.size>2)? jets.at(2).bDiscriminator('pfDeepCSVJetTags:probc') : -1", "jet_cdiscriminant4 := ?(jets.size>3)? jets.at(3).bDiscriminator('pfDeepCSVJetTags:probc') : -1", "jet_cdiscriminant5 := ?(jets.size>4)? jets.at(4).bDiscriminator('pfDeepCSVJetTags:probc') : -1", "jet_cdiscriminant6 := ?(jets.size>5)? jets.at(5).bDiscriminator('pfDeepCSVJetTags:probc') : -1", "jet_cdiscriminant7 := ?(jets.size>6)? jets.at(6).bDiscriminator('pfDeepCSVJetTags:probc') : -1", "jet_cdiscriminant8 := ?(jets.size>7)? jets.at(7).bDiscriminator('pfDeepCSVJetTags:probc') : -1", "jet_cdiscriminant9 := ?(jets.size>8)? jets.at(8).bDiscriminator('pfDeepCSVJetTags:probc') : -1", "jet_cdiscriminant10 := ?(jets.size>9)? jets.at(9).bDiscriminator('pfDeepCSVJetTags:probc') : -1", "jet_cdiscriminant11 := ?(jets.size>10)? jets.at(10).bDiscriminator('pfDeepCSVJetTags:probc') : -1", "jet_cdiscriminant12 := ?(jets.size>11)? jets.at(11).bDiscriminator('pfDeepCSVJetTags:probc') : -1", "jet_cdiscriminant13 := ?(jets.size>12)? jets.at(12).bDiscriminator('pfDeepCSVJetTags:probc') : -1", "jet_cdiscriminant14 := ?(jets.size>13)? jets.at(13).bDiscriminator('pfDeepCSVJetTags:probc') : -1", "jet_cdiscriminant15 := ?(jets.size>14)? jets.at(14).bDiscriminator('pfDeepCSVJetTags:probc') : -1", "jet_udsgdiscriminant1 := ?(jets.size>0)? jets.at(0).bDiscriminator('pfDeepCSVJetTags:probudsg') : -1", "jet_udsgdiscriminant2 := ?(jets.size>1)? jets.at(1).bDiscriminator('pfDeepCSVJetTags:probudsg') : -1", "jet_udsgdiscriminant3 := ?(jets.size>2)? jets.at(2).bDiscriminator('pfDeepCSVJetTags:probudsg') : -1", "jet_udsgdiscriminant4 := ?(jets.size>3)? jets.at(3).bDiscriminator('pfDeepCSVJetTags:probudsg') : -1", "jet_udsgdiscriminant5 := ?(jets.size>4)? jets.at(4).bDiscriminator('pfDeepCSVJetTags:probudsg') : -1", "jet_udsgdiscriminant6 := ?(jets.size>5)? jets.at(5).bDiscriminator('pfDeepCSVJetTags:probudsg') : -1", "jet_udsgdiscriminant7 := ?(jets.size>6)? jets.at(6).bDiscriminator('pfDeepCSVJetTags:probudsg') : -1", "jet_udsgdiscriminant8 := ?(jets.size>7)? jets.at(7).bDiscriminator('pfDeepCSVJetTags:probudsg') : -1", "jet_udsgdiscriminant9 := ?(jets.size>8)? jets.at(8).bDiscriminator('pfDeepCSVJetTags:probudsg') : -1", "jet_udsgdiscriminant10 := ?(jets.size>9)? jets.at(9).bDiscriminator('pfDeepCSVJetTags:probudsg') : -1", "jet_udsgdiscriminant11 := ?(jets.size>10)? jets.at(10).bDiscriminator('pfDeepCSVJetTags:probudsg') : -1", "jet_udsgdiscriminant12 := ?(jets.size>11)? jets.at(11).bDiscriminator('pfDeepCSVJetTags:probudsg') : -1", "jet_udsgdiscriminant13 := ?(jets.size>12)? jets.at(12).bDiscriminator('pfDeepCSVJetTags:probudsg') : -1", "jet_udsgdiscriminant14 := ?(jets.size>13)? jets.at(13).bDiscriminator('pfDeepCSVJetTags:probudsg') : -1", "jet_udsgdiscriminant15 := ?(jets.size>14)? jets.at(14).bDiscriminator('pfDeepCSVJetTags:probudsg') : -1", "jet_energy1 := ?(jets.size>0)? jets.at(0).energy : -1", "jet_energy2 := ?(jets.size>1)? jets.at(1).energy : -1", "jet_energy3 := ?(jets.size>2)? jets.at(2).energy : -1", "jet_energy4 := ?(jets.size>3)? jets.at(3).energy : -1", "jet_energy5 := ?(jets.size>4)? jets.at(4).energy : -1", "jet_energy6 := ?(jets.size>5)? jets.at(5).energy : -1", "jet_energy7 := ?(jets.size>6)? jets.at(6).energy : -1", "jet_energy8 := ?(jets.size>7)? jets.at(7).energy : -1", "jet_energy9 := ?(jets.size>8)? jets.at(8).energy : -1", "jet_energy10 := ?(jets.size>9)? jets.at(9).energy : -1", "jet_energy11 := ?(jets.size>10)? jets.at(10).energy : -1", "jet_energy12 := ?(jets.size>11)? jets.at(11).energy : -1", "jet_energy13 := ?(jets.size>12)? jets.at(12).energy : -1", "jet_energy14 := ?(jets.size>13)? jets.at(13).energy : -1", "jet_energy15 := ?(jets.size>14)? jets.at(14).energy : -1", "lead_PhoGenPt := leadPhoGenPt", "lead_PhoGenEta := leadPhoGenEta", "lead_PhoGenPhi := leadPhoGenPhi", "lead_Prompt := leadPrompt", "lead_Mad := leadMad", "lead_Pythia := leadPythia", "lead_SimpleMomID := leadSimpleMomID", "lead_SimpleMomStatus := leadSimpleMomStatus", "lead_MomID := leadMomID", "lead_MomMomID := leadMomMomID", "lead_PassFrix := leadPassFrix", "lead_SmallestDr := leadSmallestDr", "sublead_PhoGenPt := subleadPhoGenPt", "sublead_PhoGenEta := subleadPhoGenEta", "sublead_PhoGenPhi := subleadPhoGenPhi", "sublead_Prompt := subleadPrompt", "sublead_Mad := subleadMad", "sublead_Pythia := subleadPythia", "sublead_SimpleMomID := subleadSimpleMomID", "sublead_SimpleMomStatus := subleadSimpleMomStatus", "sublead_MomID := subleadMomID", "sublead_MomMomID := subleadMomMomID", "sublead_PassFrix := subleadPassFrix", "sublead_SmallestDr := subleadSmallestDr", ], ## histograms histograms=[])
"subleadEt := diPhoton.subLeadingPhoton.et", "subleadEta := diPhoton.subLeadingPhoton.eta", "subleadPhi := diPhoton.subLeadingPhoton.phi", "sublead_sieie := diPhoton.subLeadingPhoton.sigmaIetaIeta", "sublead_hoe := diPhoton.subLeadingPhoton.hadronicOverEm", "sublead_sigmaEoE := diPhoton.subLeadingPhoton.sigEOverE", "sublead_ptoM := diPhoton.subLeadingPhoton.pt/diPhoton.mass", "subleadR9 := diPhoton.subLeadingPhoton.r9", "leadIDMVA := diPhoton.leadingView.phoIdMvaWrtChosenVtx", "subleadIDMVA := diPhoton.subLeadingView.phoIdMvaWrtChosenVtx",] cfgTools.addCategories(process.untaggedDumper, ## categories definition [("all","1",0) ], ## variables to be dumped in trees/datasets. Same variables for all categories variables=dipho_variables, ## histograms histograms=[] ) ## VBF ## cfgTools.addCategories(process.vbfTagDumper, ## categories definition [("all","1",0) ], ## variables to be dumped in trees/datasets. Same variables for all categories variables=dipho_variables+ ["dRphoLeadJ := min(deltaR(leadingJet.eta, leadingJet.phi, diPhoton.leadingPhoton.eta, diPhoton.leadingPhoton.phi), deltaR(leadingJet.eta, leadingJet.phi, diPhoton.subLeadingPhoton.eta, diPhoton.subLeadingPhoton.phi))", "dRphoSubleadJ := min(deltaR(subLeadingJet.eta, subLeadingJet.phi, diPhoton.leadingPhoton.eta, diPhoton.leadingPhoton.phi), deltaR(subLeadingJet.eta, subLeadingJet.phi, diPhoton.subLeadingPhoton.eta, diPhoton.subLeadingPhoton.phi))",
else: massCutEB,massCutEE = None,None massCut = float(customize.massCut) if massCutEB or massCutEE: cfgTools.addCategory(diphotonDumper,"RejectLowMass", " (max(abs(leadingPhoton.superCluster.eta),abs(subLeadingPhoton.superCluster.eta))<1.4442 && mass <= %f)" "|| (max(abs(leadingPhoton.superCluster.eta),abs(subLeadingPhoton.superCluster.eta))>1.566 && mass <= %f)" % (massCutEB,massCutEE),-1) cfgTools.addCategories(diphotonDumper, [## cuts are applied in cascade ## ("all","1"), ("EBHighR9","max(abs(leadingPhoton.superCluster.eta),abs(subLeadingPhoton.superCluster.eta))<1.4442" "&& min(leadingPhoton.r9,subLeadingPhoton.r9)>0.94",0), ("EBLowR9","max(abs(leadingPhoton.superCluster.eta),abs(subLeadingPhoton.superCluster.eta))<1.4442",0), ("EEHighR9","min(leadingPhoton.r9,subLeadingPhoton.r9)>0.94",0), ("EELowR9","1",0), ], variables=variables, histograms=histograms ) # single photon dumpoer photonDumper.processId = "test" photonDumper.dumpTrees = False photonDumper.dumpWorkspace = False photonDumper.quietRooFit = True photonDumper.maxCandPerEvent=2 photonDumper.nameTemplate = "$PROCESS_$SQRTS_$LABEL_$SUBCAT" cfgTools.addCategories(photonDumper, [## cuts are applied in cascade
process.flashggTagAndProbe.tagSelection = "%s && abs(eta) < 2.1 && pt > 30 && (?hasUserCand('eleMatch')?userCand('eleMatch').passTightId:0) && hasPixelSeed && full5x5_r9>0.8 && egChargedHadronIso < 20 && egChargedHadronIso/pt < 0.3" % matchTriggerPaths process.flashggTagAndProbe.probeSelection = "full5x5_r9>0.8 && egChargedHadronIso < 20 && egChargedHadronIso/pt < 0.3" process.flashggTagAndProbe.idSelection = cms.PSet( rho = highMassCiCPhotonsV2.rho, cut = highMassCiCPhotonsV2.cut, variables = highMassCiCPhotonsV2.variables, categories = highMassCiCPhotonsV2.categories ) from flashgg.Taggers.tagAndProbeDumper_cfi import tagAndProbeDumper tagAndProbeDumper.dumpTrees = True cfgTools.addCategories(tagAndProbeDumper, [ ("Reject", "diPhoton.mass < 50 || diPhoton.mass > 130", -1), ("All", "1", 0) # ("EBHighR9", "abs(getProbe.superCluster.eta)<1.4442 && getProbe.full5x5_r9>0.94", 0), # ("EBLowR9", "abs(getProbe.superCluster.eta)<1.4442 && getProbe.full5x5_r9<=0.94", 0), # ("EEHighR9", "abs(getProbe.superCluster.eta)>1.566 && getProbe.full5x5_r9>0.94", 0), # ("EELowR9", "abs(getProbe.superCluster.eta)>1.566 && getProbe.full5x5_r9<=0.94", 0) ], variables=dumpCfg.getTnPVariables(process.flashggTagAndProbe.idSelection.variables,variables), histograms=[] ) tnp_sequence = cms.Sequence(flashggTagAndProbe+tagAndProbeDumper) process.p = cms.Path(tnp_sequence) # categories definition if ":" in customize.massCut: massCutEB,massCutEE = map(float,customize.massCut.split(":")) massCut = min(massCutEB,massCutEE) else: massCutEB,massCutEE = None,None massCut = float(customize.massCut)
cfgTools.addCategories(process.genDiphotonDumper, [ ("all","1",0), # category definition: (<name>,<selection>,<num_subcats>) ## ("EB","max(abs(leadingPhoton.eta),abs(subLeadingPhoton.eta))<1.4442",0), ## ("EE","1",0) ], variables=[ "mass", "pt", "rapidity", "leadPt := leadingPhoton.pt", "leadEta := leadingPhoton.eta", "leadPhi := leadingPhoton.phi", "leadExtraType := leadingExtra.type", "leadExtraGenIso := leadingExtra.genIso", "subLeadPt := subLeadingPhoton.pt", "subLeadEta := subLeadingPhoton.eta", "subLeadPhi := subLeadingPhoton.phi", "subLeadExtraType := subLeadingExtra.type", "subLeadExtraGenIso := subLeadingExtra.genIso", ], histograms=[ "genMass>>genmass(1500,0,15000)", ## can directly draw ] )
# interestng categories cfgTools.addCategories(process.diphotonDumper, ## categories definition ## cuts are applied in cascade. Events getting to these categories have already failed the "Reject" selection [("EBHighR9","max(abs(leadingPhoton.superCluster.eta),abs(leadingPhoton.superCluster.eta))<1.4442" "&& min(leadingPhoton.full5x5_r9,subLeadingPhoton.full5x5_r9)>0.94",0), ## EB high R9 ("EBLowR9","max(abs(leadingPhoton.superCluster.eta),abs(leadingPhoton.superCluster.eta))<1.4442",0), ## remaining EB is low R9 ("EEHighR9","min(leadingPhoton.full5x5_r9,subLeadingPhoton.full5x5_r9)>0.94",0), ## then EE high R9 ("EELowR9","1",0), ## evereything elese is EE low R9 ], ## variables to be dumped in trees/datasets. Same variables for all categories ## if different variables wanted for different categories, can add categorie one by one with cfgTools.addCategory variables=["CMS_hgg_mass[320,100,180]:=mass", "leadPt :=leadingPhoton.pt", "subleadPt :=subLeadingPhoton.pt", "minR9 :=min(leadingPhoton.full5x5_r9,subLeadingPhoton.full5x5_r9)", "maxEta :=max(abs(leadingPhoton.superCluster.eta),abs(leadingPhoton.superCluster.eta))", "leadIDMVA :=leadingView.phoIdMvaWrtChosenVtx", "subleadIDMVA :=subLeadingView.phoIdMvaWrtChosenVtx", ], ## histograms to be plotted. ## the variables need to be defined first histograms=["CMS_hgg_mass>>mass(320,100,180)", "subleadPt:leadPt>>ptSubVsLead(180,20,200:180,20,200)", "minR9>>minR9(110,0,1.1)", "maxEta>>maxEta[0.,0.1,0.2,0.3,0.4,0.6,0.8,1.0,1.2,1.4442,1.566,1.7,1.8,2.,2.2,2.3,2.5]" ] )
cfgTools.addCategory( process.photonViewDumper, "Reject", "abs(photon.superCluster.eta)>=1.4442&&abs(photon.superCluster.eta)<=1.566||abs(photon.superCluster.eta)>=2.5", -1 ## if nSubcat is -1 do not store anythings ) # interestng categories cfgTools.addCategories( process.photonViewDumper, ## categories definition ## cuts are applied in cascade. Events getting to these categories have already failed the "Reject" selection [ ("promptPhotons", "photon.genMatchType == 1", 0), ("fakePhotons", "photon.genMatchType != 1", 0), ], ## variables to be dumped in trees/datasets. Same variables for all categories ## if different variables wanted for different categories, can add categorie one by one with cfgTools.addCategory variables=variables, ## histograms to be plotted. ## the variables need to be defined first histograms=histograms, ) process.p1 = cms.Path( process.flashggUpdatedIdMVADiPhotons * process.kinPreselDiPhotons * process.flashggSinglePhotonViews * process.photonViewDumper) from flashgg.MetaData.JobConfig import customize customize.setDefault("maxEvents", 10000) customize(process)
#process.diphotonDumper.src = cms.InputTag("flashggUpdatedIdMVADiPhotons") #process.diphotonDumper.src = cms.InputTag("flashggDiPhotons") process.diphotonDumper.dumpHistos = False process.diphotonDumper.dumpTrees = True process.diphotonDumper.dumpGlobalVariables = cms.untracked.bool(True) process.diphotonDumper.globalVariables = process.globalVariables process.TFileService = cms.Service("TFileService", fileName = cms.string("histo.root"), closeFileFast = cms.untracked.bool(True) ) #DIPHOTON MVA cfgTools.addCategories(process.DiPhotonWithZeeMVADumper, [("All","1", 0),], variables=["dipho_mva:=mvaValue"], histograms=["dipho_mva>>dipho_mva(100,-1,1)",] ) # split tree, histogram and datasets by process process.DiPhotonWithZeeMVADumper.nameTemplate ="zeevalidation_$SQRTS_$LABEL_$SUBCAT" cfgTools.addCategories(process.diphotonDumper, ## categories definition ## cuts are applied in cascade. Events getting to these categories have already failed the "Reject" selection [("All","1", 0) #("EB", "abs(superCluster.eta)<1.479", 0), #("EE", "abs(superCluster.eta)>1.566",0) ], variables=["leadPhIso := leadingPhoton.pfPhoIso03()", "leadPhIsoCorr := leadingPhoton.pfPhoIso03Corr()",
cfgTools.addCategory(process.analyzer, "Reject", "abs(superCluster.eta)>=1.4442&&abs(superCluster.eta)<=1.566||abs(superCluster.eta)>=2.5", -1 ## if nSubcat is -1 do not store anythings ) # interestng categories cfgTools.addCategories(process.analyzer, ## categories definition ## cuts are applied in cascade. Events getting to these categories have already failed the "Reject" selection [("promptPhotons","genMatchType == 1",0), ("fakePhotons", "genMatchType != 1",0), ], ## variables to be dumped in trees/datasets. Same variables for all categories ## if different variables wanted for different categories, can add categorie one by one with cfgTools.addCategory variables=["pt","energy","eta","phi","scEta:=superCluster.eta", "r9","chgIsoWrtWorstVtx := getpfChgIsoWrtWorstVtx03", "genIso := userFloat('genIso')", "eTrue := ? hasMatchedGenPhoton ? matchedGenPhoton.energy : 0" ], ## histograms to be plotted. ## the variables need to be defined first histograms=["r9>>r9(110,0,1.1)", "scEta>>scEta(100,-2.5,2.5)" ] ) # customization for job splitting, lumi weighting, etc. from flashgg.MetaData.JobConfig import customize customize.setDefault("maxEvents",500) customize.setDefault("targetLumi",1.e+4) customize(process)
cfgTools.addCategories(process.photonViewDumper, ## categories definition ## cuts are applied in cascade. Events getting to these categories have already failed the "Reject" selection [("promptPhotonsEB","abs(photon.superCluster.eta)<1.5 && photon.genMatchType == 1",0), ("fakePhotonsEB", "abs(photon.superCluster.eta)<1.5 && photon.genMatchType != 1",0), ], ## variables to be dumped in trees/datasets. Same variables for all categories ## if different variables wanted for different categories, can add categorie one by one with cfgTools.addCategory variables=variables, ## histograms to be plotted. ## the variables need to be defined first histograms=histograms, ## compute MVA on the fly. More then one MVA can be tested at once mvas = [ ("myMVA", ["ph.scrawe:=photon.superCluster.rawEnergy", "ph.r9:=photon.r9", "ph.sigietaieta:=photon.sigmaIetaIeta", "ph.scetawidth:=photon.superCluster.etaWidth", "ph.scphiwidth:=photon.superCluster.phiWidth", "ph.idmva_CoviEtaiPhi:=photon.sieip", "ph.idmva_s4ratio:=photon.s4", "ph.idmva_GammaIso:=photon.pfPhoIso03", "ph.idmva_ChargedIso_selvtx:=pfChIso03WrtChosenVtx", "ph.idmva_ChargedIso_worstvtx:=photon.pfChgIsoWrtWorstVtx03", "ph.sceta:=photon.superCluster.eta", "rho:=global.rho" ], "BDT", "flashgg/MicroAOD/data/2013FinalPaper_PhotonID_Barrel_BDT_TrainRangePT15_8TeV.weights.xml", ) ] )
process.TFileService = cms.Service("TFileService", fileName=cms.string("test.root")) # # analysis configuration # import flashgg.Taggers.dumperConfigTools as cfgTools from flashgg.Taggers.genDiphotonDumper_cfi import genDiphotonDumper cfgTools.addCategories( genDiphotonDumper, [("EB", "max(abs(leadingPhoton.eta),abs(subLeadingPhoton.eta))<1.4442", 0), ("EE", "1", 0)], variables=[ "genMass := mass", "pt", "genLeadPt := leadingPhoton.pt", "genSubeadPt := subLeadingPhoton.pt", ], histograms=[ "genMass>>genmass(1500,0,15000)", ]) from diphotons.Analysis.DiPhotonAnalysis import DiPhotonAnalysis analysis = DiPhotonAnalysis( None, massCut=customize.massCut, ptLead=customize.ptLead, ptSublead=customize.ptSublead, scaling=customize.scaling, ## kinematic cuts genIsoDefinition=("genIso", 10.),
cfgTools.addCategories(process.tagCandidateDumper, ## categories definition ## cuts are applied in cascade. Events getting to these categories have already failed the "Reject" selection [("All", "1", 0)], variables=["bdt_combined := combindedMVA", "dijet_MVA := vbfMVA", "dipho_mva := diPhoMVAValue", "mass := diPhoton.mass", "cat := categoryNumber", "dipho_pt := diPhoton.pt", "dipho_phi := diPhoton.phi", "dipho_eta := diPhoton.eta", "dipho_PtoM := diPhoton.pt/diPhoton.mass", "cosphi := diPhotonMVA.CosPhi", "sigmaMrvoM := diPhotonMVA.sigmarv", "sigmaMwvoM := diPhotonMVA.sigmawv", # VTX "vtxprob := diPhotonMVA.vtxprob", "ptbal := diPhoton.ptBal", "ptasym := diPhoton.ptAsym", "logspt2 := diPhoton.logSumPt2", "p2conv := diPhoton.pullConv", "nconv := diPhoton.nConv", "vtxmva := diPhoton.vtxProbMVA", "vtxdz := diPhoton.dZ1", "vtx_x := diPhoton.vtx.x", "vtx_y := diPhoton.vtx.y", "vtx_z := diPhoton.vtx.z", "gv_x := diPhoton.genPV.x", "gv_y := diPhoton.genPV.y", "gv_z := diPhoton.genPV.z", # Trigger "hlt1 := triggerBit(0)", "hlt2 := triggerBit(1)", "hlt3 := triggerBit(2)", ##MET ???? # PHOTON 1 "genmatch1 := genMatchLead", "et1 := diPhoton.leadingPhoton.et", "eta1 := diPhoton.leadingPhoton.superCluster.eta", "phi1 := diPhoton.leadingPhoton.superCluster.phi", "r91 := diPhoton.leadingPhoton.full5x5_r9", "e1x31 := diPhoton.leadingPhoton.e1x3", "e2x51 := diPhoton.leadingPhoton.e2x5", "e3x31 := diPhoton.leadingPhoton.e3x3", "e5x51 := diPhoton.leadingPhoton.e5x5", "sieie1 := diPhoton.leadingPhoton.full5x5_sigmaIetaIeta", "hoe1 := diPhoton.leadingPhoton.hadronicOverEm", "sigmaEoE1 := diPhoton.leadingPhoton.sigEOverE", "ptoM1 := diPhoton.leadingPhoton.pt / diPhoton.mass", "chiso1 := diPhoton.leadingView.pfChIso03WrtChosenVtx", "chisow1 := diPhoton.leadingPhoton.pfChgIsoWrtWorstVtx04", "phoiso1 := diPhoton.leadingPhoton.pfPhoIso03", "phoiso041 := diPhoton.leadingPhoton.pfPhoIso04", "ecaliso03_1 := diPhoton.leadingPhoton.ecalRecHitSumEtConeDR03", "hcaliso03_1 := diPhoton.leadingPhoton.hcalTowerSumEtConeDR03", "pfcluecal03_1 := diPhoton.leadingPhoton.ecalPFClusterIso", "pfcluhcal03_1 := diPhoton.leadingPhoton.hcalPFClusterIso", "trkiso03_1 := diPhoton.leadingPhoton.trkSumPtHollowConeDR03", "pfchiso2_1 := diPhoton.leadingView.pfChIso02WrtChosenVtx", "isEB1 := diPhoton.leadingPhoton.isEB", "csev1 := diPhoton.leadingPhoton.passElectronVeto", "haspixelseed1 := diPhoton.leadingPhoton.hasPixelSeed", "sieip1 := diPhoton.leadingPhoton.sieip", "etawidth1 := diPhoton.leadingPhoton.superCluster.etaWidth", "phiwidth1 := diPhoton.leadingPhoton.superCluster.phiWidth", "regrerr1 := diPhoton.leadingPhoton.sigEOverE * diPhoton.leadingPhoton.energy", "idmva1 := diPhoton.leadingView.phoIdMvaWrtChosenVtx", "s4ratio1 := diPhoton.leadingPhoton.s4", "effSigma1 := diPhoton.leadingPhoton.esEffSigmaRR", "scraw1 := diPhoton.leadingPhoton.superCluster.rawEnergy", "ese1 := diPhoton.leadingPhoton.superCluster.preshowerEnergy", # PHOTON 2 "genmatch2 := genMatchSubLead", "et2 := diPhoton.subLeadingPhoton.et", "eta2 := diPhoton.subLeadingPhoton.superCluster.eta", "phi2 := diPhoton.subLeadingPhoton.superCluster.phi", "r92 := diPhoton.subLeadingPhoton.full5x5_r9", "e1x32 := diPhoton.subLeadingPhoton.e1x3", "e2x52 := diPhoton.subLeadingPhoton.e2x5", "e3x32 := diPhoton.subLeadingPhoton.e3x3", "e5x52 := diPhoton.subLeadingPhoton.e5x5", "sieie2 := diPhoton.subLeadingPhoton.full5x5_sigmaIetaIeta", "hoe2 := diPhoton.subLeadingPhoton.hadronicOverEm", "sigmaEoE2 := diPhoton.subLeadingPhoton.sigEOverE", "ptoM2 := diPhoton.subLeadingPhoton.pt / diPhoton.mass", "isEB2 := diPhoton.subLeadingPhoton.isEB", "chiso2 := diPhoton.subLeadingView.pfChIso03WrtChosenVtx", "chisow2 := diPhoton.subLeadingPhoton.pfChgIsoWrtWorstVtx04", "phoiso2 := diPhoton.subLeadingPhoton.pfPhoIso03", "phoiso042 := diPhoton.subLeadingPhoton.pfPhoIso04", "ecaliso03_2 := diPhoton.subLeadingPhoton.ecalRecHitSumEtConeDR03", "hcaliso03_2 := diPhoton.subLeadingPhoton.hcalTowerSumEtConeDR03", "pfcluecal03_2 := diPhoton.leadingPhoton.ecalPFClusterIso", "pfcluhcal03_2 := diPhoton.leadingPhoton.hcalPFClusterIso", "trkiso03_2 := diPhoton.subLeadingPhoton.trkSumPtHollowConeDR03", "pfchiso2_2 := diPhoton.subLeadingView.pfChIso02WrtChosenVtx", "csev2 := diPhoton.subLeadingPhoton.passElectronVeto", "haspixelseed2 := diPhoton.subLeadingPhoton.hasPixelSeed", "sieip2 := diPhoton.subLeadingPhoton.sieip", "etawidth2 := diPhoton.subLeadingPhoton.superCluster.etaWidth", "phiwidth2 := diPhoton.subLeadingPhoton.superCluster.phiWidth", "regrerr2 := diPhoton.subLeadingPhoton.sigEOverE* diPhoton.subLeadingPhoton.energy", "idmva2 := diPhoton.subLeadingView.phoIdMvaWrtChosenVtx", "s4ratio2 := diPhoton.subLeadingPhoton.s4", "effSigma2 := diPhoton.subLeadingPhoton.esEffSigmaRR", "scraw2 := diPhoton.subLeadingPhoton.superCluster.rawEnergy", "ese2 := diPhoton.subLeadingPhoton.superCluster.preshowerEnergy", # dijet "dijet_leadEta", "dijet_subleadEta", "dijet_dEta := dijet_abs_dEta", "dijet_LeadJPt", "dijet_SubJPt", "dijet_Zep", "dijet_dPhi := dijet_dipho_dphi", "dijet_Mjj", "dijet_minDRJetPho", ], histograms=[] )
cms.PSet(cut=cms.string("1"), selection=cms.VPSet(cms.VPSet())))) # ---------------------------------------------------------------------------------------------------- # Configure tagAndProbeDumper variables = dumpCfg.getCustomConfig('complete') print(variables) from flashgg.Validation.tagAndProbeDumper_cfi import tagAndProbeDumper tagAndProbeDumper.dumpTrees = True cfgTools.addCategories( tagAndProbeDumper, [("Reject", "diPhoton.mass < 50 || diPhoton.mass > 130", -1), ("All", "1", 0) # ("EBHighR9", "abs(getProbe.superCluster.eta)<1.4442 && getProbe.full5x5_r9>0.94", 0), # ("EBLowR9", "abs(getProbe.superCluster.eta)<1.4442 && getProbe.full5x5_r9<=0.94", 0), # ("EEHighR9", "abs(getProbe.superCluster.eta)>1.566 && getProbe.full5x5_r9>0.94", 0), # ("EELowR9", "abs(getProbe.superCluster.eta)>1.566 && getProbe.full5x5_r9<=0.94", 0) ], variables=variables, histograms=[]) tnp_sequence = cms.Sequence(flashggTagAndProbe + tagAndProbeDumper) # ---------------------------------------------------------------------------------------------------- # Schedule process if customize.options.doPhoIdInputsCorrections: process.p = cms.Path(process.flashggDifferentialPhoIdInputsCorrection * process.flashggIdentifiedElectrons * process.flashggDiPhotonSystematics * tnp_sequence) else:
process.HHWWggCandidateDumper.dumpWorkspace = True # Workspace # If signal, if data # Create histograms cfgTools.addCategories( process.HHWWggCandidateDumper, [ # Signal Categories # ("SL","(CMS_hgg_mass!=-99) && (CMS_hgg_mass>=100) && (CMS_hgg_mass<=180)",0), # for background model ("SL", "(CMS_hgg_mass!=-99) && (CMS_hgg_mass>=115) && (CMS_hgg_mass<=135)", 0 ), # for signal model # ("SL","1",0), # All events # Not working for some reason # Data # ("All_HLT_Events","1",0), # All events that passed HLT ], # variables = all_variables, variables=Reco_Variables, # variables = Fit_Variables, # variables = RECO_GEN_Variables, histograms=[]) # Input file process.source = cms.Source( "PoolSource", fileNames=cms.untracked.vstring(
cfgTools.addCategories(process.DiLeptonDiJetDumper, ## categories definition ## cuts are applied in cascade. Events getting to these categories have already failed the "Reject" selection [("all","1",0) # [("EBHighR9","max(abs(leadingPhoton.superCluster.eta),abs(leadingPhoton.superCluster.eta))<1.4442" # "&& min(leadingPhoton.r9,subLeadingPhoton.r9)>0.94",0), ## EB high R9 # ("EBLowR9","max(abs(leadingPhoton.superCluster.eta),abs(leadingPhoton.superCluster.eta))<1.4442",0), ## remaining EB is low R9 # ("EEHighR9","min(leadingPhoton.r9,subLeadingPhoton.r9)>0.94",0), ## then EE high R9 # ("EELowR9","1",0), ## evereything elese is EE low R9 ], ## variables to be dumped in trees/datasets. Same variables for all categories ## if different variables wanted for different categories, can add categorie one by one with cfgTools.addCategory variables=[ "leadElePt := ? isEEJJ ? leadingEle.pt : -999", "leadMuonPt := ? isMMJJ ? leadingMuon.pt : -999", "leadLeptonPt :=leadingLeptonPt", "subLeadLeptonPt :=subLeadingLeptonPt", "leadLeptonEta :=leadingLeptonEta", "subLeadLeptonEta :=subLeadingLeptonEta", "leadLeptonPhi :=leadingLeptonPhi", "subLeadLeptonPhi :=subLeadingLeptonPhi", "leadJetPt :=leadingJet.pt", "subLeadJetPt :=subLeadingJet.pt", "leadJetEta :=leadingJet.eta", "subLeadJetEta :=subLeadingJet.eta", "leadJetPhi :=leadingJet.phi", "subLeadJetPhi :=subLeadingJet.phi", "diLeptonDiJetSumPt :=sumPt", "diLeptonDiJetMass :=invMass", "diLeptonMass :=diLeptonInvMass", "isEEJJ :=isEEJJ", "isEETT :=isEETT", "isMMJJ :=isMMJJ", "isMMTT :=isMMTT" ], ## histograms to be plotted. ## the variables need to be defined first histograms=[ # # "subLeadLeptonPt:leadLeptonPt>>ptSubVsLead(180,20,200:180,20,200)", # "leadLeptonPt>>leadLeptonPt(100, 0, 2500)", # "subLeadLeptonPt>>subLeadLeptonPt(100, 0, 2500)", # "leadJetPt>>leadJetPt(100, 0, 2500)", # "subLeadJetPt>>subLeadJetPt(100, 0, 2500)", # "leadLeptonEta>>leadLeptonEta(100, -4, 4)", # "subLeadLeptonEta>>subLeadLeptonEta(100, -4, 4)", # "leadJetEta>>leadJetEta(100, -4, 4)", # "subLeadJetEta>>subLeadJetEta(100, -4, 4)", # "leadLeptonPhi>>leadLeptonPhi(100, -3.2, 3.2)", # "subLeadLeptonPhi>>subLeadLeptonPhi(100, -3.2, 3.2)", # "leadJetPhi>>leadJetPhi(100, -3.2, 3.2)", # "subLeadJetPhi>>subLeadJetPhi(100, -3.2, 3.2)", # "diLeptonDiJetMass>>diLeptonDiJetMass(500, 0, 6000)", # "diLeptonMass>>diLeptonMass(500, 0, 6400)" ] )
## define categories and associated objects to dump cfgTools.addCategory(process.photonViewDumper, "Reject", "abs(photon.superCluster.eta)>=1.4442&&abs(photon.superCluster.eta)<=1.566||abs(photon.superCluster.eta)>=2.5", -1 ## if nSubcat is -1 do not store anythings ) # interestng categories cfgTools.addCategories(process.photonViewDumper, ## categories definition ## cuts are applied in cascade. Events getting to these categories have already failed the "Reject" selection [("promptPhotons","photon.genMatchType == 1",0), ("fakePhotons", "photon.genMatchType != 1",0), ], ## variables to be dumped in trees/datasets. Same variables for all categories ## if different variables wanted for different categories, can add categorie one by one with cfgTools.addCategory variables=variables, ## histograms to be plotted. ## the variables need to be defined first histograms=histograms, ) process.p1 = cms.Path(process.flashggUpdatedIdMVADiPhotons* process.kinPreselDiPhotons* process.flashggSinglePhotonViews* process.photonViewDumper ) from flashgg.MetaData.JobConfig import customize
cfgTools.addCategories( process.vbfTagDumper, ## categories definition [("all", "1", 0)], ## variables to be dumped in trees/datasets. Same variables for all categories variables=dipho_variables + [ "dRphoLeadJ := min(deltaR(leadingJet.eta, leadingJet.phi, diPhoton.leadingPhoton.eta, diPhoton.leadingPhoton.phi), deltaR(leadingJet.eta, leadingJet.phi, diPhoton.subLeadingPhoton.eta, diPhoton.subLeadingPhoton.phi))", "dRphoSubleadJ := min(deltaR(subLeadingJet.eta, subLeadingJet.phi, diPhoton.leadingPhoton.eta, diPhoton.leadingPhoton.phi), deltaR(subLeadingJet.eta, subLeadingJet.phi, diPhoton.subLeadingPhoton.eta, diPhoton.subLeadingPhoton.phi))", "leadJPt := leadingJet.pt", "leadJEta := leadingJet.eta", "subleadJPt := subLeadingJet.pt", "subleadJEta := leadingJet.eta", "Mjj := sqrt((leadingJet.energy+subLeadingJet.energy)^2-(leadingJet.px+subLeadingJet.px)^2-(leadingJet.py+subLeadingJet.py)^2-(leadingJet.pz+subLeadingJet.pz)^2)", "dijet_dEta := abs(leadingJet.eta - subLeadingJet.eta)", "dijet_dPhi := deltaPhi(leadingJet.phi, subLeadingJet.phi)", "dijet_Zep := VBFMVA.dijet_Zep", "dijet_MVA := VBFMVA.VBFMVAValue", "vbfcat := categoryNumber", "genZ :=tagTruth().genPV().z", "vtxZ :=diPhoton().vtx().z", "dZ :=abs(tagTruth().genPV().z-diPhoton().vtx().z)", "leadQuarkPt := tagTruth().pt_Q1", "matchingGenJetToLeadPt := tagTruth().pt_genPartMatchingToJ1" ], histograms=[ "CMS_hgg_mass>>mass(160,100,180)", "subleadPt:leadPt>>ptLeadvsSub(180,20,200:180,20,200)", "diphoMVA>>diphoMVA(50,0,1)", "maxEta>>maxEta[0.,0.1,0.2,0.3,0.4,0.6,0.8,1.0,1.2,1.4442,1.566,1.7,1.8,2.,2.2,2.3,2.5]", "subleadJetPt:leadJetPt>>JetptLeadvsSub(8,20,100:8,20,100)", "VBFMVA>>VBFMVA(50,0,1)" ])
process.VBFMVADumperNew.dumpTrees = True process.VBFMVADumperNew.dumpWorkspace = False process.VBFMVADumperNew.quietRooFit = True cfgTools.addCategories(process.VBFMVADumperNew, [## cuts are applied in cascade ("All","dipho_PToM>=0",0), ], variables=[ "dijet_abs_dEta := dijet_abs_dEta ", "dijet_leadEta := dijet_leadEta ", "dijet_subleadEta := dijet_subleadEta ", "dijet_LeadJPt := dijet_LeadJPt ", "dijet_SubJPt := dijet_SubJPt ", "dijet_Zep := dijet_Zep ", "dijet_Mjj := dijet_Mjj ", "dipho_PToM := dipho_PToM ", "leadPho_PToM := leadPho_PToM ", "sublPho_PToM := sublPho_PToM ", "dijet_dPhi_trunc := dijet_dPhi_trunc ", "vbfMvaResult_value := vbfMvaResult_value", ], histograms=[ #"mvaresult>>VBFMVAValue(100,-1000,1000)", "vbfMvaResult_value>>VBFMVAValue(100,-1,1)", #"VBFMVAValue>>VBFMVAValue2(100,-1,1)", ] ) # split tree, histogram and datasets by process process.VBFMVADumperNew.nameTemplate ="$PROCESS_$SQRTS_$LABEL_$SUBCAT" process.load("flashgg/Taggers/VBFDiPhoDiJetMVADumperNew_cff")
"dijet_dipho_dphi := dijet_dipho_dphi ", "dijet_dipho_pt := dijet_dipho_pt ", "dijet_dy := dijet_dy ", "minDRJetPho := minDRJetPho ", "vbfMvaResult := vbfMvaResult" ] preselection_cut="dijet_LeadJPt>30 && dijet_SubJPt>20 && dijet_leadEta<4.7 && dijet_leadEta>-4.7 && dijet_leadEta<4.7 && dijet_leadEta>-4.7 && dijet_Mjj>250 && leadPho_PToM>0.5" # # =============================================================================== # setup the dumpers cfgTools.addCategories(process.VBFMVADumper, [## cuts are applied in cascade #("PreselVBFDiJet","%s" % preselection_cut ,0), ("VBFDiJet" ,"dijet_LeadJPt > 0" ,0), ("excluded" ,"1" ,0) # really importent to avoid having an error ], variables = VBFMVAvariables, histograms = [] ) process.VBFMVADumper.nameTemplate ="$PROCESS_$SQRTS_$LABEL_$SUBCAT" cfgTools.addCategories(process.VBFMVADumperPUPPI, [## cuts are applied in cascade ("PreselVBFDiJet","%s" % preselection_cut ,0), ("VBFDiJet" ,"dijet_LeadJPt > 0" ,0), ("excluded" ,"1" ,0) ], variables = VBFMVAvariables, histograms = []
process.vbfTagDumper.dumpTrees = True process.vbfTagDumper.dumpHistos = True process.vbfTagDumper.dumpWorkspace = False # use the trigger-diphoton-preselection from PhysicsTools.PatAlgos.tools.helpers import massSearchReplaceAnyInputTag massSearchReplaceAnyInputTag(process.flashggTagSequence,cms.InputTag("flashggDiPhotons"),cms.InputTag("flashggPreselectedDiPhotons")) # get the variable list import flashgg.Taggers.VBFTagVariables as var all_variables = var.dijet_variables + var.dipho_variables + var.truth_variables cfgTools.addCategories(process.vbfTagDumper, [ ("VBFDiJet","leadingJet.pt>0",0), ("excluded","1",0) ], variables = all_variables, histograms = [] ) #process.vbfTagDumper.nameTemplate ="$PROCESS_$SQRTS_$LABEL_$SUBCAT_$CLASSNAME" process.vbfTagDumper.nameTemplate = "$PROCESS_$SQRTS_$CLASSNAME_$SUBCAT_$LABEL" from flashgg.MetaData.JobConfig import customize customize.setDefault("maxEvents" ,1000) # max-number of events customize.setDefault("targetLumi",2.11e+3) # define integrated lumi customize(process) process.p1 = cms.Path( process.flashggTagSequence* # process.flashggTagTester* # Uncommment if you what to test VBFtag
cfgTools.addCategories( process.tthLeptonicTagDumper, ## categories definition [("all", "1", 0)], ## variables to be dumped in trees/datasets. Same variables for all categories variables=dipho_variables + [ "n_ele := electrons.size", "ele1_pt := ?(electrons.size>0)? electrons.at(0).pt : -1", "ele2_pt := ?(electrons.size>1)? electrons.at(1).pt : -1", "n_muons := muons.size", "muon1_pt := ?(muons.size>0)? muons.at(0).pt : -1", "muon2_pt := ?(muons.size>1)? muons.at(1).pt : -1", "n_bjets := bJets.size", "n_jets := jets.size", "bjet1_pt := bJets.at(0).pt", "bjet2_pt := ?bJets.size>1? bJets.at(1).pt : -1", "Mjj := ?(jets.size>1)?" + "sqrt((jets.at(0).energy+jets.at(1).energy)^2-(jets.at(0).px+jets.at(1).px)^2-(jets.at(0).py+jets.at(1).py)^2-(jets.at(0).pz+jets.at(1).pz)^2)" + ": -1", "jet_pt1 := ? jets.size()>0 ? jets[0].pt() : -100 ", "jet_eta1 := ? jets.size()>0 ? jets[0].eta() : -100 ", "jet_phi1 := ? jets.size()>0 ? jets[0].phi() : -100 ", "jet_bdiscriminant1 := ? jets.size()>0 ? jets[0].bDiscriminator('pfCombinedInclusiveSecondaryVertexV2BJetTags') : -100", "jet_pt2 := ? jets.size()>1 ? jets[1].pt() : -100 ", "jet_eta2 := ? jets.size()>1 ? jets[1].eta() : -100 ", "jet_phi2 := ? jets.size()>1 ? jets[1].phi() : -100 ", "jet_bdiscriminant2 := ? jets.size()>1 ? jets[1].bDiscriminator('pfCombinedInclusiveSecondaryVertexV2BJetTags') : -100", "jet_pt3 := ? jets.size()>2 ? jets[2].pt() : -100 ", "jet_eta3 := ? jets.size()>2 ? jets[2].eta() : -100 ", "jet_phi3 := ? jets.size()>2 ? jets[2].phi() : -100 ", "jet_bdiscriminant3 := ? jets.size()>2 ? jets[2].bDiscriminator('pfCombinedInclusiveSecondaryVertexV2BJetTags') : -100 ", "jet_pt4 := ? jets.size()>3 ? jets[3].pt() : -100 ", "jet_eta4 := ? jets.size()>3 ? jets[3].eta() : -100 ", "jet_phi4 := ? jets.size()>3 ? jets[3].phi() : -100 ", "jet_bdiscriminant4 := ? jets.size()>3 ? jets[3].bDiscriminator('pfCombinedInclusiveSecondaryVertexV2BJetTags') : -100 ", "jet_pt5 := ? jets.size()>4 ? jets[4].pt() : -100 ", "jet_eta5 := ? jets.size()>4 ? jets[4].eta() : -100 ", "jet_phi5 := ? jets.size()>4 ? jets[4].phi() : -100 ", "jet_bdiscriminant5 := ? jets.size()>4 ? jets[4].bDiscriminator('pfCombinedInclusiveSecondaryVertexV2BJetTags') : -100 ", ], ## histograms histograms=[])
cfgTools.addCategories( process.tagDumper, [ ## cuts are applied in cascade ("All", "1", 0), ], variables=[ "leadptom := diPhotonMVA.leadptom ", "subleadptom := diPhotonMVA.subleadptom ", "leadmva := diPhotonMVA.leadmva ", "subleadmva := diPhotonMVA.subleadmva ", "leadeta := diPhotonMVA.leadeta ", "subleadeta := diPhotonMVA.subleadeta", "sigmarv := diPhotonMVA.sigmarv", "sigmawv := diPhotonMVA.sigmawv", "CosPhi := diPhotonMVA.CosPhi", "vtxprob := diPhotonMVA.vtxprob", "result := diPhotonMVA.result", "mass := diPhoton.mass", "pt := diPhoton.pt", # "beamSpot := diPhotonMVA.beamSpot", "leadSigEoE_unsm := ? diPhoton.leadingPhoton().hasUserFloat('unsmaeraedSigmaEoE')? diPhoton.leadingPhoton().userFloat('unsmaeraedSigmaEoE'):0", "subleadSigEoE_unsm := ? diPhoton.subLeadingPhoton().hasUserFloat('unsmaeraedSigmaEoE')? diPhoton.subLeadingPhoton().userFloat('unsmaeraedSigmaEoE'):0", "dz := ?!tagTruth().isNull()?abs(tagTruth().genPV().z-diPhoton().vtx().z):0", "leadMatchType := diPhoton.leadingPhoton().genMatchType()", "subleadMatchType := diPhoton.subLeadingPhoton().genMatchType()", "leadptgen := ?diPhoton.leadingPhoton().hasMatchedGenPhoton()?diPhoton.leadingPhoton().matchedGenPhoton().pt():0", "subleadptgen := ?diPhoton.subLeadingPhoton().hasMatchedGenPhoton()?diPhoton.subLeadingPhoton().matchedGenPhoton().pt():0", "leadSCeta := diPhoton.leadingPhoton().superCluster().eta()", "subleadSCeta := diPhoton.subLeadingPhoton().superCluster().eta()", "leadSCphi := diPhoton.leadingPhoton().superCluster().phi()", "subleadSCphi := diPhoton.subLeadingPhoton().superCluster().phi()", "leadR9 := diPhoton.leadingPhoton().r9()", "subleadR9 := diPhoton.subLeadingPhoton().r9()", "leadSigEOverE := diPhoton.leadingPhoton().sigEOverE()", "subleadSigEOverE := diPhoton.subLeadingPhoton().sigEOverE()", "massgen := diPhoton.genP4().mass()" ], histograms=[ "result>>diphoMVAValue(100,-1,1)", ])
"Reject", "abs(superCluster.eta)>=1.4442&&abs(superCluster.eta)<=1.566||abs(superCluster.eta)>=2.5", -1 ## if nSubcat is -1 do not store anythings ) # interestng categories cfgTools.addCategories( process.analyzer, ## categories definition ## cuts are applied in cascade. Events getting to these categories have already failed the "Reject" selection [ ("promptPhotons", "genMatchType == 1", 0), ("fakePhotons", "genMatchType != 1", 0), ], ## variables to be dumped in trees/datasets. Same variables for all categories ## if different variables wanted for different categories, can add categorie one by one with cfgTools.addCategory variables=[ "pt", "energy", "eta", "phi", "scEta:=superCluster.eta", "r9", "chgIsoWrtWorstVtx := getpfChgIsoWrtWorstVtx03", "genIso := userFloat('genIso')", "eTrue := ? hasMatchedGenPhoton ? matchedGenPhoton.energy : 0" ], ## histograms to be plotted. ## the variables need to be defined first histograms=["r9>>r9(110,0,1.1)", "scEta>>scEta(100,-2.5,2.5)"]) # customization for job splitting, lumi weighting, etc. from flashgg.MetaData.JobConfig import customize customize.setDefault("maxEvents", 500) customize.setDefault("targetLumi", 1.e+4) customize(process)
] all_variables = var.dipho_variables + new_variables if customize.processId != "Data": # all_variables += var.truth_variables + matching_photon all_variables += matching_photon cats = [] if doJetSystTrees: for syst in jetsystlabels: systcutstring = "hasSyst(\"%s\") " % syst cats += [("ZPlusJet_%s" % syst, systcutstring, 0)] cats += [("ZPlusJet", "1", 0)] cfgTools.addCategories(process.ZPlusJetTagDumper, cats, variables=all_variables, histograms=[]) process.ZPlusJetTagDumper.nameTemplate = "$PROCESS_$SQRTS_$CLASSNAME_$SUBCAT_$LABEL" customize.setDefault("maxEvents", 5000) # max-number of events customize.setDefault("targetLumi", 1.00e+3) # define integrated lumi customize(process) from HLTrigger.HLTfilters.hltHighLevel_cfi import hltHighLevel #process.hltHighLevel = hltHighLevel.clone(HLTPaths = cms.vstring("HLT_Diphoton30_18_R9Id_OR_IsoCaloId_AND_HE_R9Id_Mass95_v*") ) process.hltHighLevel = hltHighLevel.clone( HLTPaths=cms.vstring("HLT_Ele17_Ele12_CaloIdL_TrackIdL_IsoVL_DZ_v*")) process.options = cms.untracked.PSet(wantSummary=cms.untracked.bool(True)) # ee bad supercluster filter on data
import flashgg.Taggers.dumperConfigTools as cfgTools process.load("flashgg.Taggers.diphotoMVAWithZeeDumper_cff") process.load("flashgg.Taggers.photonDumper_cfi") process.load("flashgg.Taggers.diphotonDumper_cfi") process.diphotonDumper.src = cms.InputTag("flashggZeeDiPhotons") process.TFileService = cms.Service("TFileService", fileName = cms.string("histo.root"), closeFileFast = cms.untracked.bool(True) ) #DIPHOTON MVA cfgTools.addCategories(process.DiPhotonWithZeeMVADumper, [("All","1", 0),], variables=["dipho_mva:=getMVAValue"], histograms=["dipho_mva>>dipho_mva(100,-1,1)",] ) # split tree, histogram and datasets by process process.DiPhotonWithZeeMVADumper.nameTemplate ="zeevalidation_$SQRTS_$LABEL_$SUBCAT" #cfgTools.addCategories(process.photonDumper, # ## categories EB, EE # [("EB", "abs(superCluster.eta)<1.479", 0), # ("EE", "abs(superCluster.eta)>1.566",0)], # variables=["chIsoRv := getpfChgIsoWrtChosenVtx03", # "chIsoWv := getpfChgIsoWrtWorstVtx03", # "phIso := getpfPhoIso03", # #"rho", # "sieie := full5x5_sigmaIetaIeta",
cfgTools.addCategories( process.tthLeptonicTagDumper, ## categories definition [("all", "1", 0)], ## variables to be dumped in trees/datasets. Same variables for all categories variables=dipho_variables + [ "n_ele := electrons.size", "ele1_pt := ?(electrons.size>0)? electrons.at(0).pt : -1", "ele2_pt := ?(electrons.size>1)? electrons.at(1).pt : -1", "ele1_eta := ?(electrons.size>0)? electrons.at(0).eta : -999", "ele2_eta := ?(electrons.size>1)? electrons.at(1).eta : -999", "ele1_phi := ?(electrons.size>0)? electrons.at(0).phi : -999", "ele2_phi := ?(electrons.size>1)? electrons.at(1).phi : -999", "ele1_energy := ?(electrons.size>0)? electrons.at(0).energy : -999", "ele2_energy := ?(electrons.size>1)? electrons.at(1).energy : -999", "n_muons := muons.size", "muon1_pt := ?(muons.size>0)? muons.at(0).pt : -1", "muon2_pt := ?(muons.size>1)? muons.at(1).pt : -1", "muon1_eta := ?(muons.size>0)? muons.at(0).eta : -999", "muon2_eta := ?(muons.size>1)? muons.at(1).eta : -999", "muon1_phi := ?(muons.size>0)? muons.at(0).phi : -999", "muon2_phi := ?(muons.size>1)? muons.at(1).phi : -999", "muon1_energy := ?(muons.size>0)? muons.at(0).energy : -999", "muon2_energy := ?(muons.size>1)? muons.at(1).energy : -999", "tthMVA := mvaRes", "jet_pt1 := ? jets.size()>0 ? jets[0].pt() : -100 ", "jet_eta1 := ? jets.size()>0 ? jets[0].eta() : -100 ", "jet_phi1 := ? jets.size()>0 ? jets[0].phi() : -100 ", "jet_bdiscriminant1 := ? jets.size()>0 ? jets[0].bDiscriminator('pfDeepCSVJetTags:probb') : -100", "jet_pt2 := ? jets.size()>1 ? jets[1].pt() : -100 ", "jet_eta2 := ? jets.size()>1 ? jets[1].eta() : -100 ", "jet_phi2 := ? jets.size()>1 ? jets[1].phi() : -100 ", "jet_bdiscriminant2 := ? jets.size()>1 ? jets[1].bDiscriminator('pfDeepCSVJetTags:probb') : -100", "jet_pt3 := ? jets.size()>2 ? jets[2].pt() : -100 ", "jet_eta3 := ? jets.size()>2 ? jets[2].eta() : -100 ", "jet_phi3 := ? jets.size()>2 ? jets[2].phi() : -100 ", "jet_bdiscriminant3 := ? jets.size()>2 ? jets[2].bDiscriminator('pfDeepCSVJetTags:probb') : -100 ", "jet_pt4 := ? jets.size()>3 ? jets[3].pt() : -100 ", "jet_eta4 := ? jets.size()>3 ? jets[3].eta() : -100 ", "jet_phi4 := ? jets.size()>3 ? jets[3].phi() : -100 ", "jet_bdiscriminant4 := ? jets.size()>3 ? jets[3].bDiscriminator('pfDeepCSVJetTags:probb') : -100 ", "jet_pt5 := ? jets.size()>4 ? jets[4].pt() : -100 ", "jet_eta5 := ? jets.size()>4 ? jets[4].eta() : -100 ", "jet_phi5 := ? jets.size()>4 ? jets[4].phi() : -100 ", "jet_bdiscriminant5 := ? jets.size()>4 ? jets[4].bDiscriminator('pfDeepCSVJetTags:probb') : -100 ", "jet_pt6 := ? jets.size()>5 ? jets[5].pt() : -100 ", "jet_eta6 := ? jets.size()>5 ? jets[5].eta() : -100 ", "jet_phi6 := ? jets.size()>5 ? jets[5].phi() : -100 ", "jet_bdiscriminant6 := ? jets.size()>5 ? jets[5].bDiscriminator('pfDeepCSVJetTags:probb') : -100 ", "jet_pt7 := ? jets.size()>6 ? jets[6].pt() : -100 ", "jet_eta7 := ? jets.size()>6 ? jets[6].eta() : -100 ", "jet_phi7 := ? jets.size()>6 ? jets[6].phi() : -100 ", "jet_bdiscriminant7 := ? jets.size()>6 ? jets[6].bDiscriminator('pfDeepCSVJetTags:probb') : -100 ", "jet_pt8 := ? jets.size()>7 ? jets[7].pt() : -100 ", "jet_eta8 := ? jets.size()>7 ? jets[7].eta() : -100 ", "jet_phi8 := ? jets.size()>7 ? jets[7].phi() : -100 ", "jet_bdiscriminant8 := ? jets.size()>7 ? jets[7].bDiscriminator('pfDeepCSVJetTags:probb') : -100 ", "jet_pt9 := ? jets.size()>8 ? jets[8].pt() : -100 ", "jet_eta9 := ? jets.size()>8 ? jets[8].eta() : -100 ", "jet_phi9 := ? jets.size()>8 ? jets[8].phi() : -100 ", "jet_bdiscriminant9 := ? jets.size()>8 ? jets[8].bDiscriminator('pfDeepCSVJetTags:probb') : -100 ", "jet_pt10 := ? jets.size()>9 ? jets[9].pt() : -100 ", "jet_eta10 := ? jets.size()>9 ? jets[9].eta() : -100 ", "jet_phi10 := ? jets.size()>9 ? jets[9].phi() : -100 ", "jet_bdiscriminant10 := ? jets.size()>9 ? jets[9].bDiscriminator('pfDeepCSVJetTags:probb') : -100 ", "jet_pt11 := ? jets.size()>10 ? jets[10].pt() : -100 ", "jet_eta11 := ? jets.size()>10 ? jets[10].eta() : -100 ", "jet_phi11 := ? jets.size()>10 ? jets[10].phi() : -100 ", "jet_bdiscriminant11 := ? jets.size()>10 ? jets[10].bDiscriminator('pfDeepCSVJetTags:probb') : -100 ", "jet_pt12 := ? jets.size()>11 ? jets[11].pt() : -100 ", "jet_eta12 := ? jets.size()>11 ? jets[11].eta() : -100 ", "jet_phi12 := ? jets.size()>11 ? jets[11].phi() : -100 ", "jet_bdiscriminant12 := ? jets.size()>11 ? jets[11].bDiscriminator('pfDeepCSVJetTags:probb') : -100 ", "jet_pt13 := ? jets.size()>12 ? jets[12].pt() : -100 ", "jet_eta13 := ? jets.size()>12 ? jets[12].eta() : -100 ", "jet_phi13 := ? jets.size()>12 ? jets[12].phi() : -100 ", "jet_bdiscriminant13 := ? jets.size()>12 ? jets[12].bDiscriminator('pfDeepCSVJetTags:probb') : -100 ", "jet_pt14 := ? jets.size()>13 ? jets[13].pt() : -100 ", "jet_eta14 := ? jets.size()>13 ? jets[13].eta() : -100 ", "jet_phi14 := ? jets.size()>13 ? jets[13].phi() : -100 ", "jet_bdiscriminant14 := ? jets.size()>13 ? jets[13].bDiscriminator('pfDeepCSVJetTags:probb') : -100 ", "jet_pt15 := ? jets.size()>14 ? jets[14].pt() : -100 ", "jet_eta15 := ? jets.size()>14 ? jets[14].eta() : -100 ", "jet_phi15 := ? jets.size()>14 ? jets[14].phi() : -100 ", "jet_bdiscriminant15 := ? jets.size()>14 ? jets[14].bDiscriminator('pfDeepCSVJetTags:probb') : -100 ", "jet_bbdiscriminant1 := ?(jets.size>0)? jets.at(0).bDiscriminator('pfDeepCSVJetTags:probbb') : -1", "jet_bbdiscriminant2 := ?(jets.size>1)? jets.at(1).bDiscriminator('pfDeepCSVJetTags:probbb') : -1", "jet_bbdiscriminant3 := ?(jets.size>2)? jets.at(2).bDiscriminator('pfDeepCSVJetTags:probbb') : -1", "jet_bbdiscriminant4 := ?(jets.size>3)? jets.at(3).bDiscriminator('pfDeepCSVJetTags:probbb') : -1", "jet_bbdiscriminant5 := ?(jets.size>4)? jets.at(4).bDiscriminator('pfDeepCSVJetTags:probbb') : -1", "jet_bbdiscriminant6 := ?(jets.size>5)? jets.at(5).bDiscriminator('pfDeepCSVJetTags:probbb') : -1", "jet_bbdiscriminant7 := ?(jets.size>6)? jets.at(6).bDiscriminator('pfDeepCSVJetTags:probbb') : -1", "jet_bbdiscriminant8 := ?(jets.size>7)? jets.at(7).bDiscriminator('pfDeepCSVJetTags:probbb') : -1", "jet_bbdiscriminant9 := ?(jets.size>8)? jets.at(8).bDiscriminator('pfDeepCSVJetTags:probbb') : -1", "jet_bbdiscriminant10 := ?(jets.size>9)? jets.at(9).bDiscriminator('pfDeepCSVJetTags:probbb') : -1", "jet_bbdiscriminant11 := ?(jets.size>10)? jets.at(10).bDiscriminator('pfDeepCSVJetTags:probbb') : -1", "jet_bbdiscriminant12 := ?(jets.size>11)? jets.at(11).bDiscriminator('pfDeepCSVJetTags:probbb') : -1", "jet_bbdiscriminant13 := ?(jets.size>12)? jets.at(12).bDiscriminator('pfDeepCSVJetTags:probbb') : -1", "jet_bbdiscriminant14 := ?(jets.size>13)? jets.at(13).bDiscriminator('pfDeepCSVJetTags:probbb') : -1", "jet_bbdiscriminant15 := ?(jets.size>14)? jets.at(14).bDiscriminator('pfDeepCSVJetTags:probbb') : -1", "jet_cdiscriminant1 := ?(jets.size>0)? jets.at(0).bDiscriminator('pfDeepCSVJetTags:probc') : -1", "jet_cdiscriminant2 := ?(jets.size>1)? jets.at(1).bDiscriminator('pfDeepCSVJetTags:probc') : -1", "jet_cdiscriminant3 := ?(jets.size>2)? jets.at(2).bDiscriminator('pfDeepCSVJetTags:probc') : -1", "jet_cdiscriminant4 := ?(jets.size>3)? jets.at(3).bDiscriminator('pfDeepCSVJetTags:probc') : -1", "jet_cdiscriminant5 := ?(jets.size>4)? jets.at(4).bDiscriminator('pfDeepCSVJetTags:probc') : -1", "jet_cdiscriminant6 := ?(jets.size>5)? jets.at(5).bDiscriminator('pfDeepCSVJetTags:probc') : -1", "jet_cdiscriminant7 := ?(jets.size>6)? jets.at(6).bDiscriminator('pfDeepCSVJetTags:probc') : -1", "jet_cdiscriminant8 := ?(jets.size>7)? jets.at(7).bDiscriminator('pfDeepCSVJetTags:probc') : -1", "jet_cdiscriminant9 := ?(jets.size>8)? jets.at(8).bDiscriminator('pfDeepCSVJetTags:probc') : -1", "jet_cdiscriminant10 := ?(jets.size>9)? jets.at(9).bDiscriminator('pfDeepCSVJetTags:probc') : -1", "jet_cdiscriminant11 := ?(jets.size>10)? jets.at(10).bDiscriminator('pfDeepCSVJetTags:probc') : -1", "jet_cdiscriminant12 := ?(jets.size>11)? jets.at(11).bDiscriminator('pfDeepCSVJetTags:probc') : -1", "jet_cdiscriminant13 := ?(jets.size>12)? jets.at(12).bDiscriminator('pfDeepCSVJetTags:probc') : -1", "jet_cdiscriminant14 := ?(jets.size>13)? jets.at(13).bDiscriminator('pfDeepCSVJetTags:probc') : -1", "jet_cdiscriminant15 := ?(jets.size>14)? jets.at(14).bDiscriminator('pfDeepCSVJetTags:probc') : -1", "jet_udsgdiscriminant1 := ?(jets.size>0)? jets.at(0).bDiscriminator('pfDeepCSVJetTags:probudsg') : -1", "jet_udsgdiscriminant2 := ?(jets.size>1)? jets.at(1).bDiscriminator('pfDeepCSVJetTags:probudsg') : -1", "jet_udsgdiscriminant3 := ?(jets.size>2)? jets.at(2).bDiscriminator('pfDeepCSVJetTags:probudsg') : -1", "jet_udsgdiscriminant4 := ?(jets.size>3)? jets.at(3).bDiscriminator('pfDeepCSVJetTags:probudsg') : -1", "jet_udsgdiscriminant5 := ?(jets.size>4)? jets.at(4).bDiscriminator('pfDeepCSVJetTags:probudsg') : -1", "jet_udsgdiscriminant6 := ?(jets.size>5)? jets.at(5).bDiscriminator('pfDeepCSVJetTags:probudsg') : -1", "jet_udsgdiscriminant7 := ?(jets.size>6)? jets.at(6).bDiscriminator('pfDeepCSVJetTags:probudsg') : -1", "jet_udsgdiscriminant8 := ?(jets.size>7)? jets.at(7).bDiscriminator('pfDeepCSVJetTags:probudsg') : -1", "jet_udsgdiscriminant9 := ?(jets.size>8)? jets.at(8).bDiscriminator('pfDeepCSVJetTags:probudsg') : -1", "jet_udsgdiscriminant10 := ?(jets.size>9)? jets.at(9).bDiscriminator('pfDeepCSVJetTags:probudsg') : -1", "jet_udsgdiscriminant11 := ?(jets.size>10)? jets.at(10).bDiscriminator('pfDeepCSVJetTags:probudsg') : -1", "jet_udsgdiscriminant12 := ?(jets.size>11)? jets.at(11).bDiscriminator('pfDeepCSVJetTags:probudsg') : -1", "jet_udsgdiscriminant13 := ?(jets.size>12)? jets.at(12).bDiscriminator('pfDeepCSVJetTags:probudsg') : -1", "jet_udsgdiscriminant14 := ?(jets.size>13)? jets.at(13).bDiscriminator('pfDeepCSVJetTags:probudsg') : -1", "jet_udsgdiscriminant15 := ?(jets.size>14)? jets.at(14).bDiscriminator('pfDeepCSVJetTags:probudsg') : -1", "jet_energy1 := ?(jets.size>0)? jets.at(0).energy : -1", "jet_energy2 := ?(jets.size>1)? jets.at(1).energy : -1", "jet_energy3 := ?(jets.size>2)? jets.at(2).energy : -1", "jet_energy4 := ?(jets.size>3)? jets.at(3).energy : -1", "jet_energy5 := ?(jets.size>4)? jets.at(4).energy : -1", "jet_energy6 := ?(jets.size>5)? jets.at(5).energy : -1", "jet_energy7 := ?(jets.size>6)? jets.at(6).energy : -1", "jet_energy8 := ?(jets.size>7)? jets.at(7).energy : -1", "jet_energy9 := ?(jets.size>8)? jets.at(8).energy : -1", "jet_energy10 := ?(jets.size>9)? jets.at(9).energy : -1", "jet_energy11 := ?(jets.size>10)? jets.at(10).energy : -1", "jet_energy12 := ?(jets.size>11)? jets.at(11).energy : -1", "jet_energy13 := ?(jets.size>12)? jets.at(12).energy : -1", "jet_energy14 := ?(jets.size>13)? jets.at(13).energy : -1", "jet_energy15 := ?(jets.size>14)? jets.at(14).energy : -1", ], ## histograms histograms=[])
"Reject", " abs(superCluster.eta)>=1.4442&&abs(superCluster.eta)<=1.566 " "|| abs(superCluster.eta)>=2.5 " "|| pt<100", -1 ## if nSubcat is -1 do not store anythings ) # interestng categories cfgTools.addCategories( process.photonDumper, ## categories definition ## cuts are applied in cascade. Events getting to these categories have already failed the "Reject" selection [ ("promptTree", "genMatchType == 1", 0), ("fakesTree", "genMatchType != 1", 0), ], ## variables to be dumped in trees/datasets. Same variables for all categories ## if different variables wanted for different categories, can add categorie one by one with cfgTools.addCategory variables=variables, ## histograms to be plotted. ## the variables need to be defined first histograms=histograms, ## compute MVA on the fly. More then one MVA can be tested at once mvas=None) process.idleWatchdog = cms.EDAnalyzer( "IdleWatchdog", checkEvery=cms.untracked.int32(100), minIdleFraction=cms.untracked.double(0.5), tolerance=cms.untracked.int32(5)) process.p1 = cms.Path(
cfgTools.addCategories(process.tagDumper, [## cuts are applied in cascade ("All","1",0), ], variables=[ "leadptom := diPhotonMVA.leadptom ", "subleadptom := diPhotonMVA.subleadptom ", "leadmva := diPhotonMVA.leadmva ", "subleadmva := diPhotonMVA.subleadmva ", "leadeta := diPhotonMVA.leadeta ", "subleadeta := diPhotonMVA.subleadeta", "sigmarv := diPhotonMVA.sigmarv", "sigmawv := diPhotonMVA.sigmawv", "CosPhi := diPhotonMVA.CosPhi", "vtxprob := diPhotonMVA.vtxprob", "result := diPhotonMVA.result", "mass := diPhoton.mass", "pt := diPhoton.pt", # "beamSpot := diPhotonMVA.beamSpot", "leadSigEoE_unsm := ? diPhoton.leadingPhoton().hasUserFloat('unsmaeraedSigmaEoE')? diPhoton.leadingPhoton().userFloat('unsmaeraedSigmaEoE'):0", "subleadSigEoE_unsm := ? diPhoton.subLeadingPhoton().hasUserFloat('unsmaeraedSigmaEoE')? diPhoton.subLeadingPhoton().userFloat('unsmaeraedSigmaEoE'):0", "dz := ?!tagTruth().isNull()?abs(tagTruth().genPV().z-diPhoton().vtx().z):0", "leadMatchType := diPhoton.leadingPhoton().genMatchType()", "subleadMatchType := diPhoton.subLeadingPhoton().genMatchType()", "leadptgen := ?diPhoton.leadingPhoton().hasMatchedGenPhoton()?diPhoton.leadingPhoton().matchedGenPhoton().pt():0", "subleadptgen := ?diPhoton.subLeadingPhoton().hasMatchedGenPhoton()?diPhoton.subLeadingPhoton().matchedGenPhoton().pt():0", "leadSCeta := diPhoton.leadingPhoton().superCluster().eta()", "subleadSCeta := diPhoton.subLeadingPhoton().superCluster().eta()", "leadSCphi := diPhoton.leadingPhoton().superCluster().phi()", "subleadSCphi := diPhoton.subLeadingPhoton().superCluster().phi()", "leadR9 := diPhoton.leadingPhoton().r9()", "subleadR9 := diPhoton.subLeadingPhoton().r9()", "leadSigEOverE := diPhoton.leadingPhoton().sigEOverE()", "subleadSigEOverE := diPhoton.subLeadingPhoton().sigEOverE()", "massgen := diPhoton.genP4().mass()" ], histograms=[ "result>>diphoMVAValue(100,-1,1)", ] )
cfgTools.addCategories( process.vhEtTagDumper, ## categories definition [("all", "1", 0)], ## variables to be dumped in trees/datasets. Same variables for all categories variables=dipho_variables + [ "pfMET_rawPt := met.uncorPt", "pfMET_rawPhi := met.uncorPhi", "pfMET_rawSumEt := met.uncorSumEt", "pfMET_corPt := met.corPt", "pfMET_corPhi := met.corPhi", "pfMET_corSumEt := met.corSumEt", "caloMET_rawPt := met.caloMETPt", "caloMET_rawPhi := met.caloMETPhi", "caloMET_rawSumEt := met.caloMETSumEt", #"genMET_pt := met.genMET.pt", #"genMET_phi := met.genMET.phi", #"genMET_sumEt := met.genMET.sumEt", #"pfNeutralEMFraction := met.NeutralEMFraction", #"pfNeutralHadEtFraction := met.NeutralHadEtFraction", #"pfChargedEMEtFraction := met.ChargedEMEtFraction", #"pfChargedHadEtFraction := met.ChargedHadEtFraction", "hasZ := tagTruth().associatedZ", "hasW := tagTruth().associatedW", "VhasDaughters := tagTruth().VhasDaughters", "VhasNeutrinos := tagTruth().VhasNeutrinos", "VhasMissingLeptons := tagTruth().VhasMissingLeptons", "genZ := tagTruth().genPV().z", "Vpt := tagTruth().Vpt" ], histograms=[ "mass>>mass(160,100,180)", "subleadPt:leadPt>>ptLeadvsSub(180,20,200:180,20,200)", "leadIDMVA>>leadIDMVA(50,0,1)", "subleadIDMVA>>subleadIDMVA(50,0,1)", "pfMET_rawPt>>pfMET_rawPt(250,0,500)", "pfMET_corPt>>pfMET_corPt(250,0,500)", "pfMET_rawSumEt>>pfMET_rawSumEt(400,200,2000)", "pfMET_corSumEt>>pfMET_corSumEt(400,200,2000)", "caloMET_rawPt>>caloMET_rawPt(250,0,500)", "caloMET_rawSumEt>>caloMET_rawSumEt(400,200,2000)", "pfMET_rawPhi>>pfMET_rawPhi(100,-3.14,3.14)", "pfMET_corPhi>>pfMET_corPhi(100,-3.14,3.14)", "caloMET_rawPhi>>caloMET_rawPhi(100,-3.14,3.14)", #"genMET_pt>>genMET_pt(250,0,500)", #"genMET_phi>>genMET_phi(100,-3.14,3.14)", #"genMET_sumEt>>genMET_sumEt(400,200,2000)" ])
cfgTools.addCategories(process.vhEtTagDumper, ## categories definition [("all","1",0) ], ## variables to be dumped in trees/datasets. Same variables for all categories variables=dipho_variables+ ["pfMET_rawPt := met.uncorPt", "pfMET_rawPhi := met.uncorPhi", "pfMET_rawSumEt := met.uncorSumEt", "pfMET_corPt := met.corPt", "pfMET_corPhi := met.corPhi", "pfMET_corSumEt := met.corSumEt", "caloMET_rawPt := met.caloMETPt", "caloMET_rawPhi := met.caloMETPhi", "caloMET_rawSumEt := met.caloMETSumEt", #"genMET_pt := met.genMET.pt", #"genMET_phi := met.genMET.phi", #"genMET_sumEt := met.genMET.sumEt", "pfNeutralEMFraction := met.NeutralEMFraction", "pfNeutralHadEtFraction := met.NeutralHadEtFraction", "pfChargedEMEtFraction := met.ChargedEMEtFraction", "pfChargedHadEtFraction := met.ChargedHadEtFraction" ], histograms=["mass>>mass(160,100,180)", "subleadPt:leadPt>>ptLeadvsSub(180,20,200:180,20,200)", "leadIDMVA>>leadIDMVA(50,0,1)", "subleadIDMVA>>subleadIDMVA(50,0,1)", "pfMET_rawPt>>pfMET_rawPt(250,0,500)", "pfMET_corPt>>pfMET_corPt(250,0,500)", "pfMET_rawSumEt>>pfMET_rawSumEt(400,200,2000)", "pfMET_corSumEt>>pfMET_corSumEt(400,200,2000)", "caloMET_rawPt>>caloMET_rawPt(250,0,500)", "caloMET_rawSumEt>>caloMET_rawSumEt(400,200,2000)", "pfMET_rawPhi>>pfMET_rawPhi(100,-3.14,3.14)", "pfMET_corPhi>>pfMET_corPhi(100,-3.14,3.14)", "caloMET_rawPhi>>caloMET_rawPhi(100,-3.14,3.14)", #"genMET_pt>>genMET_pt(250,0,500)", #"genMET_phi>>genMET_phi(100,-3.14,3.14)", #"genMET_sumEt>>genMET_sumEt(400,200,2000)" ] )
#process.diphotonDumper.src = cms.InputTag("flashggUpdatedIdMVADiPhotons") #process.diphotonDumper.src = cms.InputTag("flashggDiPhotons") process.diphotonDumper.dumpHistos = False process.diphotonDumper.dumpTrees = True process.diphotonDumper.dumpGlobalVariables = cms.untracked.bool(True) process.diphotonDumper.globalVariables = process.globalVariables process.TFileService = cms.Service("TFileService", fileName = cms.string("histo.root"), closeFileFast = cms.untracked.bool(True) ) #DIPHOTON MVA cfgTools.addCategories(process.DiPhotonWithZeeMVADumper, [("All","1", 0),], variables=["dipho_mva:=mvaValue"], histograms=["dipho_mva>>dipho_mva(100,-1,1)",] ) # split tree, histogram and datasets by process process.DiPhotonWithZeeMVADumper.nameTemplate ="zeevalidation_$SQRTS_$LABEL_$SUBCAT" cfgTools.addCategories(process.diphotonDumper, ## categories definition ## cuts are applied in cascade. Events getting to these categories have already failed the "Reject" selection [("All","1", 0) #("EB", "abs(superCluster.eta)<1.479", 0), #("EE", "abs(superCluster.eta)>1.566",0) ], variables=["leadPhIso := leadingPhoton.pfPhoIso03()", "leadNeuIso := leadingPhoton.pfNeutIso03()",
) process.DiPhotonMVADumperNew.dumpTrees = True process.DiPhotonMVADumperNew.dumpWorkspace = False process.DiPhotonMVADumperNew.quietRooFit = True cfgTools.addCategories(process.DiPhotonMVADumperNew, [## cuts are applied in cascade ("All","1",0), ], variables=[ "leadptom := leadptom ", "subleadptom := subleadptom ", "leadmva := leadmva ", "subleadmva := subleadmva ", "leadeta := leadeta ", "subleadeta := subleadeta", "sigmarv := sigmarv", "sigmawv := sigmawv", "CosPhi := CosPhi", "vtxprob := vtxprob", "result := result", ], histograms=[ "result>>diphoMVAValue(100,-1,1)", ] ) # split tree, histogram and datasets by process process.DiPhotonMVADumperNew.nameTemplate ="$PROCESS_$SQRTS_$LABEL_$SUBCAT" # customization for job splitting, lumi weighting, etc.
"&& dijet_Mjj > 250 && leadPho_PToM > 0.5") cfgTools.addCategories(process.VBFMVADumperPUPPI, [## cuts are applied in cascade ("VBFDiJet" ,"dijet_LeadJPt > 0",0), ("PreselectedVBFDiJet",preselection_cut ,0), ("expluded","1",0) # really importent to avoid having an error ], variables=[ "dijet_abs_dEta := dijet_abs_dEta ", "dijet_leadEta := dijet_leadEta ", "dijet_subleadEta := dijet_subleadEta ", "dijet_LeadJPt := dijet_LeadJPt ", "dijet_SubJPt := dijet_SubJPt ", "dijet_Zep := dijet_Zep ", "dijet_Mjj := dijet_Mjj ", "dipho_PToM := dipho_PToM ", "leadPho_PToM := leadPho_PToM ", "sublPho_PToM := sublPho_PToM ", "dijet_dPhi_trunc := dijet_dPhi_trunc ", "VBFMVAValue := VBFMVAValue ", "vbfMvaResult_value_bdt := vbfMvaResult_value_bdt", "vbfMvaResult_value_bdtg := vbfMvaResult_value_bdtg", ], histograms=[ "vbfMvaResult_value>>outputBDT(400,-1,1)", "vbfMvaResult_value_bdt>>output_bdt(400,-1,1)", "vbfMvaResult_value_bdtg>>output_bdtg(400,-1,1)", ] ) # split tree, histogram and datasets by process
cfgTools.addCategories( process.analyzer, ## categories definition ## cuts are applied in cascade. Events getting to these categories have already failed the "Reject" selection [ ("EBHighR9", "max(abs(leadingPhoton.superCluster.eta),abs(leadingPhoton.superCluster.eta))<1.4442" "&& min(leadingPhoton.r9,subLeadingPhoton.r9)>0.94", 0), ## EB high R9 ("EBLowR9", "max(abs(leadingPhoton.superCluster.eta),abs(leadingPhoton.superCluster.eta))<1.4442", 0), ## remaining EB is low R9 ("EEHighR9", "min(leadingPhoton.r9,subLeadingPhoton.r9)>0.94", 0), ## then EE high R9 ("EELowR9", "1", 0), ## evereything elese is EE low R9 ], ## variables to be dumped in trees/datasets. Same variables for all categories ## if different variables wanted for different categories, can add categorie one by one with cfgTools.addCategory variables=[ "CMS_hgg_mass[320,100,180]:=mass", "leadPt :=leadingPhoton.pt", "subleadPt :=subLeadingPhoton.pt", "minR9 :=min(leadingPhoton.r9,subLeadingPhoton.r9)", "maxEta :=max(abs(leadingPhoton.superCluster.eta),abs(leadingPhoton.superCluster.eta))" ], ## histograms to be plotted. ## the variables need to be defined first histograms=[ "CMS_hgg_mass>>mass(320,100,180)", "subleadPt:leadPt>>ptSubVsLead(180,20,200:180,20,200)", "minR9>>minR9(110,0,1.1)", "maxEta>>maxEta[0.,0.1,0.2,0.3,0.4,0.6,0.8,1.0,1.2,1.4442,1.566,1.7,1.8,2.,2.2,2.3,2.5]" ])
cfgTools.addCategories( process.mumugammaDumper, ## categories definition ## cuts are applied in cascade. Events getting to these categories have already failed the "Reject" selection [ ("EB", "abs(MMG_Photon.superCluster.eta)<1.5", 0), ## ("EE", "abs(MMG_Photon.superCluster.eta)>1.5", 0), ##("EE","1",0), ## evereything elese is EB+EE ], ## variables to be dumped in trees/datasets. Same variables for all categories ## if different variables wanted for different categories, can add categorie one by one with cfgTools.addCategory variables=[ "Mass_mmg :=mass", "Mass_mumu :=DiMuPtr.mass", "PT_mumu :=DiMuPtr.pt", "leadPt :=DiMuPtr.leadingMuon.pt", "subleadPt :=DiMuPtr.subleadingMuon.pt", "photonPT :=MMG_Photon.pt", #"photonMVAOutput :=MMG_Photon.PhoIdMvaDWrtVtx(Vertex)", "photonSCeta :=MMG_Photon.superCluster.eta" #"evtrho :=rho" ], ## histograms to be plotted. ## the variables need to be defined first histograms=[ "Mass_mmg>>mass(160,10,170)", "Mass_mumu>>mass_mumu(80,20,100)", "PT_mumu>>pt_mumu(100,0,100)", "Mass_mmg:Mass_mumu>>MmmgVsMmm(120,30,150:120,30,150)", "subleadPt:leadPt>>ptSubVsLead(200,10,210:200,10,210)", #"evtrho>>eventRho(50, 0, 50)", "photonPT>>photonpt(100,10,110)", #"photonMVAOutput>>IDmva(80,0.2,1.0)", "photonSCeta>>scEta(50,-2.5,2.5)" #"maxEta>>maxEta[0.,0.1,0.2,0.3,0.4,0.6,0.8,1.0,1.2,1.4442,1.566,1.7,1.8,2.,2.2,2.3,2.5]" ])
process.vertexViewDumper.dumpTrees = True process.vertexViewDumper.dumpWorkspace = False process.vertexViewDumper.quietRooFit = True # interestng categories cfgTools.addCategories( process.vertexViewDumper, ## categories definition ## cuts are applied in cascade. Events getting to these categories have already failed the "Reject" selection [ ("trueVertexes", "isClosestToGen", 0), ("puVertexes", "!isClosestToGen", 0), ], ## variables to be dumped in trees/datasets. Same variables for all categories ## if different variables wanted for different categories, can add categorie one by one with cfgTools.addCategory variables=[ "logSumPt2", "ptBal", "ptAsym", "nConv", "pullConv", "vx := pos.x", "vy := pos.y", "vx := pos.y", "dZtoGen" ], ## histograms to be plotted. ## the variables need to be defined first histograms=[ "dZtoGen>>dZtoGen(100,-10.,10.)", "logSumPt2>>logSumPt2(100,-2,10)", ]) process.p1 = cms.Path(process.kinPreselDiPhotons * process.flashggSingleVertexViews * process.vertexViewDumper) from flashgg.MetaData.JobConfig import customize
"subleadPhi := diPhoton.subLeadingPhoton.phi", "sublead_sieie := diPhoton.subLeadingPhoton.sigmaIetaIeta", "sublead_hoe := diPhoton.subLeadingPhoton.hadronicOverEm", "sublead_sigmaEoE := diPhoton.subLeadingPhoton.sigEOverE", "sublead_ptoM := diPhoton.subLeadingPhoton.pt/diPhoton.mass", "subleadR9 := diPhoton.subLeadingPhoton.r9", "leadIDMVA := diPhoton.leadingView.phoIdMvaWrtChosenVtx", "subleadIDMVA := diPhoton.subLeadingView.phoIdMvaWrtChosenVtx",] ## Untagged ## cfgTools.addCategories(process.untaggedDumper, ## categories definition [("all","1",0) ], ## variables to be dumped in trees/datasets. Same variables for all categories variables=dipho_variables, ## histograms histograms=[] ) ## VBF ## cfgTools.addCategories(process.vbfTagDumper, ## categories definition [("all","1",0) ], ## variables to be dumped in trees/datasets. Same variables for all categories variables=dipho_variables+ ["dRphoLeadJ := min(deltaR(leadingJet.eta, leadingJet.phi, diPhoton.leadingPhoton.eta, diPhoton.leadingPhoton.phi), deltaR(leadingJet.eta, leadingJet.phi, diPhoton.subLeadingPhoton.eta, diPhoton.subLeadingPhoton.phi))",
massCut = min(massCutEB,massCutEE) else: massCutEB,massCutEE = None,None massCut = float(customize.massCut) if massCutEB or massCutEE: cfgTools.addCategory(diphotonDumper,"RejectLowMass", " (max(abs(leadingPhoton.superCluster.eta),abs(subLeadingPhoton.superCluster.eta))<1.4442 && mass <= %f)" "|| (max(abs(leadingPhoton.superCluster.eta),abs(subLeadingPhoton.superCluster.eta))>1.566 && mass <= %f)" % (massCutEB,massCutEE),-1) cfgTools.addCategories(diphotonDumper, [## cuts are applied in cascade ## ("all","1"), ("EBHighR9","max(abs(leadingPhoton.superCluster.eta),abs(subLeadingPhoton.superCluster.eta))<1.4442" "&& min(leadingPhoton.r9,subLeadingPhoton.r9)>0.94",0), ("EBLowR9","max(abs(leadingPhoton.superCluster.eta),abs(subLeadingPhoton.superCluster.eta))<1.4442",0), ("EEHighR9","min(leadingPhoton.r9,subLeadingPhoton.r9)>0.94",0), ("EELowR9","1",0), ], variables=variables, histograms=histograms ) # single photon dumper photonDumper.processId = "test" photonDumper.dumpTrees = False photonDumper.dumpWorkspace = False photonDumper.quietRooFit = True photonDumper.maxCandPerEvent=2 photonDumper.nameTemplate = "$PROCESS_$SQRTS_$LABEL_$SUBCAT" cfgTools.addCategories(photonDumper, [## cuts are applied in cascade
cfgTools.addCategories(diphotonDumper, [## cuts are applied in cascade ("EBHighR9","max(abs(leadingPhoton.superCluster.eta),abs(subLeadingPhoton.superCluster.eta))<1.4442" "&& min(leadingPhoton.r9,subLeadingPhoton.r9)>0.94",0), ("EBLowR9","max(abs(leadingPhoton.superCluster.eta),abs(subLeadingPhoton.superCluster.eta))<1.4442",0), ("EEHighR9","min(leadingPhoton.r9,subLeadingPhoton.r9)>0.94",0), ("EELowR9","1",0), ], variables=["mass", "leadPt :=leadingPhoton.pt", "subleadPt :=subLeadingPhoton.pt", "leadCShapeMVA :=leadingPhoton.userFloat('cShapeMVA')", "subleadCShapeMVA :=subLeadingPhoton.userFloat('cShapeMVA')", "minR9 :=min(leadingPhoton.r9,subLeadingPhoton.r9)", "maxEta :=max(abs(leadingPhoton.superCluster.eta),abs(subLeadingPhoton.superCluster.eta))", "leadBlockChIso := leadingPhotonView.pfChIso03WrtChosenVtx", "leadBlockPhoIso := leadingPhotonView.pfPhoIso03", "leadRndConeChIso := leadingPhotonView.extraChgIsoWrtChoosenVtx('rnd03')", "leadRndConePhoIso:= leadingPhoton.extraPhoIso('rnd03')", "leadChIso := leadingPhoton.egChargedHadronIso", "leadChIso := leadingPhoton.egChargedHadronIso", "leadPhoIso := leadingPhoton.egPhotonIso", "leadNeutIso := leadingPhoton.egNeutralHadronIso", "leadHoE := leadingPhoton.hadTowOverEm", "leadSigmaIeIe := (?leadingPhoton.r9>0.8||leadingPhoton.egChargedHadronIso<20||leadingPhoton.egChargedHadronIso/leadingPhoton.pt<0.3?leadingPhoton.full5x5_sigmaIetaIeta:leadingPhoton.sigmaIetaIeta)", "leadPixSeed := leadingPhoton.hasPixelSeed", "leadPassEleVeto := leadingPhoton.passElectronVeto", "subleadBlockChIso := subLeadingPhotonView.pfChIso03WrtChosenVtx", "subleadBlockPhoIso := subLeadingPhotonView.pfPhoIso03", "subleadRndConeChIso := subleadingPhotonView.extraChgIsoWrtChoosenVtx('rnd03')", "subleadRndConePhoIso:= subleadingPhoton.extraPhoIso('rnd03')", "subleadChIso := subLeadingPhoton.egChargedHadronIso", "subleadPhoIso := subLeadingPhoton.egPhotonIso", "subleadNeutIso := subLeadingPhoton.egNeutralHadronIso", "subleadHoE := subLeadingPhoton.hadTowOverEm", "subleadSigmaIeIe := (?subLeadingPhoton.r9>0.8||subLeadingPhoton.egChargedHadronIso<20||subLeadingPhoton.egChargedHadronIso/subLeadingPhoton.pt<0.3?subLeadingPhoton.full5x5_sigmaIetaIeta:subLeadingPhoton.sigmaIetaIeta)", "subleadPixSeed := subLeadingPhoton.hasPixelSeed", "subleadPassEleVeto := subLeadingPhoton.passElectronVeto", ], histograms=["mass>>mass(1500,0,15000)", "leadPt>>leadPt(145,100,3000)", "subleadPt>>subleadPt(145,100,3000)", "leadBlockChIso>>leadBlockChIso(60,-10,50)", "leadBlockPhoIso>>leadBlockPhoIso(60,-10,50)", "leadChIso>>leadChIso(60,-10,50)", "leadPhoIso>>leadPhoIso(60,-10,50)", "leadNeutIso>>leadNeutIso(60,-10,50)", "leadHoE>>leadHoE(40,0,0.2)", "leadSigmaIeIe>>leadSigmaIeIe(50,0,5.e-2)", "leadPixSeed>>leadPixSeed(2,-0.5,1.5)", "subleadPassEleVeto>>subleadPassEleVeto(2,-0.5,1.5)", "subleadBlockChIso>>subleadBlockChIso(60,-10,50)", "subleadBlockPhoIso>>subleadBlockPhoIso(60,-10,50)", "subleadChIso>>subleadChIso(60,-10,50)", "subleadPhoIso>>subleadPhoIso(60,-10,50)", "subleadNeutIso>>subleadNeutIso(60,-10,50)", "subleadHoE>>subleadHoE(40,0,0.2)", "subleadSigmaIeIe>>subleadSigmaIeIe(50,0,5.e-2)", "subleadPixSeed>>subleadPixSeed(2,-0.5,1.5)", "subleadPassEleVeto>>subleadPassEleVeto(2,-0.5,1.5)", "subleadPt:leadPt>>ptSubVsLead(145,100,3000:145,100,3000)", "minR9>>minR9(110,0,1.1)", "maxEta>>maxEta(250,0,2.5)" ] )
"Reject", " abs(superCluster.eta)>=1.4442&&abs(superCluster.eta)<=1.566 " "|| abs(superCluster.eta)>=2.5 " "|| pt<100", -1 ## if nSubcat is -1 do not store anythings ) # interestng categories cfgTools.addCategories(process.photonDumper, ## categories definition ## cuts are applied in cascade. Events getting to these categories have already failed the "Reject" selection [("promptTree","genMatchType == 1",0), ("fakesTree", "genMatchType != 1",0), ], ## variables to be dumped in trees/datasets. Same variables for all categories ## if different variables wanted for different categories, can add categorie one by one with cfgTools.addCategory variables=variables, ## histograms to be plotted. ## the variables need to be defined first histograms=histograms, ## compute MVA on the fly. More then one MVA can be tested at once mvas = None ) process.idleWatchdog=cms.EDAnalyzer("IdleWatchdog", checkEvery = cms.untracked.int32(100), minIdleFraction = cms.untracked.double(0.5), tolerance = cms.untracked.int32(5) ) process.p1 = cms.Path(
"VBFMVA>>VBFMVA(50,0,1)" ] ) cfgTools.addCategories(process.diphotonDumper, [("flashggVHtightTag",0), ("flashggVHlooseTag",0), ], variables=["CMS_hgg_mass[160,100,180]:=diPhoton().mass", "leadPt :=diPhoton().leadingPhoton.pt", "subleadPt :=diPhoton().subLeadingPhoton.pt", "diphoMVA :=diPhotonMVA().result", "maxEta :=max(abs(diPhoton().leadingPhoton.superCluster.eta),abs(diPhoton().leadingPhoton.superCluster.eta))", "nMuons :=getMuons().size()", "nElectrons :=getElectrons().size()", "nJets :=getJets().size()", "genZ :=tagTruth().genPV().z", "vtxZ :=diPhoton().vtx().z", "dZ :=abs(tagTruth().genPV().z-diPhoton().vtx().z)", ], histograms=["CMS_hgg_mass>>mass(160,100,180)", "subleadPt:leadPt>>ptLeadvsSub(180,20,200:180,20,200)", "diphoMVA>>diphoMVA(50,0,1)", "maxEta>>maxEta[0.,0.1,0.2,0.3,0.4,0.6,0.8,1.0,1.2,1.4442,1.566,1.7,1.8,2.,2.2,2.3,2.5]", "nMuons:nElectrons>>nElectronsVsMuons(2,0,2:2,0,2)", "nJets>>nJets(5,0,5)" ] ) cfgTools.addCategory(process.diphotonDumper, "flashggVHhadronicTag",