31 |
|
help="path to samples") |
32 |
|
parser.add_option("-S", "--samples", dest="names", default="", |
33 |
|
help="samples you want to run on") |
34 |
< |
parser.add_option("-C", "--config", dest="config", default="", |
34 |
> |
parser.add_option("-C", "--config", dest="config", default=[], action="append", |
35 |
|
help="configuration file") |
36 |
|
(opts, args) = parser.parse_args(argv) |
37 |
|
if opts.config =="": |
38 |
|
opts.config = "config" |
39 |
|
config = BetterConfigParser() |
40 |
+ |
#config.read('./config7TeV_ZZ') |
41 |
|
config.read(opts.config) |
42 |
|
anaTag = config.get("Analysis","tag") |
43 |
|
|
44 |
|
#get locations: |
45 |
|
Wdir=config.get('Directories','Wdir') |
46 |
< |
|
47 |
< |
MVAdir=config.get('Directories','MVAdir') |
46 |
> |
MVASubdir=config.get('Directories','MVAdir') |
47 |
> |
samplesinfo=config.get('Directories','samplesinfo') |
48 |
|
|
49 |
|
#systematics |
50 |
|
systematics=config.get('systematics','systematics') |
60 |
|
#Evaluate multi: Must Have same treeVars!!! |
61 |
|
|
62 |
|
Apath=opts.path |
63 |
< |
infofile = open(Apath+'/samples.info','r') |
63 |
> |
infofile = open(samplesinfo,'r') |
64 |
|
info = pickle.load(infofile) |
65 |
|
infofile.close() |
66 |
|
arglist=opts.discr #RTight_blavla,bsbsb |
71 |
|
doinfo=bool(int(opts.update)) |
72 |
|
|
73 |
|
MVAlist=arglist.split(',') |
74 |
+ |
MVAdir=config.get('Directories','vhbbpath') |
75 |
|
|
76 |
|
#CONFIG |
77 |
|
#factory |
85 |
|
#MVAinfofiles=[] |
86 |
|
MVAinfos=[] |
87 |
|
for MVAname in MVAlist: |
88 |
< |
MVAinfofile = open(Wdir+'/weights/'+factoryname+'_'+MVAname+'.info','r') |
88 |
> |
MVAinfofile = open(MVAdir+'/data/'+factoryname+'_'+MVAname+'.info','r') |
89 |
|
MVAinfos.append(pickle.load(MVAinfofile)) |
90 |
|
MVAinfofile.close() |
91 |
|
|
124 |
|
# reader.AddSpectator(spectators[i],MVA_spectator_buffer[i]) |
125 |
|
#Load raeder |
126 |
|
for i in range(0,len(readers)): |
127 |
< |
readers[i].BookMVA(MVAinfos[i].MVAname,MVAinfos[i].getweightfile()) |
127 |
> |
readers[i].BookMVA(MVAinfos[i].MVAname,MVAdir+'/data/'+MVAinfos[i].getweightfile()) |
128 |
|
#--> Now the MVA is booked |
129 |
|
|
130 |
|
#Apply samples |
131 |
< |
infofile = open(Apath+'/samples.info','r') |
131 |
> |
infofile = open(samplesinfo,'r') |
132 |
|
Ainfo = pickle.load(infofile) |
133 |
|
infofile.close() |
134 |
|
|
137 |
|
if eval(job.active): |
138 |
|
if job.name in namelist: |
139 |
|
#get trees: |
140 |
< |
input = TFile.Open(job.getpath(),'read') |
141 |
< |
outfile = TFile.Open(job.path+'/'+MVAdir+job.prefix+job.identifier+'.root','recreate') |
140 |
> |
input = TFile.Open(Apath+'/'+job.getpath(),'read') |
141 |
> |
outfile = TFile.Open(Apath+'/'+MVASubdir+job.prefix+job.identifier+'.root','recreate') |
142 |
|
input.cd() |
143 |
|
obj = ROOT.TObject |
144 |
|
for key in ROOT.gDirectory.GetListOfKeys(): |
254 |
|
for MVAinfo in MVAinfos: |
255 |
|
job.addcomment('Added MVA %s'%MVAinfo.MVAname) |
256 |
|
job.addpath(MVAdir) |
257 |
< |
infofile = open(Apath+MVAdir+'/samples.info','w') |
257 |
> |
infofile = open(samplesinfo,'w') |
258 |
|
pickle.dump(Ainfo,infofile) |
259 |
|
infofile.close() |
260 |
|
|