Belle II Software  release-05-02-19
PXDDataMCGainCalibrationAlgorithm.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, Maiko Takahashi *
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 #include <string>
16 #include <TH1D.h>
17 
18 
19 namespace Belle2 {
27  class PXDDataMCGainCalibrationAlgorithm : public CalibrationAlgorithm {
28  public:
29 
32 
34  int minClusters;
35 
37  float noiseSigma;
38 
40  float safetyFactor;
41 
43  bool forceContinue;
44 
46  int strategy;
47 
52 
55 
57  std::string chargePayloadName;
58 
59  protected:
60 
62  virtual EResult calibrate() override;
63 
64  private:
65 
67  double EstimateCharge(VxdID sensorID, unsigned short uBin, unsigned short vBin, unsigned short histoBin);
68 
70  double EstimateGain(VxdID sensorID, unsigned short uBin, unsigned short vBin);
71 
73  double CalculateMedian(std::vector<double>& signals);
74 
76  double CalculateMedian(TH1D* histo_signals);
77 
79  double FitLandau(std::vector<double>& signals);
80 
82  double FitLandau(TH1D* histo_signals);
83 
85  //double GetChargeFromDB(VxdID sensorID, unsigned short uBin, unsigned short vBin, TTree *dbtree);
86 
87  };
89 } // namespace Belle2
90 
91 
Belle2::PXDDataMCGainCalibrationAlgorithm::safetyFactor
float safetyFactor
Safety factor for determining whether the collected number of clusters is enough.
Definition: PXDDataMCGainCalibrationAlgorithm.h:48
Belle2::VxdID
Class to uniquely identify a any structure of the PXD and SVD.
Definition: VxdID.h:43
Belle2::PXDDataMCGainCalibrationAlgorithm::EstimateCharge
double EstimateCharge(VxdID sensorID, unsigned short uBin, unsigned short vBin, unsigned short histoBin)
Estimate median charge form collected clusters on part of PXD.
Definition: PXDDataMCGainCalibrationAlgorithm.cc:305
Belle2::PXDDataMCGainCalibrationAlgorithm::PXDDataMCGainCalibrationAlgorithm
PXDDataMCGainCalibrationAlgorithm()
Constructor set the prefix to PXDDataMCGainCalibrationAlgorithm.
Definition: PXDDataMCGainCalibrationAlgorithm.cc:105
Belle2::PXDDataMCGainCalibrationAlgorithm::CalculateMedian
double CalculateMedian(std::vector< double > &signals)
Calculate a median from unsorted signal vector. The input vector gets sorted.
Definition: PXDDataMCGainCalibrationAlgorithm.cc:393
Belle2::PXDDataMCGainCalibrationAlgorithm::calibrate
virtual EResult calibrate() override
Run algo on data.
Definition: PXDDataMCGainCalibrationAlgorithm.cc:120
Belle2::PXDDataMCGainCalibrationAlgorithm::chargePayloadName
std::string chargePayloadName
Payload name for Cluster Charge.
Definition: PXDDataMCGainCalibrationAlgorithm.h:65
Belle2::PXDDataMCGainCalibrationAlgorithm::forceContinue
bool forceContinue
Force continue in low statistics runs instead of returning c_NotEnoughData.
Definition: PXDDataMCGainCalibrationAlgorithm.h:51
Belle2::PXDDataMCGainCalibrationAlgorithm::doCalibration
bool doCalibration
flag to perform full calibration or only esitmate charge: False: only estimate charge,...
Definition: PXDDataMCGainCalibrationAlgorithm.h:59
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::PXDDataMCGainCalibrationAlgorithm::strategy
int strategy
strategy to used for gain calibration, 0 for medians, 1 for landau fit
Definition: PXDDataMCGainCalibrationAlgorithm.h:54
Belle2::CalibrationAlgorithm::EResult
EResult
The result of calibration.
Definition: CalibrationAlgorithm.h:50
Belle2::PXDDataMCGainCalibrationAlgorithm::minClusters
int minClusters
Minimum number of collected clusters for estimating median charge.
Definition: PXDDataMCGainCalibrationAlgorithm.h:42
Belle2::PXDDataMCGainCalibrationAlgorithm::noiseSigma
float noiseSigma
Artificial noise sigma for smearing cluster charge.
Definition: PXDDataMCGainCalibrationAlgorithm.h:45
Belle2::PXDDataMCGainCalibrationAlgorithm::FitLandau
double FitLandau(std::vector< double > &signals)
calculate MPV of unsorted signal vector using a Landau fit
Definition: PXDDataMCGainCalibrationAlgorithm.cc:427
Belle2::PXDDataMCGainCalibrationAlgorithm::EstimateGain
double EstimateGain(VxdID sensorID, unsigned short uBin, unsigned short vBin)
Estimate gain as ratio of medians from MC and data for a part of PXD.
Belle2::PXDDataMCGainCalibrationAlgorithm::useChargeHistogram
bool useChargeHistogram
Flag to use histogram as charge input.
Definition: PXDDataMCGainCalibrationAlgorithm.h:62