Skip to content

Commit 16f529d

Browse files
committed
CR column in arrow file
1 parent 540e3cb commit 16f529d

File tree

3 files changed

+23
-23
lines changed

3 files changed

+23
-23
lines changed

src/analysis_utils.jl

+2
Original file line numberDiff line numberDiff line change
@@ -392,6 +392,8 @@ function hist_root_pmap(tag; output_dir, kw...)
392392
end
393393
println("$(length(all_tasks)) tasks in total")
394394
all_list = @showprogress pmap(main_looper, all_tasks)
395+
# TODO
396+
# process_theory_syst!.(all_list)
395397
Hs = reduce(mergewith(+), all_list)
396398

397399
serialize(joinpath(p, "$(tag).jlserialize"), Hs)

src/arrow_exfiltration.jl

+2
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ function arrow_init()
66
:sr_SF_inZ => Int32[],
77
:sr_SF_noZ => Int32[],
88
:sr_DF => Int32[],
9+
:cr_ZZ => Int32[],
10+
:cr_ttZ => Int32[],
911
:Nlep => Int32[],
1012
:lep1_pid => Int32[],
1113
:lep2_pid => Int32[],

src/mainlooper.jl

+19-23
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ function main_looper(mytree, sumWeight, dict, pusher!, models,
3939
for evt in mytree
4040
### initial_cut
4141
cutflow_ptr = 0
42-
pusher!(dict[:CutFlow], cutflow_ptr)
42+
if NN_hist pusher!(dict[:CutFlow], cutflow_ptr) end
4343
v_m_eta_orig, v_e_caloeta_orig = evt.v_m_eta, evt.v_e_caloeta
4444
e_etamask = [abs(η) < 2.47 && (abs(η)<1.37 || abs(η)>1.52) for η in v_e_caloeta_orig]
4545
m_etamask = [abs(η) < 2.5 for η in v_m_eta_orig]
@@ -48,7 +48,7 @@ function main_looper(mytree, sumWeight, dict, pusher!, models,
4848
Nlep = length(v_l_pid)
4949
Nlep != 4 && continue
5050
cutflow_ptr += 1
51-
pusher!(dict[:CutFlow], cutflow_ptr)
51+
if NN_hist pusher!(dict[:CutFlow], cutflow_ptr) end
5252
Nelec = count(e_etamask)
5353
Nmuon = Nlep - Nelec
5454
(; v_e_pt, v_e_eta, v_e_phi,
@@ -64,19 +64,19 @@ function main_looper(mytree, sumWeight, dict, pusher!, models,
6464
Z_pair, W_pair, best_Z_mass = Find_Z_Pairs(v_l_pid, v_l_tlv)
6565
isinf(best_Z_mass) && continue
6666
cutflow_ptr += 1
67-
pusher!(dict[:CutFlow], cutflow_ptr)
67+
if NN_hist pusher!(dict[:CutFlow], cutflow_ptr) end
6868
other_mass = mass(v_l_tlv[W_pair[1]] + v_l_tlv[W_pair[2]])
6969
abs(best_Z_mass - Z_m) > 20 && continue
7070
cutflow_ptr += 1
71-
pusher!(dict[:CutFlow], cutflow_ptr)
71+
if NN_hist pusher!(dict[:CutFlow], cutflow_ptr) end
7272
mass_4l = mass(sum(v_l_tlv))
7373
mass_4l < 0.0 && continue
7474
cutflow_ptr += 1
75-
pusher!(dict[:CutFlow], cutflow_ptr)
75+
if NN_hist pusher!(dict[:CutFlow], cutflow_ptr) end
7676
### end of initial_cut
7777
!(evt.passTrig) && continue
7878
cutflow_ptr += 1
79-
pusher!(dict[:CutFlow], cutflow_ptr)
79+
if NN_hist pusher!(dict[:CutFlow], cutflow_ptr) end
8080
v_l_order = sortperm(v_l_tlv; by=pt, rev=true)
8181
v_l_medium = @views Vcat(evt.v_e_LHMedium[e_etamask] , evt.v_m_medium[m_etamask]) #quality
8282

@@ -92,7 +92,7 @@ function main_looper(mytree, sumWeight, dict, pusher!, models,
9292
failed_PLTight = any(==(false), v_l_PLTight[W_pair])
9393
failed_PLTight && continue
9494
cutflow_ptr += 1
95-
pusher!(dict[:CutFlow], cutflow_ptr)
95+
if NN_hist pusher!(dict[:CutFlow], cutflow_ptr) end
9696
# end
9797
(;
9898
v_e_passIso_Loose_VarRad,
@@ -109,16 +109,15 @@ function main_looper(mytree, sumWeight, dict, pusher!, models,
109109
)
110110
for i in 1:2
111111
### for Z leptons isolation: Loose(e) and Loose(mu)
112-
( (abs(v_l_pid[Z_pair[i]]) == 11) && !v_l_passIso[Z_pair[i]] ) && (pass_WWZ_cut = false)
113-
( (abs(v_l_pid[Z_pair[i]]) == 13) && !v_l_passIso[Z_pair[i]] ) && (pass_WWZ_cut = false)
112+
!v_l_passIso[Z_pair[i]] && (pass_WWZ_cut = false)
114113

115114
### for W leptons, require medium quality and PLIV tight
116-
( !v_l_medium[W_pair[i]] ) && (pass_WWZ_cut = false)
115+
!v_l_medium[W_pair[i]] && (pass_WWZ_cut = false)
117116
end
118117

119118
!pass_WWZ_cut && continue
120119
cutflow_ptr += 1
121-
pusher!(dict[:CutFlow], cutflow_ptr)
120+
if NN_hist pusher!(dict[:CutFlow], cutflow_ptr) end
122121

123122
has_b = any(evt.v_j_btag77)
124123

@@ -145,9 +144,6 @@ function main_looper(mytree, sumWeight, dict, pusher!, models,
145144
:v_e_wgtReco, e_etamask; sfsys)
146145
make_sfsys_wgt!(evt, wgt_dict,
147146
:v_m_wgtTTVA, m_etamask; sfsys)
148-
# quality weights
149-
# v_l_wgtLoose = @views Vcat(evt.v_e_wgtLoose[e_etamask] , evt.v_m_wgtLoose[m_etamask]) # quality wgt
150-
# v_l_wgtMedium = @views Vcat(evt.v_e_wgtMedium[e_etamask], evt.v_m_wgtMedium[m_etamask]) # quality wgt
151147
make_sfsys_wgt!(evt, wgt_dict,
152148
:v_e_wgtLoose,
153149
Z_pair_in_e; pre_mask = e_etamask, sfsys)
@@ -160,8 +156,6 @@ function main_looper(mytree, sumWeight, dict, pusher!, models,
160156
make_sfsys_wgt!(evt, wgt_dict,
161157
:v_m_wgtMedium,
162158
W_pair_in_m; pre_mask = m_etamask, sfsys)
163-
# iso weights
164-
# v_l_wgtIso = @views Vcat(v_e_wgtIso_Loose_VarRad_LooseBLayer[e_etamask], v_m_wgtIso_PflowLoose_VarRad[m_etamask])
165159
make_sfsys_wgt!(evt, wgt_dict,
166160
:v_e_wgtIso_Loose_VarRad_LooseBLayer,
167161
Z_pair_in_e; pre_mask = e_etamask, sfsys)
@@ -239,9 +233,11 @@ function main_looper(mytree, sumWeight, dict, pusher!, models,
239233
NN_score = model(BDT_input; fold = moded_event, region)
240234
end
241235

242-
is_SR = !has_b
243-
is_ZZCR = sr_SF_inZ && MET < 10 && is_SR
244-
is_ttZCR = has_b
236+
cr_ZZ = sr_SF_inZ && MET < 10 && !has_b
237+
cr_ttZ = has_b
238+
if cr_ZZ || cr_ttZ
239+
SR = -1
240+
end
245241

246242
if NN_hist && !arrow_making
247243
region_prefix = if sr_SF_inZ
@@ -255,11 +251,11 @@ function main_looper(mytree, sumWeight, dict, pusher!, models,
255251
if k==:NOMINAL && shape_variation != "NOMINAL"
256252
k = shape_variation
257253
end
258-
if is_ZZCR
254+
if cr_ZZ
259255
pusher!(dict[Symbol(:ZZCR, :__Njet, :__, k)], Njet, v)
260-
elseif is_ttZCR
256+
elseif cr_ttZ
261257
pusher!(dict[Symbol(:ttZCR, :__Njet, :__, k)], Njet, v)
262-
elseif is_SR
258+
elseif SR >= 0
263259
cutflow_ptr += 1
264260
pusher!(dict[:CutFlow], cutflow_ptr)
265261
pusher!(dict[Symbol(region_prefix, :__NN, :__, k)], NN_score, v)
@@ -303,7 +299,7 @@ function main_looper(mytree, sumWeight, dict, pusher!, models,
303299
jet_pt_2, jet_pt_3, jet_pt_4, jet_eta_1, jet_eta_2, jet_eta_3, jet_eta_4, jet_phi_1, jet_phi_2,
304300
jet_phi_3, jet_phi_4, jet_m_1, jet_m_2, jet_m_3, jet_m_4, v_j_btagCont, v_j_btag60,
305301
v_j_btag70, v_j_btag77, v_j_btag85, jet_btagCont_1, jet_btagCont_2, jet_btagCont_3, jet_btagCont_4, wgt, mcGenWgt,
306-
sr_SF_inZ, sr_SF_noZ, sr_DF, event
302+
sr_SF_inZ, sr_SF_noZ, sr_DF, cr_ZZ, cr_ttZ, event
307303
else
308304
@fill_dict! dict wgt pusher! pt_1, pt_2, pt_3, pt_4, eta_1, eta_2,
309305
eta_3, eta_4, mass_4l, Zcand_mass, other_mass, METSig, MET, HT, leptonic_HT, total_HT, SR,

0 commit comments

Comments
 (0)