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 44 of file DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py.

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

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:44
print
void print(char *figname, TCanvas *c1)
Definition: TRTCalib_StrawStatusPlots.cxx:25