Belle II Software development
HadronCalibration.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 <string>
12#include <sstream>
13#include <fstream>
14#include <math.h>
15#include <iostream>
16#include <stdlib.h>
17#include <vector>
18
19#include <TFile.h>
20#include <TTree.h>
21#include <TGraphErrors.h>
22#include <TLine.h>
23#include <TMultiGraph.h>
24#include <TCanvas.h>
25#include <TLegend.h>
26#include <TF1.h>
27
28#include <TStyle.h>
29#include <TPaveText.h>
30#include <framework/gearbox/Const.h>
31#include <cdc/utilities/CDCDedxMeanPred.h>
32#include <cdc/utilities/CDCDedxWidgetCurve.h>
33#include <cdc/utilities/CDCDedxSigmaPred.h>
34
35#include <cdc/calibration/CDCdEdx/HadronBgPrep.h>
36
37namespace Belle2 {
47
48 public:
49
54
58 virtual ~HadronCalibration() {};
59
63 void fitBGCurve(std::vector< std::string > particles, const std::string& filename, const std::string& paramfile,
64 const std::string& suffx);
65
69 void fitSigmavsIonz(std::vector< std::string > particles, const std::string& filename, const std::string& paramfile,
70 const std::string& suffix);
71
75 void fitSigmaVsNHit(std::vector< std::string > particles, const std::string& filename, const std::string& paramsigma,
76 const std::string& suffx);
77
81 void fitSigmaVsCos(std::vector< std::string > particles, const std::string& filename, const std::string& paramfile,
82 const std::string& suffx);
83
87 void plotBGMonitoring(std::vector< std::string > particles, const std::string& filename, const std::string& suffix);
88
92 void plotMonitoring(std::vector< std::string > particles, const std::string& filename, const std::string& sname,
93 const std::string& title,
94 const std::string& sx, const std::string& sy);
95
99 void setGraphStyle(TGraphErrors& gr, const int ic)
100 {
101 gr.SetMarkerColor(ic);
102 gr.SetMarkerStyle(4);
103 gr.SetMarkerSize(0.5);
104 };
105
109 void setFitterStyle(TF1*& fitt, const int ic, const int il)
110 {
111 fitt->SetLineColor(ic);
112 fitt->SetLineWidth(1);
113 fitt->SetLineStyle(il);
114 };
115
116 private:
117
119 };
120
122} // namespace Belle2
Class to prepare sample for fitting in beta gamma bins.
Definition: HadronBgPrep.h:43
Class to perform the fitting in beta gamma bins.
void plotMonitoring(std::vector< std::string > particles, const std::string &filename, const std::string &sname, const std::string &title, const std::string &sx, const std::string &sy)
plots chi and width after fitting - main function
void fitSigmaVsCos(std::vector< std::string > particles, const std::string &filename, const std::string &paramfile, const std::string &suffx)
fit sigma vs.
void setFitterStyle(TF1 *&fitt, const int ic, const int il)
function to set fitter cosmetics
void fitSigmaVsNHit(std::vector< std::string > particles, const std::string &filename, const std::string &paramsigma, const std::string &suffx)
fit sigma vs.
virtual ~HadronCalibration()
Destructor.
void fitBGCurve(std::vector< std::string > particles, const std::string &filename, const std::string &paramfile, const std::string &suffx)
fit the beta-gamma curve
void plotBGMonitoring(std::vector< std::string > particles, const std::string &filename, const std::string &suffix)
plots mean and width after fitting
void setGraphStyle(TGraphErrors &gr, const int ic)
function to set graph cosmetics
HadronBgPrep m_prep
object for dE/dx to prepare sample
void fitSigmavsIonz(std::vector< std::string > particles, const std::string &filename, const std::string &paramfile, const std::string &suffix)
fit sigma vs.
HadronCalibration()
Constructor: Sets the description, the properties and the parameters of the algorithm.
Abstract base class for different kinds of events.