6 from basf2
import create_path
7 from stdHyperons
import stdXi, stdXi0, stdOmega, goodXi, goodXi0, goodOmega
8 from itertools
import product
9 from b2bii
import setB2BII, unsetB2BII
13 """Test case for standard hyperon lists"""
16 """Remove all spaces within a string"""
17 return "".join(s.split(
' '))
24 Check the given particle lists are created.
25 The std_function ONLY takes one path argument.
27 testpath = create_path()
28 std_function(path=testpath)
31 for module
in testpath.modules():
32 for param
in module.available_params():
33 if module.type() ==
'ParticleLoader' and param.name ==
'decayStringsWithCuts':
34 listname = param.values[0][0].split(
'->')[0]
35 elif module.type() ==
'ParticleListManipulator' and param.name ==
'outputListName':
36 listname = str(param.values).split(
' -> ')[0]
37 elif module.type() ==
'ParticleCombiner' and param.name ==
'decayString':
38 listname = param.values.split(
' -> ')[0]
42 if listname
not in built_lists:
43 built_lists.append(listname)
44 expected_lists = [self.
remove_spaces(listname)
for listname
in expected_lists]
46 for expected
in expected_lists:
47 if expected
not in built_lists:
53 for fitter
in [
'KFit',
'TreeFit']:
54 self.assertTrue(self.
_check_list(
lambda path: stdXi(fitter=fitter, path=path), expected_lists=[
'Xi-:std']))
61 expected_lists=[
'Xi-:good']))
68 expected_lists=[
'Xi- : std']))
71 """Check stdXi for B2BII settings"""
73 for fitter
in [
'KFit',
'TreeFit']:
74 self.assertTrue(self.
_check_list(
lambda path: stdXi(fitter=fitter, path=path), expected_lists=[
'Xi-:std']))
79 for gamma_efficiency
in [
'eff20',
'eff30',
'eff40',
'eff50',
'eff60']:
83 gammatype=gamma_efficiency,
85 expected_lists=[
'Xi0:std']))
88 """Check stdXi0 for B2BII settings"""
90 for gamma_efficiency
in [
'eff20',
'eff30',
'eff40',
'eff50',
'eff60']:
94 gammatype=gamma_efficiency,
96 expected_lists=[
'Xi0:std']))
101 for fitter
in [
'KFit',
'TreeFit']:
104 lambda path: stdOmega(
107 expected_lists=[
'Omega-:std']))
110 """Check stdOmega for B2BII settings"""
112 for fitter
in [
'KFit',
'TreeFit']:
115 lambda path: stdOmega(
118 expected_lists=[
'Omega-:std']))
122 """Check goodXi lists: veryloose, loose, tight"""
123 for xitype
in [
'veryloose',
'loose',
'tight']:
124 def create_list(path):
125 stdXi(fitter=
'TreeFit', path=path)
127 self.assertTrue(self.
_check_list(create_list, expected_lists=[
'Xi-:std', f
'Xi-:{xitype}']))
129 self.assertFalse(self.
_check_list(create_list, expected_lists=[f
'Xi:{xitype}']))
132 """Check goodXi0 lists: veryloose, loose, tight"""
133 for xitype
in [
'veryloose',
'loose',
'tight']:
134 def create_list(path):
135 stdXi0(gammatype=
'eff50', path=path)
136 goodXi0(xitype, path)
137 self.assertTrue(self.
_check_list(create_list, expected_lists=[
'Xi0:std', f
'Xi0:{xitype}']),
138 f
"xitype = {xitype}")
139 self.assertFalse(self.
_check_list(create_list, expected_lists=[f
'Xi:{xitype}']))
142 """Check goodOmega lists: veryloose, loose, tight"""
143 for omegatype
in [
'veryloose',
'loose',
'tight']:
144 def create_list(path):
145 stdOmega(fitter=
'TreeFit', path=path)
146 goodOmega(omegatype, path)
147 self.assertTrue(self.
_check_list(create_list, expected_lists=[
'Omega-:std', f
'Omega-:{omegatype}']))
148 self.assertFalse(self.
_check_list(create_list, expected_lists=[f
'Omega:{omegatype}']))
151 if __name__ ==
'__main__':