#include <SignalShapingICARUSService_service.h>
icarusutil::SignalShapingICARUSService::SignalShapingICARUSService |
( |
const fhicl::ParameterSet & |
pset, |
|
|
art::ActivityRegistry & |
reg |
|
) |
| |
double icarusutil::SignalShapingICARUSService::GetASICGain |
( |
unsigned int const |
channel | ) |
const |
Definition at line 177 of file SignalShapingICARUSService_service.cc.
179 static const double fcToElectrons(6241.50975);
181 art::ServiceHandle<geo::Geometry> geom;
182 size_t planeIdx = geom->ChannelToWire(channel)[0].Plane;
184 double gain =
fPlaneToResponseMap.at(planeIdx).front()->getElectronicsResponse()->getFCperADCMicroS() * fcToElectrons;
PlaneToResponseMap fPlaneToResponseMap
double icarusutil::SignalShapingICARUSService::GetDeconNoise |
( |
unsigned int const |
channel | ) |
const |
Definition at line 225 of file SignalShapingICARUSService_service.cc.
227 art::ServiceHandle<geo::Geometry> geom;
228 size_t planeIdx = geom->ChannelToWire(channel)[0].Plane;
230 double shaping_time =
fPlaneToResponseMap.at(planeIdx).front()->getElectronicsResponse()->getASICShapingTime();
235 }
else if (
std::abs(shaping_time - 1.3)<1
e-6){
237 }
else if (
std::abs(shaping_time - 2.0)<1.
e-6){
243 double deconNoise = tempNoise.at(temp);
DoubleVec2 fNoiseFactVec
RMS noise in ADCs for lowest gain setting.
PlaneToResponseMap fPlaneToResponseMap
double icarusutil::SignalShapingICARUSService::GetDeconNorm |
( |
| ) |
|
|
inline |
DoubleVec2 icarusutil::SignalShapingICARUSService::GetNoiseFactVec |
( |
| ) |
|
|
inline |
double icarusutil::SignalShapingICARUSService::GetRawNoise |
( |
unsigned int const |
channel | ) |
const |
Definition at line 197 of file SignalShapingICARUSService_service.cc.
199 art::ServiceHandle<geo::Geometry> geom;
200 size_t planeIdx = geom->ChannelToWire(channel)[0].Plane;
202 double gain =
fPlaneToResponseMap.at(planeIdx).front()->getElectronicsResponse()->getFCperADCMicroS();
203 double shaping_time =
fPlaneToResponseMap.at(planeIdx).front()->getElectronicsResponse()->getASICShapingTime();
208 }
else if (
std::abs(shaping_time - 1.3)<1
e-6){
210 }
else if (
std::abs(shaping_time - 2.0)<1
e-6){
219 rawNoise = tempNoise.at(temp);
221 rawNoise *= gain/4.7;
DoubleVec2 fNoiseFactVec
RMS noise in ADCs for lowest gain setting.
PlaneToResponseMap fPlaneToResponseMap
Definition at line 98 of file SignalShapingICARUSService_service.cc.
102 art::ServiceHandle<geo::Geometry> geom;
105 size_t planeIdx = geom->ChannelToWire(channel)[0].Plane;
bool fInit
Initialization flag.
PlaneToResponseMap fPlaneToResponseMap
double icarusutil::SignalShapingICARUSService::GetShapingTime |
( |
unsigned int const |
planeIdx | ) |
const |
void icarusutil::SignalShapingICARUSService::init |
( |
| ) |
const |
|
inlineprivate |
void icarusutil::SignalShapingICARUSService::init |
( |
| ) |
|
|
private |
Definition at line 115 of file SignalShapingICARUSService_service.cc.
124 art::ServiceHandle<geo::Geometry> geo;
126 auto const samplingRate =
sampling_rate(art::ServiceHandle<detinfo::DetectorClocksService const>()->DataForJob());
130 double weight = 1. / integral;
132 for(
size_t planeIdx = 0; planeIdx < geo->Nplanes(); planeIdx++)
140 art::ServiceHandle<art::TFileService>
tfs;
146 art::TFileDirectory
dir = tfs->mkdir(
"SignalShaping");
149 for(
const auto& response:
fPlaneToResponseMap) response.second.front().get()->outputHistograms(samplingRate, dir);
tbb::spin_mutex signalShapingSpinMutex
size_t fPlaneForNormalization
Normalize responses to this plane.
bool fInit
Initialization flag.
PlaneToResponseMap fPlaneToResponseMap
art::ServiceHandle< art::TFileService > tfs
double sampling_rate(DetectorClocksData const &data)
Returns the period of the TPC readout electronics clock.
void icarusutil::SignalShapingICARUSService::reconfigure |
( |
const fhicl::ParameterSet & |
pset | ) |
|
Definition at line 52 of file SignalShapingICARUSService_service.cc.
54 mf::LogInfo(
"fSignalShapingICARUSService") <<
" reconfiguring setup " ;
60 const fhicl::ParameterSet& responseTools = pset.get<fhicl::ParameterSet>(
"ResponseTools");
62 for(
const std::string& responseTool : responseTools.get_pset_names())
64 const fhicl::ParameterSet& responseToolParamSet = responseTools.get<fhicl::ParameterSet>(responseTool);
65 size_t planeIdx = responseToolParamSet.get<
size_t>(
"Plane");
67 fPlaneToResponseMap[planeIdx].push_back(art::make_tool<icarus_tool::IResponse>(responseToolParamSet));
DoubleVec2 fNoiseFactVec
RMS noise in ADCs for lowest gain setting.
size_t fPlaneForNormalization
Normalize responses to this plane.
std::vector< DoubleVec > DoubleVec2
size_t fInitialFFTSize
Size we initially initalize the responses.
bool fInit
Initialization flag.
PlaneToResponseMap fPlaneToResponseMap
double fDeconNorm
Final normalization to apply.
int icarusutil::SignalShapingICARUSService::ResponseTOffset |
( |
unsigned int const |
channel | ) |
const |
Definition at line 250 of file SignalShapingICARUSService_service.cc.
254 art::ServiceHandle<geo::Geometry> geom;
256 size_t planeIdx = geom->ChannelToWire(channel)[0].Plane;
bool fInit
Initialization flag.
PlaneToResponseMap fPlaneToResponseMap
void icarusutil::SignalShapingICARUSService::SetDecon |
( |
double |
samplingRate, |
|
|
size_t |
fftsize, |
|
|
size_t |
channel |
|
) |
| |
Definition at line 159 of file SignalShapingICARUSService_service.cc.
162 art::ServiceHandle<geo::Geometry> geo;
168 double weight = 1. / integral;
170 for(
size_t planeIdx = 0; planeIdx < geo->Nplanes(); planeIdx++)
size_t fPlaneForNormalization
Normalize responses to this plane.
bool fInit
Initialization flag.
PlaneToResponseMap fPlaneToResponseMap
double icarusutil::SignalShapingICARUSService::fDeconNorm |
|
private |
bool icarusutil::SignalShapingICARUSService::fInit |
|
private |
size_t icarusutil::SignalShapingICARUSService::fInitialFFTSize |
|
private |
DoubleVec2 icarusutil::SignalShapingICARUSService::fNoiseFactVec |
|
private |
size_t icarusutil::SignalShapingICARUSService::fPlaneForNormalization |
|
private |
bool icarusutil::SignalShapingICARUSService::fPrintResponses |
|
private |
bool icarusutil::SignalShapingICARUSService::fStoreHistograms |
|
private |
The documentation for this class was generated from the following files: