class plotConfiguration: def __init__(self, useRoot=False ,basedir=None ,do_ddQCD=True): if basedir is None: self.basedir="/net/scratch_cms/institut_3a/materok/wprime/okt14/crab_projects/merged" #self.basedir="/net/scratch_cms/institut_3a/materok/wprime/run1/crab_projects/merged" else: self.basedir=basedir self.useRoot=useRoot self.xs= ConfigObj("xsFile13TeV_25ns_wprime.cfg") self.lumi=0 self.lumi+= 5882 #RunB self.lumi+= 2646 #RunC self.lumi+= 4353 #RunD self.lumi+= 4049 #RunE self.lumi+= 3160 #RunF #self.lumi= 11048 #RunC + RunD + RunE #self.lumi= 12881 #RunB + RunC + RunF self.bghists=HistStorage(self.xs,self.lumi,path=self.basedir,useRoot=self.useRoot) self.bghists.setDataDriven("dataDrivenQCD") self.bghists.setDataDriven("dataDrivenTree") self.bghists.setDataDriven("dataDrivenTreept") self.bghists.setDataDriven("dataDrivenTreedecay_mode") self.bghists.setDataDriven("dataDrivenTreeeta") self.bghists.setDataDriven("dataDrivenTreelepton_n") self.bghists.setDataDriven("dataDrivenTree15_pt_base") self.bghists.setDataDriven("dataDrivenTree15_pt_baseFit") self.bghists.setDataDriven("dataDrivenTree15_pt_decay_base") self.bghists.setDataDriven("dataDrivenTree15_pt_decay_baseFit") self.bghists.setDataDriven("dataDrivenTree15_pt_eta_baseFit") self.bghists.setDataDriven("dataDrivenTree15_pt_eta_base") self.bghists.setDataDriven("dataDrivenTree15_lepton_n_base") self.bghists.setDataDriven("dataDrivenTree15_decay_mode_base") #do_ddQCD=False self.bglist=OrderedDict() self.bglist["Diboson"]=[ "WW_TuneCUETP8M1_13TeV-pythia8", "WZ_TuneCUETP8M1_13TeV-pythia8", "ZZ_TuneCUETP8M1_13TeV-pythia8" ] if not do_ddQCD: self.bglist[r"$Z\rightarrow \nu\nu$"]=[ "ZJetsToNuNu_HT-100To200_13TeV-madgraph", "ZJetsToNuNu_HT-200To400_13TeV-madgraph", "ZJetsToNuNu_HT-400To600_13TeV-madgraph", "ZJetsToNuNu_HT-600To800_13TeV-madgraph", "ZJetsToNuNu_HT-800To1200_13TeV-madgraph", "ZJetsToNuNu_HT-1200To2500_13TeV-madgraph", "ZJetsToNuNu_HT-2500ToInf_13TeV-madgraph" ] self.bglist[r"$\mathsf{Z/\gamma}$"]=[ "DYJetsToLL_M-5to50_TuneCUETP8M1_13TeV-madgraphMLM-pythia8", "DYJetsToLL_M-50_TuneCUETP8M1_13TeV-madgraphMLM-pythia8" ] self.bglist[r'$\mathsf{t\bar{t}}$']=[ "TT_TuneCUETP8M1_13TeV-powheg-pythia8", "ST_t-channel_antitop_4f_leptonDecays_13TeV-powheg-pythia8_TuneCUETP8M1", "ST_t-channel_top_4f_leptonDecays_13TeV-powheg-pythia8_TuneCUETP8M1", "ST_tW_antitop_5f_inclusiveDecays_13TeV-powheg-pythia8_TuneCUETP8M1", "ST_tW_top_5f_inclusiveDecays_13TeV-powheg-pythia8_TuneCUETP8M1" ] if do_ddQCD: self.bglist["multijet"]=[ "dataDrivenQCD", ] if not do_ddQCD: self.bglist["QCD"]=[ "QCD_HT200to300_TuneCUETP8M1_13TeV-madgraphMLM-pythia8", "QCD_HT300to500_TuneCUETP8M1_13TeV-madgraphMLM-pythia8", "QCD_HT500to700_TuneCUETP8M1_13TeV-madgraphMLM-pythia8", "QCD_HT700to1000_TuneCUETP8M1_13TeV-madgraphMLM-pythia8", "QCD_HT1000to1500_TuneCUETP8M1_13TeV-madgraphMLM-pythia8", "QCD_HT1500to2000_TuneCUETP8M1_13TeV-madgraphMLM-pythia8", "QCD_HT2000toInf_TuneCUETP8M1_13TeV-madgraphMLM-pythia8" ] #self.bglist[r'$\mathsf{W\rightarrow l \nu}$ $\mathsf{M_{W}<200 GeV}$']=[ #"WJetsToLNu_HT-100To200_13TeV_MG", #"WJetsToLNu_HT-200To400_13TeV_MG", #"WJetsToLNu_HT-400To600_13TeV_MG", ##"WJetsToLNu_HT-600To800_13TeV_MG", #"WJetsToLNu_HT-600ToInf_13TeV_MG", ##"WJetsToLNu_HT-800To1200_13TeV_MG", ##"WJetsToLNu_HT-1200To2500_13TeV_MG", ##"WJetsToLNu_HT-2500ToInf_13TeV_MG", ##"WJetsToLNu_13TeV-FXFX_MC", ##"WJetsToLNu_13TeV_MG", #"WJetsToLNu_13TeV_AM", #] #self.bglist[r'$\mathsf{W\rightarrow l \nu}$ MCatNLO']=[ ###"WJetsToLNu_13TeV-FXFX_MC", #"WJetsToLNu_13TeV_AM", ###"WJetsToLNu_13TeV-FXFX_MC", ##"WJetsToLNu_13TeVMLM_MG", #] self.bglist["WJets"]=[ "WJetsToLNu_HT-100To200_TuneCUETP8M1_13TeV-madgraphMLM-pythia8", "WJetsToLNu_HT-200To400_TuneCUETP8M1_13TeV-madgraphMLM-pythia8", "WJetsToLNu_HT-400To600_TuneCUETP8M1_13TeV-madgraphMLM-pythia8", "WJetsToLNu_HT-600To800_TuneCUETP8M1_13TeV-madgraphMLM-pythia8", "WJetsToLNu_HT-800To1200_TuneCUETP8M1_13TeV-madgraphMLM-pythia8", "WJetsToLNu_HT-1200To2500_TuneCUETP8M1_13TeV-madgraphMLM-pythia8", "WJetsToLNu_HT-2500ToInf_TuneCUETP8M1_13TeV-madgraphMLM-pythia8" ] """ self.bglist[r'$\mathsf{W\rightarrow \tau \nu}$']=[ "WToTauNu_M-100_TuneCUETP8M1_13TeV-pythia8-tauola", "WToTauNu_M-200_TuneCUETP8M1_13TeV-pythia8-tauola", "WToTauNu_M-500_TuneCUETP8M1_13TeV-pythia8-tauola", "WToTauNu_M-1000_TuneCUETP8M1_13TeV-pythia8-tauola", "WToTauNu_M-2000_TuneCUETP8M1_13TeV-pythia8-tauola", "WToTauNu_M-3000_TuneCUETP8M1_13TeV-pythia8-tauola", "WToTauNu_M-4000_TuneCUETP8M1_13TeV-pythia8-tauola", "WToTauNu_M-5000_TuneCUETP8M1_13TeV-pythia8-tauola", "WToTauNu_M-6000_TuneCUETP8M1_13TeV-pythia8-tauola" ] """ self.bghists.additionalWeight["dataDrivenQCD"]=0.938091502614 self.bghists.additionalWeight["TT_13TeV_AM"]=1./3. self.bghists.additionalWeight["TT_13TeV_ext1_AM"]=1./3. self.bghists.additionalWeight["TTJets_13TeV_AM"]=1./3. self.bghists.additionalWeight["TT_13TeV_ext3_PH"]=1./2. self.bghists.additionalWeight["TT_13TeV_ext4_PH"]=1./2. self.bghists.additionalWeight["TT_Mtt-700to1000_13TeV_ext1_PH"]=1./2. self.bghists.additionalWeight["TT_Mtt-700to1000_13TeV_PH"]=1./2. self.bghists.additionalWeight["TT_Mtt-1000toInf_13TeV_ext1_PH"]=1./2. self.bghists.additionalWeight["TT_Mtt-1000toInf_13TeV_ext2_PH"]=1./2. self.bghists.additionalWeight["WWToLNuQQ_13TeV_ext1_PH"]=1./2. self.bghists.additionalWeight["WWToLNuQQ_13TeV_PH"]=1./2. #bghists.additionalWeight["WJetsToLNu_HT-100To200_13TeV_MG"]=0.5 #bghists.additionalWeight["TT_13TeV_PH"]=0.5 #bghists.additionalWeight["TT_13TeV_ext3_PH"]=0.5 #bghists.additionalWeight["ST_t-channel_4f_leptonDecays_13TeV_AM"]=0.5 #bghists.additionalWeight["DYJetsToLL_M-50_13TeV_ext1_AM"]=0.5 #bghists.additionalWeight["ST_t-channel_4f_leptonDecays_13TeV_ext1_AM"]=0.5 self.bgcolorList={} self.bgcolorList[r'$\mathsf{W\rightarrow l \nu}$']=getRGBTColor(861) self.bgcolorList[r'$\mathsf{W\rightarrow \tau \nu}$']=getRGBTColor(861) self.bgcolorList["WJets"]="lightblue" self.bgcolorList["W"]=getRGBTColor(861) self.bgcolorList["W on shell"]="lightblue" self.bgcolorList[r'$\mathsf{W\rightarrow l \nu}$ MCatNLO']="brown" self.bgcolorList[r'$\mathsf{W\rightarrow l \nu}$ $\mathsf{M_{W}<200 GeV}$']="lightblue" self.bgcolorList["W HT"]="orange" self.bgcolorList["multijet"]=getRGBTColor(213) self.bgcolorList["multijet MC"]=getRGBTColor(216) self.bgcolorList["QCD from data"]=getRGBTColor(213) self.bgcolorList["QCD jet"]=getRGBTColor(213) self.bgcolorList["QCD MC"]="brown" self.bgcolorList["QCD"]="brown" self.bgcolorList["Z (inv)"]="darkblue" self.bgcolorList["Top"]=getRGBTColor(616) self.bgcolorList["$t\bar{t}$"]=getRGBTColor(616) self.bgcolorList[r'$\mathsf{t\bar{t}}$']="orange" self.bgcolorList["Diboson"]=getRGBTColor(413) self.bgcolorList[r"$\mathsf{Z/\gamma}$"]=getRGBTColor(810) self.bgcolorList["DY"]=getRGBTColor(810) self.bgcolorList[r"$\mathsf{\gamma jets}$"]="yellow" self.bgcolorList[r"$Z\rightarrow \nu\nu$"]="yellow" # dummy signal #setup signals self.sghist=HistStorage(self.xs,self.lumi,path=self.basedir,useRoot=self.useRoot) self.sgList=OrderedDict() self.sgList["W' M=1TeV"]=["WprimeToTauNu_M-1000_TuneCUETP8M1_13TeV-pythia8-tauola"] self.sgcolorlist={} self.sgcolorlist["W' M=1TeV"]="darkred" self.dat_hist=HistStorage(self.xs,self.lumi,path=self.basedir,isData=True,useRoot=self.useRoot) #self.DataFiles=["TauRunC"] #self.DataFiles=["TauRunD"] #self.DataFiles=["TauRunE"] #self.DataFiles=["Tau_Run2016E_PromptReco_v2","Tau_Run2016C_PromptReco_v2","Tau_Run2016D_PromptReco_v2"] self.DataFiles=["Tau_Run2016B_PromptReco_v2","Tau_Run2016C_PromptReco_v2", "Tau_Run2016D_PromptReco_v2","Tau_Run2016E_PromptReco_v2","Tau_Run2016F_PromptReco_v1"] #self.DataFiles=["Tau_Run2016C_PromptReco_v2","Tau_Run2016D_PromptReco_v2"] #self.DataFiles=["TauRunC","TauRunD","TauRunE"] def compile_obj(self): self.bghists.addFileList(self.bglist) self.bghists.colorList=self.bgcolorList self.sghist.addFileList(self.sgList) self.sghist.colorList=self.sgcolorlist for data in self.DataFiles: self.dat_hist.addFile(data)
'QCD_Pt-600to800_MuEnrichedPt5_13TeV_P8-skimid2502':lumisc, 'QCD_Pt-800to1000_MuEnrichedPt5_13TeV_P8-skimid2735':lumisc, 'QCD_Pt-1000toInf_MuEnrichedPt5_13TeV_P8-skimid2727':lumisc, 'WWTo2L2Nu_13TeV_PH-skimid2859':lumisc, 'WWTo4Q_13TeV-v2_PH-skimid2871':lumisc, 'WWToLNuQQ_13TeV_PH-skimid2863':lumisc, 'WZTo3LNu_13TeV_PH-skimid3032':lumisc, 'ZZTo2L2Nu_13TeV_PH-skimid3046':lumisc, 'ZZTo4L_13TeV_PH-skimid3045':lumisc, 'TT_13TeV_PH-skimid2903':lumisc*1.138, 'TT_13TeV_ext3_PH-skimid2901':lumisc*1.138, 'TT_Mtt-1000toInf_13TeV_ext1_PH-skimid2989':lumisc*1.138/3.7, 'TT_Mtt-700to1000_13TeV_ext1_PH-skimid2868':lumisc*1.138, } bghists.addFileList(bglist) dat_hist=HistStorage(xs,lumi,path="/disk1/erdweg/television/DATA_25/merged/",isData=True) dat_hist.addFile("allData") # dat_hist.addFile("Data_Run2015B-PromptReco_251162_252126_SingleMuon-skimid81") # dat_hist.addFile("Data_Run2015C-PromptReco_253888_254914_SingleMuon-skimid48") # dat_hist.addFile("../../DATA_25/merged/Data_Run2015C-PromptReco_253888_254914_SingleMuon-skimid48") basedir="/disk1/erdweg/television/SIGNAL/merged/" sghist=HistStorage(xs,lumi,path=basedir,xstype=None) sglist=OrderedDict() sglist['RPV M=500']=[ 'RPVresonantToEMu_M-500_LLE_LQD-001_13TeV_CA-skimid3002', ] sglist['RPV M=1000']=[
def main(): #get the list of bg and data files from the unusal config sampleinfos, basedir = getSampleInfo("201705_mergedext.config") lumi = sampleinfos.values()[-1]["lumi"] useRoot = False #we will use the same colors as the .c plotter for now colors = [100, 90, 80, 70, 60, 95, 85, 75, 65, 55] #reverse order and change to RGB colors = [getRGBTColor(i) for i in colors[::-1]] #make storage containers for the bgs and data bghists = HistStorage(xs=sampleinfos, xstype="BSM3G", lumi=lumi, path=basedir, useRoot=useRoot) dat_hist = HistStorage(path=basedir, isData=True, useRoot=useRoot) #make some lists that we will put into the containers colorList = {} bglist = OrderedDict() for sample in sampleinfos: info = sampleinfos[sample] sample = sample.replace(".root", "") if info["type"] == "bg": shortName = info["output"].replace(".root", "") if "#" in shortName: shortName = "$\mathsf{" + shortName.replace("#", "\\") + "}$" if shortName not in bglist: bglist[shortName] = [sample] colorList[shortName] = colors.pop() else: bglist[shortName].append(sample) #for data directly add the file if info["type"] == "data": dat_hist.addFile(sample) for bg in bglist: print("bglist['%s']=[" % (bg)) for ibg in bglist[bg]: print("'ibg',") print("]") #now actually add the backgrounds bghists.addFileList(bglist) bghists.colorList = colorList hists = [ "NDiMuonCombinations/MHT", "NDiMuonCombinations/Meff", ] histContainer = HistStorageContainer(bg=bghists, data=dat_hist) #histContainer=HistStorageContainer(bg=bghists,sg=sghist,data=dat_hist) binning = { "_pt": 25, "_mt": 25, "_met": 25, "MC_W_m_Gen": 10, "_jet_ht": 10, } xranges = { "_pt": [0, 1000], "_jet_ht": [0, 1600], "_mt": [150, 1600], "boson_qt": [0, 600], "_met": [0, 1300], "_ET_MET": [0, 4], "_DeltaPhi": [0.2, math.pi], "MC_W_m_Gen": [0, 1300], "relIso": [0, 0.05], } yranges = { "_ET_MET": [1.01e-3, 1e8], "_DeltaPhi": [1.01e-3, 1e8], } bghists.initStyle(style="bg") #sghist.initStyle(style="sg") for hist in hists: ##use different out dirs dir_name = "test" if not os.path.exists(dir_name): os.mkdir(dir_name) if "prof" in hist: hist_style = sc.style_container(kind="Lines", style='CMS', useRoot=useRoot, cmsPositon="upper left", lumi=lumi, cms=13) else: hist_style = sc.style_container(style='CMS', useRoot=useRoot, cmsPositon="upper left", lumi=lumi, cms=13) #change the style if you want #hist_style._error_bands_fcol=["grey","yellow"] #hist_style._error_bands_ecol=["lightgrey","yellow"] #hist_style._error_bands_alph=0.4 #hist_style.Set_error_line_width(0.0000000001) hist_style.Set_poisson_error_off() #hist_style.Set_minor_ticks() #hist_style.Set_n_legend_columns(2) #hist_style.Set_xerr() #hist_style.Set_do_overflowbin() #get the actual histograms histContainer.getHist(hist) #programmable binning binf = getDictValue(hist, binning) if binf is not None: if isinstance(binf, list): histContainer.rebin(vector=binf) else: histContainer.rebin(width=binf) name = hist.replace("/", "") #test = plotter(hist=histContainer.getBGList(),data_hist=histContainer.getData(),data=True,style=hist_style) test = plotter(hist=histContainer.getBGList(), style=hist_style) test.Add_data(histContainer.getData()) test.Add_plot('Ratio', pos=1, height=15) test.Add_plot('DiffRatio_width_increase', pos=2, height=15) mplt = test.create_plot() test.SavePlot('%s/%s.png' % (dir_name, name)) test.SavePlot('%s/%s.pdf' % (dir_name, name))
def main(): #get the list of bg and data files from the unusal config sampleinfos, basedir = getSampleInfo("201705_mergedext.config") lumi = sampleinfos.values()[-1]["lumi"] useRoot = False #we will use the same colors as the .c plotter for now colors = [100, 90, 80, 70, 60, 95, 85, 75, 65, 55] #reverse order and change to RGB colors = [getRGBTColor(i) for i in colors[::-1]] #make storage containers for the bgs and data bghists = HistStorage(xs=sampleinfos, xstype="BSM3G", lumi=lumi, path=basedir, useRoot=useRoot) dat_hist = HistStorage(path=basedir, isData=True, useRoot=useRoot) #make some lists that we will put into the containers colorList = {} bglist = OrderedDict() #the idea is to have a readable dict: bglist['DY+Jets'] = [ 'DYJetsToLL_M-50_HT-70To100', 'DYJetsToLL_M-50_HT-600To800', 'DYJetsToLL_M-50_HT-400To600', 'DYJetsToLL_M-50_HT-800To1200', 'DYJetsToLL_M-50_HT-1200To2500', 'DYJetsToLL_M-50_HT-2500ToInf', 'DYJetsToLL_M-50_HT-200To400', 'DYJetsToLL_M-50_HT-0To70', 'DYJetsToLL_M-50_HT-100To200', ] bglist['VV'] = [ 'ZZ_TuneCUETP8M1_13TeV', 'WZ_TuneCUETP8M1_13TeV', 'WW_TuneCUETP8M1_13TeV', ] bglist['SingleTop'] = [ 'ST_tW_antitop_5f_inclusiveDecays_13TeV', 'ST_t-channel_top_4f_inclusiveDecays_13TeV', 'ST_tW_top_5f_inclusiveDecays_13TeV', 'ST_t-channel_antitop_4f_inclusiveDecays_13TeV', ] bglist['$\mathsf{t\bar{t}}$'] = [ 'TT_TuneCUETP8M2T4_13TeV', ] bglist['W+Jets'] = [ 'WJetsToLNu_HT-0To70', ] ##you can reverse the order bglist = OrderedDict(reversed(list(bglist.items()))) #now actually add the backgrounds bghists.addFileList(bglist) bghists.colorList = colorList hists = [ "NDiMuonCombinations/MHT", "NDiMuonCombinations/Meff", ] histContainer = HistStorageContainer(bg=bghists, data=dat_hist) #histContainer=HistStorageContainer(bg=bghists,sg=sghist,data=dat_hist) bghists.initStyle(style="bg") for hist in hists: #this is the magic line histContainer.getHist(hist) #now you can do what you want with the hists allbg = sum(histContainer.getBGList()) allbg.Draw() for bg in histContainer.getBGList(): bg.Draw("same") data = histContainer.getData() data.Draw("same p")
def main(): basedir="/disk1/erdweg/out/output2015_2_13_15_47/merged//" lumi=1000 xs= ConfigObj("/disk1/erdweg/plotting/xs_Phys14.cfg") bghists=HistStorage(xs,lumi,path=basedir) # bghists.setDataDriven("dataDrivenQCD") bglist=OrderedDict() bglist["PU20bx25"]=['ZprimeToTauTau_M-5000_PU20bx25_PHYS14', 'ZprimeToTauTau_M-1000_PU20bx25_PHYS14', ] bglist["AVE30BX50"]=['ZprimeToTauTau_M-1000_AVE30BX50_PHYS14', 'ZprimeToTauTau_M-5000_AVE30BX50_PHYS14', ] bglist["PU40bx25"]=['ZprimeToTauTau_M-1000_PU40bx25_PHYS14', 'ZprimeToTauTau_M-5000_PU40bx25_PHYS14', ] colorList={} colorList["PU20bx25"]="lightblue" colorList["AVE30BX50"]="lightgreen" colorList["PU40bx25"]="darkmagenta" bghists.addFileList(bglist) dat_hist=HistStorage(xs,lumi,path=basedir,isData=True) # dat_hist.addFile("Data") hists=[#'Taus/h1_1_Tau_eta', #'Taus/h1_1_Tau_phi', #'Taus/h1_2_Tau_pt', #'Taus/h1_Tau_pt_resolution_0_500', 'Eles/h1_Ele_pt_resolution_0_500', 'Eles/h1_Ele_pt_resolution_500_1000', #'Eles/h1_2_Ele_pt', 'Muons/h1_Muon_pt_resolution_0_500', 'Muons/h1_Muon_pt_resolution_500_1000', #'Muons/h1_2_Muon_pt', #'emu/Stage_0/h1_0_emu_Mass', #'mutau/Stage_0/h1_0_mutau_Mass', #'mutau/Stage_6/h1_6_mutau_Mass', #'Ctr/h1_Ctr_Vtx_unweighted', #'Ctr/h1_Ctr_Vtx_weighted', #'Ctr/h1_Ctr_Vtx_emu_unweighted', #'Ctr/h1_Ctr_Vtx_emu_weighted', #'Ctr/h1_Ctr_HT', #'Ctr/h1_Ctr_pT_hat', #'emu/Stage_0/h1_0_emu_Mass_resolution', #'mutau/Stage_0/h1_0_mutau_Mass_resolution' ] sghist=HistStorage(xs,lumi,path=basedir) # sgName="$\mathsf{W' \, M=2.3\,TeV \cdot 0.02}$" # sghist.additionalWeight={"WprimeToTauNu_M-2300_TuneZ2star_8TeV-pythia6-tauola_Summer12_DR53X-PU_S10_START53_V7A-v1SIM":0.02} # sghist.addAllFiles(tag="WprimeToTauNu_M-2300",joinName=sgName) # sghist.colorList={sgName :"darkred"} histContainer=HistStorageContainer(sg=bghists,data=dat_hist,bg=sghist) binning={ "Taus/h1_2_Tau_pt":10, # "emu/Stage_0/h1_0_emu_Mass":range(200,300,20)+range(300,400,50)+range(400,1600,100)+range(1600,2000,200), # "mutau/Stage_0/h1_0_mutau_Mass":range(200,300,20)+range(300,400,50)+range(400,1600,100)+range(1600,2000,200), # "mutau/Stage_6/h1_6_mutau_Mass":range(200,300,20)+range(300,400,50)+range(400,1600,100)+range(1600,2000,200), "_met_et":30, } xranges={ "Taus/h1_2_Tau_pt":[0,2000], "emu/Stage_0/h1_0_emu_Mass":[0,2000], "mutau/Stage_0/h1_0_mutau_Mass":[0,2000], "mutau/Stage_6/h1_6_mutau_Mass":[0,2000], "emu/Stage_0/h1_0_emu_Mass_resolution":[-2,2], "mutau/Stage_0/h1_0_mutau_Mass_resolution":[-2,2], "Taus/h1_Tau_pt_resolution_0_500":[-2,2], "Eles/h1_Ele_pt_resolution_0_500":[-2,2], "Eles/h1_Ele_pt_resolution_500_1000":[-2,2], "Muons/h1_Muon_pt_resolution_0_500":[-2,2], "Muons/h1_Muon_pt_resolution_500_1000":[-2,2], "Ctr/h1_Ctr_Vtx_unweighted":[0,40], "Ctr/h1_Ctr_Vtx_weighted":[0,40], "Ctr/h1_Ctr_Vtx_emu_unweighted":[0,40], "Ctr/h1_Ctr_Vtx_emu_weighted":[0,40], } bghists.initStyle(style="sg",colors=colorList) # sghist.initStyle(style="sg") for hist in hists: print("Now plotting: " + hist) histContainer.getHist(hist) binf=getDictValue(hist,binning) if binf is not None: # dat_hist.rebin(width=binf) bghists.rebin(width=binf) bghists.colorList=colorList # bghists.setStyle(bgcolors=colorList) # dat_hist.getHistList()[0].SetTitle("data") hist_style = sc.style_container(style = 'CMS', useRoot = False,cms=13,lumi=19700) hist_style.Set_additional_text('plot dummy') test = plotter(sig=bghists.getHistList(),style=hist_style) # test.Add_data(dat_hist.getHistList()[0]) # test.Add_plot('Signi',pos=0, height=15) #test.Add_plot('DiffRatio',pos=1, height=15) # test.Add_plot('Signi',pos=2, height=15) # test.Add_plot('Diff',pos=1, height=15) # test.Add_plot('Ratio',pos=2, height=15) #test.Add_error_hist([sys_hist_2,sys_hist], band_center = 'ref') test._cms_text_x = 0.12 test._cms_text_y = 0.91 # # mxrange=getDictValue(hist,xranges) if hist in xranges.keys(): test.Set_axis(xmin=xranges[hist][0],xmax=xranges[hist][1],ymin=1e-3,ymax=1e3) name=hist.replace("/","") test.create_plot() plot_gauss_fit(test.Get_axis1(), bghists.getHistList()[0], xmin = -0.5, xmax = 0.5) # test.show_fig() test.SavePlot('plots/%s.pdf'%(name)) return 42
'QCD_Pt-80to120_MuEnrichedPt5_13TeV_P8':lumisc, 'QCD_Pt-120to170_MuEnrichedPt5_13TeV_P8':lumisc, 'QCD_Pt-170to300_MuEnrichedPt5_13TeV_P8':lumisc, 'QCD_Pt-300to470_MuEnrichedPt5_13TeV_P8':lumisc, 'QCD_Pt-470to600_MuEnrichedPt5_13TeV_P8':lumisc, 'QCD_Pt-600to800_MuEnrichedPt5_13TeV_P8':lumisc, 'QCD_Pt-800to1000_MuEnrichedPt5_13TeV_P8':lumisc, 'QCD_Pt-1000toInf_MuEnrichedPt5_13TeV_P8':lumisc, 'WW_13TeV_P8':lumisc, 'WZ_13TeV_P8':lumisc, 'ZZ_13TeV_P8':lumisc, 'TT_13TeV_PH':lumisc, 'TT_Mtt-1000toInf_13TeV_MCRUN2_74_V9_ext1-v2_PH':lumisc, } bghists.addFileList(bglist) # # dat_hist=HistStorage(xs,lumi,path='/disk1/erdweg/out/output2015_8_20_17_27/merged/',isData=True) # dat_hist.addFile("Data_251027_251883_SingleMuon_v2") # # basedir="/disk1/erdweg/out/output2015_6_2_17_17/merged/" # sghist=HistStorage(xs,lumi,path=basedir) # sglist=OrderedDict() # # sglist['RPV M=500']=[ # 'RPVresonantToEMu_M-500_LLE_LQD_001_TuneCUETP8M1_13TeV-calchep-pythia8', # ] # sglist['RPV M=1000']=[ # 'RPVresonantToEMu_M-1000_LLE_LQD_001_TuneCUETP8M1_13TeV-calchep-pythia8', # ] # sghist.additionalWeight = {'RPVresonantToEMu_M-500_LLE_LQD_001_TuneCUETP8M1_13TeV-calchep-pythia8':lumisc}