File indexing completed on 2024-04-06 12:02:43
0001
0002
0003 from __future__ import print_function
0004 import os
0005 from os.path import join
0006
0007
0008 def main():
0009 path_cms = join(os.environ['CMSSW_BASE'], 'src')
0010 path_tools = join(path_cms, 'CondTools/BTau/test')
0011
0012
0013 file_h = join(path_tools, 'BTagCalibrationStandalone.h')
0014 print('Creating', file_h)
0015 with open(file_h, 'w') as fout:
0016 for fname in ['CondFormats/BTauObjects/interface/BTagEntry.h',
0017 'CondFormats/BTauObjects/interface/BTagCalibration.h',
0018 'CondTools/BTau/interface/BTagCalibrationReader.h']:
0019 with open(join(path_cms, fname)) as fin:
0020 for line in fin:
0021 if (line.startswith('#include "Cond') or
0022 'COND_SERIALIZABLE' in line):
0023 continue
0024 fout.write(line)
0025 fout.write('\n\n')
0026
0027
0028 file_cc = join(path_tools, 'BTagCalibrationStandalone.cpp')
0029 print('Creating', file_cc)
0030 with open(file_cc, 'w') as fout:
0031 fout.write('#include "BTagCalibrationStandalone.h"\n')
0032 fout.write('#include <iostream>\n')
0033 fout.write('#include <exception>\n')
0034 for fname in ['CondFormats/BTauObjects/src/BTagEntry.cc',
0035 'CondFormats/BTauObjects/src/BTagCalibration.cc',
0036 'CondTools/BTau/src/BTagCalibrationReader.cc']:
0037 with open(join(path_cms, fname)) as fin:
0038 err_on_line = -3
0039 for line_no, line in enumerate(fin):
0040 if (line.startswith('#include "Cond') or
0041 line.startswith('#include "FWCore')):
0042 continue
0043
0044
0045
0046
0047 elif 'throw cms::Exception' in line:
0048 line = 'std::cerr << "ERROR in BTagCalibration: "\n'
0049 err_on_line = line_no
0050 elif line_no == err_on_line + 2:
0051 line += 'throw std::exception();\n'
0052 fout.write(line)
0053 fout.write('\n\n')
0054
0055
0056 if __name__ == '__main__':
0057 main()