Belle II Software  release-05-02-19
PXDChargeCalibrationAlgorithm.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2010 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Benjamin Schwenker *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 #include <calibration/CalibrationAlgorithm.h>
13 #include <vxd/dataobjects/VxdID.h>
14 #include <vector>
15 
16 
17 namespace Belle2 {
25  class PXDChargeCalibrationAlgorithm : public CalibrationAlgorithm {
26  public:
27 
30 
32  int minClusters;
33 
35  float noiseSigma;
36 
38  float safetyFactor;
39 
41  bool forceContinue;
42 
44  int strategy;
45  protected:
46 
48  virtual EResult calibrate() override;
49 
50  private:
51 
53  double EstimateCharge(VxdID sensorID, unsigned short uBin, unsigned short vBin);
54 
56  double CalculateMedian(std::vector<double>& signals);
57 
59  double FitLandau(std::vector<double>& signals);
60  };
62 } // namespace Belle2
63 
64 
Belle2::PXDChargeCalibrationAlgorithm::noiseSigma
float noiseSigma
Artificial noise sigma for smearing cluster charge.
Definition: PXDChargeCalibrationAlgorithm.h:43
Belle2::VxdID
Class to uniquely identify a any structure of the PXD and SVD.
Definition: VxdID.h:43
Belle2::PXDChargeCalibrationAlgorithm::calibrate
virtual EResult calibrate() override
Run algo on data.
Definition: PXDChargeCalibrationAlgorithm.cc:112
Belle2::PXDChargeCalibrationAlgorithm::strategy
int strategy
strategy to used for gain calibration, 0 for medians, 1 for landau fit
Definition: PXDChargeCalibrationAlgorithm.h:52
Belle2::PXDChargeCalibrationAlgorithm::minClusters
int minClusters
Minimum number of collected clusters for estimating median charge.
Definition: PXDChargeCalibrationAlgorithm.h:40
Belle2::PXDChargeCalibrationAlgorithm::forceContinue
bool forceContinue
Force continue in low statistics runs instead of returning c_NotEnoughData.
Definition: PXDChargeCalibrationAlgorithm.h:49
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::PXDChargeCalibrationAlgorithm::safetyFactor
float safetyFactor
Safety factor for determining whether the collected number of clusters is enough.
Definition: PXDChargeCalibrationAlgorithm.h:46
Belle2::PXDChargeCalibrationAlgorithm::CalculateMedian
double CalculateMedian(std::vector< double > &signals)
Calculate a median from unsorted signal vector. The input vector gets sorted.
Definition: PXDChargeCalibrationAlgorithm.cc:219
Belle2::PXDChargeCalibrationAlgorithm::FitLandau
double FitLandau(std::vector< double > &signals)
calculate MPV of unsorted signal vector using a Landau fit
Definition: PXDChargeCalibrationAlgorithm.cc:235
Belle2::CalibrationAlgorithm::EResult
EResult
The result of calibration.
Definition: CalibrationAlgorithm.h:50
Belle2::PXDChargeCalibrationAlgorithm::EstimateCharge
double EstimateCharge(VxdID sensorID, unsigned short uBin, unsigned short vBin)
Estimate median charge form collected clusters on part of PXD.
Definition: PXDChargeCalibrationAlgorithm.cc:188
Belle2::PXDChargeCalibrationAlgorithm::PXDChargeCalibrationAlgorithm
PXDChargeCalibrationAlgorithm()
Constructor set the prefix to PXDChargeCalibrationAlgorithm.
Definition: PXDChargeCalibrationAlgorithm.cc:97