from ROOT import larlite as fmwk
from ROOT import opana
from ROOT import TH1D,TCanvas
import sys
algo = opana.PulseFinder()
wf=fmwk.fifo()

for x in xrange(20):

    wf.push_back(x%10)

cnt = 0
for i in algo.Reconstruct(wf) :
    print "i: " + str(cnt)
    i.dump()
    cnt += 1

c=TCanvas("c","",600,500)
h=TH1D("h","",wf.size(),-0.5,wf.size()-0.5)

for x in xrange(wf.size()):
    h.SetBinContent(x+1,wf[x])

h.Draw()
c.Update()
sys.stdin.readline()
from ROOT import larlite as fmwk
from ROOT import opana
from ROOT import TH1D,TCanvas
import sys
import ROOT

logic_pf = opana.LogicPulseFinder()
logic_pf.Configure()

wf1=fmwk.fifo()
wf1.set_channel_number(41)

wf3=fmwk.fifo()
wf3.set_channel_number(41)



for i in xrange(2000):
    if i >= 50 and i <= 100:
        wf1.push_back(200 + 2048)
        wf3.push_back(2048)
        continue

    if i >= 125 and i <= 135:
        wf1.push_back(2048)
        wf3.push_back(300 + 2048)
        continue
    
    if i >= 250 and i <= 375:
        wf1.push_back(200 + 2048)
        wf3.push_back(2048)
from ROOT import larlite as fmwk
from ROOT import opana
from ROOT import TH1D,TCanvas
import sys

logic_pf = opana.LogicPulseFinder()
logic_pf.Configure()

wf1=fmwk.fifo()
wf1.set_channel_number(41)

wf2=fmwk.fifo()
wf2.set_channel_number(42)

wf3=fmwk.fifo()
wf3.set_channel_number(41)

for i in xrange(2000):
    if i >= 50 and i <= 100:
        wf1.push_back(200 + 2048)
        wf3.push_back(2048)
        continue

    if i >= 125 and i <= 135:
        wf1.push_back(2048)
        wf3.push_back(300 + 2048)
        continue
    
    if i >= 250 and i <= 375:
        wf1.push_back(200 + 2048)
        wf3.push_back(2048)