Ejemplo n.º 1
0
def timecut_charge_track(filename):
    d = wcsim.Data(filename)

    name = filename[6:-5]       # hack alert: assumes "wcsim-NAME.root"
    title = "%s Charge-Track Distr (timing cut)" % name
    ctd = ROOT.TH1F("ctd",title,1000,-10000,10000)
    ROOT.gStyle.SetOptStat(111111)

    hits = d.hits(0)
    track = d.tracks(0)[0]
    tvtx = [track.GetStart(i) for i in range(3)]
    tdir = [track.GetDir(i) for i in range(3)]
    T0 = track.GetTime()
    #resids = point_residuals(hits, tvtx, T0)
    resids = track_residuals(hits, tvtx, tdir, T0)

    intime_hits = []
    for r,hit in zip(resids,hits):
        if r < 800 or r > 820:
            continue
        intime_hits.append(hit)

    charge_track_distr(lambda x,q: ctd.Fill(x,q), intime_hits, tvtx, tdir)
    assert ctd.GetEntries() <= len(hits), '%d > %d' % (ctd.GetEntries(), len(hits))

    ctd.Draw()
    canvas_print()
Ejemplo n.º 2
0
def test_track_residuals():
    d = wcsim.Data(common.filepath())
    res = ROOT.TH1F("trackres","Track Residuals",400,800,1200)
    ROOT.gStyle.SetOptStat(111111)
    hits = d.hits(0)
    track = d.tracks(0)[0]
    tvtx = [track.GetStart(i) for i in range(3)]
    tdir = [track.GetDir(i) for i in range(3)]
    T0 = track.GetTime()
    resids = track_residuals(hits, tvtx, tdir, T0)
    for r,dat in zip(resids,hits):
        q = dat[1]
        res.Fill(r, q) 
    res.Draw()
    canvas_print()