83 def __getValidation( self, valType, name, alignments, config, options ):
84 if valType ==
"compare":
85 alignmentsList = alignments.split(
"," )
86 firstAlignList = alignmentsList[0].
split()
87 firstAlignName = firstAlignList[0].strip()
88 if firstAlignName ==
"IDEAL":
89 raise AllInOneError, (
"'IDEAL' has to be the second (reference)"
90 " alignment in 'compare <val_name>: "
91 "<alignment> <reference>'.")
92 if len( firstAlignList ) > 1:
93 firstRun = firstAlignList[1]
96 firstAlign = Alignment( firstAlignName, self.
__config, firstRun )
97 secondAlignList = alignmentsList[1].
split()
98 secondAlignName = secondAlignList[0].strip()
99 if len( secondAlignList ) > 1:
100 secondRun = secondAlignList[1]
103 if secondAlignName ==
"IDEAL":
104 secondAlign = secondAlignName
106 secondAlign = Alignment( secondAlignName, self.
__config,
110 randomWorkdirPart = \
111 globalDictionaries.alignRandDict[firstAlignName]
113 randomWorkdirPart =
None
115 validation = GeometryComparison( name, firstAlign, secondAlign,
117 self.__commandLineOptions.getImages,
119 globalDictionaries.alignRandDict[firstAlignName] = \
120 validation.randomWorkdirPart
121 if not secondAlignName ==
"IDEAL":
122 globalDictionaries.alignRandDict[secondAlignName] = \
123 validation.randomWorkdirPart
124 elif valType ==
"offline":
125 validation = OfflineValidation( name,
127 elif valType ==
"offlineDQM":
128 validation = OfflineValidationDQM( name,
130 elif valType ==
"offlineParallel":
131 validation = OfflineValidationParallel( name,
133 elif valType ==
"mcValidate":
134 validation = MonteCarloValidation( name,
136 elif valType ==
"split":
137 validation = TrackSplittingValidation( name,
139 elif valType ==
"zmumu":
140 validation = ZMuMuValidation( name,
143 raise AllInOneError,
"Unknown validation mode '%s'"%valType