Esempio n. 1
0
    def fillall(self, sample):
        for itree in range(len(sample.names)):
            tree = sample.getchain(itree)
            #            print sample.name,itree
            #            print tree.GetEntries()
            nentries = tree.GetEntries()
            downscale = sample.downscale
            iterator = self.createGenerator(tree.GetEntries(),
                                            sample.downscale)
            if self.readElist or self.writeElist:
                elist, elistFile = self.prepareElist(sample,
                                                     sample.names[itree])
                if self.readElist:
                    iterator = self.createGenerator(elist.GetN())
            self.timers[6].start()
            eh = EventHelper(tree)
            self.timers[6].stop()
            #        for iev in range(tree.GetEntries()):
            nall = 0
            nsel = 0
            self.timers[7].start(paused=True)
            for iev in iterator:
                #            for iev in sample.getentries(tree):
                #            if sample.downscale==1 or (iev%sample.downscale)==0:
                jev = iev if not self.readElist else elist.GetEntry(iev)
                eh.getEntry(jev)
                nall += 1
                if self.readElist or ( \
                    ( self.preselection==None or self.preselection.accept(eh,sample) ) and \
                    ( sample.filter==None or sample.filter.accept(eh) ) ):
                    self.timers[7].resume()
                    self.fill(eh, sample.downscale)
                    self.timers[7].pause()
                    if self.writeElist:
                        elist.Enter(iev)
                    nsel += 1
#            print "Ntot for ",sample.name,sample.names[itree]," = ",nall,nsel
#        for ev in tree:
#            self.fill(ev)
            self.timers[7].stop()
            if self.writeElist:
                elist.Write()
            if self.writeElist or self.readElist:
                elistFile.Close()
        # handle under- & overflows
        for n, v in PlotsBase.variables.iteritems():
            v.moveUnderOverFlow(self.histogramList[n])
        self.showTimers()
Esempio n. 2
0
    def fillall(self,sample):
        for itree in range(len(sample.names)):
            tree = sample.getchain(itree)
#            print sample.name,itree
#            print tree.GetEntries()
            nentries = tree.GetEntries()
            downscale = sample.downscale
            iterator = self.createGenerator(tree.GetEntries(),sample.downscale)
            if self.readElist or self.writeElist:
                elist, elistFile = self.prepareElist(sample,sample.names[itree])
                if self.readElist:
                    iterator = self.createGenerator(elist.GetN())
            self.timers[6].start()
            eh = EventHelper(tree)
            self.timers[6].stop()
#        for iev in range(tree.GetEntries()):
            nall = 0
            nsel = 0
            self.timers[7].start(paused=True)
            for iev in iterator:
#            for iev in sample.getentries(tree):
#            if sample.downscale==1 or (iev%sample.downscale)==0:
                jev = iev if not self.readElist else elist.GetEntry(iev)
                eh.getEntry(jev)
                nall += 1
                if self.readElist or ( \
                    ( self.preselection==None or self.preselection.accept(eh,sample) ) and \
                    ( sample.filter==None or sample.filter.accept(eh) ) ):
                    self.timers[7].resume()
                    self.fill(eh,sample.downscale)
                    self.timers[7].pause()
                    if self.writeElist:
                        elist.Enter(iev)
                    nsel += 1
#            print "Ntot for ",sample.name,sample.names[itree]," = ",nall,nsel
#        for ev in tree:
#            self.fill(ev)
            self.timers[7].stop()
            if self.writeElist:
                elist.Write()
            if self.writeElist or self.readElist:
                elistFile.Close()
        # handle under- & overflows
        for n,v in PlotsBase.variables.iteritems():
            v.moveUnderOverFlow(self.histogramList[n])
        self.showTimers()
Esempio n. 3
0
    def fillall(self,sample):
        for itree in range(len(sample.names)):
            tree = sample.getchain(itree)            
#            print sample.name,itree
#            print tree.GetEntries()
            nentries = tree.GetEntries()
            nprog = nentries
            downscale = sample.downscale
            iterator = self.createGenerator(tree.GetEntries(),sample.downscale)
            if self.readElist or self.writeElist:
                elist, elistFile = self.prepareElist(sample,sample.names[itree])
                if self.readElist:
                    iterator = self.createGenerator(elist.GetN())
                    nprog = elist.GetN()
            self.timers[6].start()
            eh = EventHelper(tree)
            self.timers[6].stop()
#        for iev in range(tree.GetEntries()):
            nall = 0
            nsel = 0
#            self.timers[7].start(paused=True)
#            self.timers[8].start(paused=True)
            if self.progress:
                self.progress.initialize(length=nprog,title=sample.name+" "+sample.names[itree])
            for iev in iterator:
#            for iev in sample.getentries(tree):
#            if sample.downscale==1 or (iev%sample.downscale)==0:
                jev = iev if not self.readElist else elist.GetEntry(iev)
#                self.timers[8].resume()
                self.timers[8].start()
                eh.getEntry(jev)
#                self.timers[8].pause()
                self.timers[8].stop()
                nall += 1
                if self.progress and nall%100==0:
                    self.progress.increment(100)
                if self.readElist or ( \
                    ( self.preselection==None or self.preselection.accept(eh,sample) ) and \
                    ( sample.filter==None or sample.filter.accept(eh) ) ):
#                    if sample.name.startswith("TTJets"):
#                        print "Accepted for ",sample.name,":",eh.get("run"),eh.get("lumi"),eh.get("evt")                        
#                    self.timers[7].resume()
                    self.timers[7].start()
                    self.fill(eh,sample,itree)
#                    self.timers[7].pause()
                    self.timers[7].stop()
                    for timer in self.timers[:7]:
                        if timer.active:
                            timer.stop()
                    if self.writeElist:
                        elist.Enter(iev)
                    nsel += 1
#            print "Ntot for ",sample.name,sample.names[itree]," = ",nall,nsel
#        for ev in tree:
#            self.fill(ev)
#            self.timers[7].stop()
#            self.timers[8].stop()
            if self.writeElist:
                elist.Write()
            if self.writeElist or self.readElist:
                elistFile.Close()
            if self.progress and self.progress.status!=3:
                    self.progress.update(1.)
        # handle under- & overflows
        for n,v in PlotsBase.variables.iteritems():
            v.moveUnderOverFlow(self.histogramList[n])
        self.showTimers()
Esempio n. 4
0
    def fillall(self, sample):
        for itree in range(len(sample.names)):
            tree = sample.getchain(itree)
            #            print sample.name,itree
            #            print tree.GetEntries()
            nentries = tree.GetEntries()
            nprog = nentries
            downscale = sample.downscale
            iterator = self.createGenerator(tree.GetEntries(),
                                            sample.downscale)
            if self.readElist or self.writeElist:
                elist, elistFile = self.prepareElist(sample,
                                                     sample.names[itree])
                if self.readElist:
                    iterator = self.createGenerator(elist.GetN())
                    nprog = elist.GetN()
            self.timers[6].start()
            eh = EventHelper(tree)
            self.timers[6].stop()
            #        for iev in range(tree.GetEntries()):
            nall = 0
            nsel = 0
            #            self.timers[7].start(paused=True)
            #            self.timers[8].start(paused=True)
            if self.progress:
                self.progress.initialize(length=nprog,
                                         title=sample.name + " " +
                                         sample.names[itree])
            for iev in iterator:
                #            for iev in sample.getentries(tree):
                #            if sample.downscale==1 or (iev%sample.downscale)==0:
                jev = iev if not self.readElist else elist.GetEntry(iev)
                #                self.timers[8].resume()
                self.timers[8].start()
                eh.getEntry(jev)
                #                self.timers[8].pause()
                self.timers[8].stop()
                nall += 1
                if self.progress and nall % 100 == 0:
                    self.progress.increment(100)
                if self.readElist or ( \
                    ( self.preselection==None or self.preselection.accept(eh,sample) ) and \
                    ( sample.filter==None or sample.filter.accept(eh) ) ):
                    #                    if sample.name.startswith("TTJets"):
                    #                        print "Accepted for ",sample.name,":",eh.get("run"),eh.get("lumi"),eh.get("evt")
                    #                    self.timers[7].resume()
                    self.timers[7].start()
                    self.fill(eh, sample, itree)
                    #                    self.timers[7].pause()
                    self.timers[7].stop()
                    for timer in self.timers[:7]:
                        if timer.active:
                            timer.stop()
                    if self.writeElist:
                        elist.Enter(iev)
                    nsel += 1
#            print "Ntot for ",sample.name,sample.names[itree]," = ",nall,nsel
#        for ev in tree:
#            self.fill(ev)
#            self.timers[7].stop()
#            self.timers[8].stop()
            if self.writeElist:
                elist.Write()
            if self.writeElist or self.readElist:
                elistFile.Close()
            if self.progress and self.progress.status != 3:
                self.progress.update(1.)
        # handle under- & overflows
        for n, v in PlotsBase.variables.iteritems():
            v.moveUnderOverFlow(self.histogramList[n])
        self.showTimers()