30 const string myname =
"test_SignalShapingServiceDUNE: ";
31 cout << myname <<
"Starting test" <<
endl;
33 cout << myname <<
"NDEBUG must be off." <<
endl;
36 string line =
"-----------------------------";
39 cout << myname << line <<
endl;
40 cout <<
"Prevent Root from managing histograms." <<
endl;
41 TH1::AddDirectory(kFALSE);
43 string const config{
"#include \"services_dune.fcl\"\n" 44 "services: { @table::dune35t_services_legacy }"};
47 cout << myname << line <<
endl;
48 cout << myname <<
"Get the geometry service." <<
endl;
52 cout << myname << line <<
endl;
53 cout << myname <<
"Get the signal shaping service." <<
endl;
56 cout << myname << line <<
endl;
57 cout << myname <<
"Retrieve shaping parameters." <<
endl;
59 unsigned int xformSize = pfft->
FFTSize();
60 cout <<
"Transform size: " << xformSize <<
endl;
65 cout << myname << line <<
endl;
66 cout << myname <<
"Create raw data." <<
endl;
67 unsigned int chan = 450;
69 for (
int i=0; i<20; ++i ) raw.push_back(0.0);
94 for (
int i=0; i<20; ++i ) raw.push_back(0.0);
95 assert( xformSize > raw.
size() );
98 cout << myname <<
"Deconvolute." <<
endl;
100 for (
unsigned int i=0; i<raw.
size(); ++i ) decon[i] = raw[i];
103 cout <<
" Raw Decon" <<
endl;
104 for (
int unsigned i=0; i<raw.
size(); ++i ) {
105 cout <<
setw(10) << raw[i] <<
setw(10) << decon[i] <<
endl;
108 cout << myname << line <<
endl;
109 cout <<
"Done." <<
endl;
void Deconvolute(detinfo::DetectorClocksData const &clockData, Channel channel, std::vector< T > &func) const
Service to provide microboone-specific signal shaping for simulation (convolution) and reconstruction...
int test_SignalShapingServiceDUNE()
static void load_services(std::string const &config)
art framework interface to geometry description
Q_EXPORT QTSManip setw(int w)
void line(double t, double *p, double &x, double &y, double &z)
double GetDeconNorm() const override
QTextStream & endl(QTextStream &s)