Belle II Software development
HadronSaturation.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 <iostream>
13#include <vector>
14#include <fstream>
15
16#include <TFile.h>
17#include <TTree.h>
18#include <TRandom.h>
19#include <TMath.h>
20#include <TFitter.h>
21
22#include <framework/database/DBObjPtr.h>
23#include <cdc/utilities/CDCDedxHadSat.h>
24
25namespace Belle2 {
35
36 public:
37
42
46 HadronSaturation(double alpha, double gamma, double delta, double power, double ratio, int cosbins);
47
51 virtual ~HadronSaturation() { clear(); };
52
56 void fillSample(TString infilename);
57
61 void printEvents(int firstevent, int nevents);
62
66 void fitSaturation();
67
71 void clear();
72
76 void setCosBins(int nbins) { m_cosbins = nbins; }
77
81 double myFunction(double alpha, double gamma, double delta, double power, double ratio);
82
86 static void minuitFunction(int&, double*, double& result, double* para, int);
87
88 private:
89
92 double m_alpha;
93 double m_gamma;
94 double m_delta;
95 double m_power;
96 double m_ratio;
98 std::vector< double > m_dedx;
99 std::vector< double > m_dedxerror;
100 std::vector< double > m_betagamma;
101 std::vector< double > m_costheta;
103 };
105}
Class to perform the hadron saturation calibration.
std::vector< double > m_costheta
a vector to hold cos(theta) values
double m_delta
the delta parameter for the hadron saturation correction
std::vector< double > m_betagamma
a vector to hold beta-gamma values
double m_ratio
the ratio parameter for the hadron saturation correction
std::vector< double > m_dedx
a vector to hold dE/dx measurements
double m_gamma
the gamma parameter for the hadron saturation correction
double myFunction(double alpha, double gamma, double delta, double power, double ratio)
some helper functions for the hadron saturation correction
std::vector< double > m_dedxerror
a vector to hold dE/dx errors
void printEvents(int firstevent, int nevents)
print a sample of events
void fillSample(TString infilename)
fill the vectors below
HadronSaturation()
Constructor: Sets the description, the properties and the parameters of the algorithm.
double m_alpha
the alpha parameter for the hadron saturation correction
void fitSaturation()
perform the hadron saturation fit
void setCosBins(int nbins)
set the number of cosine bins
void clear()
clear the vectors
virtual ~HadronSaturation()
Destructor.
double m_power
the power parameter for the hadron saturation correction
static void minuitFunction(int &, double *, double &result, double *para, int)
functions for the hadron saturation correction
int m_cosbins
the number of cosine bins
Abstract base class for different kinds of events.