9formatList = [
"PHYSVAL",
"PHYS",
"PHYSLITE",
10 "LLP1",
"LLJ1",
"HIGG1D1",
"HIGG1D2",
"HIGG9D1"
11 "JETM1",
"JETM2",
"JETM3",
"JETM4",
"JETM5",
"JETM7",
"JETM12",
"JETM42",
13 "EGAM1",
"EGAM2",
"EGAM3",
"EGAM4",
"EGAM5",
"EGAM7",
"EGAM8",
"EGAM9",
"EGAM10",
14 "FTAG1",
"FTAG1LITE",
"FTAG2",
"FTAG3",
"FTAG4",
"FTAG5",
"FTAGPU",
"FTAGXBB",
15 "BPHY1",
"BPHY2",
"BPHY3",
"BPHY4",
"BPHY5",
"BPHY6",
"BPHY10",
"BPHY12",
"BPHY14",
"BPHY15",
"BPHY16",
"BPHY18",
"BPHY21",
"BPHY22",
17 "STDM6",
"STDM7",
"STDM13",
"STDM16",
"STDM17",
19 "TRIG8",
"TRIG9",
"TRIG10",
25truthFormatList = [
"TRUTH0",
"TRUTH1",
"TRUTH3"]
28 [
"EGAM1",
"EGAM2",
"EGAM3",
"EGAM4",
"EGAM5",
"EGAM7",
"EGAM8",
"EGAM9",
"EGAM10",
"JETM1",
"JETM3",
"JETM4",
"FTAG1",
"FTAG2",
"FTAG3",
"IDTR2",
"TRIG8",
"TRIG9",
"LLP1",
"STDM7",
"STDM13",
"HIGG1D1",
"MUON1"]
33from AthenaConfiguration.TestDefaults
import defaultTestFiles
34mc20File = defaultTestFiles.AOD_RUN2_MC[0]
35mc23aFile = defaultTestFiles.AOD_RUN3_MC[0]
36mc21_14TeV_File = defaultTestFiles.AOD_RUN4_MC[0]
37truthFile = defaultTestFiles.EVNT[0]
38data18File = defaultTestFiles.AOD_RUN2_DATA[0]
39data22File = defaultTestFiles.AOD_RUN3_DATA[0]
40com_dir =
"/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/CampaignInputs/"
41data23File = com_dir+
"data23/AOD/data23_13p6TeV.00453713.physics_Main.recon.AOD.f1357/2012events.data23_13p6TeV.00453713.physics_Main.recon.AOD.f1357._lb1416._0006.1"
42data23CosFile = com_dir+
"data23_cos/AOD/data23_cos.00459152.physics_CosmicMuons.merge.AOD.f1383_m2195/data23_cos.00459152.physics_CosmicMuons.merge.AOD.f1383_m2195._lb0124-lb0126._0001.1"
43data24File = com_dir+
"data24/AOD/data24_13p6TeV.00486658.physics_Main.recon.AOD.f1522_m2262_r16385_r16377/AOD.43718985._000221.pool.root.1"
45data25Input =
"user.martindl.data25_13p6TeV.00498515.physics_Main.merge.AOD.r17521_p7232"
46data25File =
"root://eosatlas.cern.ch//eos/atlas/atlascerngroupdisk/data-art/large-input/CampaignInputs/data25/AOD/data25_13p6TeV.00498515.physics_Main.merge.AOD.r17521_p7232/AOD.49752827._000024.pool.root.1"
48mc23dInput =
"user.martindl.mc23_13p6TeV.601229.PhPy8EG_A14_ttbar_hdamp258p75_SingleLep.recon.AOD.e8514_s4159_r15530"
49mc23dFile =
"root://eosatlas.cern.ch//eos/atlas/atlascerngroupdisk/data-art/large-input/CampaignInputs/mc23/AOD/mc23_13p6TeV.601229.PhPy8EG_A14_ttbar_hdamp258p75_SingleLep.recon.AOD.e8514_s4159_r15530/AOD.38803011._001713.pool.root.1"
50mc23eInput =
"user.martindl.mc23_13p6TeV.601229.PhPy8EG_A14_ttbar_hdamp258p75_SingleLep.recon.AOD.e8514_s4369_r16083"
51mc23eFile =
"root://eosatlas.cern.ch//eos/atlas/atlascerngroupdisk/data-art/large-input/CampaignInputs/mc23/AOD/mc23_13p6TeV.601229.PhPy8EG_A14_ttbar_hdamp258p75_SingleLep.recon.AOD.e8514_s4369_r16083/AOD.41608496._001231.pool.root.1"
52mc23gInput =
"user.martindl.mc23_13p6TeV.601229.PhPy8EG_A14_ttbar_hdamp258p75_SingleLep.recon.AOD.e8514_s4618_r17610"
53mc23gFile =
"root://eosatlas.cern.ch//eos/atlas/atlascerngroupdisk/data-art/large-input/CampaignInputs/mc23/AOD/mc23_13p6TeV.601229.PhPy8EG_A14_ttbar_hdamp258p75_SingleLep.recon.AOD.e8514_s4618_r17610/AOD.50092877._002250.pool.root.1"
57mc20PHYSFile = os.getenv(
'ASG_TEST_FILE_MC')
58mc23PHYSFile = os.getenv(
'ASG_TEST_FILE_RUN3_MC')
59data18PHYSFile = os.getenv(
'ASG_TEST_FILE_DATA')
60data23PHYSFile = os.getenv(
'ASG_TEST_FILE_RUN3_DATA')
62def generateText(formatName,label,inputFile,isTruth,nEvents,artInput=""):
64 outputFileName =
"test_"+label+formatName+add_str+
".sh"
65 outputFile = open(outputFileName,
"w")
66 outputFile.write(
"#!/bin/sh"+
"\n")
67 outputFile.write(
"\n")
68 outputFile.write(
"# art-include: main/Athena"+
"\n")
69 outputFile.write(
"# art-description: DAOD building "+formatName+
" "+label+
"\n")
70 outputFile.write(
"# art-type: grid"+
"\n")
71 outputFile.write(
"# art-memory: 4096"+
"\n")
73 outputFile.write(
"# art-input: "+artInput+
"\n")
74 outputFile.write(
"# art-input-nfiles: 1 \n")
75 outputFile.write(
"# art-output: *.pool.root"+
"\n")
76 outputFile.write(
"# art-output: checkFile*.txt"+
"\n")
77 outputFile.write(
"# art-output: checkxAOD*.txt"+
"\n")
78 outputFile.write(
"# art-output: checkIndexRefs*.txt"+
"\n")
79 outputFile.write(
"\n")
80 outputFile.write(
"set -e"+
"\n")
81 outputFile.write(
"\n")
83 outputFile.write(
"if [[ -z ${ArtInFile} ]]; then\n")
84 outputFile.write(
" ArtInFile=\""+inputFile+
"\"\n")
85 outputFile.write(
"fi\n")
86 outputFile.write(
"\n")
88 outputFile.write(
"Derivation_tf.py \\\n")
90 outputFile.write(
"--inputAODFile ${ArtInFile} \\\n")
92 outputFile.write(
"--inputAODFile "+inputFile+
" \\\n")
93 outputFile.write(
"--outputDAODFile art.pool.root \\\n")
94 outputFile.write(
"--formats "+formatName+
" \\\n")
95 outputFile.write(
"--maxEvents "+nEvents+
" \\\n")
97 outputFile.write(
"Derivation_tf.py \\\n")
98 outputFile.write(
"--inputEVNTFile "+inputFile+
" \\\n")
99 outputFile.write(
"--outputDAODFile art.pool.root \\\n")
100 outputFile.write(
"--formats "+formatName+
" \\\n")
101 outputFile.write(
"--maxEvents "+nEvents+
"\n")
102 outputFile.write(
"\n")
103 outputFile.write(
"echo \"art-result: $? reco\""+
"\n")
104 outputFile.write(
"\n")
105 outputFile.write(
"checkFile.py DAOD_"+formatName+
".art.pool.root > checkFile_"+formatName+
".txt"+
"\n")
106 outputFile.write(
"\n")
107 outputFile.write(
"echo \"art-result: $? checkfile\""+
'\n')
108 outputFile.write(
"\n")
109 outputFile.write(
"checkxAOD.py DAOD_"+formatName+
".art.pool.root > checkxAOD_"+formatName+
".txt"+
"\n")
110 outputFile.write(
"\n")
111 outputFile.write(
"echo \"art-result: $? checkxAOD\""+
'\n')
112 outputFile.write(
"\n")
113 outputFile.write(
"checkIndexRefs.py DAOD_"+formatName+
".art.pool.root > checkIndexRefs_"+formatName+
".txt 2>&1"+
"\n")
114 outputFile.write(
"\n")
115 outputFile.write(
"echo \"art-result: $? checkIndexRefs\""+
'\n')
117 os.system(
"chmod +x "+outputFileName)
121 outputFileName =
"test_"+label+
"_".join(formatList)+add_str+
".sh"
122 outputFile = open(outputFileName,
"w")
123 outputFile.write(
"#!/bin/sh"+
"\n")
124 outputFile.write(
"\n")
125 outputFile.write(
"# art-include: main/Athena"+
"\n")
126 outputFile.write(
"# art-description: DAOD building "+
" ".join(formatList)+
" "+label+
"\n")
127 outputFile.write(
"# art-type: grid"+
"\n")
128 outputFile.write(
"# art-output: *.pool.root"+
"\n")
129 outputFile.write(
"# art-output: checkFile*.txt"+
"\n")
130 outputFile.write(
"# art-output: checkxAOD*.txt"+
"\n")
131 outputFile.write(
"# art-output: checkIndexRefs*.txt"+
"\n")
132 outputFile.write(
"\n")
133 outputFile.write(
"set -e"+
"\n")
134 outputFile.write(
"\n")
135 outputFile.write(
"Derivation_tf.py \\\n")
136 outputFile.write(
"--inputAODFile "+inputFile+
" \\\n")
137 outputFile.write(
"--outputDAODFile art.pool.root \\\n")
138 outputFile.write(
"--formats "+
" ".join(formatList)+
" \\\n")
139 outputFile.write(
"--maxEvents "+nEvents+
" \\\n")
140 outputFile.write(
"\n")
141 outputFile.write(
"echo \"art-result: $? reco\""+
"\n")
142 for formatname
in formatList:
143 outputFile.write(
"\n")
144 outputFile.write(
"checkFile.py DAOD_"+formatname+
".art.pool.root > checkFile_"+formatname+
".txt"+
"\n")
145 outputFile.write(
"\n")
146 outputFile.write(
"echo \"art-result: $? checkfile\""+
'\n')
147 outputFile.write(
"\n")
148 outputFile.write(
"checkxAOD.py DAOD_"+formatname+
".art.pool.root > checkxAOD_"+formatname+
".txt"+
"\n")
149 outputFile.write(
"\n")
150 outputFile.write(
"echo \"art-result: $? checkxAOD\""+
'\n')
151 outputFile.write(
"\n")
152 outputFile.write(
"checkIndexRefs.py DAOD_"+formatname+
".art.pool.root > checkIndexRefs_"+formatname+
".txt 2>&1"+
"\n")
153 outputFile.write(
"\n")
154 outputFile.write(
"echo \"art-result: $? checkIndexRefs\""+
'\n')
156 os.system(
"chmod +x "+outputFileName)
159 add_str =
"PHYStoPHYSLITE"
160 outputFileName =
"test_"+label+
"_"+add_str+
".sh"
161 outputFile = open(outputFileName,
"w")
162 outputFile.write(
"#!/bin/sh"+
"\n")
163 outputFile.write(
"\n")
164 outputFile.write(
"# art-include: main/Athena"+
"\n")
165 outputFile.write(
"# art-description: DAOD building PHYStoPHYSLITE "+label+
"\n")
166 outputFile.write(
"# art-type: grid"+
"\n")
167 outputFile.write(
"# art-output: *.pool.root"+
"\n")
168 outputFile.write(
"# art-output: checkFile*.txt"+
"\n")
169 outputFile.write(
"# art-output: checkxAOD*.txt"+
"\n")
170 outputFile.write(
"# art-output: checkIndexRefs*.txt"+
"\n")
171 outputFile.write(
"\n")
172 outputFile.write(
"set -e"+
"\n")
173 outputFile.write(
"\n")
174 outputFile.write(
"Derivation_tf.py \\\n")
175 outputFile.write(
"--inputDAOD_PHYSFile "+inputFile+
" \\\n")
176 outputFile.write(
"--outputD2AODFile art.pool.root \\\n")
177 outputFile.write(
"--formats PHYSLITE \\\n")
178 outputFile.write(
"--maxEvents "+nEvents+
" \\\n")
179 outputFile.write(
"\n")
180 outputFile.write(
"echo \"art-result: $? reco\""+
"\n")
181 outputFile.write(
"\n")
182 outputFile.write(
"checkFile.py D2AOD_PHYSLITE.art.pool.root > checkFile_PHYSLITE.txt"+
"\n")
183 outputFile.write(
"\n")
184 outputFile.write(
"echo \"art-result: $? checkfile\""+
'\n')
185 outputFile.write(
"\n")
186 outputFile.write(
"checkxAOD.py D2AOD_PHYSLITE.art.pool.root > checkxAOD_PHYSLITE.txt"+
"\n")
187 outputFile.write(
"\n")
188 outputFile.write(
"echo \"art-result: $? checkxAOD\""+
'\n')
189 outputFile.write(
"\n")
190 outputFile.write(
"checkIndexRefs.py D2AOD_PHYSLITE.art.pool.root > checkIndexRefs_PHYSLITE.txt 2>&1"+
"\n")
191 outputFile.write(
"\n")
192 outputFile.write(
"echo \"art-result: $? checkIndexRefs\""+
'\n')
194 os.system(
"chmod +x "+outputFileName)
196if (makeDataDAODs
or makeMCDAODs):
197 for formatName
in formatList:
199 if formatName ==
"JETM7":
202 generateText(formatName,
"data18",data18File,
False,
"100")
203 generateText(formatName,
"data24",data24File,
False,
"100")
207 generateText(formatName,
"mc21_14TeV_",mc21_14TeV_File,
False,
"100")
209 if formatName ==
"JETM42":
212 generateText(formatName,
"mc21_14TeV_",mc21_14TeV_File,
False,
"-1")
220 if formatName
in [
"PHYS",
"PHYSLITE"]:
221 generateText(formatName,
"data25",data25File,
False,
"1000",data25Input)
224 if formatName
in [
"PHYS",
"PHYSLITE"]:
226 generateText(formatName,
"mc23d",mc23dFile,
False,
"1000",mc23dInput)
227 generateText(formatName,
"mc23e",mc23eFile,
False,
"1000",mc23eInput)
228 generateText(formatName,
"mc23g",mc23gFile,
False,
"1000",mc23gInput)
231 generateText(formatName,
"mc21_14TeV_",mc21_14TeV_File,
False,
"-1")
232 generateText(
"NCB1",
"data23cos",data23CosFile,
False,
"-1")
235 for formatName
in truthFormatList:
239 for train
in trainList:
250if makePHYStoPHYSLITE:
generateTrains(formatList, label, inputFile, nEvents)
generatePHYStoPHYSLITE(label, inputFile, nEvents)
generateText(formatName, label, inputFile, isTruth, nEvents, artInput="")