Angular analysis of B+->K*+(K+pi0)mumu
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

221 lines
10 KiB

#!/usr/bin/env python
import os
channel_list = ['Kplus',
'Kshort'
]
decay_list = ['BtoKstMuMu',
'BtoKstJpsi',
'PHSP',
'BtoXJpsi',
'B0toKstMuMu',
'B0toKstJpsi',
'BtoK1MuMu',
'BtoK1Jpsi'
]
polarity_list = ['MagDown',
'MagUp']
decay_year_dict = {'BtoKstMuMu' : ['2011','2012','2015','2016'],
'BtoKstJpsi' : ['2011','2012'],
'PHSP' : ['2011','2012','2015','2016'],
'BtoXJpsi' : ['2011','2012','2015','2016'],
'B0toKstMuMu': ['2011','2012','2015','2016'],
'B0toKstJpsi': ['2011','2012','2015','2016'],
'BtoK1MuMu' : ['2011','2012'],
'BtoK1Jpsi' : ['2012']
}
decay_mdst_file_dict = {'BtoKstMuMu' : {'2011': 'False',
'2012': 'False',
'2015': 'True',
'2016': 'True'
},
'BtoKstJpsi' : {'2011': 'False',
'2012': 'False'
},
'PHSP' : {'2011': 'False',
'2012': 'False',
'2015': 'True',
'2016': 'True'
},
'BtoXJpsi' : {'2011': 'False',
'2012': 'False',
'2015': 'True',
'2016': 'False'
},
'B0toKstMuMu': {'2011': 'False',
'2012': 'False',
'2015': 'False',
'2016': 'False'
},
'B0toKstJpsi': {'2011': 'False',
'2012': 'False',
'2015': 'True',
'2016': 'True'
},
'BtoK1MuMu' : {'2011': 'False',
'2012': 'False'
},
'BtoK1Jpsi' : {'2012': 'False'
}
}
decay_line_dict = {'BtoKstMuMu' : "B2XMuMu_Line",
'BtoKstJpsi' : "B2XMuMu_Line",
'PHSP' : "B2XMuMu_Line",
'BtoXJpsi' : "B2XMuMu_Line",
'B0toKstMuMu': "B2XMuMu_Line",
'B0toKstJpsi': "B2XMuMu_Line",
'BtoK1MuMu' : "B2XMuMu_Line",
'BtoK1Jpsi' : "B2XMuMu_Line"
}
decay_stream_dict = {'BtoKstMuMu' : "AllStreams",
'BtoKstJpsi' : "AllStreams",
'PHSP' : "B2XMuMu.Strip",
'BtoXJpsi' : "AllStreams",
'B0toKstMuMu': "AllStreams",
'B0toKstJpsi': "AllStreams",
'BtoK1MuMu' : "AllStreams",
'BtoK1Jpsi' : "AllStreams"
}
polarity_CondB_dict = {'MagDown' : 'md100',
'MagUp' : 'mu100'
}
#tags from vanyas amazing script
# export PATH=$PATH:/afs/cern.ch/user/i/ibelyaev/public/scripts
#lhcb-proxy-init
#get_bookkeeping_info 10000027
decay_CondDB_dict = { 'BtoKstMuMu' : {'2011': 'sim-20160614-1-vc-',
'2012': 'sim-20160321-2-vc-',
'2015': 'sim-20161124-vc-',
'2016': 'sim-20161124-vc-',
},
'BtoKstJpsi' : {'2011': 'sim-20160614-1-vc-',
'2012': 'sim-20160321-2-vc-'
},
'PHSP' : {'2011': 'sim-20160614-1-vc-',
'2012': 'sim-20160321-2-vc-',
'2015': 'sim-20161124-vc-',
'2016': 'sim-20170721-2-vc-'
},
'BtoXJpsi' : {'2011': 'sim-20130522-vc-',
'2012': 'Sim08-20130503-1-vc-',
'2015': 'sim-20150813-vc-',
'2016': 'sim-20161124-2-vc-'
},
'B0toKstMuMu': {'2011': 'sim-20130522-vc-',
'2012': 'Sim08-20130503-1-vc-',
'2015': 'sim-20161124-vc-',
'2016': 'sim-20161124-2-vc-'
},
'B0toKstJpsi': {'2011': 'sim-20130522-vc-',
'2012': 'sim-20130522-1-vc-',
'2015': 'sim-20161124-vc-',
'2016': 'sim-20170721-2-vc-'
},
'BtoK1MuMu' : {'2011': 'sim-20130522-vc-',
'2012': 'sim-20130522-1-vc-',
},
'BtoK1Jpsi' : {'2012': 'Sim08-20130503-1-vc-'
}
}
decay_DDDB_dict = { 'BtoKstMuMu' : {'2011': 'dddb-20160318-1',
'2012': 'dddb-20150928',
'2015': 'dddb-20150724',
'2016': 'dddb-20170721-3'
},
'BtoKstJpsi' : {'2011': 'dddb-20160318-1',
'2012': 'dddb-20150928'
},
'PHSP' :{'2011': 'dddb-20160318-1',
'2012': 'dddb-20150928',
'2015': 'dddb-20150724',
'2016': 'dddb-20170721-3'
},
'BtoXJpsi' : {'2011': 'dddb-20130929',
'2012': 'Sim08-20130503-1',
'2015': 'dddb-20150724',
'2016': 'dddb-20150724'
},
'B0toKstMuMu': {'2011': 'dddb-20130929',
'2012': 'Sim08-20130503-1',
'2015': 'dddb-20170721-3',
'2016': 'dddb-20150724'
},
'B0toKstJpsi': {'2011': 'dddb-20130929',
'2012': 'dddb-20130929-1',
'2015': 'dddb-20170721-3',
'2016': 'dddb-20170721-3'
},
'BtoK1MuMu' : {'2011': 'dddb-20130929',
'2012': 'dddb-20130929-1',
},
'BtoK1Jpsi' : {'2012': 'Sim08-20130503-1'
}
}
for channel in channel_list:
for decay in decay_list:
for year in decay_year_dict[decay]:
for polarity in polarity_list:
script_opts = { "DATA_TYPE":"MC",
"CHAN": channel,
"YEAR":year,
"POL": polarity,
"DEC": decay,
"MDST": decay_mdst_file_dict[decay][year],
"LINE": decay_line_dict[decay],
"STREAM":decay_stream_dict[decay],
"CONDB":decay_CondDB_dict[decay][year],
"CONDB_POL":polarity_CondB_dict[polarity],
"DDDBtag":decay_DDDB_dict[decay][year]
}
#lfn_file = "../LFN_files/%(DEC)s_%(YEAR)s%(POL)s.py" % script_opts
#xml_file = "../xml_files/catalog_%(DEC)s_%(YEAR)s%(POL)s.xml" % script_opts
#if not os.path.exists( "./%(DEC)s/" %script_opts):
# os.makedirs( "./%(DEC)s/" %script_opts)
#if not os.path.exists( "../local_tests_output/%(DEC)s/" %script_opts):
# os.makedirs( "../local_tests_output/%(DEC)s/" %script_opts)
opt_file = "./%(DEC)s/%(YEAR)s%(POL)s_%(CHAN)s.py" %script_opts
f1 = open(opt_file, 'w')
f1.write( '############# Global settings\n' )
f1.write( 'runFilters = False\n' )
f1.write( 'MDST = %(MDST)s\n' % script_opts)
f1.write( 'data = False\n' )
f1.write( 'down = %s\n' % (polarity == 'MagDown'))
f1.write( 'year = "%(YEAR)s"\n' % script_opts)
f1.write( 'stream = "%(STREAM)s"\n' % script_opts)
f1.write( 'line = "%(LINE)s"\n\n' % script_opts)
f1.write( 'channel = "%s"\n\n' % decay)
f1.write( '#subdecay chains\n' )
f1.write( 'KShortPiPlus = %s\n' % (channel == 'Kshort') )
f1.write( 'KplusPi0Merged = False\n' )
f1.write( 'KplusPi0Resolved = %s\n' % (channel == 'Kplus'))
# f_lfns = open('../../LFN_files/%(DEC)s_%(YEAR)s%(POL)s.py'%script_opts)
# for line in f_lfns.readlines():
# f1.write(line)
# f1.write("from Gaudi.Configuration import FileCatalog\n")
# f1.write("""FileCatalog().Catalogs +=['xmlcatalog_file:/afs/cern.ch/work/r/rekopecn/public/B_2_KstarMuMu/DaVinciDev_v41r2/tuplecreation/xml_files/catalog_%(DEC)s_%(YEAR)s%(POL)s.xml']\n""" % script_opts)
#f_lfns.close()
f = open('./BasicOptfile.py')
for line in f.readlines():
f1.write(line)
f.close()
f1.write( """dv.EvtMax = -1\n""" )
f1.write( """dv.TupleFile = "%(DEC)s_%(YEAR)s%(POL)s.root"\n""" % script_opts )
f1.write( """dv.CondDBtag = "%(CONDB)s%(CONDB_POL)s"\n""" % script_opts )
f1.write( """dv.DDDBtag = "%(DDDBtag)s"\n""" % script_opts )
f1.close()