Present: Jim Kowalkowski, Gianluca Petrillo, Brian Rebel, Erica Snider, Tingjun Yang
The issue was presented in the general terms of a service providing the pedestal value for a channel in the current event.
The interface of the service would answer queries based on a channel ID.
The current LArSoft provides such an interface, tied to an external data source like a database.
A new requirement is dictated by the special case of LArIAT, where this information is not stored in a data base but rather in the event, together with the channel reading (
raw::RawDigit
object).
The current LArSoft is not able to retrieve this information from an
art::Event
.
LArIAT is currently working around this limitation by recording in
raw::RawDigit
the signal already pedestal-subtracted, and overriding the pedestal to 0 in the code.
The override is relevant only in:
-
the event display, that subtracts the pedestal before plotting the raw digits
-
the wire calibration, that is code specific to LArIAT
-
potentially,
RawHitFinder
algorithm and module
-
no other places are known to the convened.
Brian Rebel explains that LArIAT event duration is very long and driven by the spill time, and it therefore merges data from different triggers.
This data is stored in each event as one
raw::RawDigit
per channel per trigger.
Therefore a generic interface should include, together with the channel ID, also the information about which trigger the pedestal is for.
The solution proposed by Gianluca is inadequate to support this use case.
Although more complicate solutions could be devised, it is agreed that such solutions be considered only when such requirement arises from additional stakeholders.
LArIAT will keep storing the digits already pedestal-subtracted, and storing into
raw::RawDigit::fPedestal
the value of pedestal that was subtracted.
This implies in the previous cases:
-
the pedestal to be subtracted is overridden to be 0 in LArIAT's configuration of the event display
-
LArIAT wire calibration already deals with its data correctly, not subtracting any pedestal
-
LArIAT is not using, or planning to use,
RawHitFinder
module
In general the existing code (including for example
RawHitFinder
module)
might be universally compatible with LArIAT provided that:
-
generic code never uses
raw::RawDigit::Pedestal()
to perform pedestal subtraction (or for anything else), but queries the pedestal service instead
-
LArIAT configures the existing pedestal service to always return a null pedestal
The only action item emerged from the discussion is the following:
-
LArSoft will document that the use of
raw::RawDigit::Pedestal()
is deprecated and its presence is for information only
There are minutes attached to this event.
Show them.