Belle II Software development
PXDChargeCalibrationAlgorithm.h
1/**************************************************************************
2 * basf2 (Belle II Analysis Software Framework) *
3 * Author: The Belle II Collaboration *
4 * *
5 * See git log for contributors and copyright holders. *
6 * This file is licensed under LGPL-3.0, see LICENSE.md. *
7 **************************************************************************/
8
9#pragma once
10#include <calibration/CalibrationAlgorithm.h>
11#include <vxd/dataobjects/VxdID.h>
12#include <vector>
13
14
15namespace Belle2 {
24 public:
25
28
31
34
37
40
43 protected:
44
46 virtual EResult calibrate() override;
47
48 private:
49
51 double EstimateCharge(VxdID sensorID, unsigned short uBin, unsigned short vBin);
52
54 double CalculateMedian(std::vector<double>& signals);
55
57 double FitLandau(std::vector<double>& signals);
58 };
60} // namespace Belle2
61
62
Base class for calibration algorithms.
EResult
The result of calibration.
Class implementing the PXD median cluster charge calibration algorithm.
double EstimateCharge(VxdID sensorID, unsigned short uBin, unsigned short vBin)
Estimate median charge form collected clusters on part of PXD.
double FitLandau(std::vector< double > &signals)
calculate MPV of unsorted signal vector using a Landau fit
PXDChargeCalibrationAlgorithm()
Constructor set the prefix to PXDChargeCalibrationAlgorithm.
int minClusters
Minimum number of collected clusters for estimating median charge.
float noiseSigma
Artificial noise sigma for smearing cluster charge.
virtual EResult calibrate() override
Run algo on data.
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.
double CalculateMedian(std::vector< double > &signals)
Calculate a median from unsorted signal vector. The input vector gets sorted.
bool forceContinue
Force continue in low statistics runs instead of returning c_NotEnoughData.
Class to uniquely identify a any structure of the PXD and SVD.
Definition: VxdID.h:33
Abstract base class for different kinds of events.