ATLAS Offline Software
BipolarFit.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef BIPOLARFIT_H
6 #define BIPOLARFIT_H
7 // A programme to determine the parameters of
9 // a bipolar pulse by chi2 minimization
10 //
11 // http://knikolop.home.cern.ch/knikolop/csc/bipolarfit.c
12 //
13 // for the function of the bipolar pulse look
14 // http://positron.ps.uci.edu/~schernau/ROD/SIT/results/cluster1.html
15 //
16 // Konstantinos Nikolopoulos
17 // 23/5/2007
18 // this version : 27/7/2007
20 #include<math.h>
21 //#include"CLHEP/Matrix/Matrix.h"
22 //#include"CLHEP/Matrix/SymMatrix.h"
24 {
25  public:
26  BipolarFit();
27  ~BipolarFit();
28  int Fit(double *x,const double ex,const double pedestal, const double predefinedwidth,double *result,double *errors,double *chi2);
29 
30  private:
31  void InvertMatrix(double matrix[][3],const int dim,int*);
32  void InvertSymmetric4x4(double W[][4]);
33  double FindInitValues(double*x,double *initValues,int *maxsample);
34  int TheFitter(double*x,const double ex,double *initValues, int imeas, int *meas, int ipar, int *par,double *chi2,double *result);
35  //void Derivative(HepMatrix&,HepMatrix&,HepMatrix&,bool*usemeas);
36  void Derivative(double A[][3],double fp[][1], double p0[][1],int imeas, int*meas);
37  //double dFdz(double,double *);
38  double bipolar(double*, double*);
39  double FindPow(double z);
40 
41  double m_n;
42  double m_powcachez;
43  double m_powcachezn;
44  double m_zmax;
46  double m_tsampling;
47 };
48 #endif
BipolarFit::m_zmax
double m_zmax
Definition: BipolarFit.h:44
yodamerge_tmp.dim
dim
Definition: yodamerge_tmp.py:239
get_generator_info.result
result
Definition: get_generator_info.py:21
JetTiledMap::W
@ W
Definition: TiledEtaPhiMap.h:44
BipolarFit::m_bipolarNormalization
double m_bipolarNormalization
Definition: BipolarFit.h:45
x
#define x
BipolarFit::m_tsampling
double m_tsampling
Definition: BipolarFit.h:46
BipolarFit::TheFitter
int TheFitter(double *x, const double ex, double *initValues, int imeas, int *meas, int ipar, int *par, double *chi2, double *result)
Definition: BipolarFit.cxx:362
BipolarFit::Derivative
void Derivative(double A[][3], double fp[][1], double p0[][1], int imeas, int *meas)
Definition: BipolarFit.cxx:123
BipolarFit::~BipolarFit
~BipolarFit()
Definition: BipolarFit.cxx:35
A
BipolarFit::BipolarFit
BipolarFit()
Definition: BipolarFit.cxx:24
BipolarFit::m_powcachezn
double m_powcachezn
Definition: BipolarFit.h:43
z
#define z
trigmenu_modify_prescale_json.fp
fp
Definition: trigmenu_modify_prescale_json.py:53
chi2
double chi2(TH1 *h0, TH1 *h1)
Definition: comparitor.cxx:523
BipolarFit
Definition: BipolarFit.h:24
BipolarFit::FindInitValues
double FindInitValues(double *x, double *initValues, int *maxsample)
Definition: BipolarFit.cxx:54
BipolarFit::m_powcachez
double m_powcachez
Definition: BipolarFit.h:42
mergePhysValFiles.errors
list errors
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:43
BipolarFit::m_n
double m_n
Definition: BipolarFit.h:41
createCoolChannelIdFile.par
par
Definition: createCoolChannelIdFile.py:29
python.testIfMatch.matrix
matrix
Definition: testIfMatch.py:66
BipolarFit::FindPow
double FindPow(double z)
Definition: BipolarFit.cxx:39
BipolarFit::InvertMatrix
void InvertMatrix(double matrix[][3], const int dim, int *)
Definition: BipolarFit.cxx:154
BipolarFit::bipolar
double bipolar(double *, double *)
Definition: BipolarFit.cxx:100
BipolarFit::Fit
int Fit(double *x, const double ex, const double pedestal, const double predefinedwidth, double *result, double *errors, double *chi2)
Definition: BipolarFit.cxx:203
BipolarFit::InvertSymmetric4x4
void InvertSymmetric4x4(double W[][4])
Definition: BipolarFit.cxx:326
TRTCalib_cfilter.p0
p0
Definition: TRTCalib_cfilter.py:129