[f_bc2e3080,   xs_bc2e3080,   n_bc2e3080,  lumi],
    [f_bc2e80170,  xs_bc2e80170,  n_bc2e80170, lumi],
    [f_gjet40100,  xs_gjet40100,  n_gjet40100, lumi],
    [f_gjet100200, xs_gjet100200, n_gjet100200,lumi],
    [f_gjet200Inf, xs_gjet200Inf, n_gjet200Inf,lumi],
    ]

#======= add the qcd and singleTop histos and apply weights to all ============
for ivar in range(0, len(names)) :
    name = names[ivar]
    hist_data  = weightHisto( dataLabel,   tempDir, name, dataSample,    kBlack, verbose)
    #hist_tp    = weightHisto( tprimeLabel, tempDir, name, tprimeSample,  6,      verbose)
    hist_top   = weightHisto( topLabel,    tempDir, name, topSample,     206,    verbose)
    hist_wjets = weightHisto( wjetsLabel,  tempDir, name, wjetSample,    210,    verbose)
    hist_zjets = weightHisto( zjetsLabel,  tempDir, name, zjetSample,    215,    verbose)   
    hist_sTop  = addHistos( sTopLabel,   tempDir, name, singleTopSamples,95,     verbose)
    hist_qcd   = addHistos( qcdLabel,    tempDir, name, qcdSamples,      220,    verbose)
    
    print 'data area', hist_data.Integral()
    allHists.append(hist_data)
    allHists.append(hist_qcd)
    allHists.append(hist_sTop)
    allHists.append(hist_zjets)
    allHists.append(hist_wjets)
    allHists.append(hist_top)
    #allHists.append(hist_tp)
    
# ============= PLOT ==================
hs = THStack("nEvents","nEvents")
for ihist in allHists[1:]:
    ihist.Rebin(options.rebin)
    xtitle = "Number of Primary vertices"
elif  var == 'nJets3':
   xtitle = "number of jets"     
else:
    xtitle = ""
 

#======= add the qcd and singleTop histos and apply weights to all ============
for ivar in range(0, len(names)) :
    name = names[ivar]
    if not useFitter:
        hist_data  = weightHisto( dataLabel,   name, dataSample,    kBlack, verbose)
        hist_top   = weightHisto( topLabel,    name, topSample,     206,    verbose)
        hist_wjets = weightHisto( wjetsLabel,  name, wjetSample,    210,    verbose)
        hist_zjets = weightHisto( zjetsLabel,  name, zjetSample,    215,    verbose)   
        hist_sTop  = addHistos( sTopLabel,     name, singleTopSamples,95,     verbose)
        hist_qcd   = addHistos( qcdLabel,      name, qcdSamples,      220,    verbose)
        if useLooseQCD:
            hist_qcdL  = addHistos( qcdLabelLoose, name, qcdSamplesLoose,      220,    verbose)
        
        if useLooseQCD and hist_qcdL.Integral()!= 0:
            hist_qcdL.Scale(hist_qcd.Integral()/hist_qcdL.Integral())
            
    else:
        hist_data  = addHistosMulti( dataLabel,   name, dataSample,    kBlack, verbose, None, minTag, maxTag, minJet, maxJet)
        hist_top   = addHistosMulti( topLabel,    name, topSample,     206,    verbose, Top_total, minTag, maxTag, minJet, maxJet)
        hist_wjets = addHistosMulti( wjetsLabel,  name, wjetSample,    210,    verbose, WJet_total, minTag, maxTag, minJet, maxJet)
        hist_zjets = addHistosMulti( zjetsLabel,  name, zjetSample,    215,    verbose, ZJet_total, minTag, maxTag, minJet, maxJet)
        hist_sTop  = addHistosMulti( sTopLabel,     name, singleTopSamples,95,     verbose, SingleTop_total, minTag, maxTag, minJet, maxJet)
        hist_qcd   = addHistosMulti( qcdLabel,      name, qcdSamples,      220,    verbose, QCD_total, minTag, maxTag, minJet, maxJet)
        if useLooseQCD: