From a0de3fd10d68fd57a208ab2513b9495a029c6c02 Mon Sep 17 00:00:00 2001 From: hristov Date: Fri, 10 Jun 2011 14:47:53 +0000 Subject: [PATCH] Coverity fixes (Alberica) --- PWG2/EVCHAR/AliCentralityBy1D.cxx | 35 ++++++++++++++++++++----- PWG2/EVCHAR/AliCentralityGlauberFit.cxx | 16 ++++++----- 2 files changed, 38 insertions(+), 13 deletions(-) diff --git a/PWG2/EVCHAR/AliCentralityBy1D.cxx b/PWG2/EVCHAR/AliCentralityBy1D.cxx index 07257beb3e9..8c82e217586 100644 --- a/PWG2/EVCHAR/AliCentralityBy1D.cxx +++ b/PWG2/EVCHAR/AliCentralityBy1D.cxx @@ -60,6 +60,10 @@ void AliCentralityBy1D::SetPercentileCrossSection(Float_t xsec) { percentXsec = xsec; } +void AliCentralityBy1D::SetMultLowBound(Float_t mult) { + multLowBound = mult; +} + void AliCentralityBy1D::MakePercentiles(TString infilename) { TH1D *thist; @@ -74,7 +78,8 @@ void AliCentralityBy1D::MakePercentiles(TString infilename) { vector::const_iterator hni; for(hni=histnames.begin(); hni!=histnames.end(); hni++) { thist = MakePercentHisto(*hni); - SaveHisto(thist,outrootfile); + TH1D *htemp = (TH1D*) (inrootfile->Get(*hni)); + SaveHisto(htemp,thist,outrootfile); delete thist; //?? } // close inrootfile, outrootfile @@ -85,16 +90,21 @@ void AliCentralityBy1D::MakePercentiles(TString infilename) { TH1D * AliCentralityBy1D::MakePercentHisto(TString hdistributionName) { TH1D *htemp = (TH1D*) (inrootfile->Get(hdistributionName)); + // TList *list = (TList*) (inrootfile->Get("chist")); + // TH1D *htemp = (TH1D*) (list->FindObject(hdistributionName)); TH1D *hpercent = (TH1D*) htemp->Clone("hpercent"); hpercent->SetName(hdistributionName.Append("_percentile")); hpercent->Reset(); + int start_bin=htemp->FindBin(multLowBound); for (int ibin=1; ibin<=htemp->GetNbinsX(); ibin++) { - hpercent->SetBinContent(ibin, percentXsec * - htemp->Integral(ibin,htemp->GetNbinsX()) / - htemp->Integral(1,htemp->GetNbinsX())); - + if (ibin>=start_bin) + hpercent->SetBinContent(ibin, percentXsec * + htemp->Integral(ibin,htemp->GetNbinsX()) / + htemp->Integral(start_bin,htemp->GetNbinsX())); + else + hpercent->SetBinContent(ibin, 100); } delete htemp; @@ -102,9 +112,20 @@ TH1D * AliCentralityBy1D::MakePercentHisto(TString hdistributionName) { } -void AliCentralityBy1D::SaveHisto(TH1D *hist, TFile *outrootfile) { +void AliCentralityBy1D::SaveHisto(TH1D *hist1, TH1D *hist2, TFile *outrootfile) { outrootfile->cd(); - hist->Write(); + hist1->Write(); + hist2->Write(); + + // int n=12; + // Float_t x1[n]; + // Float_t centrality[]= {0.,5.,10.,20.,30.,40.,50.,60.,70.,80.,90.,100.}; + // for (int i=n-1; i>=0; i--) { + // x1[i] = hist2->GetBinCenter(hist2->FindLastBinAbove(centrality[i])); + // cout << x1[i] << ","; + // } + // cout << endl; + } diff --git a/PWG2/EVCHAR/AliCentralityGlauberFit.cxx b/PWG2/EVCHAR/AliCentralityGlauberFit.cxx index f93ddde62fa..d02aea19796 100644 --- a/PWG2/EVCHAR/AliCentralityGlauberFit.cxx +++ b/PWG2/EVCHAR/AliCentralityGlauberFit.cxx @@ -145,10 +145,11 @@ void AliCentralityGlauberFit::MakeFits() TH1F *thistGlau; TFile *inrootfile; TFile *outrootfile; - FILE* fTxt = fopen ("parameters.txt","w"); + //FILE* fTxt = fopen ("parameters.txt","w"); // open inrootfile, outrootfile - std::cout << "input file " << fInrootfilename << std::endl; + std::cout << "input file " << fInrootfilename << std::endl; + std::cout << "output file " << fOutrootfilename << std::endl; inrootfile = new TFile(fInrootfilename,"OPEN"); outrootfile = new TFile(fOutrootfilename,"RECREATE"); @@ -161,7 +162,7 @@ void AliCentralityGlauberFit::MakeFits() hDATA = (TH1F*) (list->FindObject(*hni)); } hDATA->Rebin(fRebinFactor); - TH1F *hGLAU = new TH1F("hGLAU","hGLAU",hDATA->GetNbinsX(),0,hDATA->GetNbinsX()*hDATA->GetBinWidth(1)); + //TH1F *hGLAU = new TH1F("hGLAU","hGLAU",hDATA->GetNbinsX(),0,hDATA->GetNbinsX()*hDATA->GetBinWidth(1)); Double_t chi2min = 9999999.0; Double_t alpha_min=-1; Double_t mu_min=-1; @@ -180,7 +181,7 @@ void AliCentralityGlauberFit::MakeFits() thistGlau = GlauberHisto(mu,k,alpha,hDATA,kFALSE); chi2 = CalculateChi2(hDATA,thistGlau); - fprintf(fTxt, "%3.3f %3.3f %3.3f %3.3f\n", (float) mu, (float) k, (float) alpha, chi2); + //fprintf(fTxt, "%3.3f %3.3f %3.3f %3.3f\n", (float) mu, (float) k, (float) alpha, chi2); if ( chi2 < chi2min ) { chi2min = chi2; alpha_min=alpha; @@ -193,6 +194,7 @@ void AliCentralityGlauberFit::MakeFits() thistGlau = GlauberHisto(mu_min,k_min,alpha_min,hDATA,kTRUE); + TH1F * hGLAU = 0x0; hGLAU = (TH1F *) thistGlau->Clone("hGLAU"); hGLAU->SetName( ((TString)hDATA->GetName()).Append(Form("_GLAU"))); hGLAU->SetTitle( ((TString)hDATA->GetName()).Append(Form("_GLAU_%.3f_%.3f_%.3f", @@ -204,7 +206,7 @@ void AliCentralityGlauberFit::MakeFits() fhEffi = GetTriggerEfficiencyFunction(hDATA, hGLAU); SaveHisto(hDATA,hGLAU,fhEffi,outrootfile); - fclose (fTxt); + //fclose (fTxt); std::cout << "chi2 min is " << chi2min << std::endl; std::cout << "fitted " << hGLAU->Integral(hGLAU->FindBin(fMultmin), @@ -238,9 +240,11 @@ void AliCentralityGlauberFit::MakeFitsMinuitNBD(Double_t alpha, Double_t mu, Dou TFile *outrootfile; // open inrootfile, outrootfile + std::cout << "input file " << fInrootfilename << std::endl; + std::cout << "output file " << fOutrootfilename << std::endl; inrootfile = new TFile(fInrootfilename,"OPEN"); outrootfile = new TFile(fOutrootfilename,"RECREATE"); - + // loop over all distribution names std::vector::const_iterator hni; for(hni=fHistnames.begin(); hni!=fHistnames.end(); hni++) { -- 2.43.0