Skip to content

Commit

Permalink
Merge pull request #6 from nurfikri89/eff_analysis_nano_run2_updateForPR
Browse files Browse the repository at this point in the history
DiLepton selection and v3 NanoAOD skim
  • Loading branch information
nurfikri89 committed May 3, 2020
2 parents 9f33f87 + dc46cea commit 97bc713
Show file tree
Hide file tree
Showing 48 changed files with 1,390 additions and 383 deletions.
42 changes: 27 additions & 15 deletions Analyzer/MakeHistograms.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
#
#
varNamesToPlot = [
"jetSel0_dimuon_dphi_norm"
"jetSel0_dilep_dphi_norm"
]

def main(sample_name, useSkimNtuples):
Expand Down Expand Up @@ -58,19 +58,30 @@ def main(sample_name, useSkimNtuples):
# Define name for event weight
weightName = "evtWeight"

df = df.Define("jetSel0_dimuon_dphi_norm","DeltaPhiNorm(jetSel0_dimuon_dphi)")
df = df.Define("jetSel0_dimuon_ptbalance","dimuon_pt/jetSel0_pt")
#############################################
#
# Define columns
#
#############################################
if not useSkimNtuples:
df = df.Define("passOS","lep0_charge * lep1_charge < 0.0")
df = df.Define("passNJetSel","(nJetSelPt30Eta5p0<=1)&&(nJetSelPt30Eta5p0<=1)")
if isMC:
for syst in ak4Systematics:
df = df.Define("passNJetSel_"+syst,"("+sys+"_nJetSelPt30Eta5p0<=1)&&("+sys+"_nJetSelPt30Eta5p0<=1)")

df = df.Define("jetSel0_dilep_dphi_norm","DeltaPhiNorm(jetSel0_dilep_dphi)")
df = df.Define("jetSel0_dilep_ptbalance","dilep_pt/jetSel0_pt")
if isMC:
df = df.Define("passGenMatch","jetSel0_gen_match")

#############################################
#
# Define Filters
#
#############################################
df_filters = OrderedDict()
df_filters["passOS"] = df.Filter("mu0_charge * mu1_charge < 0.0")
df_filters["passNJets1"] = df_filters["passOS"].Filter("nJetSel==1")
df_filters["passOS"] = df.Filter("passOS")
df_filters["passNJetSel"] = df_filters["passOS"].Filter("passNJetSel")
#
# Define jetSel0 eta bins
#
Expand Down Expand Up @@ -112,9 +123,9 @@ def main(sample_name, useSkimNtuples):
binNames = []
for eta in etaBins:
for pt in ptBins:
cutNameStr = "passNJets1_jetSel0_"+ eta + "_" + pt
cutNameStr = "passNJetSel_jetSel0_"+ eta + "_" + pt
filterStr = etaBins[eta] + " && " + ptBins[pt]
df_filters[cutNameStr] = df_filters["passNJets1"].Filter(filterStr)
df_filters[cutNameStr] = df_filters["passNJetSel"].Filter(filterStr)
binNames.append(cutNameStr)
#
# Gen Matching requirement
Expand All @@ -123,16 +134,16 @@ def main(sample_name, useSkimNtuples):
#
# Pass
#
cutNameStr = "passNJets1_jetSel0_"+ eta + "_" + pt +"_passGenMatch"
cutNameStr = "passNJetSel_jetSel0_"+ eta + "_" + pt +"_passGenMatch"
filterStr = etaBins[eta] + " && " + ptBins[pt] + " && (passGenMatch)"
df_filters[cutNameStr] = df_filters["passNJets1"].Filter(filterStr)
df_filters[cutNameStr] = df_filters["passNJetSel"].Filter(filterStr)
binNames.append(cutNameStr)
#
# Fail
#
cutNameStr = "passNJets1_jetSel0_"+ eta + "_" + pt +"_failGenMatch"
cutNameStr = "passNJetSel_jetSel0_"+ eta + "_" + pt +"_failGenMatch"
filterStr = etaBins[eta] + " && " + ptBins[pt] + " && (!passGenMatch)"
df_filters[cutNameStr] = df_filters["passNJets1"].Filter(filterStr)
df_filters[cutNameStr] = df_filters["passNJetSel"].Filter(filterStr)
binNames.append(cutNameStr)

#
Expand All @@ -152,8 +163,8 @@ def main(sample_name, useSkimNtuples):
# Define pt balance cuts
#
ptBalanceCuts = OrderedDict()
ptBalanceCuts["badBal"] = "jetSel0_dimuon_ptbalance<0.5"
ptBalanceCuts["goodBal"] = "(jetSel0_dimuon_ptbalance>=0.5) && (jetSel0_dimuon_ptbalance<1.5)"
ptBalanceCuts["badBal"] = "jetSel0_dilep_ptbalance<0.5"
ptBalanceCuts["goodBal"] = "(jetSel0_dilep_ptbalance>=0.5) && (jetSel0_dilep_ptbalance<1.5)"

cutNames=[]
for binName in binNames:
Expand Down Expand Up @@ -194,11 +205,12 @@ def main(sample_name, useSkimNtuples):
#
# Some exceptions
#
if "jetSel0" in varName and "passNJets1" not in cutLevel: continue
if "jetSel0" in varName and "passNJetSel" not in cutLevel: continue
#
# Define full name for histogram
#
histoNameFinal = "h_%s_%s" %(cutLevel,varName)
print histoNameFinal
histoInfo = (histoNameFinal, histoNameFinal+";"+var.xAxis+";"+var.yAxis, var.nbins, var.xmin, var.xmax)
Histograms[histoNameFinal] = df_filters[cutLevel].Histo1D(histoInfo, var.varNameInTree, weightName)
# print ("Creating histo: %s" %histoNameFinal)
Expand Down
19 changes: 19 additions & 0 deletions Analyzer/RunLocal_MakeHistograms.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@ MC18_DY_MG
MC16_DY_AMCNLO
MC17_DY_AMCNLO
MC18_DY_AMCNLO
MC16_DY_MG_HW
MC17_DY_MG_HW
MC18_DY_MG_HW
Data16B_DoubleMuon
Data16C_DoubleMuon
Data16D_DoubleMuon
Expand All @@ -24,6 +27,22 @@ Data18A_DoubleMuon
Data18B_DoubleMuon
Data18C_DoubleMuon
Data18D_DoubleMuon
Data16B_DoubleEG
Data16C_DoubleEG
Data16D_DoubleEG
Data16E_DoubleEG
Data16F_DoubleEG
Data16G_DoubleEG
Data16H_DoubleEG
Data17B_DoubleEG
Data17C_DoubleEG
Data17D_DoubleEG
Data17E_DoubleEG
Data17F_DoubleEG
Data18A_EGamma
Data18B_EGamma
Data18C_EGamma
Data18D_EGamma
)
#
# Make histograms from ntuples
Expand Down
19 changes: 19 additions & 0 deletions Analyzer/RunLocal_SkimNtuples.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,22 +8,41 @@ MC18_DY_MG
MC16_DY_AMCNLO
MC17_DY_AMCNLO
MC18_DY_AMCNLO
MC16_DY_MG_HW
MC17_DY_MG_HW
MC18_DY_MG_HW
Data16B_DoubleMuon
Data16C_DoubleMuon
Data16D_DoubleMuon
Data16E_DoubleMuon
Data16F_DoubleMuon
Data16G_DoubleMuon
Data16H_DoubleMuon
Data16B_DoubleEG
Data16C_DoubleEG
Data16D_DoubleEG
Data16E_DoubleEG
Data16F_DoubleEG
Data16G_DoubleEG
Data16H_DoubleEG
Data17B_DoubleMuon
Data17C_DoubleMuon
Data17D_DoubleMuon
Data17E_DoubleMuon
Data17F_DoubleMuon
Data17B_DoubleEG
Data17C_DoubleEG
Data17D_DoubleEG
Data17E_DoubleEG
Data17F_DoubleEG
Data18A_DoubleMuon
Data18B_DoubleMuon
Data18C_DoubleMuon
Data18D_DoubleMuon
Data18A_EGamma
Data18B_EGamma
Data18C_EGamma
Data18D_EGamma
)
#
# Make skimmed ntuples
Expand Down
Loading

0 comments on commit 97bc713

Please sign in to comment.