Skip to content

Commit

Permalink
Merge pull request #668 from tt8888tt/cat80x
Browse files Browse the repository at this point in the history
added partontop on dileptoncommon
  • Loading branch information
jhgoh authored Mar 6, 2017
2 parents 4ff52e3 + bbec7f9 commit 91d9124
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 38 deletions.
8 changes: 4 additions & 4 deletions CatAnalyzer/test/TTdilepDraw/submit.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
"pseudotop1.Pt\(\),pseudotop2.Pt\(\)", "pseudotop1.Rapidity\(\),pseudotop2.Rapidity\(\)",
"pseudottbar.Pt\(\)", "pseudottbar.Rapidity\(\)", "pseudottbar.M\(\)", "abs\(pseudottbar_dphi\)"]
x_name_l = ["M(ll) [GeV]", "Jet Multiplicity", "Missing Et [GeV]", "b Jet Multiplicity",
"p_{T}^{l} [GeV]", "lepton #eta",
"p_{T}^{j} [GeV]", "jet #eta",
"p_{T}^{lep} [GeV]", "lepton #eta",
"p_{T}^{jet} [GeV]", "jet #eta",
"p_{T}^{t} [GeV]", "y^{t}",
"p_{T}^{t#bar{t}} [GeV]", "y^{t#bar{t}}", "M^{t#bar{t}} [GeV]", "#Delta#phi^{t#bar{t}} [Rad]"]
binset_l = ["[60,20,320]", "[10,0,10]", "[20,0,200]", "[6,0,6]",
Expand Down Expand Up @@ -42,9 +42,9 @@
./topDraw.py -a 1 -s 4 -b [20,0,200] -p met -x 'Missing Et [GeV]' -o -d > /dev/null &
./topDraw.py -a 1 -s 4 -b [6,0,6] -p nbjet -x 'b Jet Multiplicity' -o -d > /dev/null &
./topDraw.py -a 1 -s 5 -b [6,0,6] -p nbjet -x 'b Jet Multiplicity' -o -d -w 'genweight*puweight*mueffweight*eleffweight*tri*btagweight' -c 'tri!=0&&filtered==1&&is3lep==2&&pseudojet1.Pt()>30&&pseudojet2.Pt()>30&&lep1.Pt()>20&&lep2.Pt()>20' > /dev/null &
./topDraw.py -a 1 -s 6 -b [9,20,290] -p lep1.Pt\(\),lep2.Pt\(\) -x 'p_{T}^{l} [GeV]' -o -w 'genweight*puweight*mueffweight*eleffweight*tri*btagweight' -c 'tri!=0&&filtered==1&&is3lep==2&&pseudojet1.Pt()>30&&pseudojet2.Pt()>30&&lep1.Pt()>20&&lep2.Pt()>20' > /dev/null &
./topDraw.py -a 1 -s 6 -b [9,20,290] -p lep1.Pt\(\),lep2.Pt\(\) -x 'p_{T}^{lep} [GeV]' -o -w 'genweight*puweight*mueffweight*eleffweight*tri*btagweight' -c 'tri!=0&&filtered==1&&is3lep==2&&pseudojet1.Pt()>30&&pseudojet2.Pt()>30&&lep1.Pt()>20&&lep2.Pt()>20' > /dev/null &
./topDraw.py -a 1 -s 6 -b [10,-2.5,2.5] -p lep1.Eta\(\),lep2.Eta\(\) -x 'lepton #eta' -o -w 'genweight*puweight*mueffweight*eleffweight*tri*btagweight' -c 'tri!=0&&filtered==1&&is3lep==2&&pseudojet1.Pt()>30&&pseudojet2.Pt()>30&&lep1.Pt()>20&&lep2.Pt()>20' > /dev/null &
./topDraw.py -a 1 -s 6 -b [9,30,300] -p pseudojet1.Pt\(\),pseudojet2.Pt\(\) -x 'p_{T}^{j} [GeV]' -o -w 'genweight*puweight*mueffweight*eleffweight*tri*btagweight' -c 'tri!=0&&filtered==1&&is3lep==2&&pseudojet1.Pt()>30&&pseudojet2.Pt()>30&&lep1.Pt()>20&&lep2.Pt()>20' > /dev/null &
./topDraw.py -a 1 -s 6 -b [9,30,300] -p pseudojet1.Pt\(\),pseudojet2.Pt\(\) -x 'p_{T}^{jet} [GeV]' -o -w 'genweight*puweight*mueffweight*eleffweight*tri*btagweight' -c 'tri!=0&&filtered==1&&is3lep==2&&pseudojet1.Pt()>30&&pseudojet2.Pt()>30&&lep1.Pt()>20&&lep2.Pt()>20' > /dev/null &
./topDraw.py -a 1 -s 6 -b [10,-2.5,2.5] -p pseudojet1.Eta\(\),pseudojet2.Eta\(\) -x 'jet #eta' -o -w 'genweight*puweight*mueffweight*eleffweight*tri*btagweight' -c 'tri!=0&&filtered==1&&is3lep==2&&pseudojet1.Pt()>30&&pseudojet2.Pt()>30&&lep1.Pt()>20&&lep2.Pt()>20' > /dev/null &
./topDraw.py -a 1 -s 6 -b [20,0,500] -p pseudotop1.Pt\(\),pseudotop2.Pt\(\) -x 'p_{T}^{t} [GeV]' -o -w 'genweight*puweight*mueffweight*eleffweight*tri*btagweight' -c 'tri!=0&&filtered==1&&is3lep==2&&pseudojet1.Pt()>30&&pseudojet2.Pt()>30&&lep1.Pt()>20&&lep2.Pt()>20' > /dev/null &
./topDraw.py -a 1 -s 6 -b [10,-2.5,2.5] -p pseudotop1.Rapidity\(\),pseudotop2.Rapidity\(\) -x 'y^{t}' -o -w 'genweight*puweight*mueffweight*eleffweight*tri*btagweight' -c 'tri!=0&&filtered==1&&is3lep==2&&pseudojet1.Pt()>30&&pseudojet2.Pt()>30&&lep1.Pt()>20&&lep2.Pt()>20' > /dev/null &
Expand Down
63 changes: 29 additions & 34 deletions CatAnalyzer/test/TTdilepDraw/topDraw.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@
topDraw.py -a 1 -s 1 -c 'tri==1&&filtered==1' -b [40,0,40] -p nvertex -x 'no. vertex' &
topDraw.py -a 1 -s 1 -b [100,-3,3] -p lep1_eta,lep2_eta -x '#eta' &
'''
datalumi = 2.17 #Run2015 v765
datalumi = 2.1114 #Run2015 v765
#datalumi = 2.17 #Run2015 v765
CMS_lumi.lumi_sqrtS = "%.1f fb^{-1}, #sqrt{s} = 13 TeV"%(datalumi)
datalumi = datalumi*1000 # due to fb
CMS_lumi.writeExtraText = False
Expand Down Expand Up @@ -81,7 +82,7 @@
print "TCut =",tcut

title_l = ["t#bar{t}", "W+jets", "Single top", "Single top", "Diboson", "Diboson", "Diboson", "Z/#gamma^{*}#rightarrow#font[12]{l#lower[-0.4]{+}l#lower[-0.4]{#font[122]{\55}}}", "Z/#gamma^{*}#rightarrow#font[12]{l#lower[-0.4]{+}l#lower[-0.4]{#font[122]{\55}}}"]
sysList = ['jer','jes','mu','el','puweight','mueffweight','eleffweight','btagweight']
sysNameList = ['jer','jes','mu','el','puweight','mueffweight','eleffweight','btagweight']

#DYEstimation
if not os.path.exists('./DYFactor.json'):
Expand All @@ -93,6 +94,10 @@
mchistList = []
sysErr_up = []
sysErr_dn = []
for sysname in sysNameList:
sysErr_up.append(defTH1(sysname+'_up', sysname+'_up', binning))
sysErr_dn.append(defTH1(sysname+'_dn', sysname+'_dn', binning))

for i, mcname in enumerate(mcfilelist):
data = findDataSet(mcname, datasets)
scale = datalumi*data["xsec"]
Expand All @@ -111,11 +116,16 @@
err = math.sqrt(abs(N))*scale

mchist = makeTH1(rfname, tname, title, binning, plotvar, tcut, scale)
for i, sysname in enumerate(sysNameList):
if 'weight' in sysname:
sysErr_up[i].Add(makeTH1(rfname, tname, title, binning, plotvar, tcut.replace(sysname,sysname+'_up'), scale))
sysErr_dn[i].Add(makeTH1(rfname, tname, title, binning, plotvar, tcut.replace(sysname,sysname+'_dn'), scale))
else:
sysErr_up[i].Add(makeTH1(rfname, "cattree/%s_u"%sysname, title, binning, plotvar, tcut, scale))
sysErr_dn[i].Add(makeTH1(rfname, "cattree/%s_d"%sysname, title, binning, plotvar, tcut, scale))

mchist.SetLineColor(colour)
mchist.SetFillColor(colour)
up_tmp, dn_tmp = sysUncertainty(rfname, tname, binning, title, scale, tcut, plotvar, mchist, sysList)
sysErr_up.append(up_tmp)
sysErr_dn.append(dn_tmp)
if overflow: overFlow(mchist)
mchistList.append(mchist)
if 'TT' in mcname:
Expand Down Expand Up @@ -164,27 +174,20 @@
errorBand.SetFillColor(14)
errorBand.SetFillStyle(3001)
errorBand.SetMarkerStyle(0)
avrSys=[]
for k in range(len(sysList)):
sysErr_sum = 0
for j in range(1,nbins+2):
sumh = 0
suml = 0
for i in range(len(mcfilelist)):
sumh += sysErr_up[i][k].GetBinContent(j)**2
suml += sysErr_dn[i][k].GetBinContent(j)**2
sysErr = math.sqrt(max(sumh,suml))
Err = math.sqrt(errorBand.GetBinError(j)**2+sysErr**2)
errorBand.SetBinError(j, Err)

if errorBand.GetBinContent(j) !=0: sysErr_sum += sysErr/errorBand.GetBinContent(j)*100
avrSys.append(sysErr_sum/nbins/2)
if overflow:
overflowErr = math.sqrt(errorBand.GetBinError(nbins)**2+errorBand.GetBinError(nbins+1)**2)
errorBand.SetBinError(nbins, overflowErr)

for a in avrSys:
print "%s%%"%a

h_nom = defTH1("nom", "nom", binning)
for h in mchistList:
h_nom.Add(h)

for i in range(len(sysNameList)):
overFlow(sysErr_up[i])
overFlow(sysErr_dn[i])
sysErr_up[i].Add(h_nom, -1)
sysErr_dn[i].Add(h_nom, -1)
for j in range(1,nbins+1):
maxErr = max(abs(sysErr_up[i].GetBinContent(j)), abs(sysErr_dn[i].GetBinContent(j)))
sumErr = math.sqrt(errorBand.GetBinError(j)**2+maxErr**2)
errorBand.SetBinError(j, sumErr)

#get event yeild table
num, err = table(mchistList, errList, mchistList[0], errList[0])
Expand Down Expand Up @@ -212,14 +215,6 @@
rdhist.Scale(1,"width")
errorBand.Scale(1,"width")

#errorBand(stat+sys)
for i in range(1,nbins+1):
statErr = rdhist.GetBinError(i)
sysErr = errorBand.GetBinError(i)
statsysErr = math.sqrt(statErr**2+sysErr**2)
errorBand.SetBinError(i, statsysErr)
errorBand.SetBinContent(i, rdhist.GetBinContent(i))

#Drawing plots on canvas
var = plotvar.split(',')[0]
var = ''.join(i for i in var if not i.isdigit())
Expand Down
1 change: 1 addition & 0 deletions CatAnalyzer/test/run_TtbarDiLeptonAnalyzer_cfg.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
process.load("CATTools.CatAnalyzer.filters_cff")
process.load("CATTools.CatAnalyzer.topPtWeightProducer_cfi")
process.load("CATTools.CatAnalyzer.flatGenWeights_cfi")
process.load("CATTools.CatProducer.mcTruthTop.partonTop_cfi")
from CATTools.CatAnalyzer.leptonSF_cff import *

process.ttbarDileptonKinAlgoPSetDESYSmeared.inputTemplatePath = cms.string("CATTools/CatAnalyzer/data/desyKinRecoInput.root")
Expand Down

0 comments on commit 91d9124

Please sign in to comment.