示例#1
0
    def createConfiguration(self, path ):
        # self.__compares
        repMap = self.getRepMap()
        cfgs = { "TkAlCompareToNTuple.%s.%s_cfg.py"%(
            self.alignmentToValidate.name, self.randomWorkdirPart ):
                replaceByMap( configTemplates.intoNTuplesTemplate, repMap)}
        if not self.referenceAlignment == "IDEAL":
            referenceRepMap = self.getRepMap( self.referenceAlignment )
            cfgFileName = "TkAlCompareToNTuple.%s.%s_cfg.py"%(
                self.referenceAlignment.name, self.randomWorkdirPart )
            cfgs[cfgFileName] = replaceByMap(configTemplates.intoNTuplesTemplate,
                                             referenceRepMap)

        cfgSchedule = cfgs.keys()
        for common in self.__compares:
            repMap.update({"common": common,
                           "levels": self.__compares[common][0],
                           "dbOutput": self.__compares[common][1]
                           })
            if self.__compares[common][1].split()[0] == "true":
                repMap["dbOutputService"] = configTemplates.dbOutputTemplate
            else:
                repMap["dbOutputService"] = ""
            cfgName = replaceByMap(("TkAlCompareCommon.oO[common]Oo.."
                                    ".oO[name]Oo._cfg.py"),repMap)
            cfgs[cfgName] = replaceByMap(configTemplates.compareTemplate, repMap)
            
            cfgSchedule.append( cfgName )
        GenericValidation.createConfiguration(self, cfgs, path, cfgSchedule)
示例#2
0
    def __init__( self, valName, alignment, referenceAlignment,
                  config, copyImages = True):
        """
        Constructor of the GeometryComparison class.

        Arguments:
        - `valName`: String which identifies individual validation instances
        - `alignment`: `Alignment` instance to validate
        - `referenceAlignment`: `Alignment` instance which is compared
                                with `alignment`
        - `config`: `BetterConfigParser` instance which includes the
                    configuration of the validations
        - `copyImages`: Boolean which indicates whether png- and pdf-files
                        should be copied back from the batch farm
        """
	defaults = {
	    "3DSubdetector1":"1",
	    "3DSubdetector2":"2",
	    "3DTranslationalScaleFactor":"50",
	    "modulesToPlot":"all",
	    "moduleList": "/store/caf/user/cschomak/emptyModuleList.txt",
	    "useDefaultRange":"false",
	    "plotOnlyGlobal":"false",
	    "plotPng":"true",
	    "dx_min":"-99999",
	    "dx_max":"-99999",
	    "dy_min":"-99999",
	    "dy_max":"-99999",
	    "dz_min":"-99999",
	    "dz_max":"-99999",
	    "dr_min":"-99999",
	    "dr_max":"-99999",
	    "rdphi_min":"-99999",
	    "rdphi_max":"-99999",
	    "dalpha_min":"-99999",
	    "dalpha_max":"-99999",
	    "dbeta_min":"-99999",
	    "dbeta_max":"-99999",
	    "dgamma_min":"-99999",
	    "dgamma_max":"-99999",
            }
        mandatories = ["levels", "dbOutput"]
        GenericValidation.__init__(self, valName, alignment, config, 
				   "compare", addDefaults=defaults, 
				   addMandatories = mandatories)
        self.referenceAlignment = referenceAlignment
        referenceName = "IDEAL"
        if not self.referenceAlignment == "IDEAL":
            referenceName = self.referenceAlignment.name

        allCompares = config.getCompares()
        self.__compares = {}
        if valName in allCompares:
            self.__compares[valName] = allCompares[valName]
        else:
            msg = ("Could not find compare section '%s' in '%s'"
                   %(valName, allCompares))
            raise AllInOneError(msg)
        self.copyImages = copyImages
示例#3
0
    def __init__(self,
                 valName,
                 alignment,
                 referenceAlignment,
                 config,
                 copyImages=True,
                 randomWorkdirPart=None):
        """
        Constructor of the GeometryComparison class.

        Arguments:
        - `valName`: String which identifies individual validation instances
        - `alignment`: `Alignment` instance to validate
        - `referenceAlignment`: `Alignment` instance which is compared
                                with `alignment`
        - `config`: `BetterConfigParser` instance which includes the
                    configuration of the validations
        - `copyImages`: Boolean which indicates whether png- and pdf-files
                        should be copied back from the batch farm
        - `randomWorkDirPart`: If this option is ommitted a random number is
                               generated to create unique path names for the
                               individual validation instances.
        """
        defaults = {
            "3DSubdetector1": "1",
            "3DSubdetector2": "2",
            "3DTranslationalScaleFactor": "50"
        }
        mandatories = ["levels", "dbOutput"]
        GenericValidation.__init__(self,
                                   valName,
                                   alignment,
                                   config,
                                   "compare",
                                   addDefaults=defaults,
                                   addMandatories=mandatories)
        if not randomWorkdirPart == None:
            self.randomWorkdirPart = randomWorkdirPart
        self.referenceAlignment = referenceAlignment
        referenceName = "IDEAL"
        if not self.referenceAlignment == "IDEAL":
            referenceName = self.referenceAlignment.name

        allCompares = config.getCompares()
        self.__compares = {}
        if valName in allCompares:
            self.__compares[valName] = allCompares[valName]
        else:
            msg = ("Could not find compare section '%s' in '%s'" %
                   (valName, allCompares))
            raise AllInOneError(msg)
        self.copyImages = copyImages
示例#4
0
    def getRepMap(self, alignment=None):
        if alignment == None:
            alignment = self.alignmentToValidate
        repMap = GenericValidation.getRepMap(self, alignment)
        referenceName = "IDEAL"
        referenceTitle = "IDEAL"
        if not self.referenceAlignment == "IDEAL":
            referenceName = self.referenceAlignment.name
            referenceTitle = self.referenceAlignment.title

        repMap.update({
            "comparedGeometry": (".oO[alignmentName]Oo."
                                 "ROOTGeometry.root"),
            "referenceGeometry":
            "IDEAL",  # will be replaced later
            #  if not compared to IDEAL
            "reference":
            referenceName,
            "referenceTitle":
            referenceTitle,
            "alignmentTitle":
            self.alignmentToValidate.title
        })
        if not referenceName == "IDEAL":
            repMap["referenceGeometry"] = (".oO[reference]Oo."
                                           "ROOTGeometry.root")
        repMap["name"] += "_vs_.oO[reference]Oo."
        return repMap
示例#5
0
    def getRepMap(self, alignment = None):
        if alignment == None:
            alignment = self.alignmentToValidate
        repMap = GenericValidation.getRepMap( self, alignment )
        referenceName  = "IDEAL"
        referenceTitle = "IDEAL"
        if not self.referenceAlignment == "IDEAL":
            referenceName  = self.referenceAlignment.name
            referenceTitle = self.referenceAlignment.title

        assert len(self.__compares) == 1 #? not sure how it can be anything else, but just in case
        common = self.__compares.keys()[0]

        repMap.update({
            "common": common,
            "comparedGeometry": (".oO[alignmentName]Oo."
                                 "ROOTGeometry.root"),
            "referenceGeometry": "IDEAL", # will be replaced later
                                          #  if not compared to IDEAL
            "reference": referenceName,
            "referenceTitle": referenceTitle,
	    "alignmentTitle": self.alignmentToValidate.title,
            "moduleListBase": os.path.basename(repMap["moduleList"]),
            })
        if not referenceName == "IDEAL":
            repMap["referenceGeometry"] = (".oO[reference]Oo."
                                           "ROOTGeometry.root")
        repMap["name"] += "_vs_.oO[reference]Oo."
        return repMap
示例#6
0
    def __init__(self,
                 valName,
                 alignment,
                 referenceAlignment,
                 config,
                 copyImages=True,
                 randomWorkdirPart=None):
        """
        Constructor of the GeometryComparison class.

        Arguments:
        - `valName`: String which identifies individual validation instances
        - `alignment`: `Alignment` instance to validate
        - `referenceAlignment`: `Alignment` instance which is compared
                                with `alignment`
        - `config`: `BetterConfigParser` instance which includes the
                    configuration of the validations
        - `copyImages`: Boolean which indicates whether png- and pdf-files 
                        should be copied back from the batch farm
        - `randomWorkDirPart`: If this option is ommitted a random number is
                               generated to create unique path names for the
                               individual validation instances.
        """
        GenericValidation.__init__(self, valName, alignment, config)
        if not randomWorkdirPart == None:
            self.randomWorkdirPart = randomWorkdirPart
        self.referenceAlignment = referenceAlignment
        try:  # try to override 'jobmode' from [general] section
            self.jobmode = config.get("compare:" + self.name, "jobmode")
        except ConfigParser.NoOptionError:
            pass
        referenceName = "IDEAL"
        if not self.referenceAlignment == "IDEAL":
            referenceName = self.referenceAlignment.name

        allCompares = config.getCompares()
        self.__compares = {}
        if valName in allCompares:
            self.__compares[valName] = allCompares[valName]
        else:
            msg = ("Could not find compare section '%s' in '%s'" %
                   (valName, allCompares))
            raise AllInOneError(msg)
        self.copyImages = copyImages
示例#7
0
    def __init__( self, valName, alignment, referenceAlignment,
                  config, copyImages = True, randomWorkdirPart = None):
        """
        Constructor of the GeometryComparison class.

        Arguments:
        - `valName`: String which identifies individual validation instances
        - `alignment`: `Alignment` instance to validate
        - `referenceAlignment`: `Alignment` instance which is compared
                                with `alignment`
        - `config`: `BetterConfigParser` instance which includes the
                    configuration of the validations
        - `copyImages`: Boolean which indicates whether png- and pdf-files
                        should be copied back from the batch farm
        - `randomWorkDirPart`: If this option is ommitted a random number is
                               generated to create unique path names for the
                               individual validation instances.
        """
	defaults = {
	    "3DSubdetector1":"1",
	    "3DSubdetector2":"2",
	    "3DTranslationalScaleFactor":"50"
            }
        mandatories = ["levels", "dbOutput"]
        GenericValidation.__init__(self, valName, alignment, config, 
				   "compare", addDefaults=defaults, 
				   addMandatories = mandatories)
        if not randomWorkdirPart == None:
            self.randomWorkdirPart = randomWorkdirPart
        self.referenceAlignment = referenceAlignment
        referenceName = "IDEAL"
        if not self.referenceAlignment == "IDEAL":
            referenceName = self.referenceAlignment.name

        allCompares = config.getCompares()
        self.__compares = {}
        if valName in allCompares:
            self.__compares[valName] = allCompares[valName]
        else:
            msg = ("Could not find compare section '%s' in '%s'"
                   %(valName, allCompares))
            raise AllInOneError(msg)
        self.copyImages = copyImages
示例#8
0
    def __init__( self, valName, alignment, referenceAlignment,
                  config, copyImages = True, randomWorkdirPart = None):
        """
        Constructor of the GeometryComparison class.

        Arguments:
        - `valName`: String which identifies individual validation instances
        - `alignment`: `Alignment` instance to validate
        - `referenceAlignment`: `Alignment` instance which is compared
                                with `alignment`
        - `config`: `BetterConfigParser` instance which includes the
                    configuration of the validations
        - `copyImages`: Boolean which indicates whether png- and pdf-files 
                        should be copied back from the batch farm
        - `randomWorkDirPart`: If this option is ommitted a random number is
                               generated to create unique path names for the
                               individual validation instances.
        """
        GenericValidation.__init__(self, valName, alignment, config)
        if not randomWorkdirPart == None:
            self.randomWorkdirPart = randomWorkdirPart
        self.referenceAlignment = referenceAlignment
        try:  # try to override 'jobmode' from [general] section
            self.jobmode = config.get( "compare:"+self.name, "jobmode" )
        except ConfigParser.NoOptionError:
            pass
        referenceName = "IDEAL"
        if not self.referenceAlignment == "IDEAL":
            referenceName = self.referenceAlignment.name

        allCompares = config.getCompares()
        self.__compares = {}
        if valName in allCompares:
            self.__compares[valName] = allCompares[valName]
        else:
            msg = ("Could not find compare section '%s' in '%s'"
                   %(valName, allCompares))
            raise AllInOneError(msg)
        self.copyImages = copyImages
示例#9
0
 def getRepMap(self, alignment = None):
     if alignment == None:
         alignment = self.alignmentToValidate
     repMap = GenericValidation.getRepMap( self, alignment )
     referenceName = "IDEAL"
     if not self.referenceAlignment == "IDEAL":
         referenceName = self.referenceAlignment.name
     
     repMap.update({
         "comparedGeometry": (".oO[alignmentName]Oo."
                              "ROOTGeometry.root"),
         "referenceGeometry": "IDEAL", # will be replaced later
                                       #  if not compared to IDEAL
         "reference": referenceName
         })
     if not referenceName == "IDEAL":
         repMap["referenceGeometry"] = (".oO[reference]Oo."
                                        "ROOTGeometry.root")
     repMap["name"] += "_vs_.oO[reference]Oo."
     return repMap
示例#10
0
    def createScript(self, path):    
        repMap = self.getRepMap()    
        repMap["runComparisonScripts"] = ""
        scriptName = replaceByMap(("TkAlGeomCompare.%s..oO[name]Oo..sh"
                                   %self.name), repMap)
        for name in self.__compares:
            if  '"DetUnit"' in self.__compares[name][0].split(","):
                repMap["runComparisonScripts"] += \
                    ("rfcp .oO[CMSSW_BASE]Oo./src/Alignment/OfflineValidation"
                     "/scripts/comparisonScript.C .\n"
                     "rfcp .oO[CMSSW_BASE]Oo./src/Alignment/OfflineValidation"
                     "/scripts/comparisonPlots.h .\n"
                     "rfcp .oO[CMSSW_BASE]Oo./src/Alignment/OfflineValidation"
                     "/scripts/comparisonPlots.cc .\n"
                     "root -b -q 'comparisonScript.C(\""
                     ".oO[name]Oo..Comparison_common"+name+".root\",\""
                     "./\")'\n")
                if  self.copyImages:
                   repMap["runComparisonScripts"] += \
                       ("rfmkdir -p .oO[datadir]Oo./.oO[name]Oo."
                        ".Comparison_common"+name+"_Images\n")
                   repMap["runComparisonScripts"] += \
                       ("find . -maxdepth 1 -name \"plot*.eps\" "
                        "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                        "/.oO[name]Oo..Comparison_common"+name+"_Images/\" \n")
                   repMap["runComparisonScripts"] += \
                       ("find . -maxdepth 1 -name \"plot*.pdf\" "
                        "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                        "/.oO[name]Oo..Comparison_common"+name+"_Images/\" \n")
                   repMap["runComparisonScripts"] += \
                       ("find . -maxdepth 1 -name "
                        "\"TkMap_SurfDeform*.pdf\" -print | xargs -I {} bash -c"
                        " \"rfcp {} .oO[datadir]Oo./.oO[name]Oo."
                        ".Comparison_common"+name+"_Images/\" \n")
                   repMap["runComparisonScripts"] += \
                       ("find . -maxdepth 1 -name "
                        "\"TkMap_SurfDeform*.png\" -print | xargs -I {} bash -c"
                        " \"rfcp {} .oO[datadir]Oo./.oO[name]Oo."
                        ".Comparison_common"+name+"_Images/\" \n")
                   repMap["runComparisonScripts"] += \
                       ("if [[ $HOSTNAME = lxplus[0-9]*\.cern\.ch ]]\n"
                        "then\n"
                        "    rfmkdir -p .oO[workdir]Oo./.oO[name]Oo.."+name
                        +"_ArrowPlots\n"
                        "else\n"
                        "    mkdir -p $CWD/TkAllInOneTool/.oO[name]Oo.."+name
                        +"_ArrowPlots\n"
                        "fi\n")
                   repMap["runComparisonScripts"] += \
                       ("rfcp .oO[CMSSW_BASE]Oo./src/Alignment"
                        "/OfflineValidation/scripts/makeArrowPlots "
                        "$CWD/TkAllInOneTool\n"
                        "root -b -q 'makeArrowPlots.C(\""
                        ".oO[name]Oo..Comparison_common"+name
                        +".root\",\".oO[name]Oo.."
                        +name+"_ArrowPlots\")'\n")
                   repMap["runComparisonScripts"] += \
                       ("rfmkdir -p .oO[datadir]Oo./.oO[name]Oo."
                        ".Comparison_common"+name+"_Images/ArrowPlots\n")
                   repMap["runComparisonScripts"] += \
                       ("find .oO[name]Oo.."+name+"_ArrowPlots "
                        "-maxdepth 1 -name \"*.png\" -print | xargs -I {} bash "
                        "-c \"rfcp {} .oO[datadir]Oo./.oO[name]Oo."
                        ".Comparison_common"+name+"_Images/ArrowPlots\"\n")

                resultingFile = replaceByMap(("/store/caf/user/$USER/.oO[eosdir]Oo./compared%s_"
                                              ".oO[name]Oo..root"%name), repMap)
                resultingFile = os.path.expandvars( resultingFile )
                resultingFile = os.path.abspath( resultingFile )
                repMap["runComparisonScripts"] += \
                    ("cmsStage -f OUTPUT_comparison.root %s\n"
                     %resultingFile)
                self.filesToCompare[ name ] = resultingFile
                
        repMap["CommandLine"]=""

        for cfg in self.configFiles:
            # FIXME: produce this line only for enabled dbOutput
            # postProcess = "rfcp .oO[workdir]Oo./*.db .oO[datadir]Oo.\n"
            postProcess = "rfcp *.db .oO[datadir]Oo.\n"
            repMap["CommandLine"]+= \
                repMap["CommandLineTemplate"]%{"cfgFile":cfg,
                                               "postProcess":postProcess}
        repMap["CommandLine"]+= ("# overall postprocessing\n"
                                 ".oO[runComparisonScripts]Oo.\n"
                                 )

        scripts = {scriptName: replaceByMap( configTemplates.scriptTemplate, repMap ) }  
        return GenericValidation.createScript(self, scripts, path)
示例#11
0
    def createScript(self, path):    
        repMap = self.getRepMap()    
        repMap["runComparisonScripts"] = ""
        scriptName = replaceByMap(("TkAlGeomCompare.%s..oO[name]Oo..sh"
                                   %self.name), repMap)
        for name in self.__compares:
            if  '"DetUnit"' in self.__compares[name][0].split(","):
                repMap["runComparisonScripts"] += \
                    ("root -b -q 'comparisonScript.C(\".oO[workdir]Oo."
                     "/.oO[name]Oo..Comparison_common"+name+".root\",\""
                     ".oO[workdir]Oo./\")'\n")
                if  self.copyImages:
                   repMap["runComparisonScripts"] += \
                       ("rfmkdir -p .oO[datadir]Oo./.oO[name]Oo."
                        ".Comparison_common"+name+"_Images\n")
                   repMap["runComparisonScripts"] += \
                       ("find .oO[workdir]Oo. -maxdepth 1 -name \"plot*.eps\" "
                        "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                        "/.oO[name]Oo..Comparison_common"+name+"_Images/\" \n")
                   repMap["runComparisonScripts"] += \
                       ("find .oO[workdir]Oo. -maxdepth 1 -name \"plot*.pdf\" "
                        "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                        "/.oO[name]Oo..Comparison_common"+name+"_Images/\" \n")
                   repMap["runComparisonScripts"] += \
                       ("find .oO[workdir]Oo. -maxdepth 1 -name "
                        "\"TkMap_SurfDeform*.pdf\" -print | xargs -I {} bash -c"
                        " \"rfcp {} .oO[datadir]Oo./.oO[name]Oo."
                        ".Comparison_common"+name+"_Images/\" \n")
                   repMap["runComparisonScripts"] += \
                       ("find .oO[workdir]Oo. -maxdepth 1 -name "
                        "\"TkMap_SurfDeform*.png\" -print | xargs -I {} bash -c"
                        " \"rfcp {} .oO[datadir]Oo./.oO[name]Oo."
                        ".Comparison_common"+name+"_Images/\" \n")
                   repMap["runComparisonScripts"] += \
                       ("rfmkdir -p .oO[workdir]Oo./.oO[name]Oo.."+name
                        +"_ArrowPlots\n")
                   repMap["runComparisonScripts"] += \
                       ("root -b -q 'makeArrowPlots.C(\".oO[workdir]Oo."
                        "/.oO[name]Oo..Comparison_common"+name
                        +".root\",\".oO[workdir]Oo./.oO[name]Oo.."
                        +name+"_ArrowPlots\")'\n")
                   repMap["runComparisonScripts"] += \
                       ("rfmkdir -p .oO[datadir]Oo./.oO[name]Oo."
                        ".Comparison_common"+name+"_Images/ArrowPlots\n")
                   repMap["runComparisonScripts"] += \
                       ("find .oO[workdir]Oo./.oO[name]Oo.."+name+"_ArrowPlots "
                        "-maxdepth 1 -name \"*.png\" -print | xargs -I {} bash "
                        "-c \"rfcp {} .oO[datadir]Oo./.oO[name]Oo."
                        ".Comparison_common"+name+"_Images/ArrowPlots\"\n")
                   
                resultingFile = replaceByMap((".oO[datadir]Oo./compared%s_"
                                              ".oO[name]Oo..root"%name), repMap)
                resultingFile = os.path.expandvars( resultingFile )
                resultingFile = os.path.abspath( resultingFile )
                repMap["runComparisonScripts"] += \
                    ("rfcp .oO[workdir]Oo./OUTPUT_comparison.root %s\n"
                     %resultingFile)
                self.filesToCompare[ name ] = resultingFile
                
        repMap["CommandLine"]=""

        for cfg in self.configFiles:
            postProcess = "rfcp .oO[workdir]Oo./*.db .oO[datadir]Oo.\n"
            repMap["CommandLine"]+= \
                repMap["CommandLineTemplate"]%{"cfgFile":cfg,
                                               "postProcess":postProcess}
        # FIXME: It would be better to copy the needed scripts and run them in
        #        the workdir.
        repMap["CommandLine"]+= ("# overall postprocessing\n"
                                 "cd .oO[CMSSW_BASE]Oo./src/Alignment"
                                 "/OfflineValidation/scripts/\n"
                                 ".oO[runComparisonScripts]Oo.\n"
                                 "cd .oO[workdir]Oo.\n")

        scripts = {scriptName: replaceByMap( configTemplates.scriptTemplate, repMap ) }  
        return GenericValidation.createScript(self, scripts, path)
示例#12
0
    def createScript(self, path):
        repMap = self.getRepMap()
        repMap["runComparisonScripts"] = ""
        scriptName = replaceByMap(
            ("TkAlGeomCompare.%s..oO[name]Oo..sh" % self.name), repMap)
        for name in self.__compares:
            if '"DetUnit"' in self.__compares[name][0].split(","):
                repMap["outputFile"] = (".oO[name]Oo..Comparison_common" +
                                        name + ".root")
                repMap["nIndex"] = ("")
                repMap["runComparisonScripts"] += \
                    ("rfcp .oO[CMSSW_BASE]Oo./src/Alignment/OfflineValidation"
                     "/scripts/comparisonScript.C .\n"
                     "rfcp .oO[CMSSW_BASE]Oo./src/Alignment/OfflineValidation"
                     "/scripts/GeometryComparisonPlotter.h .\n"
                     "rfcp .oO[CMSSW_BASE]Oo./src/Alignment/OfflineValidation"
                     "/scripts/GeometryComparisonPlotter.cc .\n"
                     "root -b -q 'comparisonScript.C+(\""
                     ".oO[name]Oo..Comparison_common"+name+".root\",\""
                     "./\")'\n"
                "rfcp "+path+"/TkAl3DVisualization_.oO[name]Oo..C .\n"
                "root -l -b -q TkAl3DVisualization_.oO[name]Oo..C+\n")
                if self.copyImages:
                    repMap["runComparisonScripts"] += \
                        ("rfmkdir -p .oO[datadir]Oo./.oO[name]Oo."
                         ".Comparison_common"+name+"_Images\n")
                    repMap["runComparisonScripts"] += \
                        ("rfmkdir -p .oO[datadir]Oo./.oO[name]Oo."
                         ".Comparison_common"+name+"_Images/Translations\n")
                    repMap["runComparisonScripts"] += \
                        ("rfmkdir -p .oO[datadir]Oo./.oO[name]Oo."
                         ".Comparison_common"+name+"_Images/Rotations\n")
                    repMap["runComparisonScripts"] += \
                        ("rfmkdir -p .oO[datadir]Oo./.oO[name]Oo."
                         ".Comparison_common"+name+"_Images/CrossTalk\n")

                    ### At the moment translations are immages with suffix _1 and _2, rotations _3 and _4, and cross talk _5, _6, _7 and _8
                    ### The numeration depends on the order of the MakePlots(x, y) commands in comparisonScript.C
                    ### If comparisonScript.C is changed, check if the following lines need to be changed as well
                    repMap["runComparisonScripts"] += \
                        ("find . -maxdepth 1 -name \"*_1*\" "
                         "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                         "/.oO[name]Oo..Comparison_common"+name+"_Images/Translations/\" \n")
                    repMap["runComparisonScripts"] += \
                        ("find . -maxdepth 1 -name \"*_2*\" "
                         "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                         "/.oO[name]Oo..Comparison_common"+name+"_Images/Translations/\" \n")

                    repMap["runComparisonScripts"] += \
                        ("find . -maxdepth 1 -name \"*_3*\" "
                         "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                         "/.oO[name]Oo..Comparison_common"+name+"_Images/Rotations/\" \n")
                    repMap["runComparisonScripts"] += \
                        ("find . -maxdepth 1 -name \"*_4*\" "
                         "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                         "/.oO[name]Oo..Comparison_common"+name+"_Images/Rotations/\" \n")

                    repMap["runComparisonScripts"] += \
                        ("find . -maxdepth 1 -name \"*_5*\" "
                         "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                         "/.oO[name]Oo..Comparison_common"+name+"_Images/CrossTalk/\" \n")
                    repMap["runComparisonScripts"] += \
                        ("find . -maxdepth 1 -name \"*_6*\" "
                         "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                         "/.oO[name]Oo..Comparison_common"+name+"_Images/CrossTalk/\" \n")
                    repMap["runComparisonScripts"] += \
                        ("find . -maxdepth 1 -name \"*_7*\" "
                         "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                         "/.oO[name]Oo..Comparison_common"+name+"_Images/CrossTalk/\" \n")
                    repMap["runComparisonScripts"] += \
                        ("find . -maxdepth 1 -name \"*_8*\" "
                         "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                         "/.oO[name]Oo..Comparison_common"+name+"_Images/CrossTalk/\" \n")

                    repMap["runComparisonScripts"] += \
                        ("find . -maxdepth 1 -name "
                         "\"TkMap_SurfDeform*.pdf\" -print | xargs -I {} bash -c"
                         " \"rfcp {} .oO[datadir]Oo./.oO[name]Oo."
                         ".Comparison_common"+name+"_Images/\" \n")
                    repMap["runComparisonScripts"] += \
                        ("find . -maxdepth 1 -name "
                         "\"TkMap_SurfDeform*.png\" -print | xargs -I {} bash -c"
                         " \"rfcp {} .oO[datadir]Oo./.oO[name]Oo."
                         ".Comparison_common"+name+"_Images/\" \n")
                    repMap["runComparisonScripts"] += \
                        ("if [[ $HOSTNAME = lxplus[0-9]*\.cern\.ch ]]\n"
                         "then\n"
                         "    rfmkdir -p .oO[workdir]Oo./.oO[name]Oo.."+name
                         +"_ArrowPlots\n"
                         "else\n"
                         "    mkdir -p $CWD/TkAllInOneTool/.oO[name]Oo.."+name
                         +"_ArrowPlots\n"
                         "fi\n")
                    repMap["runComparisonScripts"] += \
                        ("rfcp .oO[CMSSW_BASE]Oo./src/Alignment"
                         "/OfflineValidation/scripts/makeArrowPlots.C "
                         ".\n"
                         "root -b -q 'makeArrowPlots.C(\""
                         ".oO[name]Oo..Comparison_common"+name
                         +".root\",\".oO[name]Oo.."
                         +name+"_ArrowPlots\")'\n")
                    repMap["runComparisonScripts"] += \
                        ("rfmkdir -p .oO[datadir]Oo./.oO[name]Oo."
                         ".Comparison_common"+name+"_Images/ArrowPlots\n")
                    repMap["runComparisonScripts"] += \
                        ("find .oO[name]Oo.."+name+"_ArrowPlots "
                         "-maxdepth 1 -name \"*.png\" -print | xargs -I {} bash "
                         "-c \"rfcp {} .oO[datadir]Oo./.oO[name]Oo."
                         ".Comparison_common"+name+"_Images/ArrowPlots\"\n")
                    repMap["runComparisonScripts"] += \
                                      ("find . "
                                       "-maxdepth 1 -name \".oO[name]Oo..Visualization_rotated.gif\" -print | xargs -I {} bash "
                                       "-c \"rfcp {} .oO[datadir]Oo./.oO[name]Oo."
                                       ".Comparison_common"+name+"_Images/.oO[name]Oo..Visualization.gif\"\n")

                resultingFile = replaceByMap(
                    ("/store/caf/user/$USER/.oO[eosdir]Oo./compared%s_"
                     ".oO[name]Oo..root" % name), repMap)
                resultingFile = os.path.expandvars(resultingFile)
                resultingFile = os.path.abspath(resultingFile)
                repMap["runComparisonScripts"] += \
                    ("cmsStage -f OUTPUT_comparison.root %s\n"
                     %resultingFile)
                self.filesToCompare[name] = resultingFile

        repMap["CommandLine"] = ""

        for cfg in self.configFiles:
            # FIXME: produce this line only for enabled dbOutput
            # postProcess = "rfcp .oO[workdir]Oo./*.db .oO[datadir]Oo.\n"
            # postProcess = "rfcp *.db .oO[datadir]Oo.\n"
            postProcess = ""
            repMap["CommandLine"]+= \
                repMap["CommandLineTemplate"]%{"cfgFile":cfg,
                                               "postProcess":postProcess}
        repMap["CommandLine"] += ("# overall postprocessing\n"
                                  ".oO[runComparisonScripts]Oo.\n")

        #~ print configTemplates.scriptTemplate
        scripts = {
            scriptName: replaceByMap(configTemplates.scriptTemplate, repMap)
        }
        files = {
            replaceByMap("TkAl3DVisualization_.oO[name]Oo..C", repMap):
            replaceByMap(configTemplates.visualizationTrackerTemplate, repMap)
        }
        self.createFiles(files, path)
        return GenericValidation.createScript(self, scripts, path)
    def createScript(self, path):
        repMap = self.getRepMap()
        repMap["runComparisonScripts"] = ""
        scriptName = replaceByMap(("TkAlGeomCompare.%s..oO[name]Oo..sh"
                                   %self.name), repMap)
        for name in self.__compares:
            if  '"DetUnit"' in self.__compares[name][0].split(","):
                repMap["outputFile"] = (".oO[name]Oo..Comparison_common"+name+".root")
                repMap["nIndex"] = ("")
                repMap["runComparisonScripts"] += \
                    ("rfcp .oO[CMSSW_BASE]Oo./src/Alignment/OfflineValidation"
                     "/scripts/comparisonScript.C .\n"
                     "rfcp .oO[CMSSW_BASE]Oo./src/Alignment/OfflineValidation"
                     "/scripts/GeometryComparisonPlotter.h .\n"
                     "rfcp .oO[CMSSW_BASE]Oo./src/Alignment/OfflineValidation"
                     "/scripts/GeometryComparisonPlotter.cc .\n"
                     "root -b -q 'comparisonScript.C+(\""
                     ".oO[name]Oo..Comparison_common"+name+".root\",\""
                     "./\")'\n")
                if  self.copyImages:
                   #~ repMap["runComparisonScripts"] += \
                       #~ ("rfmkdir -p .oO[datadir]Oo./.oO[name]Oo."
                        #~ ".Comparison_common"+name+"_Images\n")
                   #~ repMap["runComparisonScripts"] += \
                       #~ ("find . -maxdepth 1 -name \"*PXB*\" "
                        #~ "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                        #~ "/.oO[name]Oo..Comparison_common"+name+"_Images/\" \n")
                   #~ repMap["runComparisonScripts"] += \
                       #~ ("find . -maxdepth 1 -name \"*PXF*\" "
                        #~ "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                        #~ "/.oO[name]Oo..Comparison_common"+name+"_Images/\" \n")
                   #~ repMap["runComparisonScripts"] += \
                       #~ ("find . -maxdepth 1 -name \"*TIB*\" "
                        #~ "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                        #~ "/.oO[name]Oo..Comparison_common"+name+"_Images/\" \n")
                   #~ repMap["runComparisonScripts"] += \
                       #~ ("find . -maxdepth 1 -name \"*TID*\" "
                        #~ "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                        #~ "/.oO[name]Oo..Comparison_common"+name+"_Images/\" \n")
                   #~ repMap["runComparisonScripts"] += \
                       #~ ("find . -maxdepth 1 -name \"*TEC*\" "
                        #~ "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                        #~ "/.oO[name]Oo..Comparison_common"+name+"_Images/\" \n")
                   #~ repMap["runComparisonScripts"] += \
                       #~ ("find . -maxdepth 1 -name \"*TOB*\" "
                        #~ "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                        #~ "/.oO[name]Oo..Comparison_common"+name+"_Images/\" \n")
                   #~ repMap["runComparisonScripts"] += \
                       #~ ("find . -maxdepth 1 -name \"*tracker*\" "
                        #~ "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                        #~ "/.oO[name]Oo..Comparison_common"+name+"_Images/\" \n")
                   repMap["runComparisonScripts"] += \
                       ("rfmkdir -p .oO[datadir]Oo./.oO[name]Oo."
                        ".Comparison_common"+name+"_Images\n")
                   repMap["runComparisonScripts"] += \
                       ("rfmkdir -p .oO[datadir]Oo./.oO[name]Oo."
                        ".Comparison_common"+name+"_Images/Translations\n")
                   repMap["runComparisonScripts"] += \
                       ("rfmkdir -p .oO[datadir]Oo./.oO[name]Oo."
                        ".Comparison_common"+name+"_Images/Rotations\n")
                   repMap["runComparisonScripts"] += \
                       ("rfmkdir -p .oO[datadir]Oo./.oO[name]Oo."
                        ".Comparison_common"+name+"_Images/CrossTalk\n")
                   repMap["runComparisonScripts"] += \
                       ("find . -maxdepth 1 -name \"*phi_vs_dr*\" "
                        "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                        "/.oO[name]Oo..Comparison_common"+name+"_Images/Translations/\" \n")
                   repMap["runComparisonScripts"] += \
                       ("find . -maxdepth 1 -name \"*phi_vs_dx*\" "
                        "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                        "/.oO[name]Oo..Comparison_common"+name+"_Images/Translations/\" \n")
                   repMap["runComparisonScripts"] += \
                       ("find . -maxdepth 1 -name \"*phi_vs_dy*\" "
                        "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                        "/.oO[name]Oo..Comparison_common"+name+"_Images/Translations/\" \n")
                   repMap["runComparisonScripts"] += \
                       ("find . -maxdepth 1 -name \"*phi_vs_dz*\" "
                        "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                        "/.oO[name]Oo..Comparison_common"+name+"_Images/Translations/\" \n")
                   repMap["runComparisonScripts"] += \
                       ("find . -maxdepth 1 -name \"*phi_vs_rdphi*\" "
                        "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                        "/.oO[name]Oo..Comparison_common"+name+"_Images/Translations/\" \n")
                   repMap["runComparisonScripts"] += \
                       ("find . -maxdepth 1 -name \"*r_vs_dr*\" "
                        "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                        "/.oO[name]Oo..Comparison_common"+name+"_Images/Translations/\" \n")
                   repMap["runComparisonScripts"] += \
                       ("find . -maxdepth 1 -name \"*r_vs_dx*\" "
                        "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                        "/.oO[name]Oo..Comparison_common"+name+"_Images/Translations/\" \n")
                   repMap["runComparisonScripts"] += \
                       ("find . -maxdepth 1 -name \"*r_vs_dy*\" "
                        "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                        "/.oO[name]Oo..Comparison_common"+name+"_Images/Translations/\" \n")
                   repMap["runComparisonScripts"] += \
                       ("find . -maxdepth 1 -name \"*r_vs_dz*\" "
                        "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                        "/.oO[name]Oo..Comparison_common"+name+"_Images/Translations/\" \n")
                   repMap["runComparisonScripts"] += \
                       ("find . -maxdepth 1 -name \"*r_vs_rdphi*\" "
                        "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                        "/.oO[name]Oo..Comparison_common"+name+"_Images/Translations/\" \n")
                   repMap["runComparisonScripts"] += \
                       ("find . -maxdepth 1 -name \"*z_vs_dr*\" "
                        "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                        "/.oO[name]Oo..Comparison_common"+name+"_Images/Translations/\" \n")
                   repMap["runComparisonScripts"] += \
                       ("find . -maxdepth 1 -name \"*z_vs_dx*\" "
                        "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                        "/.oO[name]Oo..Comparison_common"+name+"_Images/Translations/\" \n")
                   repMap["runComparisonScripts"] += \
                       ("find . -maxdepth 1 -name \"*z_vs_dy*\" "
                        "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                        "/.oO[name]Oo..Comparison_common"+name+"_Images/Translations/\" \n")
                   repMap["runComparisonScripts"] += \
                       ("find . -maxdepth 1 -name \"*z_vs_dz*\" "
                        "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                        "/.oO[name]Oo..Comparison_common"+name+"_Images/Translations/\" \n")
                   repMap["runComparisonScripts"] += \
                       ("find . -maxdepth 1 -name \"*z_vs_rdphi*\" "
                        "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                        "/.oO[name]Oo..Comparison_common"+name+"_Images/Translations/\" \n")
                   repMap["runComparisonScripts"] += \
                       ("find . -maxdepth 1 -name \"*alpha_vs_dalpha*\" "
                        "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                        "/.oO[name]Oo..Comparison_common"+name+"_Images/Rotations/\" \n")
                   repMap["runComparisonScripts"] += \
                       ("find . -maxdepth 1 -name \"*alpha_vs_dbeta*\" "
                        "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                        "/.oO[name]Oo..Comparison_common"+name+"_Images/Rotations/\" \n")
                   repMap["runComparisonScripts"] += \
                       ("find . -maxdepth 1 -name \"*alpha_vs_dgamma*\" "
                        "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                        "/.oO[name]Oo..Comparison_common"+name+"_Images/Rotations/\" \n")
                   repMap["runComparisonScripts"] += \
                       ("find . -maxdepth 1 -name \"*beta_vs_dalpha*\" "
                        "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                        "/.oO[name]Oo..Comparison_common"+name+"_Images/Rotations/\" \n")
                   repMap["runComparisonScripts"] += \
                       ("find . -maxdepth 1 -name \"*beta_vs_dbeta*\" "
                        "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                        "/.oO[name]Oo..Comparison_common"+name+"_Images/Rotations/\" \n")
                   repMap["runComparisonScripts"] += \
                       ("find . -maxdepth 1 -name \"*beta_vs_dgamma*\" "
                        "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                        "/.oO[name]Oo..Comparison_common"+name+"_Images/Rotations/\" \n")
                   repMap["runComparisonScripts"] += \
                       ("find . -maxdepth 1 -name \"*gamma_vs_dalpha*\" "
                        "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                        "/.oO[name]Oo..Comparison_common"+name+"_Images/Rotations/\" \n")
                   repMap["runComparisonScripts"] += \
                       ("find . -maxdepth 1 -name \"*gamma_vs_dbeta*\" "
                        "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                        "/.oO[name]Oo..Comparison_common"+name+"_Images/Rotations/\" \n")
                   repMap["runComparisonScripts"] += \
                       ("find . -maxdepth 1 -name \"*gamma_vs_dgamma*\" "
                        "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                        "/.oO[name]Oo..Comparison_common"+name+"_Images/Rotations/\" \n")
                   repMap["runComparisonScripts"] += \
                       ("find . -maxdepth 1 -name \"*dr_vs_dalpha*\" "
                        "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                        "/.oO[name]Oo..Comparison_common"+name+"_Images/CrossTalk/\" \n")
                   repMap["runComparisonScripts"] += \
                       ("find . -maxdepth 1 -name \"*dr_vs_dbeta*\" "
                        "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                        "/.oO[name]Oo..Comparison_common"+name+"_Images/CrossTalk/\" \n")
                   repMap["runComparisonScripts"] += \
                       ("find . -maxdepth 1 -name \"*dr_vs_dgamma*\" "
                        "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                        "/.oO[name]Oo..Comparison_common"+name+"_Images/CrossTalk/\" \n")
                   repMap["runComparisonScripts"] += \
                       ("find . -maxdepth 1 -name \"*dx_vs_dalpha*\" "
                        "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                        "/.oO[name]Oo..Comparison_common"+name+"_Images/CrossTalk/\" \n")
                   repMap["runComparisonScripts"] += \
                       ("find . -maxdepth 1 -name \"*dx_vs_dbeta*\" "
                        "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                        "/.oO[name]Oo..Comparison_common"+name+"_Images/CrossTalk/\" \n")
                   repMap["runComparisonScripts"] += \
                       ("find . -maxdepth 1 -name \"*dx_vs_dgamma*\" "
                        "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                        "/.oO[name]Oo..Comparison_common"+name+"_Images/CrossTalk/\" \n")
                   repMap["runComparisonScripts"] += \
                       ("find . -maxdepth 1 -name \"*dy_vs_dalpha*\" "
                        "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                        "/.oO[name]Oo..Comparison_common"+name+"_Images/CrossTalk/\" \n")
                   repMap["runComparisonScripts"] += \
                       ("find . -maxdepth 1 -name \"*dy_vs_dbeta*\" "
                        "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                        "/.oO[name]Oo..Comparison_common"+name+"_Images/CrossTalk/\" \n")
                   repMap["runComparisonScripts"] += \
                       ("find . -maxdepth 1 -name \"*dy_vs_dgamma*\" "
                        "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                        "/.oO[name]Oo..Comparison_common"+name+"_Images/CrossTalk/\" \n")
                   repMap["runComparisonScripts"] += \
                       ("find . -maxdepth 1 -name \"*dz_vs_dalpha*\" "
                        "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                        "/.oO[name]Oo..Comparison_common"+name+"_Images/CrossTalk/\" \n")
                   repMap["runComparisonScripts"] += \
                       ("find . -maxdepth 1 -name \"*dz_vs_dbeta*\" "
                        "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                        "/.oO[name]Oo..Comparison_common"+name+"_Images/CrossTalk/\" \n")
                   repMap["runComparisonScripts"] += \
                       ("find . -maxdepth 1 -name \"*dz_vs_dgamma*\" "
                        "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                        "/.oO[name]Oo..Comparison_common"+name+"_Images/CrossTalk/\" \n")
                   repMap["runComparisonScripts"] += \
                       ("find . -maxdepth 1 -name \"*rdphi_vs_dalpha*\" "
                        "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                        "/.oO[name]Oo..Comparison_common"+name+"_Images/CrossTalk/\" \n")
                   repMap["runComparisonScripts"] += \
                       ("find . -maxdepth 1 -name \"*rdphi_vs_dbeta*\" "
                        "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                        "/.oO[name]Oo..Comparison_common"+name+"_Images/CrossTalk/\" \n")
                   repMap["runComparisonScripts"] += \
                       ("find . -maxdepth 1 -name \"*rdphi_vs_dgamma*\" "
                        "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                        "/.oO[name]Oo..Comparison_common"+name+"_Images/CrossTalk/\" \n")
                   repMap["runComparisonScripts"] += \
                       ("find . -maxdepth 1 -name "
                        "\"TkMap_SurfDeform*.pdf\" -print | xargs -I {} bash -c"
                        " \"rfcp {} .oO[datadir]Oo./.oO[name]Oo."
                        ".Comparison_common"+name+"_Images/\" \n")
                   repMap["runComparisonScripts"] += \
                       ("find . -maxdepth 1 -name "
                        "\"TkMap_SurfDeform*.png\" -print | xargs -I {} bash -c"
                        " \"rfcp {} .oO[datadir]Oo./.oO[name]Oo."
                        ".Comparison_common"+name+"_Images/\" \n")
                   repMap["runComparisonScripts"] += \
                       ("if [[ $HOSTNAME = lxplus[0-9]*\.cern\.ch ]]\n"
                        "then\n"
                        "    rfmkdir -p .oO[workdir]Oo./.oO[name]Oo.."+name
                        +"_ArrowPlots\n"
                        "else\n"
                        "    mkdir -p $CWD/TkAllInOneTool/.oO[name]Oo.."+name
                        +"_ArrowPlots\n"
                        "fi\n")
                   repMap["runComparisonScripts"] += \
                       ("rfcp .oO[CMSSW_BASE]Oo./src/Alignment"
                        "/OfflineValidation/scripts/makeArrowPlots.C "
                        ".\n"
                        "root -b -q 'makeArrowPlots.C(\""
                        ".oO[name]Oo..Comparison_common"+name
                        +".root\",\".oO[name]Oo.."
                        +name+"_ArrowPlots\")'\n")
                   repMap["runComparisonScripts"] += \
                       ("rfmkdir -p .oO[datadir]Oo./.oO[name]Oo."
                        ".Comparison_common"+name+"_Images/ArrowPlots\n")
                   repMap["runComparisonScripts"] += \
                       ("find .oO[name]Oo.."+name+"_ArrowPlots "
                        "-maxdepth 1 -name \"*.png\" -print | xargs -I {} bash "
                        "-c \"rfcp {} .oO[datadir]Oo./.oO[name]Oo."
                        ".Comparison_common"+name+"_Images/ArrowPlots\"\n")

                resultingFile = replaceByMap(("/store/caf/user/$USER/.oO[eosdir]Oo./compared%s_"
                                              ".oO[name]Oo..root"%name), repMap)
                resultingFile = os.path.expandvars( resultingFile )
                resultingFile = os.path.abspath( resultingFile )
                repMap["runComparisonScripts"] += \
                    ("cmsStage -f OUTPUT_comparison.root %s\n"
                     %resultingFile)
                self.filesToCompare[ name ] = resultingFile

        repMap["CommandLine"]=""

        for cfg in self.configFiles:
            # FIXME: produce this line only for enabled dbOutput
            # postProcess = "rfcp .oO[workdir]Oo./*.db .oO[datadir]Oo.\n"
            # postProcess = "rfcp *.db .oO[datadir]Oo.\n"
            postProcess = ""
            repMap["CommandLine"]+= \
                repMap["CommandLineTemplate"]%{"cfgFile":cfg,
                                               "postProcess":postProcess}
        repMap["CommandLine"]+= ("# overall postprocessing\n"
                                 ".oO[runComparisonScripts]Oo.\n"
                                 )

        #~ print configTemplates.scriptTemplate
        scripts = {scriptName: replaceByMap( configTemplates.scriptTemplate, repMap ) }
        return GenericValidation.createScript(self, scripts, path)
示例#14
0
    def createScript(self, path):
        repMap = self.getRepMap()
        repMap["runComparisonScripts"] = ""
        scriptName = replaceByMap(("TkAlGeomCompare.%s..oO[name]Oo..sh"
                                   %self.name), repMap)
        
        y_ranges = ""
        plottedDifferences = ["dx","dy","dz","dr","rdphi","dalpha","dbeta","dgamma"]
        for diff in plottedDifferences:
			y_ranges += ","+repMap["%s_min"%diff]
			y_ranges += ","+repMap["%s_max"%diff]
			
        for name in self.__compares:
            if  '"DetUnit"' in self.__compares[name][0].split(","):
                repMap["outputFile"] = (".oO[name]Oo..Comparison_common"+name+".root")
                repMap["nIndex"] = ("")
                repMap["runComparisonScripts"] += \
                    ("rfcp .oO[CMSSW_BASE]Oo./src/Alignment/OfflineValidation"
                     "/scripts/comparisonScript.C .\n"
                     "rfcp .oO[CMSSW_BASE]Oo./src/Alignment/OfflineValidation"
                     "/scripts/GeometryComparisonPlotter.h .\n"
                     "rfcp .oO[CMSSW_BASE]Oo./src/Alignment/OfflineValidation"
                     "/scripts/GeometryComparisonPlotter.cc .\n"
                     "root -b -q 'comparisonScript.C+(\""
                     ".oO[name]Oo..Comparison_common"+name+".root\",\""
                     "./\",\".oO[modulesToPlot]Oo.\",\".oO[alignmentName]Oo.\",\".oO[reference]Oo.\",\".oO[useDefaultRange]Oo.\",\".oO[plotOnlyGlobal]Oo.\",\".oO[plotPng]Oo.\""+y_ranges+")'\n"
		     "rfcp "+path+"/TkAl3DVisualization_.oO[name]Oo..C .\n"
		     "root -l -b -q TkAl3DVisualization_.oO[name]Oo..C+\n")
                if  self.copyImages:
                   repMap["runComparisonScripts"] += \
                       ("rfmkdir -p .oO[datadir]Oo./.oO[name]Oo."
                        ".Comparison_common"+name+"_Images\n")
                   repMap["runComparisonScripts"] += \
                       ("rfmkdir -p .oO[datadir]Oo./.oO[name]Oo."
                        ".Comparison_common"+name+"_Images/Translations\n")
                   repMap["runComparisonScripts"] += \
                       ("rfmkdir -p .oO[datadir]Oo./.oO[name]Oo."
                        ".Comparison_common"+name+"_Images/Rotations\n")


                   ### At the moment translations are images with suffix _1 and _2, rotations _3 and _4
                   ### The numeration depends on the order of the MakePlots(x, y) commands in comparisonScript.C
                   ### If comparisonScript.C is changed, check if the following lines need to be changed as well
                   
                   if repMap["plotPng"] == "true":
	                   repMap["runComparisonScripts"] += \
	                       ("find . -maxdepth 1 -name \"*_1*\" "
	                        "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
	                        "/.oO[name]Oo..Comparison_common"+name+"_Images/Translations/\" \n")
	                   repMap["runComparisonScripts"] += \
	                       ("find . -maxdepth 1 -name \"*_2*\" "
	                        "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
	                        "/.oO[name]Oo..Comparison_common"+name+"_Images/Translations/\" \n")
	                   
	                   repMap["runComparisonScripts"] += \
	                       ("find . -maxdepth 1 -name \"*_3*\" "
	                        "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
	                        "/.oO[name]Oo..Comparison_common"+name+"_Images/Rotations/\" \n")
	                   repMap["runComparisonScripts"] += \
	                       ("find . -maxdepth 1 -name \"*_4*\" "
	                        "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
	                        "/.oO[name]Oo..Comparison_common"+name+"_Images/Rotations/\" \n")
	                        
                   else:
	                   repMap["runComparisonScripts"] += \
	                       ("find . -maxdepth 1 -name \"*_1*\" "
	                        "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
	                        "/.oO[name]Oo..Comparison_common"+name+"_Images/Translations/\" \n")
	                   
	                   repMap["runComparisonScripts"] += \
	                       ("find . -maxdepth 1 -name \"*_2*\" "
	                        "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
	                        "/.oO[name]Oo..Comparison_common"+name+"_Images/Rotations/\" \n")
                   
                   repMap["runComparisonScripts"] += \
                       ("find . -maxdepth 1 -name "
                        "\"TkMap_SurfDeform*.pdf\" -print | xargs -I {} bash -c"
                        " \"rfcp {} .oO[datadir]Oo./.oO[name]Oo."
                        ".Comparison_common"+name+"_Images/\" \n")
                   repMap["runComparisonScripts"] += \
                       ("find . -maxdepth 1 -name "
                        "\"TkMap_SurfDeform*.png\" -print | xargs -I {} bash -c"
                        " \"rfcp {} .oO[datadir]Oo./.oO[name]Oo."
                        ".Comparison_common"+name+"_Images/\" \n")
                   repMap["runComparisonScripts"] += \
                       ("if [[ $HOSTNAME = lxplus[0-9]*\.cern\.ch ]]\n"
                        "then\n"
                        "    rfmkdir -p .oO[workdir]Oo./.oO[name]Oo.."+name
                        +"_ArrowPlots\n"
                        "else\n"
                        "    mkdir -p $CWD/TkAllInOneTool/.oO[name]Oo.."+name
                        +"_ArrowPlots\n"
                        "fi\n")
                   repMap["runComparisonScripts"] += \
                       ("rfcp .oO[CMSSW_BASE]Oo./src/Alignment"
                        "/OfflineValidation/scripts/makeArrowPlots.C "
                        ".\n"
                        "root -b -q 'makeArrowPlots.C(\""
                        ".oO[name]Oo..Comparison_common"+name
                        +".root\",\".oO[name]Oo.."
                        +name+"_ArrowPlots\")'\n")
                   repMap["runComparisonScripts"] += \
                       ("rfmkdir -p .oO[datadir]Oo./.oO[name]Oo."
                        ".Comparison_common"+name+"_Images/ArrowPlots\n")
                   repMap["runComparisonScripts"] += \
                       ("find .oO[name]Oo.."+name+"_ArrowPlots "
                        "-maxdepth 1 -name \"*.png\" -print | xargs -I {} bash "
                        "-c \"rfcp {} .oO[datadir]Oo./.oO[name]Oo."
                        ".Comparison_common"+name+"_Images/ArrowPlots\"\n")
		   repMap["runComparisonScripts"] += \
                       ("find . "
                        "-maxdepth 1 -name \".oO[name]Oo..Visualization_rotated.gif\" -print | xargs -I {} bash "
                        "-c \"rfcp {} .oO[datadir]Oo./.oO[name]Oo."
                        ".Comparison_common"+name+"_Images/.oO[name]Oo..Visualization.gif\"\n")

                resultingFile = replaceByMap(("/store/caf/user/$USER/.oO[eosdir]Oo./compared%s_"
                                              ".oO[name]Oo..root"%name), repMap)
                resultingFile = os.path.expandvars( resultingFile )
                resultingFile = os.path.abspath( resultingFile )
                resultingFile = "root://eoscms//eos/cms" + resultingFile   #needs to be AFTER abspath so that it doesn't eat the //
                repMap["runComparisonScripts"] += \
                    ("xrdcp -f OUTPUT_comparison.root %s\n"
                     %resultingFile)
                self.filesToCompare[ name ] = resultingFile

        repMap["CommandLine"]=""
        repMap["CommandLine"]+= \
                 ("# copy module list required for comparison script \n"
                 "rfcp .oO[moduleList]Oo. .\n")

        for cfg in self.configFiles:
            # FIXME: produce this line only for enabled dbOutput
            # postProcess = "rfcp .oO[workdir]Oo./*.db .oO[datadir]Oo.\n"
            # postProcess = "rfcp *.db .oO[datadir]Oo.\n"
            postProcess = ""
            repMap["CommandLine"]+= \
                repMap["CommandLineTemplate"]%{"cfgFile":cfg,
                                               "postProcess":postProcess}
        repMap["CommandLine"]+= ("# overall postprocessing\n"
                                 ".oO[runComparisonScripts]Oo.\n"
                                 )

        #~ print configTemplates.scriptTemplate
        scripts = {scriptName: replaceByMap( configTemplates.scriptTemplate, repMap )}
	files = {replaceByMap("TkAl3DVisualization_.oO[name]Oo..C", repMap ): replaceByMap(configTemplates.visualizationTrackerTemplate, repMap )}
	self.createFiles(files, path)
        return GenericValidation.createScript(self, scripts, path)
示例#15
0
    def createScript(self, path):
        repMap = self.getRepMap()
        repMap["runComparisonScripts"] = ""
        scriptName = replaceByMap(("TkAlGeomCompare.%s..oO[name]Oo..sh"
                                   %self.name), repMap)
        for name in self.__compares:
            if  '"DetUnit"' in self.__compares[name][0].split(","):
                repMap["outputFile"] = (".oO[name]Oo..Comparison_common"+name+".root")
                repMap["nIndex"] = ("")
                repMap["runComparisonScripts"] += \
                    ("rfcp .oO[CMSSW_BASE]Oo./src/Alignment/OfflineValidation"
                     "/scripts/comparisonScript.C .\n"
                     "rfcp .oO[CMSSW_BASE]Oo./src/Alignment/OfflineValidation"
                     "/scripts/GeometryComparisonPlotter.h .\n"
                     "rfcp .oO[CMSSW_BASE]Oo./src/Alignment/OfflineValidation"
                     "/scripts/GeometryComparisonPlotter.cc .\n"
                     "root -b -q 'comparisonScript.C+(\""
                     ".oO[name]Oo..Comparison_common"+name+".root\",\""
                     "./\")'\n"
		     "rfcp "+path+"/TkAl3DVisualization_.oO[name]Oo..C .\n"
		     "root -l -b -q TkAl3DVisualization_.oO[name]Oo..C+\n")
                if  self.copyImages:
                   repMap["runComparisonScripts"] += \
                       ("rfmkdir -p .oO[datadir]Oo./.oO[name]Oo."
                        ".Comparison_common"+name+"_Images\n")
                   repMap["runComparisonScripts"] += \
                       ("rfmkdir -p .oO[datadir]Oo./.oO[name]Oo."
                        ".Comparison_common"+name+"_Images/Translations\n")
                   repMap["runComparisonScripts"] += \
                       ("rfmkdir -p .oO[datadir]Oo./.oO[name]Oo."
                        ".Comparison_common"+name+"_Images/Rotations\n")
                   repMap["runComparisonScripts"] += \
                       ("rfmkdir -p .oO[datadir]Oo./.oO[name]Oo."
                        ".Comparison_common"+name+"_Images/CrossTalk\n")


                   ### At the moment translations are immages with suffix _1 and _2, rotations _3 and _4, and cross talk _5, _6, _7 and _8
                   ### The numeration depends on the order of the MakePlots(x, y) commands in comparisonScript.C
                   ### If comparisonScript.C is changed, check if the following lines need to be changed as well
                   repMap["runComparisonScripts"] += \
                       ("find . -maxdepth 1 -name \"*_1*\" "
                        "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                        "/.oO[name]Oo..Comparison_common"+name+"_Images/Translations/\" \n")
                   repMap["runComparisonScripts"] += \
                       ("find . -maxdepth 1 -name \"*_2*\" "
                        "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                        "/.oO[name]Oo..Comparison_common"+name+"_Images/Translations/\" \n")
                   
                   repMap["runComparisonScripts"] += \
                       ("find . -maxdepth 1 -name \"*_3*\" "
                        "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                        "/.oO[name]Oo..Comparison_common"+name+"_Images/Rotations/\" \n")
                   repMap["runComparisonScripts"] += \
                       ("find . -maxdepth 1 -name \"*_4*\" "
                        "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                        "/.oO[name]Oo..Comparison_common"+name+"_Images/Rotations/\" \n")
                   
                   repMap["runComparisonScripts"] += \
                       ("find . -maxdepth 1 -name \"*_5*\" "
                        "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                        "/.oO[name]Oo..Comparison_common"+name+"_Images/CrossTalk/\" \n")
                   repMap["runComparisonScripts"] += \
                       ("find . -maxdepth 1 -name \"*_6*\" "
                        "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                        "/.oO[name]Oo..Comparison_common"+name+"_Images/CrossTalk/\" \n")
                   repMap["runComparisonScripts"] += \
                       ("find . -maxdepth 1 -name \"*_7*\" "
                        "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                        "/.oO[name]Oo..Comparison_common"+name+"_Images/CrossTalk/\" \n")
                   repMap["runComparisonScripts"] += \
                       ("find . -maxdepth 1 -name \"*_8*\" "
                        "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                        "/.oO[name]Oo..Comparison_common"+name+"_Images/CrossTalk/\" \n")
                   
                   repMap["runComparisonScripts"] += \
                       ("find . -maxdepth 1 -name "
                        "\"TkMap_SurfDeform*.pdf\" -print | xargs -I {} bash -c"
                        " \"rfcp {} .oO[datadir]Oo./.oO[name]Oo."
                        ".Comparison_common"+name+"_Images/\" \n")
                   repMap["runComparisonScripts"] += \
                       ("find . -maxdepth 1 -name "
                        "\"TkMap_SurfDeform*.png\" -print | xargs -I {} bash -c"
                        " \"rfcp {} .oO[datadir]Oo./.oO[name]Oo."
                        ".Comparison_common"+name+"_Images/\" \n")
                   repMap["runComparisonScripts"] += \
                       ("if [[ $HOSTNAME = lxplus[0-9]*\.cern\.ch ]]\n"
                        "then\n"
                        "    rfmkdir -p .oO[workdir]Oo./.oO[name]Oo.."+name
                        +"_ArrowPlots\n"
                        "else\n"
                        "    mkdir -p $CWD/TkAllInOneTool/.oO[name]Oo.."+name
                        +"_ArrowPlots\n"
                        "fi\n")
                   repMap["runComparisonScripts"] += \
                       ("rfcp .oO[CMSSW_BASE]Oo./src/Alignment"
                        "/OfflineValidation/scripts/makeArrowPlots.C "
                        ".\n"
                        "root -b -q 'makeArrowPlots.C(\""
                        ".oO[name]Oo..Comparison_common"+name
                        +".root\",\".oO[name]Oo.."
                        +name+"_ArrowPlots\")'\n")
                   repMap["runComparisonScripts"] += \
                       ("rfmkdir -p .oO[datadir]Oo./.oO[name]Oo."
                        ".Comparison_common"+name+"_Images/ArrowPlots\n")
                   repMap["runComparisonScripts"] += \
                       ("find .oO[name]Oo.."+name+"_ArrowPlots "
                        "-maxdepth 1 -name \"*.png\" -print | xargs -I {} bash "
                        "-c \"rfcp {} .oO[datadir]Oo./.oO[name]Oo."
                        ".Comparison_common"+name+"_Images/ArrowPlots\"\n")
		   repMap["runComparisonScripts"] += \
                       ("find . "
                        "-maxdepth 1 -name \".oO[name]Oo..Visualization_rotated.gif\" -print | xargs -I {} bash "
                        "-c \"rfcp {} .oO[datadir]Oo./.oO[name]Oo."
                        ".Comparison_common"+name+"_Images/.oO[name]Oo..Visualization.gif\"\n")

                resultingFile = replaceByMap(("/store/caf/user/$USER/.oO[eosdir]Oo./compared%s_"
                                              ".oO[name]Oo..root"%name), repMap)
                resultingFile = os.path.expandvars( resultingFile )
                resultingFile = os.path.abspath( resultingFile )
                repMap["runComparisonScripts"] += \
                    ("cmsStage -f OUTPUT_comparison.root %s\n"
                     %resultingFile)
                self.filesToCompare[ name ] = resultingFile

        repMap["CommandLine"]=""

        for cfg in self.configFiles:
            # FIXME: produce this line only for enabled dbOutput
            # postProcess = "rfcp .oO[workdir]Oo./*.db .oO[datadir]Oo.\n"
            # postProcess = "rfcp *.db .oO[datadir]Oo.\n"
            postProcess = ""
            repMap["CommandLine"]+= \
                repMap["CommandLineTemplate"]%{"cfgFile":cfg,
                                               "postProcess":postProcess}
        repMap["CommandLine"]+= ("# overall postprocessing\n"
                                 ".oO[runComparisonScripts]Oo.\n"
                                 )

        #~ print configTemplates.scriptTemplate
        scripts = {scriptName: replaceByMap( configTemplates.scriptTemplate, repMap )}
	files = {replaceByMap("TkAl3DVisualization_.oO[name]Oo..C", repMap ): replaceByMap(configTemplates.visualizationTrackerTemplate, repMap )}
	self.createFiles(files, path)
        return GenericValidation.createScript(self, scripts, path)
示例#16
0
    def createScript(self, path):
        repMap = self.getRepMap()
        repMap["runComparisonScripts"] = ""
        scriptName = replaceByMap(
            ("TkAlGeomCompare.%s..oO[name]Oo..sh" % self.name), repMap)
        for name in self.__compares:
            if '"DetUnit"' in self.__compares[name][0].split(","):
                repMap["outputFile"] = (".oO[name]Oo..Comparison_common" +
                                        name + ".root")
                repMap["nIndex"] = ("")
                repMap["runComparisonScripts"] += \
                    ("rfcp .oO[CMSSW_BASE]Oo./src/Alignment/OfflineValidation"
                     "/scripts/comparisonScript.C .\n"
                     "rfcp .oO[CMSSW_BASE]Oo./src/Alignment/OfflineValidation"
                     "/scripts/GeometryComparisonPlotter.h .\n"
                     "rfcp .oO[CMSSW_BASE]Oo./src/Alignment/OfflineValidation"
                     "/scripts/GeometryComparisonPlotter.cc .\n"
                     "root -b -q 'comparisonScript.C+(\""
                     ".oO[name]Oo..Comparison_common"+name+".root\",\""
                     "./\")'\n")
                if self.copyImages:
                    #~ repMap["runComparisonScripts"] += \
                    #~ ("rfmkdir -p .oO[datadir]Oo./.oO[name]Oo."
                    #~ ".Comparison_common"+name+"_Images\n")
                    #~ repMap["runComparisonScripts"] += \
                    #~ ("find . -maxdepth 1 -name \"*PXB*\" "
                    #~ "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                    #~ "/.oO[name]Oo..Comparison_common"+name+"_Images/\" \n")
                    #~ repMap["runComparisonScripts"] += \
                    #~ ("find . -maxdepth 1 -name \"*PXF*\" "
                    #~ "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                    #~ "/.oO[name]Oo..Comparison_common"+name+"_Images/\" \n")
                    #~ repMap["runComparisonScripts"] += \
                    #~ ("find . -maxdepth 1 -name \"*TIB*\" "
                    #~ "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                    #~ "/.oO[name]Oo..Comparison_common"+name+"_Images/\" \n")
                    #~ repMap["runComparisonScripts"] += \
                    #~ ("find . -maxdepth 1 -name \"*TID*\" "
                    #~ "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                    #~ "/.oO[name]Oo..Comparison_common"+name+"_Images/\" \n")
                    #~ repMap["runComparisonScripts"] += \
                    #~ ("find . -maxdepth 1 -name \"*TEC*\" "
                    #~ "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                    #~ "/.oO[name]Oo..Comparison_common"+name+"_Images/\" \n")
                    #~ repMap["runComparisonScripts"] += \
                    #~ ("find . -maxdepth 1 -name \"*TOB*\" "
                    #~ "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                    #~ "/.oO[name]Oo..Comparison_common"+name+"_Images/\" \n")
                    #~ repMap["runComparisonScripts"] += \
                    #~ ("find . -maxdepth 1 -name \"*tracker*\" "
                    #~ "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                    #~ "/.oO[name]Oo..Comparison_common"+name+"_Images/\" \n")
                    repMap["runComparisonScripts"] += \
                        ("rfmkdir -p .oO[datadir]Oo./.oO[name]Oo."
                         ".Comparison_common"+name+"_Images\n")
                    repMap["runComparisonScripts"] += \
                        ("rfmkdir -p .oO[datadir]Oo./.oO[name]Oo."
                         ".Comparison_common"+name+"_Images/Translations\n")
                    repMap["runComparisonScripts"] += \
                        ("rfmkdir -p .oO[datadir]Oo./.oO[name]Oo."
                         ".Comparison_common"+name+"_Images/Rotations\n")
                    repMap["runComparisonScripts"] += \
                        ("rfmkdir -p .oO[datadir]Oo./.oO[name]Oo."
                         ".Comparison_common"+name+"_Images/CrossTalk\n")
                    repMap["runComparisonScripts"] += \
                        ("find . -maxdepth 1 -name \"*phi_vs_dr*\" "
                         "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                         "/.oO[name]Oo..Comparison_common"+name+"_Images/Translations/\" \n")
                    repMap["runComparisonScripts"] += \
                        ("find . -maxdepth 1 -name \"*phi_vs_dx*\" "
                         "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                         "/.oO[name]Oo..Comparison_common"+name+"_Images/Translations/\" \n")
                    repMap["runComparisonScripts"] += \
                        ("find . -maxdepth 1 -name \"*phi_vs_dy*\" "
                         "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                         "/.oO[name]Oo..Comparison_common"+name+"_Images/Translations/\" \n")
                    repMap["runComparisonScripts"] += \
                        ("find . -maxdepth 1 -name \"*phi_vs_dz*\" "
                         "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                         "/.oO[name]Oo..Comparison_common"+name+"_Images/Translations/\" \n")
                    repMap["runComparisonScripts"] += \
                        ("find . -maxdepth 1 -name \"*phi_vs_rdphi*\" "
                         "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                         "/.oO[name]Oo..Comparison_common"+name+"_Images/Translations/\" \n")
                    repMap["runComparisonScripts"] += \
                        ("find . -maxdepth 1 -name \"*r_vs_dr*\" "
                         "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                         "/.oO[name]Oo..Comparison_common"+name+"_Images/Translations/\" \n")
                    repMap["runComparisonScripts"] += \
                        ("find . -maxdepth 1 -name \"*r_vs_dx*\" "
                         "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                         "/.oO[name]Oo..Comparison_common"+name+"_Images/Translations/\" \n")
                    repMap["runComparisonScripts"] += \
                        ("find . -maxdepth 1 -name \"*r_vs_dy*\" "
                         "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                         "/.oO[name]Oo..Comparison_common"+name+"_Images/Translations/\" \n")
                    repMap["runComparisonScripts"] += \
                        ("find . -maxdepth 1 -name \"*r_vs_dz*\" "
                         "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                         "/.oO[name]Oo..Comparison_common"+name+"_Images/Translations/\" \n")
                    repMap["runComparisonScripts"] += \
                        ("find . -maxdepth 1 -name \"*r_vs_rdphi*\" "
                         "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                         "/.oO[name]Oo..Comparison_common"+name+"_Images/Translations/\" \n")
                    repMap["runComparisonScripts"] += \
                        ("find . -maxdepth 1 -name \"*z_vs_dr*\" "
                         "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                         "/.oO[name]Oo..Comparison_common"+name+"_Images/Translations/\" \n")
                    repMap["runComparisonScripts"] += \
                        ("find . -maxdepth 1 -name \"*z_vs_dx*\" "
                         "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                         "/.oO[name]Oo..Comparison_common"+name+"_Images/Translations/\" \n")
                    repMap["runComparisonScripts"] += \
                        ("find . -maxdepth 1 -name \"*z_vs_dy*\" "
                         "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                         "/.oO[name]Oo..Comparison_common"+name+"_Images/Translations/\" \n")
                    repMap["runComparisonScripts"] += \
                        ("find . -maxdepth 1 -name \"*z_vs_dz*\" "
                         "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                         "/.oO[name]Oo..Comparison_common"+name+"_Images/Translations/\" \n")
                    repMap["runComparisonScripts"] += \
                        ("find . -maxdepth 1 -name \"*z_vs_rdphi*\" "
                         "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                         "/.oO[name]Oo..Comparison_common"+name+"_Images/Translations/\" \n")
                    repMap["runComparisonScripts"] += \
                        ("find . -maxdepth 1 -name \"*alpha_vs_dalpha*\" "
                         "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                         "/.oO[name]Oo..Comparison_common"+name+"_Images/Rotations/\" \n")
                    repMap["runComparisonScripts"] += \
                        ("find . -maxdepth 1 -name \"*alpha_vs_dbeta*\" "
                         "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                         "/.oO[name]Oo..Comparison_common"+name+"_Images/Rotations/\" \n")
                    repMap["runComparisonScripts"] += \
                        ("find . -maxdepth 1 -name \"*alpha_vs_dgamma*\" "
                         "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                         "/.oO[name]Oo..Comparison_common"+name+"_Images/Rotations/\" \n")
                    repMap["runComparisonScripts"] += \
                        ("find . -maxdepth 1 -name \"*beta_vs_dalpha*\" "
                         "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                         "/.oO[name]Oo..Comparison_common"+name+"_Images/Rotations/\" \n")
                    repMap["runComparisonScripts"] += \
                        ("find . -maxdepth 1 -name \"*beta_vs_dbeta*\" "
                         "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                         "/.oO[name]Oo..Comparison_common"+name+"_Images/Rotations/\" \n")
                    repMap["runComparisonScripts"] += \
                        ("find . -maxdepth 1 -name \"*beta_vs_dgamma*\" "
                         "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                         "/.oO[name]Oo..Comparison_common"+name+"_Images/Rotations/\" \n")
                    repMap["runComparisonScripts"] += \
                        ("find . -maxdepth 1 -name \"*gamma_vs_dalpha*\" "
                         "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                         "/.oO[name]Oo..Comparison_common"+name+"_Images/Rotations/\" \n")
                    repMap["runComparisonScripts"] += \
                        ("find . -maxdepth 1 -name \"*gamma_vs_dbeta*\" "
                         "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                         "/.oO[name]Oo..Comparison_common"+name+"_Images/Rotations/\" \n")
                    repMap["runComparisonScripts"] += \
                        ("find . -maxdepth 1 -name \"*gamma_vs_dgamma*\" "
                         "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                         "/.oO[name]Oo..Comparison_common"+name+"_Images/Rotations/\" \n")
                    repMap["runComparisonScripts"] += \
                        ("find . -maxdepth 1 -name \"*dr_vs_dalpha*\" "
                         "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                         "/.oO[name]Oo..Comparison_common"+name+"_Images/CrossTalk/\" \n")
                    repMap["runComparisonScripts"] += \
                        ("find . -maxdepth 1 -name \"*dr_vs_dbeta*\" "
                         "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                         "/.oO[name]Oo..Comparison_common"+name+"_Images/CrossTalk/\" \n")
                    repMap["runComparisonScripts"] += \
                        ("find . -maxdepth 1 -name \"*dr_vs_dgamma*\" "
                         "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                         "/.oO[name]Oo..Comparison_common"+name+"_Images/CrossTalk/\" \n")
                    repMap["runComparisonScripts"] += \
                        ("find . -maxdepth 1 -name \"*dx_vs_dalpha*\" "
                         "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                         "/.oO[name]Oo..Comparison_common"+name+"_Images/CrossTalk/\" \n")
                    repMap["runComparisonScripts"] += \
                        ("find . -maxdepth 1 -name \"*dx_vs_dbeta*\" "
                         "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                         "/.oO[name]Oo..Comparison_common"+name+"_Images/CrossTalk/\" \n")
                    repMap["runComparisonScripts"] += \
                        ("find . -maxdepth 1 -name \"*dx_vs_dgamma*\" "
                         "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                         "/.oO[name]Oo..Comparison_common"+name+"_Images/CrossTalk/\" \n")
                    repMap["runComparisonScripts"] += \
                        ("find . -maxdepth 1 -name \"*dy_vs_dalpha*\" "
                         "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                         "/.oO[name]Oo..Comparison_common"+name+"_Images/CrossTalk/\" \n")
                    repMap["runComparisonScripts"] += \
                        ("find . -maxdepth 1 -name \"*dy_vs_dbeta*\" "
                         "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                         "/.oO[name]Oo..Comparison_common"+name+"_Images/CrossTalk/\" \n")
                    repMap["runComparisonScripts"] += \
                        ("find . -maxdepth 1 -name \"*dy_vs_dgamma*\" "
                         "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                         "/.oO[name]Oo..Comparison_common"+name+"_Images/CrossTalk/\" \n")
                    repMap["runComparisonScripts"] += \
                        ("find . -maxdepth 1 -name \"*dz_vs_dalpha*\" "
                         "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                         "/.oO[name]Oo..Comparison_common"+name+"_Images/CrossTalk/\" \n")
                    repMap["runComparisonScripts"] += \
                        ("find . -maxdepth 1 -name \"*dz_vs_dbeta*\" "
                         "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                         "/.oO[name]Oo..Comparison_common"+name+"_Images/CrossTalk/\" \n")
                    repMap["runComparisonScripts"] += \
                        ("find . -maxdepth 1 -name \"*dz_vs_dgamma*\" "
                         "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                         "/.oO[name]Oo..Comparison_common"+name+"_Images/CrossTalk/\" \n")
                    repMap["runComparisonScripts"] += \
                        ("find . -maxdepth 1 -name \"*rdphi_vs_dalpha*\" "
                         "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                         "/.oO[name]Oo..Comparison_common"+name+"_Images/CrossTalk/\" \n")
                    repMap["runComparisonScripts"] += \
                        ("find . -maxdepth 1 -name \"*rdphi_vs_dbeta*\" "
                         "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                         "/.oO[name]Oo..Comparison_common"+name+"_Images/CrossTalk/\" \n")
                    repMap["runComparisonScripts"] += \
                        ("find . -maxdepth 1 -name \"*rdphi_vs_dgamma*\" "
                         "-print | xargs -I {} bash -c \"rfcp {} .oO[datadir]Oo."
                         "/.oO[name]Oo..Comparison_common"+name+"_Images/CrossTalk/\" \n")
                    repMap["runComparisonScripts"] += \
                        ("find . -maxdepth 1 -name "
                         "\"TkMap_SurfDeform*.pdf\" -print | xargs -I {} bash -c"
                         " \"rfcp {} .oO[datadir]Oo./.oO[name]Oo."
                         ".Comparison_common"+name+"_Images/\" \n")
                    repMap["runComparisonScripts"] += \
                        ("find . -maxdepth 1 -name "
                         "\"TkMap_SurfDeform*.png\" -print | xargs -I {} bash -c"
                         " \"rfcp {} .oO[datadir]Oo./.oO[name]Oo."
                         ".Comparison_common"+name+"_Images/\" \n")
                    repMap["runComparisonScripts"] += \
                        ("if [[ $HOSTNAME = lxplus[0-9]*\.cern\.ch ]]\n"
                         "then\n"
                         "    rfmkdir -p .oO[workdir]Oo./.oO[name]Oo.."+name
                         +"_ArrowPlots\n"
                         "else\n"
                         "    mkdir -p $CWD/TkAllInOneTool/.oO[name]Oo.."+name
                         +"_ArrowPlots\n"
                         "fi\n")
                    repMap["runComparisonScripts"] += \
                        ("rfcp .oO[CMSSW_BASE]Oo./src/Alignment"
                         "/OfflineValidation/scripts/makeArrowPlots.C "
                         ".\n"
                         "root -b -q 'makeArrowPlots.C(\""
                         ".oO[name]Oo..Comparison_common"+name
                         +".root\",\".oO[name]Oo.."
                         +name+"_ArrowPlots\")'\n")
                    repMap["runComparisonScripts"] += \
                        ("rfmkdir -p .oO[datadir]Oo./.oO[name]Oo."
                         ".Comparison_common"+name+"_Images/ArrowPlots\n")
                    repMap["runComparisonScripts"] += \
                        ("find .oO[name]Oo.."+name+"_ArrowPlots "
                         "-maxdepth 1 -name \"*.png\" -print | xargs -I {} bash "
                         "-c \"rfcp {} .oO[datadir]Oo./.oO[name]Oo."
                         ".Comparison_common"+name+"_Images/ArrowPlots\"\n")

                resultingFile = replaceByMap(
                    ("/store/caf/user/$USER/.oO[eosdir]Oo./compared%s_"
                     ".oO[name]Oo..root" % name), repMap)
                resultingFile = os.path.expandvars(resultingFile)
                resultingFile = os.path.abspath(resultingFile)
                repMap["runComparisonScripts"] += \
                    ("cmsStage -f OUTPUT_comparison.root %s\n"
                     %resultingFile)
                self.filesToCompare[name] = resultingFile

        repMap["CommandLine"] = ""

        for cfg in self.configFiles:
            # FIXME: produce this line only for enabled dbOutput
            # postProcess = "rfcp .oO[workdir]Oo./*.db .oO[datadir]Oo.\n"
            # postProcess = "rfcp *.db .oO[datadir]Oo.\n"
            postProcess = ""
            repMap["CommandLine"]+= \
                repMap["CommandLineTemplate"]%{"cfgFile":cfg,
                                               "postProcess":postProcess}
        repMap["CommandLine"] += ("# overall postprocessing\n"
                                  ".oO[runComparisonScripts]Oo.\n")

        #~ print configTemplates.scriptTemplate
        scripts = {
            scriptName: replaceByMap(configTemplates.scriptTemplate, repMap)
        }
        return GenericValidation.createScript(self, scripts, path)