Definition at line 23 of file Filter_tool.cc.
icarus_tool::Filter::Filter |
( |
const fhicl::ParameterSet & |
pset | ) |
|
|
explicit |
icarus_tool::Filter::~Filter |
( |
| ) |
|
void icarus_tool::Filter::configure |
( |
const fhicl::ParameterSet & |
pset | ) |
|
|
overridevirtual |
size_t icarus_tool::Filter::getPlane |
( |
| ) |
const |
|
inlineoverridevirtual |
void icarus_tool::Filter::outputHistograms |
( |
art::TFileDirectory & |
histDir | ) |
const |
|
overridevirtual |
Implements icarus_tool::IFilter.
Definition at line 124 of file Filter_tool.cc.
131 art::TFileDirectory
dir = histDir.mkdir(dirName.c_str());
133 auto const clockData = art::ServiceHandle<detinfo::DetectorClocksService const>()->DataForJob();
136 double maxFreq = 1.e3 / samplingRate;
137 double minFreq = maxFreq / numBins;
139 TProfile* hist = dir.make<TProfile>(histName.c_str(),
"Filter;Frequency(kHz)", numBins/2, minFreq, 0.5*maxFreq);
143 double freq =
bin * minFreq;
constexpr details::BinObj< T > bin(T value)
Returns a wrapper to print the specified data in binary format.
std::string to_string(WindowPattern const &pattern)
double sampling_rate(DetectorClocksData const &data)
Returns the period of the TPC readout electronics clock.
void icarus_tool::Filter::setResponse |
( |
size_t |
numBins, |
|
|
double |
correct3D, |
|
|
double |
timeScaleFctr |
|
) |
| |
|
overridevirtual |
Implements icarus_tool::IFilter.
Definition at line 71 of file Filter_tool.cc.
75 auto const clockData = art::ServiceHandle<detinfo::DetectorClocksService const>()->DataForJob();
77 double maxFreq = 1.e3 / (2. * samplingRate);
78 double freqRes = maxFreq / double(numBins/2);
80 std::string funcName =
"tempFilter";
84 function.SetRange(0, maxFreq);
91 for(
const auto& parameter :
fParameters)
function.SetParameter(paramIdx++, timeFactor * parameter);
98 double peakVal(std::numeric_limits<double>::min());
100 size_t nyquistBin = numBins/2 + 1;
103 for(
size_t bin = 0;
bin < nyquistBin;
bin++)
106 double freq =
bin * freqRes;
107 double f =
function.Eval(freq);
109 peakVal = std::max(peakVal, f);
115 for(
size_t bin = nyquistBin;
bin < numBins;
bin++)
119 for(
auto& filterValue :
fFilterVec) filterValue = filterValue / peakVal;
std::complex< SigProcPrecision > ComplexVal
constexpr details::BinObj< T > bin(T value)
Returns a wrapper to print the specified data in binary format.
double sampling_rate(DetectorClocksData const &data)
Returns the period of the TPC readout electronics clock.
double icarus_tool::Filter::fFilterWidthCorrectionFactor |
|
private |
std::string icarus_tool::Filter::fFunctionString |
|
private |
std::vector<double> icarus_tool::Filter::fParameters |
|
private |
size_t icarus_tool::Filter::fPlane |
|
private |
The documentation for this class was generated from the following file: