Handles the calibration of timing, charge, and position data in the MUX system. More...
#include <TMUXCalibrationProcessor.h>
Public Member Functions | |
| TMUXCalibrationProcessor () | |
| Constructor. | |
| ~TMUXCalibrationProcessor () override | |
| Destructor. | |
| void | Init (TEventCollection *col) override |
| Initializes the processor by setting up input and output collections. | |
| void | Process () override |
| Processes the input data, applies calibration, and stores the results. | |
Private Member Functions | |
| TMUXCalibrationProcessor (const TMUXCalibrationProcessor &rhs)=delete | |
| double | CalibrateValue (double raw, int id, const TClonesArray *converterArray) const |
| Calibrates a raw value (e.g., timing or charge) using the specified converter array. | |
| ClassDefOverride (TMUXCalibrationProcessor, 2) | |
| ROOT class definition macro. | |
| double | ConvertPosition (double pos, int id) const |
| Converts a raw position value to a detector ID using the position converter array. | |
| TMUXCalibrationProcessor & | operator= (const TMUXCalibrationProcessor &rhs)=delete |
Private Attributes | |
| TClonesArray * | fChargeConverterArray |
| ! Pointer to the charge converter array. | |
| TString | fChargeConverterArrayName |
| Name of the charge converter array parameter. | |
| Bool_t | fHasReflection |
| Indicates whether to apply reflection to the detector ID. | |
| TClonesArray ** | fInData |
| ! Pointer to the input data collection. | |
| TString | fInputColName |
| Name of the input collection. | |
| Bool_t | fInputIsDigital |
| Indicates whether the input data is digital. | |
| TClonesArray * | fOutData |
| ! Pointer to the output data collection. | |
| TString | fOutputColName |
| Name of the output collection. | |
| TClonesArray * | fPositionConverterArray |
| ! Pointer to the position converter array. | |
| TString | fPositionConverterArrayName |
| Name of the position converter array parameter. | |
| TClonesArray * | fTimingConverterArray |
| ! Pointer to the timing converter array. | |
| TString | fTimingConverterArrayName |
| Name of the timing converter array parameter. | |
Handles the calibration of timing, charge, and position data in the MUX system.
This class reads input data from a TClonesArray, applies calibration transformations using affine converters for timing and charge, and custom MUX converters for position. The calibrated data is then stored in another TClonesArray.
Definition at line 46 of file TMUXCalibrationProcessor.h.
| art::crib::TMUXCalibrationProcessor::TMUXCalibrationProcessor | ( | ) |
Constructor.
Definition at line 36 of file TMUXCalibrationProcessor.cc.
|
override |
Destructor.
Cleans up allocated resources.
Definition at line 61 of file TMUXCalibrationProcessor.cc.
|
privatedelete |
|
private |
Calibrates a raw value (e.g., timing or charge) using the specified converter array.
| raw | The raw value to calibrate. |
| id | The index of the converter to use. |
| converterArray | The array of converters to use for calibration. |
Calibrates a raw value (such as timing or charge) using the specified converter array. If the input is digital (fInputIsDigital), a random value is added to the raw input to simulate analog noise. If the converter array is not available or the conversion fails, the raw value is returned unchanged.
Definition at line 185 of file TMUXCalibrationProcessor.cc.
|
private |
ROOT class definition macro.
|
private |
Converts a raw position value to a detector ID using the position converter array.
| pos | The raw position value to convert. |
| id | The index of the converter to use. |
Converts a raw position value to a detector ID by using the position converter array. If the position converter array is not available or the conversion fails, an invalid value (kInvalidD) is returned.
Definition at line 172 of file TMUXCalibrationProcessor.cc.
|
override |
Initializes the processor by setting up input and output collections.
| col | A pointer to the TEventCollection for managing data collections. |
This method initializes the processor by:
fTimingConverterArray, fChargeConverterArray, fPositionConverterArray) based on the specified parameters.If the required position converter array is not provided, the processor is put into an error state.
Definition at line 76 of file TMUXCalibrationProcessor.cc.
|
privatedelete |
|
override |
Processes the input data, applies calibration, and stores the results.
The Process method performs the following steps:
nData == 0), the method exits as this is a valid condition.TMUXData.P1) to a detector ID.fHasReflection is enabled.Definition at line 131 of file TMUXCalibrationProcessor.cc.
|
private |
! Pointer to the charge converter array.
Definition at line 80 of file TMUXCalibrationProcessor.h.
|
private |
Name of the charge converter array parameter.
Definition at line 76 of file TMUXCalibrationProcessor.h.
|
private |
Indicates whether to apply reflection to the detector ID.
Definition at line 83 of file TMUXCalibrationProcessor.h.
|
private |
! Pointer to the input data collection.
Definition at line 72 of file TMUXCalibrationProcessor.h.
|
private |
Name of the input collection.
Definition at line 70 of file TMUXCalibrationProcessor.h.
|
private |
Indicates whether the input data is digital.
Definition at line 84 of file TMUXCalibrationProcessor.h.
|
private |
! Pointer to the output data collection.
Definition at line 73 of file TMUXCalibrationProcessor.h.
|
private |
Name of the output collection.
Definition at line 71 of file TMUXCalibrationProcessor.h.
|
private |
! Pointer to the position converter array.
Definition at line 81 of file TMUXCalibrationProcessor.h.
|
private |
Name of the position converter array parameter.
Definition at line 77 of file TMUXCalibrationProcessor.h.
|
private |
! Pointer to the timing converter array.
Definition at line 79 of file TMUXCalibrationProcessor.h.
|
private |
Name of the timing converter array parameter.
Definition at line 75 of file TMUXCalibrationProcessor.h.