Belle II Software  release-05-02-19
CDCDedxRunGainAlgorithm.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2016 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: jikumar, jvbennett *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 
13 #include <reconstruction/dbobjects/CDCDedxRunGain.h>
14 #include <calibration/CalibrationAlgorithm.h>
15 #include <framework/database/DBObjPtr.h>
16 #include <TH1D.h>
17 
18 namespace Belle2 {
27  class CDCDedxRunGainAlgorithm : public CalibrationAlgorithm {
28 
29  public:
30 
35 
39  virtual ~CDCDedxRunGainAlgorithm() {}
40 
44  void setMergePayload(bool value = true) {isMergePayload = value;}
45 
49  void generateNewPayloads(double RunGainConst, double ExistingRG);
50 
54  void setMonitoringPlots(bool value = false) {isMakePlots = value;}
55 
59  void FitGaussianWRange(TH1D*& temphist, TString& status);
60 
64  void setFitWidth(double value = 2.5) {fSigLim = value;}
65 
69  void setHistBins(int value = 600) {fdEdxBins = value;}
70 
74  void setAdjustment(double value = 1.0) {fAdjust = value;}
75 
79  void setHistRange(double min = 0.0, double max = 3.0) {fdEdxMin = min; fdEdxMax = max;}
80 
81  protected:
82 
86  virtual EResult calibrate() override;
87 
88  private:
89 
90  bool isMakePlots;
91  bool isMergePayload;
94  TString fsrun;
95  double fSigLim;
96  int fdEdxBins;
97  double fdEdxMin;
98  double fdEdxMax;
99  double fAdjust;
100  };
102 } // namespace Belle2
Belle2::CDCDedxRunGainAlgorithm::isMakePlots
bool isMakePlots
produce plots for status
Definition: CDCDedxRunGainAlgorithm.h:98
Belle2::CDCDedxRunGainAlgorithm::fdEdxMin
double fdEdxMin
min dedx range for gain cal
Definition: CDCDedxRunGainAlgorithm.h:105
Belle2::CDCDedxRunGainAlgorithm::fSigLim
double fSigLim
fit range limit based on sigma
Definition: CDCDedxRunGainAlgorithm.h:103
Belle2::CDCDedxRunGainAlgorithm::setFitWidth
void setFitWidth(double value=2.5)
function to make flag active for plotting
Definition: CDCDedxRunGainAlgorithm.h:72
Belle2::CDCDedxRunGainAlgorithm::fAdjust
double fAdjust
factor to adjust dedx gain
Definition: CDCDedxRunGainAlgorithm.h:107
Belle2::CDCDedxRunGainAlgorithm::isMergePayload
bool isMergePayload
merge payload at the of calibration
Definition: CDCDedxRunGainAlgorithm.h:99
Belle2::CDCDedxRunGainAlgorithm::fsrun
TString fsrun
flag to indentify low stats runs
Definition: CDCDedxRunGainAlgorithm.h:102
Belle2::CDCDedxRunGainAlgorithm::CDCDedxRunGainAlgorithm
CDCDedxRunGainAlgorithm()
Constructor: Sets the description, the properties and the parameters of the algorithm.
Definition: CDCDedxRunGainAlgorithm.cc:25
Belle2::CDCDedxRunGainAlgorithm::calibrate
virtual EResult calibrate() override
Run algorithm.
Definition: CDCDedxRunGainAlgorithm.cc:43
Belle2::CDCDedxRunGainAlgorithm::fdEdxBins
int fdEdxBins
number of bins for dedx histogram
Definition: CDCDedxRunGainAlgorithm.h:104
Belle2::CDCDedxRunGainAlgorithm::setMonitoringPlots
void setMonitoringPlots(bool value=false)
function to hand flag for monitoring plotting
Definition: CDCDedxRunGainAlgorithm.h:62
Belle2::DBObjPtr
Class for accessing objects in the database.
Definition: DBObjPtr.h:31
Belle2::CDCDedxRunGainAlgorithm::setHistBins
void setHistBins(int value=600)
function to set dedx hist bins
Definition: CDCDedxRunGainAlgorithm.h:77
Belle2::CDCDedxRunGainAlgorithm::generateNewPayloads
void generateNewPayloads(double RunGainConst, double ExistingRG)
function to store new payload after full calibration
Definition: CDCDedxRunGainAlgorithm.cc:176
Belle2::CDCDedxRunGainAlgorithm::FitGaussianWRange
void FitGaussianWRange(TH1D *&temphist, TString &status)
function to perform fit run by run
Definition: CDCDedxRunGainAlgorithm.cc:193
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::CDCDedxRunGainAlgorithm::setMergePayload
void setMergePayload(bool value=true)
function to decide merged vs relative run-gains
Definition: CDCDedxRunGainAlgorithm.h:52
Belle2::CDCDedxRunGainAlgorithm::~CDCDedxRunGainAlgorithm
virtual ~CDCDedxRunGainAlgorithm()
Destructor.
Definition: CDCDedxRunGainAlgorithm.h:47
Belle2::CDCDedxRunGainAlgorithm::setHistRange
void setHistRange(double min=0.0, double max=3.0)
function to set dedx hist range
Definition: CDCDedxRunGainAlgorithm.h:87
Belle2::CalibrationAlgorithm::EResult
EResult
The result of calibration.
Definition: CalibrationAlgorithm.h:50
Belle2::CDCDedxRunGainAlgorithm::fdEdxMax
double fdEdxMax
max dedx range for gain cal
Definition: CDCDedxRunGainAlgorithm.h:106
Belle2::CDCDedxRunGainAlgorithm::setAdjustment
void setAdjustment(double value=1.0)
function to set dedx gain adjustment
Definition: CDCDedxRunGainAlgorithm.h:82
Belle2::CDCDedxRunGainAlgorithm::m_DBRunGain
DBObjPtr< CDCDedxRunGain > m_DBRunGain
Run gain DB object.
Definition: CDCDedxRunGainAlgorithm.h:100