Home | News | Documentation | Download

Butterworth filter

I have time-domain digitizer traces that I would like to run through a low-pass Butterworth filter. Are there any signal processing classes within root that can do this?

EDIT: Seriously people, someone has to have done this before in root! I don’t really want to switch to matlab…

I don’t think ROOT has any signal processing functions. What you can do though is use python to access your ROOT data and then use the scipy/numpy python packages for filtering.


That had been my backup plan. As there seemed to be no solution in root, I ended up using the scipy.signal.butter() method. I am now filled with a profound sadness. If anyone needs help for something similar, hit me up.

OK. I implemented Butterworth filter transfer function as a RooAbsReal class. You can see it here. You could use it by convolving it with your input. There may be not enough documentation now but I will fix this soon. Any suggestion and/or correction would be appreciated.