4 def Zmumu(config, validationDir):
13 if not zmumuType
in config[
"validations"][
"Zmumu"]:
14 raise Exception(
"No 'single' key word in config for Zmumu")
16 for datasetName
in config[
"validations"][
"Zmumu"][zmumuType]:
17 for IOV
in config[
"validations"][
"Zmumu"][zmumuType][datasetName][
"IOV"]:
22 for alignment
in config[
"validations"][
"Zmumu"][zmumuType][datasetName][
"alignments"]:
24 workDir =
"{}/Zmumu/{}/{}/{}/{}".
format(validationDir, zmumuType, datasetName, alignment, IOV)
28 local[
"output"] =
"{}/{}/{}/{}/{}/{}".
format(config[
"LFS"], config[
"name"], zmumuType, alignment, datasetName, IOV)
29 local[
"alignment"] = copy.deepcopy(config[
"alignments"][alignment])
30 local[
"validation"] = copy.deepcopy(config[
"validations"][
"Zmumu"][zmumuType][datasetName])
31 local[
"validation"].pop(
"alignments")
32 local[
"validation"][
"IOV"] = IOV
33 if "goodlumi" in local[
"validation"]:
34 local[
"validation"][
"goodlumi"] = local[
"validation"][
"goodlumi"].
format(IOV)
38 "name":
"Zmumu_{}_{}_{}_{}".
format(zmumuType, alignment, datasetName, IOV),
41 "cms-config":
"{}/src/Alignment/OfflineValidation/python/TkAlAllInOneTool/Zmumu_cfg.py".
format(os.environ[
"CMSSW_BASE"]),
50 if "merge" in config[
"validations"][
"Zmumu"]:
56 for mergeName
in config[
"validations"][
"Zmumu"][zmumuType]:
59 workDir =
"{}/Zmumu/{}/{}/{}".
format(validationDir, zmumuType, mergeName, IOV)
65 "name":
"Zmumu_{}_{}_{}".
format(zmumuType, mergeName, IOV),
73 for alignment
in config[
"alignments"]:
75 local.setdefault(
"alignments", {})
76 local[
"alignments"][alignment] = copy.deepcopy(config[
"alignments"][alignment])
77 local[
"validation"] = copy.deepcopy(config[
"validations"][
"Zmumu"][zmumuType][mergeName])
78 local[
"output"] =
"{}/{}/{}/{}/{}".
format(config[
"LFS"], config[
"name"], zmumuType, mergeName, IOV)
81 for singleJob
in jobs:
83 alignment, datasetName, singleIOV = singleJob[
"name"].
split(
"_")[2:]
85 if int(singleIOV) == IOV
and datasetName
in config[
"validations"][
"Zmumu"][zmumuType][mergeName][
"singles"]:
86 local[
"alignments"][alignment][
"file"] = singleJob[
"config"][
"output"]
87 job[
"dependencies"].
append(singleJob[
"name"])
91 jobs.extend(mergeJobs)
def Zmumu(config, validationDir)
def split(sequence, size)