Skip to content
Snippets Groups Projects
Commit 76db6aad authored by Norbert Herrmann's avatar Norbert Herrmann Committed by Florian Uhlig
Browse files

fit gaussian to position deviation

parent 5c4bedcd
No related branches found
No related tags found
1 merge request!138Final merge
...@@ -27,6 +27,7 @@ ...@@ -27,6 +27,7 @@
#include <TClonesArray.h> #include <TClonesArray.h>
#include <TDirectory.h> #include <TDirectory.h>
#include <TFile.h> #include <TFile.h>
#include <TFitResult.h>
#include <TGeoManager.h> #include <TGeoManager.h>
#include <TH1.h> #include <TH1.h>
#include <TH2.h> #include <TH2.h>
...@@ -446,6 +447,16 @@ Bool_t CbmTofCalibrator::UpdateCalHist(Int_t iOpt) { ...@@ -446,6 +447,16 @@ Bool_t CbmTofCalibrator::UpdateCalHist(Int_t iOpt) {
Double_t dDp = hpP->GetBinContent(iBin + 1); Double_t dDp = hpP->GetBinContent(iBin + 1);
Double_t dCorP = fhCorPos[iDetIndx]->GetBinContent(iBin + 1); Double_t dCorP = fhCorPos[iDetIndx]->GetBinContent(iBin + 1);
if (dCts > MINCTS) { if (dCts > MINCTS) {
// Fit Gaussian around peak
TH1* hpPy=(TH1*) fhCalPos[iDetIndx]->ProjectionY(Form("PosPy_%d_%d",iDetIndx,iBin),iBin+1,iBin+1);
Double_t dFMean=hpPy->GetBinCenter( hpPy->GetMaximumBin() );
Double_t dFLim = 0.5; // CAUTION, fixed numeric value
Double_t dBinSize = hpPy->GetBinWidth(1);
dFLim=TMath::Max(dFLim,5.*dBinSize);
TFitResultPtr fRes = hpPy->Fit("gaus", "S", "", dFMean - dFLim, dFMean + dFLim);
dDp = fRes->Parameter(1); //overwrite mean
// Double_t dDpRes = fRes->Parameter(2);
fhCorTOff[iDetIndx]->SetBinContent(iBin + 1, dCorT + dDt + dAvOff); fhCorTOff[iDetIndx]->SetBinContent(iBin + 1, dCorT + dDt + dAvOff);
fhCorPos[iDetIndx]->SetBinContent(iBin + 1, dCorP + dDp); fhCorPos[iDetIndx]->SetBinContent(iBin + 1, dCorP + dDp);
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment