Produces energy deposition summary data products. More...
Classes | |
struct | Config |
struct | TimingPack_t |
Public Types | |
using | microseconds = util::quantities::intervals::microseconds |
using | Parameters = art::EDProducer::Table< Config > |
Public Member Functions | |
ExtractEnergyDepositionSummary (Parameters const &config) | |
virtual void | produce (art::Event &event) override |
Creates the data products. More... | |
Private Types | |
using | EDepTags_t = details::EventInfoExtractorMaker::EDepTags_t |
Static Private Member Functions | |
static EDepTags_t | makeEnergyDepSourceTag (fhicl::Sequence< art::InputTag > const &energyDepositTags, fhicl::OptionalAtom< art::InputTag > const &simChannelTag) |
Fills a energy deposition tag object from the specified configuration. More... | |
Private Attributes | |
microseconds | fBeamGateDuration |
Duration of the gate during with global optical triggers are accepted. More... | |
microseconds | fBeamGateStart |
Start of the beam gate with respect to BeamGate() . More... | |
microseconds | fPreSpillWindow |
Duration of the pre-spill gate. More... | |
microseconds | fPreSpillStart |
Start of the pre-spill gate. More... | |
std::string const | fLogCategory |
Category name for the console output stream. More... | |
geo::GeometryCore const & | fGeom |
Access to detector geometry information. More... | |
std::optional< TimingPack_t > | fDetProps |
All information about detector timings and properties. More... | |
icarus::ns::util::ThreadSafeChangeMonitor < icarus::trigger::BeamGateStruct > | fBeamGateChangeCheck |
Functor returning whether a gate has changed. More... | |
details::EventInfoExtractorMaker const | fEventInfoExtractorMaker |
Produces energy deposition summary data products.
The data product produced by this module is an alternative to storing the whole energy deposition, which can be huge.
This module takes its information from sim::SimEnergyDeposits
data product in input, simply providing a sum of it within the specified time interval.
icarus::SimEnergyDepositSummary
: sums of energies in a spill time, in a pre-spill time, and total, everywhere and in active volume only.std::vector<sim::SimEnergyDeposits>
(multiple supported) or std::vector<sim::SimChannel>
to extract the deposited energy from.The following services are required:
Geometry
for the determination of the active volume(s)DetectorClocksService
for the determination of beam gate and for time backtracking if energy deposition information is from sim::SimChannel
DetectorPropertiesService
for time backtracking if energy depositionsim::SimChannel
A terse description of the parameters is printed by running lar --print-description ExtractEnergyDepositionSummary
.
EnergyDepositTags
(list of input tags, default: [ "largeant:TPCActive" ]
): a list of data products with energy depositions. In alternative, SimChannelTag
can be specified instead.SimChannelTag
(input tag): tag of the data product with sim::SimChannels
to extract the energy information from. If specified, it overrides EnergyDepositTags
and extracts energy information from the sim::SimChannel
data product identified by this tag. This option is for flawed input samples only, and EnergyDepositTags
is recommended instead.BeamGateDuration
(time, mandatory): the duration of the beam gate; the time requires the unit to be explicitly specified: use "1.6 us"
for BNB, 9.5 us
for NuMI (also available as BNB_settings.spill_duration
and NuMI_settings.spill_duration
in trigger_icarus.fcl
).BeamGateStart
(time, default: 0 s): open the beam gate this long after the nominal beam gate time.PreSpillWindow
(time, default: 10 s): duration of the pre-spill window.PreSpillWindowGap
(time, default: 0 s): gap from the end of pre-spill window to the start of beam gate.OutputCategory
(string, default: "ExtractEnergyDepositionSummary"
): label for the category of messages in the console output; this is the label that can be used for filtering messages via MessageFacility service configuration. Definition at line 121 of file ExtractEnergyDepositionSummary_module.cc.
|
private |
Definition at line 195 of file ExtractEnergyDepositionSummary_module.cc.
using icarus::trigger::ExtractEnergyDepositionSummary::microseconds = util::quantities::intervals::microseconds |
Definition at line 125 of file ExtractEnergyDepositionSummary_module.cc.
using icarus::trigger::ExtractEnergyDepositionSummary::Parameters = art::EDProducer::Table<Config> |
Definition at line 175 of file ExtractEnergyDepositionSummary_module.cc.
|
explicit |
Definition at line 274 of file ExtractEnergyDepositionSummary_module.cc.
|
staticprivate |
Fills a energy deposition tag object from the specified configuration.
Definition at line 360 of file ExtractEnergyDepositionSummary_module.cc.
|
overridevirtual |
Creates the data products.
Definition at line 312 of file ExtractEnergyDepositionSummary_module.cc.
|
private |
Functor returning whether a gate has changed.
Definition at line 251 of file ExtractEnergyDepositionSummary_module.cc.
|
private |
Duration of the gate during with global optical triggers are accepted.
Definition at line 201 of file ExtractEnergyDepositionSummary_module.cc.
|
private |
Start of the beam gate with respect to BeamGate()
.
Definition at line 204 of file ExtractEnergyDepositionSummary_module.cc.
|
private |
All information about detector timings and properties.
Definition at line 242 of file ExtractEnergyDepositionSummary_module.cc.
|
private |
Definition at line 253 of file ExtractEnergyDepositionSummary_module.cc.
|
private |
Access to detector geometry information.
Definition at line 239 of file ExtractEnergyDepositionSummary_module.cc.
|
private |
Category name for the console output stream.
Definition at line 210 of file ExtractEnergyDepositionSummary_module.cc.
|
private |
Start of the pre-spill gate.
Definition at line 208 of file ExtractEnergyDepositionSummary_module.cc.
|
private |
Duration of the pre-spill gate.
Definition at line 206 of file ExtractEnergyDepositionSummary_module.cc.