Skip to content
Snippets Groups Projects
Commit d5dc90a0 authored by Patrick Koppenburg's avatar Patrick Koppenburg :leaves:
Browse files

Merge branch 'dfazzini_update_option_lhcbint_test' into 'master'

Update option file for the LHCbIntegration test

See merge request !749
parents 1ba44c80 bbfd59e6
No related branches found
No related tags found
2 merge requests!1103Draft: Add AnalysisHelpers to DaVinci Stack,!749Update option file for the LHCbIntegration test
Checking pipeline status
###############################################################################
# (c) Copyright 2022 CERN for the benefit of the LHCb Collaboration #
# #
# This software is distributed under the terms of the GNU General Public #
# Licence version 3 (GPL Version 3), copied verbatim in the file "COPYING". #
# #
# In applying this licence, CERN does not waive the privileges and immunities #
# granted to it by virtue of its status as an Intergovernmental Organization #
# or submit itself to any jurisdiction. #
###############################################################################
"""
Read the output of an Sprucing job with the new DaVinci configuration.
"""
from FunTuple import FunctorCollection
from FunTuple import FunTuple_Particles as Funtuple
from FunTuple.functorcollections import Kinematics
from DaVinci.algorithms import add_filter
from DaVinci import Options, make_config
from PyConf.reading import get_particles
def main(options: Options):
line_B0DsK = 'SpruceB2OC_BdToDsmK_DsmToHHH_FEST'
line_B0Dspi = 'SpruceB2OC_BdToDsmPi_DsmToKpKmPim'
bd2dsk_line = get_particles(f"/Event/Spruce/{line_B0DsK}/Particles")
bd2dspi_line = get_particles(f"/Event/Spruce/{line_B0Dspi}/Particles")
fields_dsk = {
'B0': "[B0 -> D_s- K+]CC",
'Ds': "[B0 -> ^D_s- K+]CC",
'Kp': "[B0 -> D_s- ^K+]CC"
}
fields_dspi = {
'B0': "[B0 -> D_s- pi+]CC",
'Ds': "[B0 -> ^D_s- pi+]CC",
'pip': "[B0 -> D_s- ^pi+]CC",
}
variables = FunctorCollection({
'LOKI_MAXPT': 'TRACK_MAX_PT',
'LOKI_Muonp_PT': 'CHILD(PT, 1)',
'LOKI_Muonm_PT': 'CHILD(PT, 2)',
})
variables_extra = FunctorCollection({
'LOKI_NTRCKS_ABV_THRSHLD':
'NINTREE(ISBASIC & (PT > 15*MeV))'
})
variables += variables_extra
#FunTuple: make functor collection from the imported functor library Kinematics
variables_all = Kinematics()
#FunTuple: associate functor collections to field (branch) name
variables_dsk = {
'ALL': variables_all, #adds variables to all fields
'B0': variables,
'Ds': variables_extra,
'Kp': variables_extra
}
variables_dspi = {
'ALL': variables_all, #adds variables to all fields
'B0': variables,
'Ds': variables_extra,
'pip': variables_extra,
}
loki_preamble = ['TRACK_MAX_PT = MAXTREE(ISBASIC & HASTRACK, PT, -1)']
tuple_B0DsK = Funtuple(
name="B0DsK_Tuple",
tuple_name="DecayTree",
fields=fields_dsk,
variables=variables_dsk,
loki_preamble=loki_preamble,
inputs=bd2dsk_line)
tuple_B0Dspi = Funtuple(
name="B0Dspi_Tuple",
tuple_name="DecayTree",
fields=fields_dspi,
variables=variables_dspi,
loki_preamble=loki_preamble,
inputs=bd2dspi_line)
filter_B0DsK = add_filter(options, "HDRFilter_B0DsK",
f"HLT_PASS('{line_B0DsK}')")
filter_B0Dspi = add_filter(options, "HDRFilter_B0Dspi",
f"HLT_PASS('{line_B0Dspi}')")
algs = {
"B0DsK": [filter_B0DsK, tuple_B0DsK],
"B0Dspi": [filter_B0Dspi, tuple_B0Dspi]
}
return make_config(options, algs)
......@@ -20,13 +20,14 @@ from DaVinci.algorithms import add_filter
def main(options: Options):
bs2jpsiphi_line = "Hlt2Generic_Bs0ToJpsiPhi_JPsiToMupMum_Line"
bs2jpsiphi_data = get_particles(
f"/Event/HLT2/{bs2jpsiphi_line}/Particles", process=options.process)
bd2dspi_line = "Hlt2B2OC_BdToDsmPi_DsmToKpKmPim"
bd2dspi_data = get_particles(
f"/Event/HLT2/{bd2dspi_line}/Particles", process=options.process)
fields = {
'Bs': "[B_s0 -> (J/psi(1S) -> mu+ mu-) (phi(1020) -> K+ K-)]CC",
'Jpsi': "[B_s0 -> ^(J/psi(1S) -> mu+ mu-) (phi(1020) -> K+ K-)]CC",
'Phi': "[B_s0 -> (J/psi(1S) -> mu+ mu-) ^(phi(1020) -> K+ K-)]CC"
'B0': "[B0 -> D_s- pi+]CC",
'Ds': "[B0 -> ^D_s- pi+]CC",
'pip': "[B0 -> D_s- ^pi+]CC",
}
#FunTuple: make functor collection from the imported functor library Kinematic
......@@ -36,18 +37,18 @@ def main(options: Options):
'ALL': variables_all, #adds variables to all branches
}
filter_bs = add_filter(options, "HDRFilter_Bs2JpsiPhi",
f"HLT_PASS('{bs2jpsiphi_line}')")
filter_bd = add_filter(options, "HDRFilter_B0Dspi",
f"HLT_PASS('{bd2dspi_line}')")
tuple_bs = Funtuple(
name="Bs2JpsiPhi_Tuple",
tuple_bd = Funtuple(
name="B0DsPi_Tuple",
tuple_name="DecayTree",
fields=fields,
variables=variables,
inputs=bs2jpsiphi_data)
inputs=bd2dspi_data)
algs = {
"Bs2JpsiPhi": [filter_bs, tuple_bs],
"B0Dspi": [filter_bd, tuple_bd],
}
return make_config(options, algs)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment