ATLAS Offline Software
Functions | Variables
mergePhysValFiles Namespace Reference

Functions

def mergeFolder (path)
 

Variables

 start = time.clock()
 
 parser = argparse.ArgumentParser(description='Merge specific folder(s) in root files.')
 
 help
 
 default
 
 nargs
 
 args = parser.parse_args()
 
 folder = os.path.abspath(args.input)
 
 mergeDirs = args.dir
 
 origDir = os.getcwd()
 
 out = args.output
 
 pattern = args.pattern
 
 output_file = os.path.abspath(args.output)
 
 files = glob.glob(folder + "/" + pattern)
 
 f = ROOT.TFile(output_file, "recreate")
 
 f2 = ROOT.TFile(files[1])
 
list errors = []
 
 newfolder = f.mkdir(mergeDir,mergeDir)
 
 end = time.clock()
 
 categories
 
 restCategory
 
 categories_with_subcategories_type_1
 
 sub_categories_type_1
 
 categories_with_subcategories_type_2
 
 sub_categories_type_2
 
 categories_with_subcategories_type_3
 
 sub_categories_type_3
 
 categories_with_subcategories_type_4
 
 sub_categories_type_4
 
 jetcontainers
 
 description
 
 tagfolders
 

Function Documentation

◆ mergeFolder()

def mergePhysValFiles.mergeFolder (   path)

Definition at line 45 of file DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py.

45 def mergeFolder(path) :
46  print("Merging folder " + path)
47  d = f2.Get(path)
48  if not d:
49  error = "ERROR: Cannot find directory " + path + ". Omitting."
50  print(error)
51  errors.append(error)
52  return
53  dirlist = d.GetListOfKeys()
54  for subdir in dirlist:
55  obj = subdir.ReadObj()
56  if obj.IsA().InheritsFrom(ROOT.TH1.Class()):
57  print("Now merging "+obj.GetName())
58  h1 = obj
59  hpath = d.GetPath()
60  hname = hpath[hpath.find(":")+2:]+"/"+obj.GetName()
61  print("Path: "+hname)
62  for tup in files:
63  if tup==files[1]: continue
64  nextfile = ROOT.TFile(tup)
65  h2 = nextfile.Get(hname)
66  if not h2:
67  error = "ERROR: Cannot find " + hname + " in file " + tup + ". Omitting."
68  print(error)
69  errors.append(error)
70  continue
71  h1.Add(h2)
72  subfolder = f.Get(hpath[hpath.find(":")+2:])
73  subfolder.cd()
74  h1.Write()
75  if obj.IsA().InheritsFrom(ROOT.TDirectory.Class()):
76  print("Found subdirectory "+obj.GetName())
77  hpath = obj.GetPath()
78  subfolder = f.mkdir(hpath[hpath.find(":")+2:],obj.GetTitle())
79  subfolder.cd()
80  mergeFolder(hpath[hpath.find(":")+2:])
81 

Variable Documentation

◆ args

mergePhysValFiles.args = parser.parse_args()

◆ categories

mergePhysValFiles.categories

◆ categories_with_subcategories_type_1

mergePhysValFiles.categories_with_subcategories_type_1

◆ categories_with_subcategories_type_2

mergePhysValFiles.categories_with_subcategories_type_2

◆ categories_with_subcategories_type_3

mergePhysValFiles.categories_with_subcategories_type_3

◆ categories_with_subcategories_type_4

mergePhysValFiles.categories_with_subcategories_type_4

◆ default

mergePhysValFiles.default

◆ description

mergePhysValFiles.description

◆ end

mergePhysValFiles.end = time.clock()

◆ errors

mergePhysValFiles.errors = []

◆ f

mergePhysValFiles.f = ROOT.TFile(output_file, "recreate")

◆ f2

mergePhysValFiles.f2 = ROOT.TFile(files[1])

◆ files

mergePhysValFiles.files = glob.glob(folder + "/" + pattern)

◆ folder

mergePhysValFiles.folder = os.path.abspath(args.input)

◆ help

mergePhysValFiles.help

◆ jetcontainers

mergePhysValFiles.jetcontainers

◆ mergeDirs

mergePhysValFiles.mergeDirs = args.dir

◆ nargs

mergePhysValFiles.nargs

◆ newfolder

mergePhysValFiles.newfolder = f.mkdir(mergeDir,mergeDir)

◆ origDir

mergePhysValFiles.origDir = os.getcwd()

◆ out

mergePhysValFiles.out = args.output

◆ output_file

mergePhysValFiles.output_file = os.path.abspath(args.output)

◆ parser

mergePhysValFiles.parser = argparse.ArgumentParser(description='Merge specific folder(s) in root files.')

◆ pattern

mergePhysValFiles.pattern = args.pattern

◆ restCategory

mergePhysValFiles.restCategory

◆ start

mergePhysValFiles.start = time.clock()

◆ sub_categories_type_1

mergePhysValFiles.sub_categories_type_1

◆ sub_categories_type_2

mergePhysValFiles.sub_categories_type_2

◆ sub_categories_type_3

mergePhysValFiles.sub_categories_type_3

◆ sub_categories_type_4

mergePhysValFiles.sub_categories_type_4

◆ tagfolders

mergePhysValFiles.tagfolders
mergePhysValFiles.mergeFolder
def mergeFolder(path)
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:45
print
void print(char *figname, TCanvas *c1)
Definition: TRTCalib_StrawStatusPlots.cxx:25