Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-11-25 02:29:58

0001 #!/usr/bin/env python
0002 import json
0003 class pileupParser(object):
0004     def __init__(self,selectStr):
0005         self.__result={}
0006         self.__strresult={}
0007         strresult=json.loads(selectStr)
0008         for k,v in strresult.items():
0009 #            expandedvalues=[]
0010 #            print v
0011             ldict={}
0012             for elems in v:
0013                 llist = [ elems[1],elems[2],elems[3] ]
0014                 ldict[int(elems[0])] = llist
0015 
0016 
0017 #            for w in v:
0018 #                if len(w)==0:
0019 #                    self.__result[int(k)]=expandedvalues
0020 #                    self.__strresult[k]=[]
0021 #                    continue
0022             ###weed out [10]-like stuff just in case they exist
0023 #                elif len(w)==1:
0024 #                    expandedvalues.append(w[0])
0025             ##weed out [10,10]-like stuff
0026 #                elif len(w)==2 and w[0]==w[1]:
0027 #                    expandedvalues.append(w[0])
0028 #                else:
0029 #                    for i in range(w[0],w[1]+1):
0030 #                        expandedvalues.append(i)
0031             self.__result[int(k)]=ldict
0032 #            self.__strresult[k]=[str(x) for x in expandedvalues]
0033     def runs(self):
0034         return self.__result.keys()
0035     def runsandls(self):
0036         '''return expanded {run:lslist}
0037         '''
0038         return self.__result
0039     def runsandlsStr(self):
0040         '''return expanded {'run':lslist}
0041         '''
0042         return self.__strresult
0043     def numruns(self):
0044         return len(self.__result)
0045     def numls(self,run):
0046         return len(self.__result[run])
0047 if __name__ == "__main__":
0048 #    s=pileupParser('{"1":[[3,45]],"2":[[4,8],[10,10]],"3":[[]]}')
0049     s=pileupParser('{"179434": [[21,38.140,7.2,2.220e-04],[22,49.032,7.2,2.218e-04]],"179435": [[21,38.140,7.2,2.220e-04],[22,49.032,7.2,2.218e-04]]}')
0050 
0051     print('runs : ',s.runs())
0052     print('full result : ',s.runsandls())
0053 #    print 'str result : ',s.runsandlsStr()
0054 #    print 'num runs : ',s.numruns()
0055 #    print 'numls in run : ',s.numls(1)