Belle II Software development
CDCDedxCosineAlgorithm.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
11#include <reconstruction/dbobjects/CDCDedxCosineCor.h>
12#include <calibration/CalibrationAlgorithm.h>
13#include <framework/database/DBObjPtr.h>
14#include <TH1D.h>
15
16namespace Belle2 {
26
27 public:
28
33
38
42 void setMethodSep(bool value = true) {isMethodSep = value;}
43
47 void setMergePayload(bool value = true) {isMergePayload = value;}
48
52 void generateNewPayloads(std::vector<double> cosine);
53
57 void setMonitoringPlots(bool value = false) {isMakePlots = value;}
58
62 void setFitWidth(double value = 2.5) {fSigLim = value;}
63
67 void FitGaussianWRange(TH1D*& temphist, TString& status);
68
72 void setCosineBins(unsigned int value = 100) {fCosbins = value;}
73
77 void setCosineRange(double min = -1.0, double max = 1.0) {fCosMin = min; fCosMax = max;}
78
82 void setHistBins(int value = 600) {fHistbins = value;}
83
87 void setHistRange(double min = 0.0, double max = 3.0) {fdEdxMin = min; fdEdxMax = max;}
88
89 protected:
90
94 virtual EResult calibrate() override;
95
96 private:
100 double fSigLim;
101 unsigned int fCosbins;
102 double fCosMin;
103 double fCosMax;
105 double fdEdxMin;
106 double fdEdxMax;
109 };
111} // namespace Belle2
A calibration algorithm for CDC dE/dx electron cos(theta) dependence.
void generateNewPayloads(std::vector< double > cosine)
function to store new payload after full calibration
void setCosineRange(double min=-1.0, double max=1.0)
function to set number of cosine bins for calibration
void setFitWidth(double value=2.5)
set sigma to restrict fir range around mean
void setCosineBins(unsigned int value=100)
function to set number of cosine bins for calibration
int fStartRun
boundary start at this run
double fdEdxMax
max dedx range for gain cal
bool isMergePayload
merge payload at the of calibration
void setHistBins(int value=600)
function to set nbins of dedx dist calibration
double fCosMax
max cosine angle for cal
DBObjPtr< CDCDedxCosineCor > m_DBCosineCor
Electron saturation correction DB object.
double fCosMin
min cosine angle for cal
CDCDedxCosineAlgorithm()
Constructor: Sets the description, the properties and the parameters of the algorithm.
void setMergePayload(bool value=true)
function to decide merge vs relative gains
void setMethodSep(bool value=true)
function to make flag active for method of sep
virtual EResult calibrate() override
Cosine algorithm.
double fdEdxMin
min dedx range for gain cal
void FitGaussianWRange(TH1D *&temphist, TString &status)
function to fit histogram in each cosine bin
int fHistbins
number of bins for dedx histogram
bool isMethodSep
if e+e- need to be consider sep
unsigned int fCosbins
number of bins across cosine range
virtual ~CDCDedxCosineAlgorithm()
Destructor.
bool isMakePlots
produce plots for status
double fSigLim
gaussian fit sigma limit
void setHistRange(double min=0.0, double max=3.0)
function to set min/max range of dedx dist calibration
void setMonitoringPlots(bool value=false)
function to make flag active for plotting
Base class for calibration algorithms.
EResult
The result of calibration.
Class for accessing objects in the database.
Definition: DBObjPtr.h:21
Abstract base class for different kinds of events.