10#include <calibration/CalibrationAlgorithm.h>
11#include <vxd/dataobjects/VxdID.h>
77 double EstimateGain(
VxdID sensorID,
unsigned short uBin,
unsigned short vBin, TH1* hist =
nullptr);
Base class for calibration algorithms.
std::vector< Calibration::ExpRun > m_boundaries
When using the boundaries functionality from isBoundaryRequired, this is used to store the boundaries...
EResult
The result of calibration.
Class implementing the PXD gain calibration algorithm.
PXDAnalyticGainCalibrationAlgorithm()
Constructor set the prefix to PXDAnalyticGainCalibrationAlgorithm.
double GetCurrentGainFromDB(VxdID sensorID, unsigned short uBin, unsigned short vBin)
Retrive current gain value from pulled in data base payload.
bool correctForward
Flag to update default gains in forward region due to low statistics.
int minClusters
Minimum number of collected clusters for estimating gains.
virtual void boundaryFindingSetup(std::vector< Calibration::ExpRun >, int) override
What we do before isBoundaryRequired gets called.
std::vector< Calibration::ExpRun > getBoundaries() const
getter for current boundaries
void setBoundaries(const std::vector< Calibration::ExpRun > &boundaries)
Setter for boundaries.
double EstimateGain(VxdID sensorID, unsigned short uBin, unsigned short vBin, TH1 *hist=nullptr)
Estimate gain as ratio of medians from MC and data for a part of PXD.
virtual EResult calibrate() override
Run algo on data.
virtual ~PXDAnalyticGainCalibrationAlgorithm()
Destructor.
int strategy
strategy to used for gain calibration, 0 for medians, 1 for landau fit
float safetyFactor
Safety factor for determining whether the collected number of clusters is enough.
bool useChargeRatioHistogram
Flag to use histogram of charge ratio (relative to expected MPV)
std::vector< Calibration::ExpRun > m_requestedBoundaries
During findPayloadBoundaries and isBoundaryRequired this is used to define the boundaries we want.
bool forceContinue
Force continue in low statistics runs instead of returning c_NotEnoughData.
virtual bool isBoundaryRequired(const Calibration::ExpRun &) override
Decide if a run should be a payload boundary. Only used in certain Python Algorithm Starategies.
Class to uniquely identify a any structure of the PXD and SVD.
Abstract base class for different kinds of events.