Skip to content
Snippets Groups Projects

Add missing radiative inclusive lines

Merged Aniol Lobo Salvia requested to merge alobo_rad_incl_lines into master
Files
3
@@ -19,7 +19,7 @@ from GaudiKernel.SystemOfUnits import GeV
@configurable
def make_b2(presel_b, pvs, name, bdt_cut, filter_name="rd_rad_incl_B"):
def rad_BDT_functor(pvs, line):
def sum_finalstates_hh(functor):
return F.CHILD(1, F.SUM(functor)) + F.CHILD(2, functor)
@@ -27,7 +27,6 @@ def make_b2(presel_b, pvs, name, bdt_cut, filter_name="rd_rad_incl_B"):
return F.CHILD(1, F.CHILD(1, (F.SUM(functor)))) + F.CHILD(
1, F.CHILD(2, functor)) + F.CHILD(2, functor)
#TODO this should be log10, or change the BDT
hhg_vars_thor = {
"ipchi2": log(F.BPVIPCHI2(pvs)) / log(10),
'ipchi2_min': log(F.CHILD(1, F.MIN(F.BPVIPCHI2(pvs)))) / log(10),
@@ -36,45 +35,69 @@ def make_b2(presel_b, pvs, name, bdt_cut, filter_name="rd_rad_incl_B"):
'vm_corrected': F.CHILD(1, F.BPVCORRM(pvs)),
'fdchi2': log(F.BPVFDCHI2(pvs)) / log(10),
'vtx_chi2': log(F.CHI2) / log(10),
'doca': F.CHILD(1, F.DOCA(1, 2))
'doca': F.CHILD(1, F.SDOCA(1, 2))
}
hhgee_vars_thor = {
'mcor': F.BPVCORRM(pvs),
'chi2': F.CHI2,
'sumpt': sum_finalstates_hh(F.PT),
'eta': F.BPVETA(pvs),
'fdchi2': F.BPVFDCHI2(pvs),
'minpt': F.ALL(),
# "MINTREE(((ABSID=='K+')|(ID=='KS0')|(ABSID=='Lambda0')|(ABSID=='gamma')), PT)/MeV", # TODO
'nlt16': sum_finalstates_hh(F.BPVIPCHI2(pvs) < 16),
'ipchi2': F.BPVIPCHI2(pvs),
'n1trk': sum_finalstates_hh((F.PT > 1 * GeV) & (F.BPVIPCHI2(pvs) > 16))
'mcor':
F.BPVCORRM(pvs),
'chi2':
F.CHI2,
'sumpt':
sum_finalstates_hh(F.PT),
'eta':
F.BPVETA(pvs),
'fdchi2':
F.BPVFDCHI2(pvs),
'minpt':
F.MINTREE(((F.IS_ABS_ID('K+')) | (F.IS_ID('KS0')) |
(F.IS_ABS_ID('Lambda0')) | (F.IS_ABS_ID('gamma'))), F.PT),
'nlt16':
sum_finalstates_hh(F.BPVIPCHI2(pvs) < 16),
'ipchi2':
F.BPVIPCHI2(pvs),
'n1trk':
sum_finalstates_hh((F.PT > 1 * GeV) & (F.BPVIPCHI2(pvs) > 16))
}
#TODO this should be log10, or change the BDT
hhhg_vars_thor = {
'ipchi2': log(F.BPVIPCHI2(pvs)) / log(10),
'ipchi2_min': F.ALL(),
# "log10(MINTREE(BPVIPCHI2(), ((ABSID=='K+')|(ID=='KS0')|(ABSID=='Lambda0'))))", # TODO
'gamma_pt': F.CHILD(2, F.PT),
'gamma_p': F.CHILD(2, F.P),
'm_corrected': F.BPVCORRM(pvs),
'fdchi2': log(F.BPVFDCHI2(pvs)) / log(10),
'vtx_chi2': log(F.CHI2) / log(10),
'chi2dof_max': F.ALL(),
# "MAXTREE(TRCHI2DOF, ISBASIC & HASTRACK & (ABSID=='K+'))" # TODO
'ipchi2':
log(F.BPVIPCHI2(pvs)) / log(10),
'ipchi2_min':
log(
F.MINTREE((F.IS_ABS_ID('K+')) | (F.IS_ID('KS0')) |
(F.IS_ABS_ID('Lambda0')), F.BPVIPCHI2(pvs))) / log(10),
'gamma_pt':
F.CHILD(2, F.PT),
'gamma_p':
F.CHILD(2, F.P),
'm_corrected':
F.BPVCORRM(pvs),
'fdchi2':
log(F.BPVFDCHI2(pvs)) / log(10),
'vtx_chi2':
log(F.CHI2) / log(10),
'chi2dof_max':
F.MAXTREE(F.IS_ABS_ID('K+'), F.CHI2DOF()),
}
hhhgee_vars_thor = {
'mcor': F.BPVCORRM(pvs),
'chi2': F.CHI2,
'sumpt': sum_finalstates_hhh(F.PT),
'eta': F.BPVETA(pvs),
'fdchi2': F.BPVFDCHI2(pvs),
'minpt': F.ALL(),
# "MINTREE(((ABSID=='K+')|(ID=='KS0')|(ABSID=='Lambda0')|(ABSID=='gamma')), PT)/MeV", # TODO
'nlt16': sum_finalstates_hhh(F.BPVIPCHI2(pvs) < 16),
'ipchi2': F.BPVIPCHI2(pvs),
'mcor':
F.BPVCORRM(pvs),
'chi2':
F.CHI2,
'sumpt':
sum_finalstates_hhh(F.PT),
'eta':
F.BPVETA(pvs),
'fdchi2':
F.BPVFDCHI2(pvs),
'minpt':
F.MINTREE(((F.IS_ABS_ID('K+')) | (F.IS_ID('KS0')) |
(F.IS_ABS_ID('Lambda0')) | (F.IS_ABS_ID('gamma'))), F.PT),
'nlt16':
sum_finalstates_hhh(F.BPVIPCHI2(pvs) < 16),
'ipchi2':
F.BPVIPCHI2(pvs),
'n1trk':
sum_finalstates_hhh((F.PT > 1 * GeV) & (F.BPVIPCHI2(pvs) > 16))
}
@@ -86,12 +109,16 @@ def make_b2(presel_b, pvs, name, bdt_cut, filter_name="rd_rad_incl_B"):
"HHHgammaEE": hhhgee_vars_thor
}
code = F.require_all(
F.MVA(
MVAType='TMVA',
Config={
'XMLFile': 'paramfile://data/Hlt2_Radiative_%s.xml' % name,
'Name': 'BDT',
},
Inputs=bdt_vars_thor[name]) > bdt_cut)
return F.MVA(
MVAType='TMVA',
Config={
'XMLFile': 'paramfile://data/Hlt2_Radiative_%s.xml' % line,
'Name': 'BDT',
},
Inputs=bdt_vars_thor[line])
@configurable
def make_b2(presel_b, pvs, line, bdt_cut, filter_name="rd_rad_incl_B"):
code = rad_BDT_functor(pvs, line) > bdt_cut
return ParticleFilter(presel_b, F.FILTER(code), name=filter_name)
Loading