Go to the documentation of this file.00001 import os
00002 import sys
00003 import ROOT
00004
00005 if len(sys.argv) < 4:
00006 print "Error. Expected at least 3 arguments\n\nUsage: python GetRecoTauVFromDQM_MC_cff.py InputFile OutputFile EventType"
00007 sys.exit()
00008
00009
00010 Input = sys.argv[1]
00011 Output = sys.argv[2]
00012 ET = sys.argv[3]
00013
00014 InputFileName = "%s" % Input
00015 OutputFileName = "%s" % Output
00016 EventType = "%s" % ET
00017
00018
00019
00020 outFile = ROOT.TFile(OutputFileName,"recreate")
00021
00022
00023 fullFile = ROOT.TFile(InputFileName)
00024
00025
00026 source = ROOT.gDirectory.ls()
00027
00028
00029 source = ROOT.gDirectory.ls()
00030 next=ROOT.TIter(fullFile.GetListOfKeys())
00031 dirFound0 = None
00032 dirFound1 = None
00033 dirFound2 = None
00034 dirFound3 = None
00035
00036 for key in next:
00037 cl = ROOT.gROOT.GetClass(key.GetClassName())
00038 if(cl.InheritsFrom("TDirectory")):
00039 dir=key.ReadObj()
00040 dirFound0=dir.GetName()
00041 next2=ROOT.TIter(dir.GetListOfKeys())
00042 for key in next2:
00043 cl2 = ROOT.gROOT.GetClass(key.GetClassName())
00044 if(cl2.InheritsFrom("TDirectory")):
00045 dir2=key.ReadObj()
00046 dirFound1 = dir2.GetName()
00047 next3=ROOT.TIter(dir2.GetListOfKeys())
00048 for key in next3:
00049 cl3 = ROOT.gROOT.GetClass(key.GetClassName())
00050 if(cl3.InheritsFrom("TDirectory")):
00051 dir3=key.ReadObj()
00052 if 'RecoTauV' in dir3.GetName():
00053 dirFound2 = dir3.GetName()
00054 next4=ROOT.TIter(dir3.GetListOfKeys())
00055 for key in next4:
00056 cl4 = ROOT.gROOT.GetClass(key.GetClassName())
00057 if(cl4.InheritsFrom("TDirectory")):
00058 dir4=key.ReadObj()
00059 dirFound3 = dir4.GetName()
00060
00061 InputDir = dirFound0+"/"+dirFound1+"/"+dirFound2+"/"+dirFound3
00062 ROOT.gDirectory.cd(InputDir)
00063
00064
00065 SubDirs = []
00066 next5=ROOT.TIter(ROOT.gDirectory.GetListOfKeys())
00067 for key in next5:
00068 cl5 = ROOT.gROOT.GetClass(key.GetClassName())
00069 if(cl5.InheritsFrom("TDirectory")):
00070 dirFound4=key.ReadObj()
00071 dirFound4_name=dirFound4.GetName()
00072 if EventType in dirFound4_name:
00073 SubDirs.append(dirFound4_name)
00074
00075
00076 for sub in SubDirs:
00077 outFile.cd()
00078 ROOT.gDirectory.mkdir(sub)
00079 fullFile.cd()
00080 ROOT.gDirectory.cd(InputDir+"/"+sub)
00081 HList = ROOT.TIter(ROOT.gDirectory.GetListOfKeys())
00082 for k in HList:
00083 kk = ROOT.gROOT.GetClass(k.GetClassName())
00084 if(kk.InheritsFrom("TH1F")):
00085 outFile.cd()
00086 ROOT.gDirectory.cd(sub)
00087 obj = k.ReadObj()
00088 obj.Write()
00089
00090 outFile.Close()