Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
makeARTScripts.py
Go to the documentation of this file.
1 import os
2 
3 makeDataDAODs=True
4 makeMCDAODs=True
5 makeTruthDAODs=True
6 makeTrains=True
7 
8 formatList = ["PHYSVAL","PHYS","PHYSLITE",
9  "LLP1","HIGG1D1","HIGG1D2",
10  "JETM1","JETM2","JETM3","JETM4","JETM5","JETM6","JETM10","JETM11","JETM12","JETM14",
11  "IDTR2",
12  "EGAM1","EGAM2","EGAM3","EGAM4","EGAM5","EGAM7","EGAM8","EGAM9","EGAM10",
13  "FTAG1","FTAG2","FTAG3",
14  "BPHY1","BPHY2","BPHY3","BPHY4","BPHY5","BPHY6","BPHY10","BPHY12","BPHY15","BPHY16","BPHY18","BPHY21","BPHY22",
15  "BPHY23","BPHY24",
16  "STDM7","STDM13",
17  "TRIG8","TRIG9",
18  "MUON1"
19 ]
20 
21 truthFormatList = ["TRUTH0", "TRUTH1", "TRUTH3"]
22 
23 trainList = [
24  ["EGAM1","EGAM2","EGAM3","EGAM4","EGAM5","EGAM7","EGAM8","EGAM9","EGAM10","JETM1","JETM3","JETM4","JETM6","FTAG1","FTAG2","FTAG3","IDTR2","TRIG8","TRIG9","LLP1","STDM7","STDM13","HIGG1D1","MUON1"]
25 ]
26 
27 
28 # Files
29 com_dir = "/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/CampaignInputs/"
30 mc20File = com_dir+"mc20/AOD/mc20_13TeV.410470.PhPy8EG_A14_ttbar_hdamp258p75_nonallhad.recon.AOD.e6337_s3681_r13145/1000events.AOD.27121237._002005.pool.root.1"
31 mc23File = com_dir+"mc23/AOD/mc23_13p6TeV.601229.PhPy8EG_A14_ttbar_hdamp258p75_SingleLep.recon.AOD.e8514_s4162_r14622/1000events.AOD.33799166._000073.pool.root.1"
32 truthFile = com_dir+"mc23/EVNT/mc23_13p6TeV.601229.PhPy8EG_A14_ttbar_hdamp258p75_SingleLep.evgen.EVNT.e8514/EVNT.32288062._002040.pool.root.1"
33 data18File = com_dir+"data18/AOD/data18_13TeV.00357772.physics_Main.merge.AOD.r13286_p4910/1000events.AOD.27655096._000455.pool.root.1"
34 data22File = com_dir+"data22/AOD/data22_13p6TeV.00431906.physics_Main.merge.AOD.r13928_p5279/1000events.AOD.30220215._001367.pool.root.1"
35 data23File = com_dir+"data23/AOD/data23_13p6TeV.00453713.physics_Main.recon.AOD.f1357/2012events.data23_13p6TeV.00453713.physics_Main.recon.AOD.f1357._lb1416._0006.1"
36 data23CosFile = 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"
37 data24File = com_dir+"data24/AOD/data24_13p6TeV.00486658.physics_Main.recon.AOD.f1522_m2262_r16385_r16377/AOD.43718985._000221.pool.root.1"
38 
39 def generateText(formatName,label,inputFile,isTruth,isMC,nEvents):
40  add_str = ""
41  outputFileName = "test_"+label+formatName+add_str+".sh"
42  outputFile = open(outputFileName,"w")
43  outputFile.write("#!/bin/sh"+"\n")
44  outputFile.write("\n")
45  outputFile.write("# art-include: main/Athena"+"\n")
46  outputFile.write("# art-description: DAOD building "+formatName+" "+label+"\n")
47  outputFile.write("# art-type: grid"+"\n")
48  outputFile.write("# art-output: *.pool.root"+"\n")
49  outputFile.write("# art-output: checkFile*.txt"+"\n")
50  outputFile.write("# art-output: checkxAOD*.txt"+"\n")
51  outputFile.write("# art-output: checkIndexRefs*.txt"+"\n")
52  outputFile.write("\n")
53  outputFile.write("set -e"+"\n")
54  outputFile.write("\n")
55  if (not isTruth):
56  outputFile.write("Derivation_tf.py \\\n")
57  outputFile.write("--inputAODFile "+inputFile+" \\\n")
58  outputFile.write("--outputDAODFile art.pool.root \\\n")
59  outputFile.write("--formats "+formatName+" \\\n")
60  outputFile.write("--maxEvents "+nEvents+" \\\n")
61  if isTruth:
62  outputFile.write("Derivation_tf.py \\\n")
63  outputFile.write("--inputEVNTFile "+inputFile+" \\\n")
64  outputFile.write("--outputDAODFile art.pool.root \\\n")
65  outputFile.write("--formats "+formatName+" \\\n")
66  outputFile.write("--maxEvents "+nEvents+"\n")
67  outputFile.write("\n")
68  outputFile.write("echo \"art-result: $? reco\""+"\n")
69  outputFile.write("\n")
70  outputFile.write("checkFile.py DAOD_"+formatName+".art.pool.root > checkFile_"+formatName+".txt"+"\n")
71  outputFile.write("\n")
72  outputFile.write("echo \"art-result: $? checkfile\""+'\n')
73  outputFile.write("\n")
74  outputFile.write("checkxAOD.py DAOD_"+formatName+".art.pool.root > checkxAOD_"+formatName+".txt"+"\n")
75  outputFile.write("\n")
76  outputFile.write("echo \"art-result: $? checkxAOD\""+'\n')
77  outputFile.write("\n")
78  outputFile.write("checkIndexRefs.py DAOD_"+formatName+".art.pool.root > checkIndexRefs_"+formatName+".txt 2>&1"+"\n")
79  outputFile.write("\n")
80  outputFile.write("echo \"art-result: $? checkIndexRefs\""+'\n')
81  outputFile.close()
82  os.system("chmod +x "+outputFileName)
83 
84 def generateTrains(formatList,label,inputFile,isMC,nEvents):
85  add_str = ""
86  outputFileName = "test_"+label+"_".join(formatList)+add_str+".sh"
87  outputFile = open(outputFileName,"w")
88  outputFile.write("#!/bin/sh"+"\n")
89  outputFile.write("\n")
90  outputFile.write("# art-include: main/Athena"+"\n")
91  outputFile.write("# art-description: DAOD building "+" ".join(formatList)+" "+label+"\n")
92  outputFile.write("# art-type: grid"+"\n")
93  outputFile.write("# art-output: *.pool.root"+"\n")
94  outputFile.write("# art-output: checkFile*.txt"+"\n")
95  outputFile.write("# art-output: checkxAOD*.txt"+"\n")
96  outputFile.write("# art-output: checkIndexRefs*.txt"+"\n")
97  outputFile.write("\n")
98  outputFile.write("set -e"+"\n")
99  outputFile.write("\n")
100  outputFile.write("Derivation_tf.py \\\n")
101  outputFile.write("--inputAODFile "+inputFile+" \\\n")
102  outputFile.write("--outputDAODFile art.pool.root \\\n")
103  outputFile.write("--formats "+" ".join(formatList)+" \\\n")
104  outputFile.write("--maxEvents "+nEvents+" \\\n")
105  outputFile.write("\n")
106  outputFile.write("echo \"art-result: $? reco\""+"\n")
107  for formatname in formatList:
108  outputFile.write("\n")
109  outputFile.write("checkFile.py DAOD_"+formatname+".art.pool.root > checkFile_"+formatname+".txt"+"\n")
110  outputFile.write("\n")
111  outputFile.write("echo \"art-result: $? checkfile\""+'\n')
112  outputFile.write("\n")
113  outputFile.write("checkxAOD.py DAOD_"+formatname+".art.pool.root > checkxAOD_"+formatname+".txt"+"\n")
114  outputFile.write("\n")
115  outputFile.write("echo \"art-result: $? checkxAOD\""+'\n')
116  outputFile.write("\n")
117  outputFile.write("checkIndexRefs.py DAOD_"+formatname+".art.pool.root > checkIndexRefs_"+formatname+".txt 2>&1"+"\n")
118  outputFile.write("\n")
119  outputFile.write("echo \"art-result: $? checkIndexRefs\""+'\n')
120  outputFile.close()
121  os.system("chmod +x "+outputFileName)
122 
123 if (makeDataDAODs or makeMCDAODs):
124  for formatName in formatList:
125  if makeDataDAODs:
126  generateText(formatName,"data18",data18File,False,False,"-1")
127  generateText(formatName,"data22",data22File,False,False,"-1")
128  generateText(formatName,"data23",data23File,False,False,"-1")
129  generateText(formatName,"data24",data24File,False,False,"-1")
130  if makeMCDAODs:
131  generateText(formatName,"mc20",mc20File,False,True,"-1")
132  generateText(formatName,"mc23",mc23File,False,True,"-1")
133  generateText("NCB1","data23cos",data23CosFile,False,False,"-1")
134 if makeTruthDAODs:
135  for formatName in truthFormatList:
136  generateText(formatName,"mc23",truthFile,True,False,"1000")
137 
138 if makeTrains:
139  for train in trainList:
140  if makeDataDAODs:
141  generateTrains(train,"data18",data18File,False,"-1")
142  generateTrains(train,"data22",data22File,False,"-1")
143  generateTrains(train,"data23",data23File,False,"-1")
144  generateTrains(train,"data24",data24File,False,"-1")
145  if makeMCDAODs:
146  generateTrains(train,"mc20",mc20File,True,"-1")
147  generateTrains(train,"mc23",mc23File,True,"-1")
makeARTScripts.generateTrains
def generateTrains(formatList, label, inputFile, isMC, nEvents)
Definition: makeARTScripts.py:84
TCS::join
std::string join(const std::vector< std::string > &v, const char c=',')
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/Root/StringUtils.cxx:10
makeARTScripts.generateText
def generateText(formatName, label, inputFile, isTruth, isMC, nEvents)
Definition: makeARTScripts.py:39
Trk::open
@ open
Definition: BinningType.h:40