Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-17 10:40:24

0001 import sys
0002 import copy
0003 import time
0004 import argparse
0005 from Alignment.OfflineValidation.TkAlMap import TkAlMap
0006 
0007 def parser():
0008     parser = argparse.ArgumentParser(description = "Parse AllInOne config to TkAlMap. Only ment for condor jobs.", formatter_class=argparse.RawTextHelpFormatter)
0009     parser.add_argument("config", metavar='config', type=str, action="store", help="Global AllInOneTool config (json/yaml format)")
0010     return parser.parse_args()
0011 
0012 def main():
0013     print('*---------------------------------------*')
0014     print('|             GCP TkAlMap               |')
0015     print('*---------------------------------------*')
0016 
0017     # Get arguments 
0018     args = parser()
0019 
0020     # Get configuration 
0021     with open(args.config, 'r') as configFile:
0022         if args.config.split('.')[-1] == 'json':
0023             config = json.load(configFile)
0024 
0025         elif args.config.split('.')[-1] == 'yaml':
0026             config = yaml.load(configFile, Loader=yaml.Loader)
0027 
0028         else:
0029             raise Exception('Unknown config extension "{}". Please use json/yaml format!'.format(args.config.split('.')[-1]))
0030 
0031     # Init variables
0032     var_list = ['dr', 'dx', 'dy', 'dz', 'rdphi', 'dphi', 'dalpha', 'dbeta', 'dgamma', 'du', 'dv', 'dw', 'da', 'db', 'dg']
0033     var_ranges = {}
0034     for var in var_list:
0035         var_ranges[var] = [None, None]
0036 
0037     # Digest
0038     al_ref  = config['alignments']['ref']['title']
0039     al_comp = config['alignments']['comp']['title']
0040     in_file = config['input']
0041     out_dir = config['output']
0042     phase = 1
0043     auto_tk = True
0044     if 'detector_phase' in config['validation']['GCP']:
0045         phase = int(config['validation']['GCP']['detector_phase'])
0046         auto_tk = False
0047     palette = 2
0048     if 'map_palette' in config['validation']['GCP']: palette = int(config['validation']['GCP']['map_palette'])
0049     save_png = False
0050     if 'save_png' in config['validation']['GCP']: save_png = config['validation']['GCP']['save_png']
0051     save_pdf = True
0052     if 'save_pdf' in config['validation']['GCP']: save_pdf = config['validation']['GCP']['save_pdf']
0053     
0054     print('Current setup:')
0055     print(' - reference alingment              : '+al_ref)
0056     print(' - compared alingment               : '+al_comp)
0057     print(' - tracker version                  : phase '+str(phase))
0058     print(' - auto detect tracker version      : '+str(auto_tk))
0059     print(' - color palette                    : '+str(palette))
0060     print(' - input root file                  : '+in_file)
0061     print(' - output directory                 : '+out_dir)
0062     print(' - saving as png                    : '+str(save_png))
0063     print(' - saving as pdf                    : '+str(save_pdf))
0064     print('')
0065     print('Active plots:')
0066     print(' - plot 4 sigma capped values       : '+str(do_4scap))
0067     print(' - plot default range capped values : '+str(do_drange))
0068     print(' - plot un-capped values            : '+str(do_frange))
0069     print(' - plot full detector               : '+str(do_full))
0070     print(' - plot pixel detector              : '+str(do_pixel))
0071     print(' - plot strips detector             : '+str(do_strips))
0072     print('')
0073     print('Changed default ranges:')
0074     for var in var_ranges:
0075         if var_ranges[var][0] is None and var_ranges[var][1] is None: continue
0076         prt_srt = ' - '+var+'\t: [ '
0077         if var_ranges[var][0] is None: prt_srt += 'default'
0078         else: prt_srt += str(var_ranges[var][0])
0079         prt_srt += '\t, '
0080         if var_ranges[var][1] is None: prt_srt += 'default'
0081         else: prt_srt += str(var_ranges[var][1])
0082         prt_srt += '\t]'
0083         print(prt_srt)
0084 
0085     print('Loading maps')
0086     TkMap_full          = TkAlMap('test', title, in_file, use_default_range=False, two_sigma_cap=False, GEO_file=geometry_file, tracker='full',   palette=palette, check_tracker=auto_tk)
0087     TkMap_pixel         = TkAlMap('test', title, in_file, use_default_range=False, two_sigma_cap=False, GEO_file=geometry_file, tracker='pixel',  palette=palette, check_tracker=auto_tk)
0088     TkMap_strips        = TkAlMap('test', title, in_file, use_default_range=False, two_sigma_cap=False, GEO_file=geometry_file, tracker='strips', palette=palette, check_tracker=auto_tk)
0089     TkMap_cap_full      = TkAlMap('test', title, in_file, use_default_range=False, two_sigma_cap=True,  GEO_file=geometry_file, tracker='full',   palette=palette, check_tracker=auto_tk)
0090     TkMap_cap_pixel     = TkAlMap('test', title, in_file, use_default_range=False, two_sigma_cap=True,  GEO_file=geometry_file, tracker='pixel',  palette=palette, check_tracker=auto_tk)
0091     TkMap_cap_strips    = TkAlMap('test', title, in_file, use_default_range=False, two_sigma_cap=True,  GEO_file=geometry_file, tracker='strips', palette=palette, check_tracker=auto_tk)
0092     TkMap_drange_full   = TkAlMap('test', title, in_file, use_default_range=True,  two_sigma_cap=False, GEO_file=geometry_file, tracker='full',   palette=palette, check_tracker=auto_tk)
0093     TkMap_drange_pixel  = TkAlMap('test', title, in_file, use_default_range=True,  two_sigma_cap=False, GEO_file=geometry_file, tracker='pixel',  palette=palette, check_tracker=auto_tk)
0094     TkMap_drange_strips = TkAlMap('test', title, in_file, use_default_range=True,  two_sigma_cap=False, GEO_file=geometry_file, tracker='strips', palette=palette, check_tracker=auto_tk)