def run(self): """ Load, stack, print and save histograms in a stream. """ # combined operation for loading, filtering, stacking, etc.. # the output looks like: [(stack1, data1), (stack2, data2), ...] stream_stack_n_data = gen.fs_mc_stack_n_data_sum({ "name": "histo", "analyzer": ["CrtlFiltEt", "CrtlFiltEta"] }) # plot (stack, data) pairs into canvases, with legend stream_canvas = gen.canvas(stream_stack_n_data, [cmstoolsac3b.rendering.Legend]) # store into dir of this tool stream_canvas = gen.save( stream_canvas, lambda wrp: self.plot_output_dir + wrp. name, # this function returns a path without postfix settings.rootfile_postfixes) # pull everything through the stream count = gen.consume_n_count(stream_canvas) # make a nice statement self.message("INFO: " + self.name + " produced " + count + " canvases.")
def run(self): """ Load, stack, print and save histograms in a stream. """ # combined operation for loading, filtering, stacking, etc.. # the output looks like: [(stack1, data1), (stack2, data2), ...] stream_stack_n_data = gen.fs_mc_stack_n_data_sum( { "name" : "histo", "analyzer" : ["CrtlFiltEt", "CrtlFiltEta"] } ) # plot (stack, data) pairs into canvases, with legend stream_canvas = gen.canvas( stream_stack_n_data, [cmstoolsac3b.rendering.Legend] ) # store into dir of this tool stream_canvas = gen.save( stream_canvas, lambda wrp: self.plot_output_dir + wrp.name, # this function returns a path without postfix settings.rootfile_postfixes ) # pull everything through the stream count = gen.consume_n_count(stream_canvas) # make a nice statement self.message("INFO: "+self.name+" produced "+count+" canvases.")
def run(self): """ Load, stack, print and save histograms in a stream. """ # combined operation for loading, filtering, stacking, etc.. # the output looks like: [(stack1, data1), (stack2, data2), ...] stream_stack_n_data = gen.fs_mc_stack_n_data_sum( self.histo_filter_dict ) # can be saved for later use. if self.store_stack_and_data_in_pool: stream_stack_n_data = self.store_to_pool(stream_stack_n_data) # plot (stack, data) pairs into canvases, with decorators stream_canvas = gen.canvas( stream_stack_n_data, self.canvas_decorators ) # store into dir of this tool stream_canvas = gen.save( stream_canvas, lambda wrp: self.plot_output_dir + wrp.analyzer ) # pull everything through the stream count = gen.consume_n_count(stream_canvas) # make a nice statement self.message("INFO: "+self.name+" produced "+count+" canvases.")
def run(self): """ Load, stack, print and save histograms in a stream. """ # combined operation for loading, filtering, stacking, etc.. # the output looks like: [(stack1, data1), (stack2, data2), ...] stream_stack_n_data = gen.fs_mc_stack_n_data_sum( self.histo_filter_dict) # can be saved for later use. if self.store_stack_and_data_in_pool: stream_stack_n_data = self.store_to_pool(stream_stack_n_data) # plot (stack, data) pairs into canvases, with decorators stream_canvas = gen.canvas(stream_stack_n_data, self.canvas_decorators) # store into dir of this tool stream_canvas = gen.save( stream_canvas, lambda wrp: self.plot_output_dir + wrp.analyzer) # pull everything through the stream count = gen.consume_n_count(stream_canvas) # make a nice statement self.message("INFO: " + self.name + " produced " + count + " canvases.")
def test_gen_fs_mc_stack_n_data_sum(self): res = gen.fs_mc_stack_n_data_sum({"name": "histo"}) mc, data = res.next() # correct instances self.assertTrue(isinstance(mc, StackWrapper)) self.assertTrue(isinstance(data, HistoWrapper)) # ... of equal lumi (from data) self.assertEqual(mc.lumi, settings.data_samples()["tt"].lumi) self.assertEqual(data.lumi, settings.data_samples()["tt"].lumi) # check stacking order by history h = str(mc.history) self.assertTrue(h.index("ttgamma") < h.index("zjets")) settings.stacking_order.reverse() mc, data = res.next() h = str(mc.history) self.assertTrue(h.index("zjets") < h.index("ttgamma"))