File indexing completed on 2024-04-06 12:24:24
0001
0002
0003 from argparse import ArgumentParser
0004 from RecoBTag.CTagging.helpers import get_vars
0005 import os
0006 import FWCore.ParameterSet.Config as cms
0007 import hashlib
0008 from pdb import set_trace
0009
0010 parser = ArgumentParser('''This script produces the CMSSW configuration to provide to the Charm Tagging discriminators.
0011 WARNING: It automatically overwrites the official CMSSW file in the proper location! Use git commands to restore previous settings. ''')
0012 parser.add_argument('CvsLXML', help='XML Weight file of the Charm vs Light training')
0013 parser.add_argument('CvsBXML', help='XML Weight file of the Charm vs B training')
0014 args = parser.parse_args()
0015
0016 if not os.path.isfile(args.CvsLXML):
0017 raise ValueError('File %s does not exists!' % args.CvsLXML)
0018 if not os.path.isfile(args.CvsBXML):
0019 raise ValueError('File %s does not exists!' % args.CvsBXML)
0020
0021 with open(args.CvsLXML) as CvsLXML:
0022 sha1_CvsLXML = hashlib.sha1(CvsLXML.read()).hexdigest()
0023
0024 with open(args.CvsBXML) as CvsBXML:
0025 sha1_CvsBXML = hashlib.sha1(CvsBXML.read()).hexdigest()
0026
0027 CvsLXML_vpset = cms.VPSet(
0028 *get_vars(args.CvsLXML, False)
0029 )
0030 CvsBXML_vpset = cms.VPSet(
0031 *get_vars(args.CvsBXML, False)
0032 )
0033
0034 with open('%s/src/RecoBTag/CTagging/python/training_settings.py' % os.environ['CMSSW_BASE'], 'w') as output:
0035 output.write('import FWCore.ParameterSet.Config as cms\n')
0036 output.write('''
0037 ## IMPORTANT!
0038 ## This file was automatically generated by RecoBTag/CTagging/test/dump_training_vars_cfg.py
0039 ## with input xml files:
0040 ## - C vs L: %s sha1 checksum: %s
0041 ## - C vs B: %s sha1 checksum: %s
0042
0043 ''' % (args.CvsLXML, sha1_CvsLXML, args.CvsBXML, sha1_CvsBXML))
0044 output.write('c_vs_l_vars_vpset = %s\n' % CvsLXML_vpset.__repr__())
0045 output.write('\n\n')
0046 output.write('c_vs_b_vars_vpset = %s\n' % CvsBXML_vpset.__repr__())
0047
0048