7from hist_bookkeep_utils
import get_val, get_comm_def, weed, get_hbuff
9parser = argparse.ArgumentParser(
11 take two files and find overlapping histogram definitions.
12 Write out overlapping, different (in 1st file and 2nd file),
13 and exclusive (only 1st file, only 2nd file'''
16parser.add_argument(
'--xml1',
20 help=
'xml 1 file with histogram definitions')
22parser.add_argument(
'--xml2',
26 help=
'xml 2 file with histogram definitions')
28args = parser.parse_args()
34 _t1=[ get_val(
"id",_l1), get_val(
"type",_l1)]
35 _t2=[ get_val(
"id",_l2), get_val(
"type",_l2)]
54 _t1=[get_val(
"title",_l1)]
55 _t2=[get_val(
"title",_l2)]
56 _r1=[get_val(
"lo",_l1),get_val(
"hi",_l1),get_val(
"n",_l1)]
57 _r2=[get_val(
"lo",_l2),get_val(
"hi",_l2),get_val(
"n",_l2)]
64 _buff1=(get_comm_def(blist[0])[1])
65 _buff2=(get_comm_def(blist[1])[1])
78 elif (
"textdiff"==test):
81 get_val(
"type",_buff1[0])
82 get_val(
"type",_buff2[0])
86 if (
"error"==testx
or "error"==testy):
88 elif (
"textdiff"==testx
or "textdiff"==testy):
90 elif (
"rangediff"==testx
or "rangediff"==testy):
102infname1=args.in_xml1.name
103infname2=args.in_xml2.name
105outfname_common=infname1.split(
".")[0]+
"_"+infname2.split(
".")[0]+
".xml"
106outfname_1only=infname1.split(
".")[0]+
"_only.xml"
107outfname_2only=infname2.split(
".")[0]+
"_only.xml"
108outfname_1diffrange=infname1.split(
".")[0]+
"_diffrange.xml"
109outfname_2diffrange=infname2.split(
".")[0]+
"_diffrange.xml"
110outfname_1difftext=infname1.split(
".")[0]+
"_difftext.xml"
111outfname_2difftext=infname2.split(
".")[0]+
"_difftext.xml"
114print(
' reading histogram xml definitions in ', infname1, infname2)
115print(
' writing histograms only in ', infname1,
'to', outfname_1only)
116print(
' writing histograms only in ', infname2,
'to', outfname_2only)
117print(
' writing histograms range diff in ', infname1,
'to', outfname_1diffrange)
118print(
' writing histograms range diff in ', infname2,
'to', outfname_2diffrange)
119print(
' writing histograms text diff in ', infname1,
'to', outfname_1difftext)
120print(
' writing histograms text diff in ', infname2,
'to', outfname_2difftext)
121print(
' writing histograms common to both to', outfname_common)
124outf_common=open(outfname_common,
'w')
125outf_1only=open(outfname_1only,
'w')
126outf_2only=open(outfname_2only,
'w')
127outf_1diffrange=open(outfname_1diffrange,
'w')
128outf_2diffrange=open(outfname_2diffrange,
'w')
129outf_1difftext=open(outfname_1difftext,
'w')
130outf_2difftext=open(outfname_2difftext,
'w')
134buff_comp_dict={0:outf_common,
135 1:outf_1only,2:outf_2only,
136 3:outf_1diffrange,4:outf_2diffrange,
137 5:outf_1difftext,6:outf_2difftext}
143for line
in args.in_xml1:
144 if line.strip().startswith(
"<h"):
146 id=get_val(
"id",line)
147 buff1=get_hbuff(id,infname1,
True)
148 buff2=get_hbuff(id,infname2,
True)
153 for _val,_buff
in zip(compvals,buffs):
154 for dkey,dval
in buff_comp_dict.iteritems():
167for line
in args.in_xml2:
169 if line.strip().startswith(
"<h"):
170 id=get_val(
"id",line)
171 buff1=get_hbuff(id,infname1,
True)
172 buff2=get_hbuff(id,infname2,
True)
175 buff_comp_dict[2].write(_bitem)
183for key,of
in buff_comp_dict.iteritems():
void print(char *figname, TCanvas *c1)
compare_textrange(_t1, _t2, _r1, _r2)
compare_idline(_l1, _l2)
========================================================