Exemple #1
0
    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.")
Exemple #4
0
    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"))
    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"))