LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
|
Public Types | |
using | ModuleType = EDProducer |
template<typename UserConfig , typename KeysToIgnore = void> | |
using | Table = Modifier::Table< UserConfig, KeysToIgnore > |
Public Member Functions | |
SimWire (fhicl::ParameterSet const &pset) | |
void | doBeginJob (SharedResources const &resources) |
void | doEndJob () |
void | doRespondToOpenInputFile (FileBlock const &fb) |
void | doRespondToCloseInputFile (FileBlock const &fb) |
void | doRespondToOpenOutputFiles (FileBlock const &fb) |
void | doRespondToCloseOutputFiles (FileBlock const &fb) |
bool | doBeginRun (RunPrincipal &rp, ModuleContext const &mc) |
bool | doEndRun (RunPrincipal &rp, ModuleContext const &mc) |
bool | doBeginSubRun (SubRunPrincipal &srp, ModuleContext const &mc) |
bool | doEndSubRun (SubRunPrincipal &srp, ModuleContext const &mc) |
bool | doEvent (EventPrincipal &ep, ModuleContext const &mc, std::atomic< std::size_t > &counts_run, std::atomic< std::size_t > &counts_passed, std::atomic< std::size_t > &counts_failed) |
void | fillProductDescriptions () |
void | registerProducts (ProductDescriptions &productsToRegister) |
ModuleDescription const & | moduleDescription () const |
void | setModuleDescription (ModuleDescription const &) |
std::array< std::vector< ProductInfo >, NumBranchTypes > const & | getConsumables () const |
void | sortConsumables (std::string const ¤t_process_name) |
std::unique_ptr< Worker > | makeWorker (WorkerParams const &wp) |
template<typename T , BranchType BT> | |
ViewToken< T > | consumesView (InputTag const &tag) |
template<typename T , BranchType BT> | |
ViewToken< T > | mayConsumeView (InputTag const &tag) |
Protected Member Functions | |
ConsumesCollector & | consumesCollector () |
template<typename T , BranchType = InEvent> | |
ProductToken< T > | consumes (InputTag const &) |
template<typename Element , BranchType = InEvent> | |
ViewToken< Element > | consumesView (InputTag const &) |
template<typename T , BranchType = InEvent> | |
void | consumesMany () |
template<typename T , BranchType = InEvent> | |
ProductToken< T > | mayConsume (InputTag const &) |
template<typename Element , BranchType = InEvent> | |
ViewToken< Element > | mayConsumeView (InputTag const &) |
template<typename T , BranchType = InEvent> | |
void | mayConsumeMany () |
Private Member Functions | |
void | produce (art::Event &evt) override |
void | beginJob () override |
void | ConvoluteResponseFunctions () |
convolute electronics and field response More... | |
void | SetFieldResponse () |
response of wires to field More... | |
void | SetElectResponse () |
response of electronics More... | |
void | GenNoise (std::vector< float > &array, CLHEP::HepRandomEngine &engine) |
Private Attributes | |
std::string | fDriftEModuleLabel |
module making the ionization electrons More... | |
raw::Compress_t | fCompression |
compression type to use More... | |
int | fNTicks |
number of ticks of the clock More... | |
double | fSampleRate |
sampling rate in ns More... | |
unsigned int | fNSamplesReadout |
number of ADC readout samples in 1 readout frame More... | |
double | fCol3DCorrection |
double | fInd3DCorrection |
unsigned int | fNElectResp |
number of entries from response to use More... | |
double | fInputFieldRespSamplingPeriod |
Sampling period in the input field response. More... | |
double | fShapeTimeConst |
time constants for exponential shaping More... | |
double | fADCPerPCAtLowestASICGain |
ADCs/pC at lowest gain setting of 4.7 mV/fC. More... | |
double | fASICGainInMVPerFC |
actual gain setting used in mV/fC More... | |
int | fNoiseNchToSim |
number of noise channels to generate More... | |
std::string | fNoiseModelChoice |
choice for noise model More... | |
std::string | fNoiseFluctChoice |
choice for noise freq component mag fluctuations More... | |
std::vector< int > | fFieldRespTOffset |
field response time offset in ticks More... | |
std::vector< int > | fCalibRespTOffset |
calib response time offset in ticks More... | |
std::vector< float > | fColFieldParams |
collection plane field function parameterization More... | |
std::vector< float > | fIndFieldParams |
induction plane field function parameterization More... | |
std::vector< double > | fColFieldResponse |
response function for the field @ collection plane More... | |
std::vector< double > | fIndFieldResponse |
response function for the field @ induction plane More... | |
std::vector< TComplex > | fColShape |
response function for the field @ collection plane More... | |
std::vector< TComplex > | fIndShape |
response function for the field @ induction plane More... | |
std::vector< double > | fElectResponse |
response function for the electronics More... | |
std::vector< std::vector< float > > | fNoise |
noise on each channel for each time More... | |
std::vector< double > | fNoiseModelPar |
noise model params More... | |
std::vector< double > | fNoiseFluctPar |
Poisson noise fluctuations params. More... | |
TH1D * | fIndFieldResp |
response function for the field @ induction plane More... | |
TH1D * | fColFieldResp |
response function for the field @ collection plane More... | |
TH1D * | fElectResp |
response function for the electronics More... | |
TH1D * | fColTimeShape |
convoluted shape for field x electronics @ col plane More... | |
TH1D * | fIndTimeShape |
convoluted shape for field x electronics @ ind plane More... | |
TH1D * | fNoiseDist |
distribution of noise counts More... | |
TF1 * | fNoiseFluct |
Poisson dist for fluctuations in magnitude of noise freq components. More... | |
CLHEP::HepRandomEngine & | fEngine |
Random-number engine owned by art. More... | |
Definition at line 69 of file SimWire_module.cc.
|
inherited |
Definition at line 17 of file EDProducer.h.
|
inherited |
Definition at line 26 of file Producer.h.
|
explicit |
Definition at line 132 of file SimWire_module.cc.
References art::detail::EngineCreator::createEngine(), fADCPerPCAtLowestASICGain, fASICGainInMVPerFC, fCalibRespTOffset, fCol3DCorrection, fColFieldParams, fCompression, fDriftEModuleLabel, fEngine, fFieldRespTOffset, fInd3DCorrection, fIndFieldParams, fInputFieldRespSamplingPeriod, fNoiseFluctChoice, fNoiseFluctPar, fNoiseModelChoice, fNoiseModelPar, fNoiseNchToSim, fNSamplesReadout, fSampleRate, fShapeTimeConst, raw::kHuffman, raw::kNone, MF_LOG_WARNING, and detinfo::sampling_rate().
|
overrideprivatevirtual |
Reimplemented from art::EDProducer.
Definition at line 173 of file SimWire_module.cc.
References ConvoluteResponseFunctions(), fEngine, util::LArFFT::FFTSize(), fNoise, fNoiseDist, fNoiseFluct, fNoiseFluctChoice, fNoiseFluctPar, fNoiseNchToSim, fNTicks, GenNoise(), SetElectResponse(), and SetFieldResponse().
|
protectedinherited |
Definition at line 61 of file ModuleBase.h.
References art::ModuleBase::collector_, and art::ConsumesCollector::consumes().
|
protectedinherited |
|
protectedinherited |
Definition at line 75 of file ModuleBase.h.
References art::ModuleBase::collector_, and art::ConsumesCollector::consumesMany().
|
protectedinherited |
|
inherited |
Definition at line 68 of file ModuleBase.h.
References art::ModuleBase::collector_, and art::ConsumesCollector::consumesView().
|
private |
convolute electronics and field response
Definition at line 341 of file SimWire_module.cc.
References col, util::LArFFT::DoFFT(), util::LArFFT::DoInvFFT(), fColFieldResponse, fColShape, fColTimeShape, fElectResponse, fIndFieldResponse, fIndShape, fIndTimeShape, fNTicks, util::LArFFT::PeakCorrelation(), and util::LArFFT::ShiftData().
Referenced by beginJob().
|
inherited |
Definition at line 22 of file Producer.cc.
References art::detail::Producer::beginJobWithFrame(), and art::detail::Producer::setupQueues().
|
inherited |
Definition at line 65 of file Producer.cc.
References art::detail::Producer::beginRunWithFrame(), art::RangeSet::forRun(), art::RunPrincipal::makeRun(), r, art::RunPrincipal::runID(), and art::ModuleContext::scheduleID().
|
inherited |
Definition at line 85 of file Producer.cc.
References art::detail::Producer::beginSubRunWithFrame(), art::RangeSet::forSubRun(), art::SubRunPrincipal::makeSubRun(), art::ModuleContext::scheduleID(), and art::SubRunPrincipal::subRunID().
|
inherited |
Definition at line 30 of file Producer.cc.
References art::detail::Producer::endJobWithFrame().
|
inherited |
Definition at line 75 of file Producer.cc.
References art::detail::Producer::endRunWithFrame(), art::RunPrincipal::makeRun(), r, art::ModuleContext::scheduleID(), and art::Principal::seenRanges().
|
inherited |
Definition at line 95 of file Producer.cc.
References art::detail::Producer::endSubRunWithFrame(), art::SubRunPrincipal::makeSubRun(), art::ModuleContext::scheduleID(), and art::Principal::seenRanges().
|
inherited |
Definition at line 105 of file Producer.cc.
References art::detail::Producer::checkPutProducts_, e, art::EventPrincipal::makeEvent(), art::detail::Producer::produceWithFrame(), and art::ModuleContext::scheduleID().
|
inherited |
Definition at line 44 of file Producer.cc.
References art::detail::Producer::respondToCloseInputFileWithFrame().
|
inherited |
Definition at line 58 of file Producer.cc.
References art::detail::Producer::respondToCloseOutputFilesWithFrame().
|
inherited |
Definition at line 37 of file Producer.cc.
References art::detail::Producer::respondToOpenInputFileWithFrame().
|
inherited |
Definition at line 51 of file Producer.cc.
References art::detail::Producer::respondToOpenOutputFilesWithFrame().
|
inherited |
Definition at line 10 of file Modifier.cc.
References art::ProductRegistryHelper::fillDescriptions(), and art::ModuleBase::moduleDescription().
|
private |
Definition at line 408 of file SimWire_module.cc.
References util::LArFFT::DoInvFFT(), fNoiseFluct, fNoiseModelChoice, fNoiseModelPar, fNTicks, fSampleRate, and x.
Referenced by beginJob(), and produce().
|
inherited |
Definition at line 43 of file ModuleBase.cc.
References art::ModuleBase::collector_, and art::ConsumesCollector::getConsumables().
|
inherited |
Definition at line 37 of file ModuleBase.cc.
References art::ModuleBase::doMakeWorker(), and art::NumBranchTypes.
|
protectedinherited |
Definition at line 82 of file ModuleBase.h.
References art::ModuleBase::collector_, and art::ConsumesCollector::mayConsume().
|
protectedinherited |
Definition at line 96 of file ModuleBase.h.
References art::ModuleBase::collector_, and art::ConsumesCollector::mayConsumeMany().
|
protectedinherited |
|
inherited |
Definition at line 89 of file ModuleBase.h.
References art::ModuleBase::collector_, and art::ConsumesCollector::mayConsumeView().
|
inherited |
Definition at line 13 of file ModuleBase.cc.
References art::errors::LogicError.
Referenced by art::OutputModule::doRespondToOpenInputFile(), art::OutputModule::doWriteEvent(), art::Modifier::fillProductDescriptions(), art::OutputModule::makePlugins_(), art::OutputWorker::OutputWorker(), reco::shower::LArPandoraModularShowerCreation::produce(), art::Modifier::registerProducts(), and art::OutputModule::registerProducts().
|
overrideprivatevirtual |
Implements art::EDProducer.
Definition at line 231 of file SimWire_module.cc.
References sim::SimChannel::Charge(), raw::Compress(), fCalibRespTOffset, fColShape, fCompression, fDriftEModuleLabel, fEngine, fFieldRespTOffset, fIndShape, fNoise, fNoiseNchToSim, fNSamplesReadout, fNTicks, GenNoise(), art::ProductRetriever::getView(), geo::kInduction, geo::GeometryCore::Nchannels(), art::Event::put(), sc, and geo::GeometryCore::SignalType().
|
inherited |
Definition at line 16 of file Modifier.cc.
References art::ModuleBase::moduleDescription(), and art::ProductRegistryHelper::registerProducts().
|
private |
response of electronics
Definition at line 538 of file SimWire_module.cc.
References DEFINE_ART_MODULE, e, fADCPerPCAtLowestASICGain, fASICGainInMVPerFC, fElectResp, fElectResponse, fInputFieldRespSamplingPeriod, fNElectResp, fNTicks, and fShapeTimeConst.
Referenced by beginJob().
|
private |
response of wires to field
Definition at line 484 of file SimWire_module.cc.
References fColFieldParams, fColFieldResp, fColFieldResponse, fIndFieldParams, fIndFieldResp, fIndFieldResponse, and fNTicks.
Referenced by beginJob().
|
inherited |
|
inherited |
Definition at line 49 of file ModuleBase.cc.
References art::ModuleBase::collector_, and art::ConsumesCollector::sortConsumables().
|
private |
ADCs/pC at lowest gain setting of 4.7 mV/fC.
Definition at line 97 of file SimWire_module.cc.
Referenced by SetElectResponse(), and SimWire().
|
private |
actual gain setting used in mV/fC
Definition at line 98 of file SimWire_module.cc.
Referenced by SetElectResponse(), and SimWire().
|
private |
calib response time offset in ticks
Definition at line 104 of file SimWire_module.cc.
|
private |
correction factor to account for 3D path of electrons thru wires
Definition at line 90 of file SimWire_module.cc.
Referenced by SimWire().
|
private |
collection plane field function parameterization
Definition at line 105 of file SimWire_module.cc.
Referenced by SetFieldResponse(), and SimWire().
|
private |
response function for the field @ collection plane
Definition at line 117 of file SimWire_module.cc.
Referenced by SetFieldResponse().
|
private |
response function for the field @ collection plane
Definition at line 107 of file SimWire_module.cc.
Referenced by ConvoluteResponseFunctions(), and SetFieldResponse().
|
private |
response function for the field @ collection plane
Definition at line 109 of file SimWire_module.cc.
Referenced by ConvoluteResponseFunctions(), and produce().
|
private |
convoluted shape for field x electronics @ col plane
Definition at line 119 of file SimWire_module.cc.
Referenced by ConvoluteResponseFunctions().
|
private |
compression type to use
Definition at line 85 of file SimWire_module.cc.
|
private |
module making the ionization electrons
Definition at line 84 of file SimWire_module.cc.
|
private |
response function for the electronics
Definition at line 118 of file SimWire_module.cc.
Referenced by SetElectResponse().
|
private |
response function for the electronics
Definition at line 111 of file SimWire_module.cc.
Referenced by ConvoluteResponseFunctions(), and SetElectResponse().
|
private |
Random-number engine owned by art.
Definition at line 124 of file SimWire_module.cc.
Referenced by beginJob(), produce(), and SimWire().
|
private |
field response time offset in ticks
Definition at line 103 of file SimWire_module.cc.
|
private |
correction factor to account for 3D path of electrons thru wires
Definition at line 92 of file SimWire_module.cc.
Referenced by SimWire().
|
private |
induction plane field function parameterization
Definition at line 106 of file SimWire_module.cc.
Referenced by SetFieldResponse(), and SimWire().
|
private |
response function for the field @ induction plane
Definition at line 116 of file SimWire_module.cc.
Referenced by SetFieldResponse().
|
private |
response function for the field @ induction plane
Definition at line 108 of file SimWire_module.cc.
Referenced by ConvoluteResponseFunctions(), and SetFieldResponse().
|
private |
response function for the field @ induction plane
Definition at line 110 of file SimWire_module.cc.
Referenced by ConvoluteResponseFunctions(), and produce().
|
private |
convoluted shape for field x electronics @ ind plane
Definition at line 120 of file SimWire_module.cc.
Referenced by ConvoluteResponseFunctions().
|
private |
Sampling period in the input field response.
Definition at line 95 of file SimWire_module.cc.
Referenced by SetElectResponse(), and SimWire().
|
private |
number of entries from response to use
Definition at line 94 of file SimWire_module.cc.
Referenced by SetElectResponse().
|
private |
noise on each channel for each time
Definition at line 112 of file SimWire_module.cc.
Referenced by beginJob(), and produce().
|
private |
distribution of noise counts
Definition at line 121 of file SimWire_module.cc.
Referenced by beginJob().
|
private |
Poisson dist for fluctuations in magnitude of noise freq components.
Definition at line 122 of file SimWire_module.cc.
Referenced by beginJob(), and GenNoise().
|
private |
choice for noise freq component mag fluctuations
Definition at line 101 of file SimWire_module.cc.
Referenced by beginJob(), and SimWire().
|
private |
Poisson noise fluctuations params.
Definition at line 114 of file SimWire_module.cc.
Referenced by beginJob(), and SimWire().
|
private |
choice for noise model
Definition at line 100 of file SimWire_module.cc.
Referenced by GenNoise(), and SimWire().
|
private |
noise model params
Definition at line 113 of file SimWire_module.cc.
Referenced by GenNoise(), and SimWire().
|
private |
number of noise channels to generate
Definition at line 99 of file SimWire_module.cc.
Referenced by beginJob(), produce(), and SimWire().
|
private |
number of ADC readout samples in 1 readout frame
Definition at line 89 of file SimWire_module.cc.
|
private |
number of ticks of the clock
Definition at line 87 of file SimWire_module.cc.
Referenced by beginJob(), ConvoluteResponseFunctions(), GenNoise(), produce(), SetElectResponse(), and SetFieldResponse().
|
private |
sampling rate in ns
Definition at line 88 of file SimWire_module.cc.
Referenced by GenNoise(), and SimWire().
|
private |
time constants for exponential shaping
Definition at line 96 of file SimWire_module.cc.
Referenced by SetElectResponse(), and SimWire().