CMS 3D CMS Logo

SaturationFcn Class Reference

#include <OnlineDB/CSCCondDB/interface/SaturationFcn.h>

List of all members.

Public Member Functions

virtual double operator() (const std::vector< double > &x) const
 SaturationFcn ()
void set_data (int N, float *charge_ptr, float *adc_ptr)
virtual double Up () const
 ~SaturationFcn ()

Public Attributes

double x0start
double x1start
double x2start
double x3start

Private Attributes

double datx [20]
double daty [20]


Detailed Description

Definition at line 9 of file SaturationFcn.h.


Constructor & Destructor Documentation

SaturationFcn::SaturationFcn (  )  [inline]

Definition at line 13 of file SaturationFcn.h.

00013 {}

SaturationFcn::~SaturationFcn (  )  [inline]

Definition at line 15 of file SaturationFcn.h.

00015 {}


Member Function Documentation

virtual double SaturationFcn::operator() ( const std::vector< double > &  x  )  const [inline, virtual]

Definition at line 39 of file SaturationFcn.h.

References datx, daty, i, N, funct::pow(), and tmp.

00039                                                              {
00040    double chisq = 0.0;  
00041    int N=20;
00042   for(int i=0;i<N;i++){
00043     double val=1.0+pow(x[1]*datx[i],x[2]);
00044     double val2=1.0/x[2];
00045     val=x[0]*x[1]*datx[i]/pow(val,val2);
00046     double tmp=(daty[i]-x[3]-val);
00047     //printf(" dat: %d %f %f %f %f \n",i,datx[i],daty[i]-x[3],val,tmp);
00048     chisq=chisq+tmp*tmp;
00049   }
00050   //printf("x0-3 %f %f %f %f chisq %f \n",x[0],x[1],x[2],x[3],chisq);
00051   return chisq; 
00052  }

void SaturationFcn::set_data ( int  N,
float *  charge_ptr,
float *  adc_ptr 
) [inline]

Definition at line 18 of file SaturationFcn.h.

References datx, daty, i, x, x0start, x1start, x2start, x3start, and y.

Referenced by SaturationFit::SaturationFit().

00018                                                       {
00019  
00020    float x[20],y[20];
00021 
00022    for(int i=0;i<N;i++){
00023      x[i]=charge_ptr[i];
00024      y[i]=adc_ptr[i];
00025      datx[i]=x[i];
00026      daty[i]=y[i];
00027      //printf("%d  datx daty %f %f \n",i,datx[i],daty[i]);
00028    }
00029 
00030    x3start=(y[4]*x[1]-y[1]*x[4])/(x[1]-x[4]);
00031    x0start=daty[13]-x3start;
00032    x1start=(y[4]-y[1])/(x[4]-x[1])/x0start;
00033    x2start=20.;
00034    //printf(" x0-2start %f %f %f %f\n",x0start,x1start,x2start,x3start);
00035  }

virtual double SaturationFcn::Up (  )  const [inline, virtual]

Definition at line 37 of file SaturationFcn.h.

00037 {return 1.;}


Member Data Documentation

double SaturationFcn::datx[20] [private]

Definition at line 60 of file SaturationFcn.h.

Referenced by operator()(), and set_data().

double SaturationFcn::daty[20] [private]

Definition at line 60 of file SaturationFcn.h.

Referenced by operator()(), and set_data().

double SaturationFcn::x0start

Definition at line 54 of file SaturationFcn.h.

Referenced by SaturationFit::SaturationFit(), and set_data().

double SaturationFcn::x1start

Definition at line 55 of file SaturationFcn.h.

Referenced by SaturationFit::SaturationFit(), and set_data().

double SaturationFcn::x2start

Definition at line 56 of file SaturationFcn.h.

Referenced by SaturationFit::SaturationFit(), and set_data().

double SaturationFcn::x3start

Definition at line 57 of file SaturationFcn.h.

Referenced by SaturationFit::SaturationFit(), and set_data().


The documentation for this class was generated from the following file:
Generated on Tue Jun 9 18:31:14 2009 for CMSSW by  doxygen 1.5.4