10 cmssw = os.getenv(
"CMSSW_BASE")+
"/src/" 14 lumi_json = cmssw +
"babymaker/data/json/pileup_latest.txt" 18 json = cmssw +
"babymaker/data/json/golden_Cert_271036-284044_13TeV_23Sep2016ReReco_Collisions16.json" 22 mbxsec, mbxsec_relunc = 69200, 0.046
26 mcfile = TChain(
"tree")
28 mcfile.Add(
"/net/cms29/cms29r0/babymaker/babies/2017_02_07/T1tttt/unprocessed/fullbaby_SMS-T1tttt_mGluino-*.root");
29 print mcfile.GetEntries()
30 hmc = TH1D(
"hmc",
"hmc",75,0,75)
31 mcfile.Draw(
"ntrupv_mean>>hmc",
"",
"norm")
46 for imb
in mbxsec_dict:
49 cmd +=
" --inputLumiJSON "+lumi_json
50 cmd +=
" --calcMode "+calc_mode
51 cmd +=
" --minBiasXsec "+str(mbxsec_dict[imb])
52 cmd +=
" --maxPileupBin "+str(hmc.GetNbinsX())
53 cmd +=
" --numPileupBins "+str(hmc.GetNbinsX())
54 cmd +=
" sig_pileup_"+imb+
".root" 56 print "Obtaining data pile up distribution for variation:", imb
60 fdata = TFile(
"sig_pileup_"+imb+
".root",
"update")
61 htmp = fdata.Get(
"pileup").Clone(
"norm_data_"+imb)
62 htmp.Scale(1./htmp.Integral())
67 wgt = [htmp.GetBinContent(i+1)
for i
in range(htmp.GetNbinsX())]
69 print "Data PU distribution:" 70 for j,iwgt
in enumerate(wgt):
71 print "NPV: "+
'{:>3d}'.format(j+1),
72 print "Density: "+
'{:>10.3e}'.format(iwgt)
74 print "------> Vector for syscalc_scan:" 75 print " vector<double>({"+
', '.join(
'{:.3e}'.format(x)
for x
in wgt)+
"});" 77 print "Weighted centers of signal tru npv bins:" 78 hmc.SetAxisRange(0,20)
79 print "0 to 20: %.3f" % hmc.GetMean()
80 hmc.SetAxisRange(21,100)
81 print "21+: %.3f" % hmc.GetMean()