Exemple #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()
Exemple #2
0
def test_charge_track_distr():
    d = wcsim.Data(common.filepath())

    ctd = ROOT.TH1F("ctd","Charge-Track Distr",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)]
    print 'vertex:', tvtx
    print 'track: ', tdir

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

    ctd.Draw()
    canvas_print()