BOSS 7.0.5
BESIII Offline Software System
Loading...
Searching...
No Matches
WidgetParameterization.h
Go to the documentation of this file.
1//********************************************************************************
2// This file is part of the Widget, a package for performing dE/dx calibration.
3//
4// Author: Jake Bennett
5// Date: July 8, 2015
6//
7// HadronCalibration is a class designed to perform the hadron saturation
8// correction. This entails taking the means and errors prepared by the
9// WidgetPrep class and fitting in bins of cos(theta).
10//
11// For additional details, see the Widget document.
12//
13//********************************************************************************
14#ifndef WIDGETPARAMETERIZATION_H
15#define WIDGETPARAMETERIZATION_H
16
17#include <string>
18#include <iostream>
19#include <fstream>
20#include <stdio.h>
21#include <stdlib.h>
22
24#include "WidgetSigma.h"
25
27
28 public:
29
31 WidgetParameterization( std::string parfile );
33
34 // read in parameters from file
35 void setParameters( std::string infile );
36
37 // write out parameters to file
38 void printParameters( std::string infile );
39
40 // write out parameters to screen
41 void showParameters();
42
43 // determine the predicted mean dE/dx
44 double dedxPrediction( double x );
45
46 // determine the predicted mean dE/dx resolution
47 double sigmaPrediction( double dedx, double nhit, double sin );
48
49 // determine the predicted mean dE/dx resolution without dedx dependence
50 double resPrediction( double nhit, double sin );
51
52 // determine the predicted mean dE/dx resolution vs. sin(theta)
53 double sinPrediction( double sin );
54
55 // determine the predicted mean dE/dx resolution vs. nhit
56 double nhitPrediction( double nhit );
57
58 // set the curve parameters
59 double getCurvePars( int i ){ return m_curvepars[i]; };
60
61 // set the curve parameters
62 void setCurvePars( int i, double val ){ m_curvepars[i] = val; };
63
64 // set the dedx parameters
65 double getDedxPars( int i ){ return m_dedxpars[i]; };
66
67 // set the dedx parameters
68 void setDedxPars( int i, double val ){ m_dedxpars[i] = val; };
69
70 // set the nhit parameters
71 double getNHitPars( int i ){ return m_nhitpars[i]; };
72
73 // set the nhit parameters
74 void setNHitPars( int i, double val ){ m_nhitpars[i] = val; };
75
76 // set the sin(theta) parameters
77 double getSinPars( int i ){ return m_sinpars[i]; };
78
79 // set the sin(theta) parameters
80 void setSinPars( int i, double val ){ m_sinpars[i] = val; };
81
82 private:
83
84 double m_curvepars[16]; // parameters for beta-gamma curve
85 double m_dedxpars[3]; // parameters for sigma vs. dE/dx curve
86 double m_sinpars[5]; // parameters for sigma vs. sin(theta) curve
87 double m_nhitpars[5]; // parameters for sigma vs. nhit curve
88};
89#endif
double sin(const BesAngle a)
void setCurvePars(int i, double val)
void setNHitPars(int i, double val)
double sinPrediction(double sin)
void setParameters(std::string infile)
void printParameters(std::string infile)
double resPrediction(double nhit, double sin)
double sigmaPrediction(double dedx, double nhit, double sin)
double nhitPrediction(double nhit)
void setDedxPars(int i, double val)
void setSinPars(int i, double val)