ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/nowaf/StudyEJ/rootScripts/MakeHistograms.py
Revision: 1.1
Committed: Fri Apr 9 12:31:32 2010 UTC (15 years, 1 month ago) by nowak
Content type: text/x-python
Branch: MAIN
CVS Tags: HEAD
Log Message:
initial revision

File Contents

# User Rev Content
1 nowak 1.1 import ROOT
2     import sys, re
3     sys.path.append( '/afs/naf.desy.de/user/n/nowaf/CMSSW_3_3_6/src/LeptonSel/LeptonSel/rootScripts' )
4     import definitions as Def
5    
6     def main(argv):
7     #import sys
8    
9     basepath = ''
10    
11     try:
12     options, arguments = getopt.getopt(argv, "hp:", ["help","path="])
13    
14     except getopt.GetoptError:
15     usage()
16     sys.exit(2)
17    
18     for opt, arg in options:
19     if opt in ("-h", "--help"):
20     usage()
21     sys.exit(2)
22     elif opt in ("-p", "--path"):
23     basepath = arg
24    
25     if basepath == '':
26     print "Error! Need path to .root file to continue."
27     sys.exit(2)
28    
29     return basepath
30    
31     def usage():
32    
33     print "Script to plot all XC study plots for the di lepton analysis"
34     print "Options and arguments:"
35     print "-h, --help\t\t: print this help message and exit"
36     print "-p, --path\t\t: relative path to the .root file"
37    
38     pass
39    
40     if __name__ == "__main__":
41    
42     import getopt
43    
44     basepath = main(sys.argv[1:])
45    
46     Def.SetGlobalStyles( "emr" )
47    
48     saves = {}
49    
50     fin = Def.ReadInRootFile( basepath )
51     #print type( fin )
52     #print type( fin.Get( "StudyEJ" ) )
53    
54     ciso1 = ROOT.TCanvas( "c_iso_vs_sE", "iso vs sE",1,71,600,300 )
55     ciso1.Divide( 2,1 )
56    
57     ciso1.cd( 1 )
58     iso1 = fin.Get( "StudyEJ/StudyEJ/iso_vs_sE_1" )
59     iso1.Draw( "COLZ" )
60     saves["iso1"] = iso1
61    
62     ciso1.cd( 2 )
63     iso1_rel = fin.Get( "StudyEJ/StudyEJ/iso_vs_sE_1_rel" )
64     iso1_rel.Draw( "COLZ" )
65     saves["iso1_rel"] = iso1_rel
66    
67     ciso2 = ROOT.TCanvas( "c_iso_vs_sE_2", "iso vs sE",1,71,600,300 )
68     ciso2.Divide( 2,1 )
69    
70     ciso2.cd( 1 )
71     iso2 = fin.Get( "StudyEJ/StudyEJ/iso_vs_sE_2" )
72     iso2.Draw( "COLZ" )
73     saves["iso2"] = iso2
74    
75     ciso2.cd( 2 )
76     iso2_rel = fin.Get( "StudyEJ/StudyEJ/iso_vs_sE_2_rel" )
77     iso2_rel.Draw( "COLZ" )
78     saves["iso2_rel"] = iso2_rel
79    
80     ciso3 = ROOT.TCanvas( "c_iso_vs_sE_3", "iso vs sE",1,71,600,300 )
81     ciso3.Divide( 2,1 )
82    
83     ciso3.cd( 1 )
84     iso3 = fin.Get( "StudyEJ/StudyEJ/iso_vs_sE_3" )
85     iso3.Draw( "COLZ" )
86     saves["iso3"] = iso3
87    
88     ciso3.cd( 2 )
89     iso3_rel = fin.Get( "StudyEJ/StudyEJ/iso_vs_sE_3_rel" )
90     iso3_rel.Draw( "COLZ" )
91     saves["iso3_rel"] = iso3_rel
92    
93     ciso1MET = ROOT.TCanvas( "c_iso_vs_sE_MET", "iso vs sE",1,71,900,900 )
94     ciso1MET.Divide( 3,3 )
95    
96     ciso1MET.cd( 1 )
97     iso1MET = fin.Get( "StudyEJ/StudyEJ/iso_vs_sE_1_sameMET" )
98     iso1MET.SetTitle( "new MET == old MET" )
99     iso1MET.Draw( "COLZ" )
100     saves["iso1MET"] = iso1MET
101    
102     ciso1MET.cd( 2 )
103     iso1MET_rel = fin.Get( "StudyEJ/StudyEJ/iso_vs_sE_1_rel_sameMET" )
104     iso1MET_rel.SetTitle( "new MET == old MET" )
105     iso1MET_rel.Draw( "COLZ" )
106     saves["iso1MET_rel"] = iso1MET_rel
107    
108     ciso1MET.cd( 3 )
109     iso1MET_erel = fin.Get( "StudyEJ/StudyEJ/iso_vs_sE_1_erel_sameMET" )
110     iso1MET_erel.SetTitle( "new MET == old MET" )
111     iso1MET_erel.Draw( "COLZ" )
112     saves["iso1MET_erel"] = iso1MET_erel
113    
114     ciso1MET.cd( 4 )
115     iso1METn = fin.Get( "StudyEJ/StudyEJ/iso_vs_sE_1_newMETg" )
116     iso1METn.SetTitle( " new MET > old MET" )
117     iso1METn.Draw( "COLZ" )
118     saves["iso1METn"] = iso1METn
119    
120     ciso1MET.cd( 5 )
121     iso1METn_rel = fin.Get( "StudyEJ/StudyEJ/iso_vs_sE_1_rel_newMETg" )
122     iso1METn_rel.SetTitle( " new MET > old MET" )
123     iso1METn_rel.Draw( "COLZ" )
124     saves["iso1METn_rel"] = iso1METn_rel
125    
126     ciso1MET.cd( 6 )
127     iso1METn_erel = fin.Get( "StudyEJ/StudyEJ/iso_vs_sE_1_erel_newMETg" )
128     iso1METn_erel.SetTitle( " new MET > old MET" )
129     iso1METn_erel.Draw( "COLZ" )
130     saves["iso1METn_erel"] = iso1METn_erel
131    
132     ciso1MET.cd( 7 )
133     iso1METo = fin.Get( "StudyEJ/StudyEJ/iso_vs_sE_1_oldMETg" )
134     iso1METo.SetTitle( " new MET < old MET" )
135     iso1METo.Draw( "COLZ" )
136     saves["iso1METo"] = iso1METo
137    
138     ciso1MET.cd( 8 )
139     iso1METo_rel = fin.Get( "StudyEJ/StudyEJ/iso_vs_sE_1_rel_oldMETg" )
140     iso1METo_rel.SetTitle( " new MET < old MET" )
141     iso1METo_rel.Draw( "COLZ" )
142     saves["iso1METo_rel"] = iso1METo_rel
143    
144     ciso1MET.cd( 9 )
145     iso1METo_erel = fin.Get( "StudyEJ/StudyEJ/iso_vs_sE_1_erel_oldMETg" )
146     iso1METo_erel.SetTitle( " new MET < old MET" )
147     iso1METo_erel.Draw( "COLZ" )
148     saves["iso1METo_erel"] = iso1METo_erel
149    
150     cne = ROOT.TCanvas( "ne", "ne with jet in dr < x per event",1,71,600,600 )
151     #cne.Divide( 2,1 )
152     Def.DrawSmall( cne, [fin.Get( "StudyEJ/StudyEJ/ne_jetdr1" ), fin.Get( "StudyEJ/StudyEJ/ne_jetdr05") ], \
153     [ 8,1 ],\
154     [ "dr<1", "dr<0.5" ],\
155     "ne with jet near",\
156     "",\
157     "",\
158     False,\
159     0,
160     False,\
161     "ur",\
162     "ne", saves )
163    
164     cnemet1 = ROOT.TCanvas( "nemet", "ne with jet in dr < 1 per event",1,71,600,600 )
165     #cne.Divide( 2,1 )
166     Def.DrawSmall( cnemet1, [fin.Get( "StudyEJ/StudyEJ/ne_jetdr1_sameMET" ), fin.Get( "StudyEJ/StudyEJ/ne_jetdr1_newMETg"), fin.Get( "StudyEJ/StudyEJ/ne_jetdr1_oldMETg") ], \
167     [ 8,1,7 ],\
168     [ "MET ==", "newMET >", "newMET <" ],\
169     "ne with jet near",\
170     "",\
171     "",\
172     True,\
173     0,
174     False,\
175     "ur",\
176     "nemet", saves )
177    
178     cnemet05 = ROOT.TCanvas( "nemet05", "ne with jet in dr < 0.5 per event",1,71,600,600 )
179     #cne.Divide( 2,1 )
180     Def.DrawSmall( cnemet05, [fin.Get( "StudyEJ/StudyEJ/ne_jetdr05_sameMET" ), fin.Get( "StudyEJ/StudyEJ/ne_jetdr05_newMETg"), fin.Get( "StudyEJ/StudyEJ/ne_jetdr05_oldMETg") ], \
181     [ 8,1,7 ],\
182     [ "MET ==", "newMET >", "newMET <" ],\
183     "ne with jet near",\
184     "",\
185     "",\
186     True,\
187     0,
188     False,\
189     "ur",\
190     "nemet05", saves )
191    
192     cneiso1 = ROOT.TCanvas( "neiso", "n isoe with jet in dr < 1 per event",1,71,600,600 )
193     #cne.Divide( 2,1 )
194     Def.DrawSmall( cneiso1, [fin.Get( "StudyEJ/StudyEJ/ne_iso_jetdr1_sameMET" ), fin.Get( "StudyEJ/StudyEJ/ne_iso_jetdr1_newMETg"), fin.Get( "StudyEJ/StudyEJ/ne_iso_jetdr1_oldMETg") ], \
195     [ 8,1,7 ],\
196     [ "MET ==", "newMET >", "newMET <" ],\
197     "ne with jet near",\
198     "",\
199     "",\
200     True,\
201     0,
202     False,\
203     "ur",\
204     "neiso", saves )
205    
206     cneiso05 = ROOT.TCanvas( "neiso05", "n isoe with jet in dr < 0.5 per event",1,71,600,600 )
207     #cne.Divide( 2,1 )
208     Def.DrawSmall( cneiso05, [fin.Get( "StudyEJ/StudyEJ/ne_iso_jetdr05_sameMET" ), fin.Get( "StudyEJ/StudyEJ/ne_iso_jetdr05_newMETg"), fin.Get( "StudyEJ/StudyEJ/ne_iso_jetdr05_oldMETg") ], \
209     [ 8,1,7 ],\
210     [ "MET ==", "newMET >", "newMET <" ],\
211     "ne with jet near",\
212     "",\
213     "",\
214     True,\
215     0,
216     False,\
217     "ur",\
218     "neiso05", saves )
219    
220     ceta = ROOT.TCanvas( "eta", "eta",1,71,600,600 )
221     ceta.Divide( 2,2 )
222    
223     ceta.cd( 1 )
224     Def.DrawSmall( ceta, [fin.Get( "StudyEJ/StudyEJ/ccjets_eta_sameMET" ), fin.Get( "StudyEJ/StudyEJ/ccjets_eta_newMETg"), fin.Get( "StudyEJ/StudyEJ/ccjets_eta_oldMETg") ], \
225     [ 8,1,7 ],\
226     [ "MET ==", "newMET >", "newMET <" ],\
227     "#{eta}",\
228     "",\
229     "cc jets",\
230     True,\
231     0,
232     False,\
233     "ur",\
234     "jeta", saves )
235    
236     ceta.cd( 2 )
237     Def.DrawSmall( ceta, [fin.Get( "StudyEJ/StudyEJ/el_eta_sameMET" ), fin.Get( "StudyEJ/StudyEJ/el_eta_newMETg"), fin.Get( "StudyEJ/StudyEJ/el_eta_oldMETg") ], \
238     [ 8,1,7 ],\
239     [ "MET ==", "newMET >", "newMET <" ],\
240     "#{eta}",\
241     "",\
242     "non cc elecs",\
243     True,\
244     0,
245     False,\
246     "ur",\
247     "eeta", saves )
248    
249     ceta.cd( 3 )
250     Def.DrawSmall( ceta, [fin.Get( "StudyEJ/StudyEJ/jets_sE_eta_sameMET" ), fin.Get( "StudyEJ/StudyEJ/jets_sE_eta_newMETg"), fin.Get( "StudyEJ/StudyEJ/jets_sE_eta_oldMETg") ], \
251     [ 8,1,7 ],\
252     [ "MET ==", "newMET >", "newMET <" ],\
253     "#{eta}",\
254     "",\
255     "jets with sE",\
256     True,\
257     0,
258     False,\
259     "ur",\
260     "jsEeta", saves )
261    
262     ceta.cd( 4 )
263     Def.DrawSmall( ceta, [fin.Get( "StudyEJ/StudyEJ/jets_sEiso_eta_sameMET" ), fin.Get( "StudyEJ/StudyEJ/jets_sEiso_eta_newMETg"), fin.Get( "StudyEJ/StudyEJ/jets_sEiso_eta_oldMETg") ], \
264     [ 8,1,7 ],\
265     [ "MET ==", "newMET >", "newMET <" ],\
266     "#eta",\
267     "",\
268     "jets with sE to iso e",\
269     True,\
270     0,
271     False,\
272     "ur",\
273     "jeta", saves )
274    
275     cdr = ROOT.TCanvas( "dr", "dr",1,71,600,600 )
276     cdr.Divide( 2,2 )
277    
278     cdr.cd( 1 )
279     Def.DrawSmall( cdr, [fin.Get( "StudyEJ/StudyEJ/dR_e_jet_sameMET" ), fin.Get( "StudyEJ/StudyEJ/dR_e_jet_newMETg"), fin.Get( "StudyEJ/StudyEJ/dR_e_jet_oldMETg") ], \
280     [ 8,1,7 ],\
281     [ "MET ==", "newMET >", "newMET <" ],\
282     "dR (e, jet)",\
283     "",\
284     "",\
285     True,\
286     0,
287     True,\
288     "ur",\
289     "jedr", saves )
290    
291     cdr.cd( 2 )
292     Def.DrawSmall( cdr, [fin.Get( "StudyEJ/StudyEJ/dR_isoe_jet_sameMET" ), fin.Get( "StudyEJ/StudyEJ/dR_isoe_jet_newMETg"), fin.Get( "StudyEJ/StudyEJ/dR_isoe_jet_oldMETg") ], \
293     [ 8,1,7 ],\
294     [ "MET ==", "newMET >", "newMET <" ],\
295     "dR (iso e, jet)",\
296     "",\
297     "",\
298     True,\
299     0,
300     True,\
301     "ur",\
302     "jiedr", saves )
303    
304     cdr.cd( 3 )
305     Def.DrawSmall( cdr, [fin.Get( "StudyEJ/StudyEJ/dR_e_ccjet_sameMET" ), fin.Get( "StudyEJ/StudyEJ/dR_e_ccjet_newMETg"), fin.Get( "StudyEJ/StudyEJ/dR_e_ccjet_oldMETg") ], \
306     [ 8,1,7 ],\
307     [ "MET ==", "newMET >", "newMET <" ],\
308     "dR (e, ccjet)",\
309     "",\
310     "",\
311     True,\
312     0,
313     True,\
314     "ur",\
315     "ccjedr", saves )
316    
317     cdr.cd( 4 )
318     Def.DrawSmall( cdr, [fin.Get( "StudyEJ/StudyEJ/dR_isoe_ccjet_sameMET" ), fin.Get( "StudyEJ/StudyEJ/dR_isoe_ccjet_newMETg"), fin.Get( "StudyEJ/StudyEJ/dR_isoe_ccjet_oldMETg") ], \
319     [ 8,1,7 ],\
320     [ "MET ==", "newMET >", "newMET <" ],\
321     "dR (iso e, ccjet)",\
322     "",\
323     "",\
324     True,\
325     0,
326     True,\
327     "ur",\
328     "ccjiedr", saves )
329    
330     ccell = ROOT.TCanvas( "cell", "cell",1,71,600,600 )
331     ccell.Divide( 2,2 )
332    
333     ccell.cd( 1 )
334     Def.DrawSmall( ccell, [fin.Get( "StudyEJ/StudyEJ/sc_cellsPerTower_sameMET" ), fin.Get( "StudyEJ/StudyEJ/sc_cellsPerTower_newMETg"), fin.Get( "StudyEJ/StudyEJ/sc_cellsPerTower_oldMETg") ], \
335     [ 8,1,7 ],\
336     [ "MET ==", "newMET >", "newMET <" ],\
337     "n sc cells in tower",\
338     "",\
339     "",\
340     False,\
341     0,
342     False,\
343     "ur",\
344     "cell", saves )
345    
346     ccell.cd( 2 )
347     Def.DrawSmall( ccell, [fin.Get( "StudyEJ/StudyEJ/sc_sharedCellsPerTower_sameMET" ), fin.Get( "StudyEJ/StudyEJ/sc_sharedCellsPerTower_newMETg"), fin.Get( "StudyEJ/StudyEJ/sc_sharedCellsPerTower_oldMETg") ], \
348     [ 8,1,7 ],\
349     [ "MET ==", "newMET >", "newMET <" ],\
350     "n sc cells in shared tower",\
351     "",\
352     "",\
353     False,\
354     0,
355     False,\
356     "ur",\
357     "cell", saves )
358    
359     ccell.cd( 3 )
360     Def.DrawSmall( ccell, [fin.Get( "StudyEJ/StudyEJ/sc_cellsFraction_sameMET" ), fin.Get( "StudyEJ/StudyEJ/sc_cellsFraction_newMETg"), fin.Get( "StudyEJ/StudyEJ/sc_cellsFraction_oldMETg") ], \
361     [ 8,1,7 ],\
362     [ "MET ==", "newMET >", "newMET <" ],\
363     "fraction of cells shared",\
364     "",\
365     "",\
366     False,\
367     0,
368     False,\
369     "ur",\
370     "cellfrac", saves )
371    
372     avcenergyMET = ROOT.TCanvas( "c_newsE_vs_oldsE_MET", "new sE vs old sE",1,71,600,900 )
373     avcenergyMET.Divide( 2,3 )
374    
375     avcenergyMET.cd( 1 )
376     avenergyMET = fin.Get( "StudyEJ/StudyEJ/Enew_vs_Eold_sameMET" )
377     avenergyMET.SetTitle( "new MET == old MET" )
378     avenergyMET.SetXTitle( "new E" )
379     avenergyMET.SetYTitle( "old E" )
380     avenergyMET.Draw( "COLZ" )
381     saves["avenergyMET"] = avenergyMET
382    
383     avcenergyMET.cd( 2 )
384     avrelenergyMET = fin.Get( "StudyEJ/StudyEJ/Enew_vs_Eold_norm_sameMET" )
385     avrelenergyMET.SetTitle( "new MET == old MET" )
386     avrelenergyMET.SetXTitle( "new E / jet E" )
387     avrelenergyMET.SetYTitle( "old E / jet E" )
388     avrelenergyMET.Draw( "COLZ" )
389     saves["avrelenergyMET"] = avrelenergyMET
390    
391     avcenergyMET.cd( 3 )
392     avenergynewMET = fin.Get( "StudyEJ/StudyEJ/Enew_vs_Eold_newMETg" )
393     avenergynewMET.SetTitle( "new MET > old MET" )
394     avenergynewMET.SetXTitle( "new E" )
395     avenergynewMET.SetYTitle( "old E" )
396     avenergynewMET.Draw( "COLZ" )
397     saves["avenergynewMET"] = avenergynewMET
398    
399     avcenergyMET.cd( 4 )
400     avrelenergynewnormMET = fin.Get( "StudyEJ/StudyEJ/Enew_vs_Eold_norm_newMETg" )
401     avrelenergynewnormMET.SetTitle( "new MET > old MET" )
402     avrelenergynewnormMET.SetXTitle( "new E / jet E" )
403     avrelenergynewnormMET.SetYTitle( "old E / jet E" )
404     avrelenergynewnormMET.Draw( "COLZ" )
405     saves["avrelenergynewMET"] = avrelenergynewnormMET
406    
407     avcenergyMET.cd( 5 )
408     avenergyoldMET = fin.Get( "StudyEJ/StudyEJ/Enew_vs_Eold_oldMETg" )
409     avenergyoldMET.SetTitle( "new MET < old MET" )
410     avenergyoldMET.SetXTitle( "new E" )
411     avenergyoldMET.SetYTitle( "old E" )
412     avenergyoldMET.Draw( "COLZ" )
413     saves["avenergyoldMET"] = avenergyoldMET
414    
415     avcenergyMET.cd( 6 )
416     avrelenergyoldnormMET = fin.Get( "StudyEJ/StudyEJ/Enew_vs_Eold_norm_oldMETg" )
417     avrelenergyoldnormMET.SetTitle( "new MET < old MET" )
418     avrelenergyoldnormMET.SetXTitle( "new E / jet E" )
419     avrelenergyoldnormMET.SetYTitle( "old E / jet E" )
420     avrelenergyoldnormMET.Draw( "COLZ" )
421     saves["avrelenergyoldnormMET"] = avrelenergyoldnormMET
422    
423     cenergyMET = ROOT.TCanvas( "c_avnewsE_vs_newsE_MET", "new sE vs new average sE",1,71,600,900 )
424     cenergyMET.Divide( 2,3 )
425    
426     cenergyMET.cd( 1 )
427     energyMET = fin.Get( "StudyEJ/StudyEJ/avEnew_vs_Enew_sameMET" )
428     energyMET.SetTitle( "new MET == old MET" )
429     energyMET.SetXTitle( "new E" )
430     energyMET.SetYTitle( "new average E" )
431     energyMET.Draw( "COLZ" )
432     saves["energyMET"] = energyMET
433    
434     cenergyMET.cd( 2 )
435     relenergyMET = fin.Get( "StudyEJ/StudyEJ/avEnew_vs_Enew_norm_sameMET" )
436     relenergyMET.SetTitle( "new MET == old MET" )
437     relenergyMET.SetXTitle( "new E / jet E" )
438     relenergyMET.SetYTitle( "new average E / jet E" )
439     relenergyMET.Draw( "COLZ" )
440     saves["relenergyMET"] = relenergyMET
441    
442     cenergyMET.cd( 3 )
443     energynewMET = fin.Get( "StudyEJ/StudyEJ/avEnew_vs_Enew_newMETg" )
444     energynewMET.SetTitle( "new MET > old MET" )
445     energynewMET.SetXTitle( "new E" )
446     energynewMET.SetYTitle( "new average E" )
447     energynewMET.Draw( "COLZ" )
448     saves["energynewMET"] = energynewMET
449    
450     cenergyMET.cd( 4 )
451     relenergynewnormMET = fin.Get( "StudyEJ/StudyEJ/avEnew_vs_Enew_norm_newMETg" )
452     relenergynewnormMET.SetTitle( "new MET > old MET" )
453     relenergynewnormMET.SetXTitle( "new E / jet E" )
454     relenergynewnormMET.SetYTitle( "new average E / jet E" )
455     relenergynewnormMET.Draw( "COLZ" )
456     saves["relenergynewMET"] = relenergynewnormMET
457    
458     cenergyMET.cd( 5 )
459     energyoldMET = fin.Get( "StudyEJ/StudyEJ/avEnew_vs_Enew_oldMETg" )
460     energyoldMET.SetTitle( "new MET < old MET" )
461     energyoldMET.SetXTitle( "new E" )
462     energyoldMET.SetYTitle( "new average E" )
463     energyoldMET.Draw( "COLZ" )
464     saves["energyoldMET"] = energyoldMET
465    
466     cenergyMET.cd( 6 )
467     relenergyoldnormMET = fin.Get( "StudyEJ/StudyEJ/avEnew_vs_Enew_norm_oldMETg" )
468     relenergyoldnormMET.SetTitle( "new MET < old MET" )
469     relenergyoldnormMET.SetXTitle( "new E / jet E" )
470     relenergyoldnormMET.SetYTitle( "new average E / jet E" )
471     relenergyoldnormMET.Draw( "COLZ" )
472     saves["relenergyoldnormMET"] = relenergyoldnormMET
473    
474     tow = ROOT.TCanvas( "c_avnewsallTowers_vs_sharedTowers", "all towers vs shared towers",1,71,600,600 )
475     tow.Divide( 2,2 )
476    
477     tow.cd( 1 )
478     towsame = fin.Get( "StudyEJ/StudyEJ/allTower_vs_sharedTower_sameMET" )
479     towsame.SetTitle( "new MET == old MET" )
480     towsame.SetXTitle( "all Tower" )
481     towsame.SetYTitle( "shared Tower" )
482     towsame.Draw( "COLZ" )
483     saves["towersame"] = towsame
484    
485     tow.cd( 2 )
486     townew = fin.Get( "StudyEJ/StudyEJ/allTower_vs_sharedTower_newMETg" )
487     townew.SetTitle( "new MET > old MET" )
488     townew.SetXTitle( "all Tower" )
489     townew.SetYTitle( "shared Tower" )
490     townew.Draw( "COLZ" )
491     saves["towernew"] = townew
492    
493     tow.cd( 3 )
494     towold = fin.Get( "StudyEJ/StudyEJ/allTower_vs_sharedTower_oldMETg" )
495     towold.SetTitle( "new MET < old MET" )
496     towold.SetXTitle( "all Tower" )
497     towold.SetYTitle( "shared Tower" )
498     towold.Draw( "COLZ" )
499     saves["towerold"] = towold
500    
501    
502     Def.DontQuit()