CMS 3D CMS Logo

SiPixelSCurveCalibrationAnalysis.cc File Reference

#include "CalibTracker/SiPixelSCurveCalibration/interface/SiPixelSCurveCalibrationAnalysis.h"
#include "TMath.h"
#include <iostream>
#include <fstream>
#include "Geometry/Records/interface/TrackerDigiGeometryRecord.h"
#include "DataFormats/SiPixelDigi/interface/SiPixelCalibDigiError.h"
#include "CondFormats/SiPixelObjects/interface/SiPixelFrameConverter.h"
#include "CondFormats/SiPixelObjects/interface/ElectronicIndex.h"
#include "CondFormats/SiPixelObjects/interface/DetectorIndex.h"
#include "CondFormats/SiPixelObjects/interface/LocalPixel.h"
#include <sstream>

Go to the source code of this file.

Functions

void calculateEffAndError (int nADCResponse, int nTriggers, float &eff, float &error)
void chi2toMinimize (int &npar, double *grad, double &fcnval, double *xval, int iflag)


Function Documentation

void calculateEffAndError ( int  nADCResponse,
int  nTriggers,
float &  eff,
float &  error 
)

Definition at line 244 of file SiPixelSCurveCalibrationAnalysis.cc.

Referenced by SiPixelSCurveCalibrationAnalysis::doFits().

00245 {
00246    eff = (float)nADCResponse / (float)nTriggers;
00247    double effForErrorCalculation = eff;
00248    if (eff <= 0 || eff >= 1)
00249       effForErrorCalculation = 0.5 / (double)nTriggers;
00250    error = TMath::Sqrt(effForErrorCalculation*(1-effForErrorCalculation) / (double)nTriggers);
00251 }

void chi2toMinimize ( int npar,
double *  grad,
double &  fcnval,
double *  xval,
int  iflag 
)

Definition at line 80 of file SiPixelSCurveCalibrationAnalysis.cc.

References SiPixelSCurveCalibrationAnalysis::effErrors_, SiPixelSCurveCalibrationAnalysis::efficiencies_, SiPixelOfflineCalibAnalysisBase::fitFunction_, SiPixelOfflineCalibAnalysisBase::getVcalValues(), and i.

Referenced by SiPixelSCurveCalibrationAnalysis::doFits().

00081 {
00082    TF1 * theFormula = SiPixelSCurveCalibrationAnalysis::fitFunction_;
00083    //setup function parameters
00084    for (int i = 0; i < npar; i++)
00085       theFormula->SetParameter(i, xval[i]);
00086    fcnval = 0;
00087    //compute Chi2 of all points
00088    const std::vector<short>* theVCalValues = SiPixelSCurveCalibrationAnalysis::getVcalValues();
00089    for (uint32_t i = 0; i < theVCalValues->size(); i++)
00090    {
00091       float chi = (SiPixelSCurveCalibrationAnalysis::efficiencies_[i] - theFormula->Eval((*theVCalValues)[i]) );
00092       chi       /= SiPixelSCurveCalibrationAnalysis::effErrors_[i];
00093       fcnval += chi*chi;
00094    }
00095 }


Generated on Tue Jun 9 17:51:15 2009 for CMSSW by  doxygen 1.5.4