|Modification of EMC digitization [message #10751]
|Fri, 28 May 2010 18:08
Registered: April 2004
Location: National Centre for Nucle...
I have committed several updates for EMC digitization.
1. Algorithms for waveform (output of FADC) analysis are implemented as separate classes inherited from the common interface PndEmcAbsPSA (PSA stands for pulse shape analysis). The simple parabolic fit is PndEmcPSAParabolic.cxx and Trapezoidal filter, which can be considered as a convolution of Moving Window Deconvolution filter and Moving Average filter is PndEmcPSATrapDigiFilter.cxx. The added PndEmcFadcFilter class is a general class for FIR (finite impulse response) filter with trapezoidal filter as one of the special cases. The macro macro/emc/dedicated/testFilter.C provides simple example for the usage of these filters.
Digital filter was tested and gives reasonable results, however parabolic fit left by default and usage of the PndEmcPSATrapDigiFilter is commented in the PndEmcWaveformToDigi::Init() task at the moment, where the algorithms can be switched.
2. Wrapper task class PndEmcFullDigiTask is created for EMC digitization. It includes PndEmcHitsToWaveform and PndEmcWaveformToDigi tasks. I implemented it considering future implementation of shashlyk digitization. I would propose that it can be implemented as a separate task, which can be included into this wrapper. It will require however modifications in PndEmcHitsToWaveform task to suppress creation of waveform for modules corresponding to shashlyk.