File indexing completed on 2024-11-26 02:34:38
0001 import os
0002 import sys
0003 import ROOT
0004
0005 if len(sys.argv) < 4:
0006 print("Error. Expected at least 3 arguments\n\nUsage: python3 GetRecoTauVFromDQM_MC_cff.py InputFile OutputFile EventType")
0007 sys.exit()
0008
0009
0010 Input = sys.argv[1]
0011 Output = sys.argv[2]
0012 ET = sys.argv[3]
0013
0014 InputFileName = "%s" % Input
0015 OutputFileName = "%s" % Output
0016 EventType = "%s" % ET
0017
0018
0019
0020 outFile = ROOT.TFile(OutputFileName,"recreate")
0021
0022
0023 fullFile = ROOT.TFile(InputFileName)
0024
0025
0026 source = ROOT.gDirectory.ls()
0027
0028
0029 source = ROOT.gDirectory.ls()
0030 next=ROOT.TIter(fullFile.GetListOfKeys())
0031 dirFound0 = None
0032 dirFound1 = None
0033 dirFound2 = None
0034 dirFound3 = None
0035
0036 for key in next:
0037 cl = ROOT.gROOT.GetClass(key.GetClassName())
0038 if(cl.InheritsFrom("TDirectory")):
0039 dir=key.ReadObj()
0040 dirFound0=dir.GetName()
0041 next2=ROOT.TIter(dir.GetListOfKeys())
0042 for key in next2:
0043 cl2 = ROOT.gROOT.GetClass(key.GetClassName())
0044 if(cl2.InheritsFrom("TDirectory")):
0045 dir2=key.ReadObj()
0046 dirFound1 = dir2.GetName()
0047 next3=ROOT.TIter(dir2.GetListOfKeys())
0048 for key in next3:
0049 cl3 = ROOT.gROOT.GetClass(key.GetClassName())
0050 if(cl3.InheritsFrom("TDirectory")):
0051 dir3=key.ReadObj()
0052 if 'RecoTauV' in dir3.GetName():
0053 dirFound2 = dir3.GetName()
0054 next4=ROOT.TIter(dir3.GetListOfKeys())
0055 for key in next4:
0056 cl4 = ROOT.gROOT.GetClass(key.GetClassName())
0057 if(cl4.InheritsFrom("TDirectory")):
0058 dir4=key.ReadObj()
0059 dirFound3 = dir4.GetName()
0060
0061 InputDir = dirFound0+"/"+dirFound1+"/"+dirFound2+"/"+dirFound3
0062 ROOT.gDirectory.cd(InputDir)
0063
0064
0065 SubDirs = []
0066 next5=ROOT.TIter(ROOT.gDirectory.GetListOfKeys())
0067 for key in next5:
0068 cl5 = ROOT.gROOT.GetClass(key.GetClassName())
0069 if(cl5.InheritsFrom("TDirectory")):
0070 dirFound4=key.ReadObj()
0071 dirFound4_name=dirFound4.GetName()
0072 if EventType in dirFound4_name:
0073 SubDirs.append(dirFound4_name)
0074
0075
0076 for sub in SubDirs:
0077 outFile.cd()
0078 ROOT.gDirectory.mkdir(sub)
0079 fullFile.cd()
0080 ROOT.gDirectory.cd(InputDir+"/"+sub)
0081 HList = ROOT.TIter(ROOT.gDirectory.GetListOfKeys())
0082 for k in HList:
0083 kk = ROOT.gROOT.GetClass(k.GetClassName())
0084 if(kk.InheritsFrom("TH1F")):
0085 outFile.cd()
0086 ROOT.gDirectory.cd(sub)
0087 obj = k.ReadObj()
0088 obj.Write()
0089
0090 outFile.Close()