Exemple #1
0
 def draw_pulser(self, bin_size=1000, cut=..., show=True):
     x = arange(self.NEntries)[cut]
     return self.Run.Draw.efficiency(x,
                                     self.get_pulser()[cut],
                                     make_bins(0, max(x), bin_size),
                                     draw_opt='alx',
                                     show=show)
Exemple #2
0
 def get_pulser_rate(self):
     x = self.get_pulser()
     values = get_hist_vec(
         self.Run.Draw.profile(arange(x.size),
                               x,
                               make_bins(0, x.size, 100),
                               show=False))
     return mean_sigma(values[values < mean(x) + .2])[0]
Exemple #3
0
 def draw_hits(self, bin_size=1000, cut=..., show=True):
     x = arange(self.NEntries)[cut]
     self.Draw(self.Draw.make_graph_from_profile(
         self.Draw.profile(x,
                           self.NHits[cut],
                           make_bins(0, max(x), bin_size),
                           show=False)),
               show=show,
               draw_opt='alx')
Exemple #4
0
 def draw_vs_trigphase(self, **kwargs):
     x, e = self.get_tree_vec(
         ['trigger_phase[1]', self.get_var()],
         self.Cut.exclude('trigger_phase'))
     return self.Draw.efficiency(
         x, e, make_bins(-.5, 10),
         **prep_kw(kwargs,
                   title='Trigger Phase Efficiency',
                   x_tit='Trigger Phase',
                   x_range=[-1, 10],
                   draw_opt='bap',
                   file_name='EffVsTP'))
Exemple #5
0
 def get_beam_interruptions(self, bin_size=100):
     x = self.get_pulser()
     values = array(
         get_hist_vec(
             self.Run.Draw.profile(arange(x.size),
                                   x,
                                   make_bins(0, x.size, bin_size,
                                             last=True),
                                   show=False)) < mean(x) + .1)
     high = where(values == 0)[0]
     values[high[high > 0] -
            1] = False  # set bins left and right also to zero
     values[high[high < high.size - 1] + 1] = False
     return values.repeat(bin_size)[:self.NEntries]
Exemple #6
0
 def draw(self, off=0, bin_size=None, show=True):
     p = roll(self.get_pulser(), off) & self.get_beam_interruptions()
     x, y = arange(self.NEntries)[p], self.load_n_hits()[p]
     x, y = get_hist_vecs(
         self.Run.Draw.profile(
             x,
             y,
             make_bins(
                 0, max(x),
                 int(
                     choose(bin_size,
                            self.BinSize / self.get_pulser_rate().n))),
             show=0))
     return self.Draw.graph(x,
                            y,
                            x_tit='Event Number',
                            y_tit='N Hits @ Pulser',
                            w=2,
                            show=show,
                            draw_opt='alx',
                            y_range=ax_range(0, max(max(y).n, 5), .1, .3))
Exemple #7
0
 def get_time_bins(self, off=0, bin_size=1000):
     return make_bins(
         [self.Run.get_time_at_event(e) for e in self.get_xbins(bin_size)])