ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/VHbb/python/copytree.py
Revision: 1.1
Committed: Tue May 8 10:37:17 2012 UTC (13 years ago) by peller
Content type: text/x-python
Branch: MAIN
Log Message:
updated code

File Contents

# Content
1 import ROOT
2 from ROOT import TFile
3 from printcolor import printc
4
5
6 def copytree(pathIN,pathOUT,prefix,file,Aprefix,Acut):
7 input = TFile.Open("%s/%s%s.root" %(pathIN,prefix,file),'read')
8 output = TFile.Open("%s/%s%s%s.root" %(pathOUT,prefix,Aprefix,file),'recreate')
9
10 input.cd()
11 obj = ROOT.TObject
12 for key in ROOT.gDirectory.GetListOfKeys():
13 input.cd()
14 obj = key.ReadObj()
15 print obj.GetName()
16 if obj.GetName() == 'tree':
17 continue
18 output.cd()
19 print key.GetName()
20 obj.Write(key.GetName())
21
22 inputTree = input.Get("tree")
23 nEntries = inputTree.GetEntries()
24 output.cd()
25 print '\n\t copy file: %s with cut: %s' %(file,Acut)
26 outputTree = inputTree.CopyTree(Acut)
27 kEntries = outputTree.GetEntries()
28 printc('blue','',"\t before cuts\t %s" %nEntries)
29 printc('green','',"\t survived\t %s" %kEntries)
30 #print "\t Factor for Scaling is %s" %factor
31 outputTree.AutoSave()
32 #Count.Scale(factor)
33 #CountWithPU.Scale(factor)
34 #CountWithPU2011B.Scale(factor)
35 input.Close()
36 output.Close()
37 '''
38 def copytree(pathIN,pathOUT,prefix,file,Aprefix,Acut):
39 input = TFile.Open("%s/%s%s.root" %(pathIN,prefix,file),'read')
40 Count = input.Get("Count")
41 CountWithPU = input.Get("CountWithPU")
42 CountWithPU2011B = input.Get("CountWithPU2011B")
43 inputTree = input.Get("tree")
44 nEntries = inputTree.GetEntries()
45 output = TFile.Open("%s/%s%s%s.root" %(pathOUT,prefix,Aprefix,file),'recreate')
46 print '\n\t copy file: %s with cut: %s' %(file,Acut)
47 outputTree = inputTree.CopyTree(Acut)
48 kEntries = outputTree.GetEntries()
49 printc('blue','',"\t before cuts\t %s" %nEntries)
50 printc('green','',"\t survived\t %s" %kEntries)
51 #print "\t Factor for Scaling is %s" %factor
52 outputTree.AutoSave()
53 #Count.Scale(factor)
54 Count.Write()
55 CountWithPU.Write()
56 #CountWithPU.Scale(factor)
57 CountWithPU2011B.Write()
58 #CountWithPU2011B.Scale(factor)
59 input.Close()
60 output.Close()
61
62 '''
63
64
65