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

# User Rev Content
1 peller 1.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