![]() |
![]() |
#include <memory>
#include <string>
#include <iostream>
#include "TH1F.h"
#include "TH2F.h"
#include "TFile.h"
#include "math.h"
#include "TMath.h"
#include "TF1.h"
#include "CalibCalorimetry/HcalStandardModules/interface/HFLightCal.h"
#include "DataFormats/HcalDigi/interface/HcalDigiCollections.h"
#include "DataFormats/HcalRecHit/interface/HcalRecHitCollections.h"
#include "CalibFormats/HcalObjects/interface/HcalDbService.h"
#include "CalibFormats/HcalObjects/interface/HcalDbRecord.h"
#include "CondFormats/HcalObjects/interface/HcalQIEShape.h"
#include "CondFormats/HcalObjects/interface/HcalQIECoder.h"
#include "FWCore/Framework/interface/Event.h"
#include "FWCore/ParameterSet/interface/ParameterSet.h"
#include "FWCore/Framework/interface/EventSetup.h"
#include "FWCore/Framework/interface/ESHandle.h"
Go to the source code of this file.
Functions | |
Double_t | FitFun (Double_t *x, Double_t *par) |
void | HistSpecs (TH1F *hist, Double_t &mean, Double_t &rms, Double_t range=4) |
Variables | |
Int_t | eventN = 0 |
Int_t | itsmax [26][36][2] |
Int_t | itspinmax [8][3] |
Int_t | Nev |
Int_t | runN = 0 |
bool | verbose = false |
Double_t FitFun | ( | Double_t * | x, | |
Double_t * | par | |||
) |
Definition at line 184 of file HFLightCal.cc.
References reco::ParticleMasses::k0, Nev, r1, r2, funct::sqrt(), and sum().
Referenced by HFLightCal::endJob().
00184 { 00185 // Spectra fit function: Pedestal Gaussian + asymmetric 1PE and 2PE peaks 00186 00187 Double_t sum,xx,A0,C0,r0,sigma0,mean1,sigma1,A1,C1,r1,mean2,sigma2,A2,C2,r2; 00188 const Double_t k0=2.0,k1=1.0, k2=1.2; 00189 00190 xx=x[0]; 00191 sigma0 = par[2]; 00192 A0 = 2*Nev/(2+2*par[0]+par[0]*par[0]); 00193 r0 = ((xx-par[1])/sigma0); 00194 C0 = 1/(sigma0* TMath::Exp(-k0*k0/2)/k0 + 00195 sigma0*sqrt(2*3.14159)*0.5*(1+TMath::Erf(k0/1.41421))); 00196 //sum = 1/(sqrt(2*3.14159)*par[2])*A0*TMath::Exp(-0.5*r0*r0); 00197 if(r0 < k0) sum = C0*A0*TMath::Exp(-0.5*r0*r0); 00198 else sum = C0*A0*TMath::Exp(0.5*k0*k0-k0*r0); 00199 00200 mean1 = par[1]+par[3]; 00201 //sigma1 = par[4]; 00202 sigma1 = 1.547+0.125*par[3]+0.004042*par[3]*par[3]; 00203 sigma1 = (sigma1+(9.1347e-3+3.845e-2*par[3])*par[4]*1.0)*par[2]; 00204 A1 = A0*par[0]; 00205 C1 = 1/(sigma1* TMath::Exp(-k1*k1/2)/k1 + 00206 sigma1*sqrt(2*3.14159)*0.5*(1+TMath::Erf(k1/1.41421))); 00207 r1 = ((xx-mean1)/sigma1); 00208 if(r1 < k1) sum += C1*A1*TMath::Exp(-0.5*r1*r1); 00209 else sum += C1*A1*TMath::Exp(0.5*k1*k1-k1*r1); 00210 00211 mean2 = 2*par[3]+par[1]; 00212 sigma2 = sqrt(2*sigma1*sigma1 - par[2]*par[2]); 00213 A2 = A0*par[0]*par[0]/2; 00214 C2 = 1/(sigma2* TMath::Exp(-k2*k2/2)/k2 + 00215 sigma2*sqrt(2*3.14159)*0.5*(1+TMath::Erf(k2/1.41421))); 00216 r2 = ((xx-mean2)/sigma2); 00217 if(r2 < k2) sum += C2*A2*TMath::Exp(-0.5*r2*r2); 00218 else sum += C2*A2*TMath::Exp(0.5*k2*k2-k2*r2); 00219 00220 return sum; 00221 }
void HistSpecs | ( | TH1F * | hist, | |
Double_t & | mean, | |||
Double_t & | rms, | |||
Double_t | range = 4 | |||
) |
Definition at line 168 of file HFLightCal.cc.
References range.
Referenced by HFLightCal::endJob().
00168 { 00169 Double_t xmin,xmax; 00170 mean=hist->GetMean(); 00171 rms=hist->GetRMS(); 00172 xmin=hist->GetXaxis()->GetXmin(); 00173 xmax=hist->GetXaxis()->GetXmax(); 00174 hist->SetAxisRange(mean-range*rms-100,mean+range*rms+100); 00175 mean=hist->GetMean(); 00176 rms=hist->GetRMS(); 00177 hist->SetAxisRange(mean-range*rms-100,mean+range*rms+100); 00178 mean=hist->GetMean(); 00179 rms=hist->GetRMS(); 00180 hist->SetAxisRange(xmin,xmax); 00181 return; 00182 }
Int_t eventN = 0 |
Definition at line 34 of file HFLightCal.cc.
Referenced by HFLightCal::analyze(), and HFLightCal::endJob().
Int_t itsmax[26][36][2] |
Definition at line 35 of file HFLightCal.cc.
Referenced by HFLightCal::analyze(), and HFLightCal::beginJob().
Int_t itspinmax[8][3] |
Int_t Nev |
Int_t runN = 0 |
Definition at line 34 of file HFLightCal.cc.
Referenced by HFLightCal::analyze(), and HFLightCal::endJob().
Definition at line 40 of file HFLightCal.cc.
Referenced by MultiVertexFitter::fit(), MultiVertexFitter::lostVertexClaimer(), MultiVertexFitter::updateSeeds(), and MultiVertexFitter::updateWeights().