1 #ifndef WIRECELLSIGPROC_OMNIBUSPMTNOISEFILTER 2 #define WIRECELLSIGPROC_OMNIBUSPMTNOISEFILTER 19 OmnibusPMTNoiseFilter(
const std::string anode_tn =
"AnodePlane",
int pad_window = 5,
int min_window_length = 4,
int threshold = 4,
float rms_threshold = 0.5,
int sort_wires = 4,
float ind_th1 = 2.0,
float ind_th2 = 0.5,
int nwire_pmt_col_th = 6);
double rms(sqlite3 *db, std::string const &table_name, std::string const &column_name)
void IDPMTSignalInduction(Waveform::realseq_t &signal, double rms, int ch, int plane)
virtual void configure(const WireCell::Configuration &config)
IConfigurable interface.
void IDPMTSignalCollection(Waveform::realseq_t &signal, double rms, int ch)
Explicitly inject required services.
std::shared_ptr< const IFrame > input_pointer
virtual bool operator()(const input_pointer &in, output_pointer &out)
IFrameFilter interface.
std::shared_ptr< Interface > pointer
void RemovePMTSignal(Waveform::realseq_t &signal, int start_bin, int end_bin, int flag=0)
OmnibusPMTNoiseFilter(const std::string anode_tn="AnodePlane", int pad_window=5, int min_window_length=4, int threshold=4, float rms_threshold=0.5, int sort_wires=4, float ind_th1=2.0, float ind_th2=0.5, int nwire_pmt_col_th=6)
Create an OmnibusPMTNoiseFilter.
std::vector< std::vector< int > > grouped_channels_t
std::shared_ptr< const IFrame > output_pointer
IAnodePlane::pointer m_anode
Json::Value Configuration
virtual ~OmnibusPMTNoiseFilter()
virtual WireCell::Configuration default_configuration() const
Optional, override to return a hard-coded default configuration.