File indexing completed on 2024-04-06 11:56:35
0001
0002
0003
0004
0005 import logging
0006 import Alignment.MillePedeAlignmentAlgorithm.mpslib.tools as mps_tools
0007
0008
0009 class AdditionalData:
0010 """ stores the additional information of the alignment_merge.py file
0011 """
0012
0013 def __init__(self):
0014 self.pede_steerer_method = ""
0015 self.pede_steerer_options = []
0016 self.pede_steerer_command = ""
0017
0018 self.selectors = {}
0019 self.iov_definition = ""
0020
0021
0022 def parse(self, config, path):
0023 logger = logging.getLogger("mpsvalidate")
0024
0025
0026 try:
0027 process = mps_tools.get_process_object(path)
0028 except ImportError:
0029 logger.error("AdditionalData: {0} does not exist".format(path))
0030 return
0031
0032
0033 param_builder = process.AlignmentProducer.ParameterBuilder
0034 for index,sel in enumerate(param_builder.parameterTypes):
0035 selector_name = sel.split(",")[0].strip()
0036 self.selectors[index] = {
0037 "name": selector_name,
0038 "selector": getattr(param_builder, selector_name),
0039 }
0040
0041
0042 if len(process.AlignmentProducer.RunRangeSelection) > 0:
0043 self.iov_definition = \
0044 process.AlignmentProducer.RunRangeSelection.dumpPython()
0045
0046
0047 pede_steerer = process.AlignmentProducer.algoConfig.pedeSteerer
0048 self.pede_steerer_method = pede_steerer.method.value()
0049 self.pede_steerer_options = pede_steerer.options.value()
0050 self.pede_steerer_command = pede_steerer.pedeCommand.value()