From 18e588e9e9ad0cb1d92e45f2b4299d7789887948 Mon Sep 17 00:00:00 2001 From: jotwinow Date: Fri, 1 Apr 2011 16:46:57 +0000 Subject: [PATCH] coverity fixes --- PWG1/TPC/AliMCInfo.cxx | 4 +- PWG1/TPC/AliMaterialBudget.cxx | 18 ++-- PWG1/TPC/AliPerfAnalyzeInvPt.cxx | 10 ++- PWG1/TPC/AliPerformanceDCA.cxx | 73 +++++++-------- PWG1/TPC/AliPerformanceDEdx.cxx | 8 +- PWG1/TPC/AliPerformanceEff.cxx | 128 +++++++++++++++++++-------- PWG1/TPC/AliPerformanceMC.cxx | 25 +++--- PWG1/TPC/AliPerformanceMatch.cxx | 68 +++++++------- PWG1/TPC/AliPerformanceObject.cxx | 4 +- PWG1/TPC/AliPerformancePtCalib.cxx | 20 ++++- PWG1/TPC/AliPerformancePtCalibMC.cxx | 12 +++ PWG1/TPC/AliPerformanceRes.cxx | 25 +++--- PWG1/TPC/AliPerformanceTask.cxx | 1 + PWG1/TPC/AliRecInfoMaker.cxx | 13 ++- PWG1/TPC/AliTreeDraw.cxx | 61 +++++++------ 15 files changed, 292 insertions(+), 178 deletions(-) diff --git a/PWG1/TPC/AliMCInfo.cxx b/PWG1/TPC/AliMCInfo.cxx index 5d2005d5d90..021bfdb11e5 100644 --- a/PWG1/TPC/AliMCInfo.cxx +++ b/PWG1/TPC/AliMCInfo.cxx @@ -248,6 +248,7 @@ void AliMCInfo::Update() //////////////////////////////////////////////////////////////////////// AliTPCdigitRow::AliTPCdigitRow() { + for (Int_t i = 0; i<32; i++) { fDig[i] = 0; } Reset(); } //////////////////////////////////////////////////////////////////////// @@ -304,7 +305,8 @@ void AliTPCdigitRow::Reset() // resets all rows to zero // for (Int_t i = 0; i<32; i++) { - fDig[i] <<= 8; + //fDig[i] <<= 8; + fDig[i] = 0; } } //////////////////////////////////////////////////////////////////////// diff --git a/PWG1/TPC/AliMaterialBudget.cxx b/PWG1/TPC/AliMaterialBudget.cxx index ded02288a08..178718d83b1 100644 --- a/PWG1/TPC/AliMaterialBudget.cxx +++ b/PWG1/TPC/AliMaterialBudget.cxx @@ -299,8 +299,7 @@ void AliMaterialBudget::ProcessMCInfo(){ // // // - TParticle * particle= new TParticle; - TClonesArray * trefs = new TClonesArray("AliTrackReference"); + const Double_t kPcut=0.05; const Double_t kMinDrITS = 2.; // minimal distance between references const Double_t kMinDrTRD = 8.; // minimal distance between references @@ -312,7 +311,15 @@ void AliMaterialBudget::ProcessMCInfo(){ Int_t npart = fMCinfo->GetNumberOfTracks(); if (npart==0) return; Double_t vertex[4]={0,0,0,0}; - fMCinfo->GetParticleAndTR(0, particle, trefs); + + TClonesArray * trefs = new TClonesArray("AliTrackReference"); + TParticle * particle= new TParticle; + + if(particle && trefs) { + fMCinfo->GetParticleAndTR(0, particle, trefs); + } + + if (particle){ vertex[0]=particle->Vx(); vertex[1]=particle->Vy(); @@ -334,6 +341,7 @@ void AliMaterialBudget::ProcessMCInfo(){ AliTrackReference * refTOF0, *refTOF1; AliTrackReference *refMinR; // + if(!particle) return; for (Int_t ipart=0;ipartGetParticleAndTR(ipart, particle, trefs); AliMCParticle * pp = (AliMCParticle*) fMCinfo->GetTrack(ipart); @@ -457,8 +465,8 @@ void AliMaterialBudget::ProcessMCInfo(){ // if (id==0) sprintf(name,"mcAll"); // all tracks: inconvenient to cut if on is only interest in tracks which reach the TPC if (id==0) continue; // require TPC - if (id==1) sprintf(name,"mcITS"); - if (id==2) sprintf(name,"mcTPC"); + if (id==1) snprintf(name,100,"mcITS"); + if (id==2) snprintf(name,100,"mcTPC"); if (id==1&& nRefITS==0) continue; if (id==2&& nRefTPC==0) continue; diff --git a/PWG1/TPC/AliPerfAnalyzeInvPt.cxx b/PWG1/TPC/AliPerfAnalyzeInvPt.cxx index e1adf0c76a0..763b8c22276 100755 --- a/PWG1/TPC/AliPerfAnalyzeInvPt.cxx +++ b/PWG1/TPC/AliPerfAnalyzeInvPt.cxx @@ -274,9 +274,11 @@ void AliPerfAnalyzeInvPt::StartAnalysis(const TH2F *histThetaInvPt, const TH2F * if(!histThetaInvPt) { Printf("warning: no 1/pt histogram to analyse in theta bins!"); + return; } if(!histPhiInvPt) { Printf("warning: no 1/pt histogram to analyse in phit bins!"); + return; } Double_t thetaBins[9] = {0.77,0.97,1.17,1.37,1.57,1.77,1.97,2.17,2.37}; // default theta bins @@ -370,8 +372,8 @@ void AliPerfAnalyzeInvPt::StartAnalysis(const TH2F *histThetaInvPt, const TH2F * fHistFitTheta[i] = (TH1D*)fHistH2InvPtTheta->ProjectionX("_px",firstBin,lastBin,"e"); Char_t titleTheta[50]; - if(TMath::Abs(i-(fNThetaBins-1))<0.5) sprintf(titleTheta,"charge/pt (GeV/c) integrated over #theta"); - else sprintf(titleTheta,"charge/pt (GeV/c) for #theta range: %1.3f - %1.3f",fThetaBins[i],fThetaBins[i+1]); + if(TMath::Abs(i-(fNThetaBins-1))<0.5) snprintf(titleTheta,50,"charge/pt (GeV/c) integrated over #theta"); + else snprintf(titleTheta,50,"charge/pt (GeV/c) for #theta range: %1.3f - %1.3f",fThetaBins[i],fThetaBins[i+1]); fHistFitTheta[i]->SetTitle(titleTheta); @@ -443,8 +445,8 @@ void AliPerfAnalyzeInvPt::StartAnalysis(const TH2F *histThetaInvPt, const TH2F * fHistFitPhi[i] = (TH1D*) fHistH2InvPtPhi->ProjectionX("_px",firstBin,lastBin,"e"); Char_t titlePhi[50]; - if(TMath::Abs(i-(fNPhiBins-1))<0.5) sprintf(titlePhi,"charge/pt (GeV/c) integrated over #phi"); - else sprintf(titlePhi,"charge/pt (GeV/c) for #phi range: %1.3f - %1.3f",fPhiBins[i],fPhiBins[i+1]); + if(TMath::Abs(i-(fNPhiBins-1))<0.5) snprintf(titlePhi,50,"charge/pt (GeV/c) integrated over #phi"); + else snprintf(titlePhi,50,"charge/pt (GeV/c) for #phi range: %1.3f - %1.3f",fPhiBins[i],fPhiBins[i+1]); fHistFitPhi[i]->SetTitle(titlePhi); diff --git a/PWG1/TPC/AliPerformanceDCA.cxx b/PWG1/TPC/AliPerformanceDCA.cxx index 505c26c0f10..823b095fef8 100644 --- a/PWG1/TPC/AliPerformanceDCA.cxx +++ b/PWG1/TPC/AliPerformanceDCA.cxx @@ -373,10 +373,13 @@ void AliPerformanceDCA::Analyse() TH1F *h1D=0; TH2F *h2D=0; TObjArray *aFolderObj = new TObjArray; + if(!aFolderObj) return; char title[256]; TObjArray *arr[6] = {0}; TF1 *f1[6] = {0}; + + // set pt measurable range //fDCAHisto->GetAxis(3)->SetRangeUser(0.10,10.); @@ -385,7 +388,7 @@ void AliPerformanceDCA::Analyse() h2D->SetName("dca_r_vs_dca_z"); h2D->GetXaxis()->SetTitle(fDCAHisto->GetAxis(1)->GetTitle()); h2D->GetYaxis()->SetTitle(fDCAHisto->GetAxis(0)->GetTitle()); - sprintf(title,"%s vs %s",fDCAHisto->GetAxis(0)->GetTitle(),fDCAHisto->GetAxis(1)->GetTitle()); + snprintf(title,256,"%s vs %s",fDCAHisto->GetAxis(0)->GetTitle(),fDCAHisto->GetAxis(1)->GetTitle()); h2D->SetTitle(title); aFolderObj->Add(h2D); @@ -394,7 +397,7 @@ void AliPerformanceDCA::Analyse() h2D->SetName("dca_r_vs_eta"); h2D->GetXaxis()->SetTitle(fDCAHisto->GetAxis(2)->GetTitle()); h2D->GetYaxis()->SetTitle(fDCAHisto->GetAxis(0)->GetTitle()); - sprintf(title,"%s vs %s",fDCAHisto->GetAxis(2)->GetTitle(),fDCAHisto->GetAxis(0)->GetTitle()); + snprintf(title,256,"%s vs %s",fDCAHisto->GetAxis(2)->GetTitle(),fDCAHisto->GetAxis(0)->GetTitle()); h2D->SetTitle(title); aFolderObj->Add(h2D); @@ -405,7 +408,7 @@ void AliPerformanceDCA::Analyse() h1D->SetName("mean_dca_r_vs_eta"); h1D->GetXaxis()->SetTitle(fDCAHisto->GetAxis(2)->GetTitle()); h1D->GetYaxis()->SetTitle("mean_dca_r (cm)"); - sprintf(title," mean_dca_r (cm) vs %s",fDCAHisto->GetAxis(2)->GetTitle()); + snprintf(title,256," mean_dca_r (cm) vs %s",fDCAHisto->GetAxis(2)->GetTitle()); h1D->SetTitle(title); aFolderObj->Add(h1D); @@ -413,7 +416,7 @@ void AliPerformanceDCA::Analyse() h1D->SetName("rms_dca_r_vs_eta"); h1D->GetXaxis()->SetTitle(fDCAHisto->GetAxis(2)->GetTitle()); h1D->GetYaxis()->SetTitle("rms_dca_r (cm)"); - sprintf(title," rms_dca_r (cm) vs %s",fDCAHisto->GetAxis(2)->GetTitle()); + snprintf(title,256," rms_dca_r (cm) vs %s",fDCAHisto->GetAxis(2)->GetTitle()); h1D->SetTitle(title); aFolderObj->Add(h1D); @@ -429,7 +432,7 @@ void AliPerformanceDCA::Analyse() h1D->SetName("fit_mean_dca_r_vs_eta"); h1D->GetXaxis()->SetTitle(fDCAHisto->GetAxis(2)->GetTitle()); h1D->GetYaxis()->SetTitle("fit_mean_dca_r (cm)"); - sprintf(title," fit_mean_dca_r (cm) vs %s",fDCAHisto->GetAxis(2)->GetTitle()); + snprintf(title,256," fit_mean_dca_r (cm) vs %s",fDCAHisto->GetAxis(2)->GetTitle()); h1D->SetTitle(title); aFolderObj->Add(h1D); @@ -437,7 +440,7 @@ void AliPerformanceDCA::Analyse() h1D->SetName("res_dca_r_vs_eta"); h1D->GetXaxis()->SetTitle(fDCAHisto->GetAxis(2)->GetTitle()); h1D->GetYaxis()->SetTitle("res_dca_r (cm)"); - sprintf(title," res_dca_r (cm) vs %s",fDCAHisto->GetAxis(2)->GetTitle()); + snprintf(title,256," res_dca_r (cm) vs %s",fDCAHisto->GetAxis(2)->GetTitle()); h1D->SetTitle(title); aFolderObj->Add(h1D); @@ -448,7 +451,7 @@ void AliPerformanceDCA::Analyse() h2D->SetName("dca_r_vs_pt"); h2D->GetXaxis()->SetTitle(fDCAHisto->GetAxis(3)->GetTitle()); h2D->GetYaxis()->SetTitle(fDCAHisto->GetAxis(0)->GetTitle()); - sprintf(title,"%s vs %s",fDCAHisto->GetAxis(0)->GetTitle(),fDCAHisto->GetAxis(3)->GetTitle()); + snprintf(title,256,"%s vs %s",fDCAHisto->GetAxis(0)->GetTitle(),fDCAHisto->GetAxis(3)->GetTitle()); h2D->SetTitle(title); h2D->SetBit(TH1::kLogX); aFolderObj->Add(h2D); @@ -457,7 +460,7 @@ void AliPerformanceDCA::Analyse() h1D->SetName("mean_dca_r_vs_pt"); h1D->GetXaxis()->SetTitle(fDCAHisto->GetAxis(3)->GetTitle()); h1D->GetYaxis()->SetTitle("mean_dca_r (cm)"); - sprintf(title,"mean_dca_r (cm) vs %s",fDCAHisto->GetAxis(3)->GetTitle()); + snprintf(title,256,"mean_dca_r (cm) vs %s",fDCAHisto->GetAxis(3)->GetTitle()); h1D->SetTitle(title); h1D->SetBit(TH1::kLogX); aFolderObj->Add(h1D); @@ -466,7 +469,7 @@ void AliPerformanceDCA::Analyse() h1D->SetName("rms_dca_r_vs_pt"); h1D->GetXaxis()->SetTitle(fDCAHisto->GetAxis(3)->GetTitle()); h1D->GetYaxis()->SetTitle("rms_dca_r (cm)"); - sprintf(title,"rms_dca_r (cm) vs %s",fDCAHisto->GetAxis(3)->GetTitle()); + snprintf(title,256,"rms_dca_r (cm) vs %s",fDCAHisto->GetAxis(3)->GetTitle()); h1D->SetTitle(title); h1D->SetBit(TH1::kLogX); aFolderObj->Add(h1D); @@ -483,7 +486,7 @@ void AliPerformanceDCA::Analyse() h1D->SetName("fit_mean_dca_r_vs_pt"); h1D->GetXaxis()->SetTitle(fDCAHisto->GetAxis(3)->GetTitle()); h1D->GetYaxis()->SetTitle("fit_mean_dca_r (cm)"); - sprintf(title,"fit_mean_dca_r (cm) vs %s",fDCAHisto->GetAxis(3)->GetTitle()); + snprintf(title,256,"fit_mean_dca_r (cm) vs %s",fDCAHisto->GetAxis(3)->GetTitle()); h1D->SetTitle(title); h1D->SetBit(TH1::kLogX); aFolderObj->Add(h1D); @@ -492,7 +495,7 @@ void AliPerformanceDCA::Analyse() h1D->SetName("res_dca_r_vs_pt"); h1D->GetXaxis()->SetTitle(fDCAHisto->GetAxis(3)->GetTitle()); h1D->GetYaxis()->SetTitle("res_dca_r (cm)"); - sprintf(title,"res_dca_r (cm) vs %s",fDCAHisto->GetAxis(3)->GetTitle()); + snprintf(title,256,"res_dca_r (cm) vs %s",fDCAHisto->GetAxis(3)->GetTitle()); h1D->SetTitle(title); h1D->SetBit(TH1::kLogX); aFolderObj->Add(h1D); @@ -502,7 +505,7 @@ void AliPerformanceDCA::Analyse() h2D->SetName("dca_z_vs_eta"); h2D->GetXaxis()->SetTitle(fDCAHisto->GetAxis(2)->GetTitle()); h2D->GetYaxis()->SetTitle(fDCAHisto->GetAxis(1)->GetTitle()); - sprintf(title,"%s vs %s",fDCAHisto->GetAxis(1)->GetTitle(),fDCAHisto->GetAxis(2)->GetTitle()); + snprintf(title,256,"%s vs %s",fDCAHisto->GetAxis(1)->GetTitle(),fDCAHisto->GetAxis(2)->GetTitle()); h2D->SetTitle(title); aFolderObj->Add(h2D); @@ -510,7 +513,7 @@ void AliPerformanceDCA::Analyse() h1D->SetName("mean_dca_z_vs_eta"); h1D->GetXaxis()->SetTitle(fDCAHisto->GetAxis(2)->GetTitle()); h1D->GetYaxis()->SetTitle("mean_dca_z (cm)"); - sprintf(title,"mean_dca_z (cm) vs %s",fDCAHisto->GetAxis(2)->GetTitle()); + snprintf(title,256,"mean_dca_z (cm) vs %s",fDCAHisto->GetAxis(2)->GetTitle()); h1D->SetTitle(title); aFolderObj->Add(h1D); @@ -518,7 +521,7 @@ void AliPerformanceDCA::Analyse() h1D->SetName("rms_dca_z_vs_eta"); h1D->GetXaxis()->SetTitle(fDCAHisto->GetAxis(2)->GetTitle()); h1D->GetYaxis()->SetTitle("rms_dca_z (cm)"); - sprintf(title,"rms_dca_z (cm) vs %s",fDCAHisto->GetAxis(2)->GetTitle()); + snprintf(title,256,"rms_dca_z (cm) vs %s",fDCAHisto->GetAxis(2)->GetTitle()); h1D->SetTitle(title); aFolderObj->Add(h1D); @@ -533,7 +536,7 @@ void AliPerformanceDCA::Analyse() h1D->SetName("fit_mean_dca_z_vs_eta"); h1D->GetXaxis()->SetTitle(fDCAHisto->GetAxis(2)->GetTitle()); h1D->GetYaxis()->SetTitle("fit_mean_dca_z (cm)"); - sprintf(title,"fit_mean_dca_z (cm) vs %s",fDCAHisto->GetAxis(2)->GetTitle()); + snprintf(title,256,"fit_mean_dca_z (cm) vs %s",fDCAHisto->GetAxis(2)->GetTitle()); h1D->SetTitle(title); aFolderObj->Add(h1D); @@ -541,7 +544,7 @@ void AliPerformanceDCA::Analyse() h1D->SetName("res_dca_z_vs_eta"); h1D->GetXaxis()->SetTitle(fDCAHisto->GetAxis(2)->GetTitle()); h1D->GetYaxis()->SetTitle("res_dca_z (cm)"); - sprintf(title,"res_dca_z (cm) vs %s",fDCAHisto->GetAxis(2)->GetTitle()); + snprintf(title,256,"res_dca_z (cm) vs %s",fDCAHisto->GetAxis(2)->GetTitle()); h1D->SetTitle(title); aFolderObj->Add(h1D); @@ -550,7 +553,7 @@ void AliPerformanceDCA::Analyse() h2D->SetName("dca_z_vs_pt"); h2D->GetXaxis()->SetTitle(fDCAHisto->GetAxis(3)->GetTitle()); h2D->GetYaxis()->SetTitle(fDCAHisto->GetAxis(1)->GetTitle()); - sprintf(title,"%s vs %s",fDCAHisto->GetAxis(1)->GetTitle(),fDCAHisto->GetAxis(3)->GetTitle()); + snprintf(title,256,"%s vs %s",fDCAHisto->GetAxis(1)->GetTitle(),fDCAHisto->GetAxis(3)->GetTitle()); h2D->SetTitle(title); h2D->SetBit(TH1::kLogX); aFolderObj->Add(h2D); @@ -559,7 +562,7 @@ void AliPerformanceDCA::Analyse() h1D->SetName("mean_dca_z_vs_pt"); h1D->GetXaxis()->SetTitle(fDCAHisto->GetAxis(3)->GetTitle()); h1D->GetYaxis()->SetTitle("mean_dca_z (cm)"); - sprintf(title,"mean_dca_z (cm) vs %s",fDCAHisto->GetAxis(3)->GetTitle()); + snprintf(title,256,"mean_dca_z (cm) vs %s",fDCAHisto->GetAxis(3)->GetTitle()); h1D->SetTitle(title); h1D->SetBit(TH1::kLogX); aFolderObj->Add(h1D); @@ -568,7 +571,7 @@ void AliPerformanceDCA::Analyse() h1D->SetName("rms_dca_z_vs_pt"); h1D->GetXaxis()->SetTitle(fDCAHisto->GetAxis(3)->GetTitle()); h1D->GetYaxis()->SetTitle("rms_dca_z (cm)"); - sprintf(title,"rms_dca_z (cm) vs %s",fDCAHisto->GetAxis(3)->GetTitle()); + snprintf(title,256,"rms_dca_z (cm) vs %s",fDCAHisto->GetAxis(3)->GetTitle()); h1D->SetTitle(title); h1D->SetBit(TH1::kLogX); aFolderObj->Add(h1D); @@ -585,7 +588,7 @@ void AliPerformanceDCA::Analyse() h1D->SetName("fit_mean_dca_z_vs_pt"); h1D->GetXaxis()->SetTitle(fDCAHisto->GetAxis(3)->GetTitle()); h1D->GetYaxis()->SetTitle("fit_mean_dca_z (cm)"); - sprintf(title,"fit_mean_dca_z (cm) vs %s",fDCAHisto->GetAxis(3)->GetTitle()); + snprintf(title,256,"fit_mean_dca_z (cm) vs %s",fDCAHisto->GetAxis(3)->GetTitle()); h1D->SetTitle(title); h1D->SetBit(TH1::kLogX); aFolderObj->Add(h1D); @@ -594,7 +597,7 @@ void AliPerformanceDCA::Analyse() h1D->SetName("res_dca_z_vs_pt"); h1D->GetXaxis()->SetTitle(fDCAHisto->GetAxis(3)->GetTitle()); h1D->GetYaxis()->SetTitle("res_dca_z (cm)"); - sprintf(title,"res_dca_z (cm) vs %s",fDCAHisto->GetAxis(3)->GetTitle()); + snprintf(title,256,"res_dca_z (cm) vs %s",fDCAHisto->GetAxis(3)->GetTitle()); h1D->SetTitle(title); h1D->SetBit(TH1::kLogX); aFolderObj->Add(h1D); @@ -606,7 +609,7 @@ void AliPerformanceDCA::Analyse() h2D->SetName("dca_z_vs_phi_Aside"); h2D->GetXaxis()->SetTitle(fDCAHisto->GetAxis(4)->GetTitle()); h2D->GetYaxis()->SetTitle(fDCAHisto->GetAxis(1)->GetTitle()); - sprintf(title,"%s vs %s (A-side)",fDCAHisto->GetAxis(1)->GetTitle(),fDCAHisto->GetAxis(4)->GetTitle()); + snprintf(title,256,"%s vs %s (A-side)",fDCAHisto->GetAxis(1)->GetTitle(),fDCAHisto->GetAxis(4)->GetTitle()); h2D->SetTitle(title); aFolderObj->Add(h2D); @@ -614,7 +617,7 @@ void AliPerformanceDCA::Analyse() h1D->SetName("mean_dca_z_vs_phi_Aside"); h1D->GetXaxis()->SetTitle(fDCAHisto->GetAxis(4)->GetTitle()); h1D->GetYaxis()->SetTitle("mean_dca_z (cm)"); - sprintf(title,"mean_dca_z (cm) vs %s (A-side)",fDCAHisto->GetAxis(4)->GetTitle()); + snprintf(title,256,"mean_dca_z (cm) vs %s (A-side)",fDCAHisto->GetAxis(4)->GetTitle()); h1D->SetTitle(title); aFolderObj->Add(h1D); @@ -622,7 +625,7 @@ void AliPerformanceDCA::Analyse() h1D->SetName("rms_dca_z_vs_phi_Aside"); h1D->GetXaxis()->SetTitle(fDCAHisto->GetAxis(4)->GetTitle()); h1D->GetYaxis()->SetTitle("rms_dca_z (cm)"); - sprintf(title,"rms_dca_z (cm) vs %s (A-side)",fDCAHisto->GetAxis(4)->GetTitle()); + snprintf(title,256,"rms_dca_z (cm) vs %s (A-side)",fDCAHisto->GetAxis(4)->GetTitle()); h1D->SetTitle(title); aFolderObj->Add(h1D); @@ -637,7 +640,7 @@ void AliPerformanceDCA::Analyse() h1D->SetName("fit_mean_dca_z_vs_phi_Aside"); h1D->GetXaxis()->SetTitle(fDCAHisto->GetAxis(4)->GetTitle()); h1D->GetYaxis()->SetTitle("fit_mean_dca_z (cm)"); - sprintf(title,"fit_mean_dca_z (cm) vs %s (A-side)",fDCAHisto->GetAxis(4)->GetTitle()); + snprintf(title,256,"fit_mean_dca_z (cm) vs %s (A-side)",fDCAHisto->GetAxis(4)->GetTitle()); h1D->SetTitle(title); aFolderObj->Add(h1D); @@ -645,7 +648,7 @@ void AliPerformanceDCA::Analyse() h1D->SetName("res_dca_z_vs_phi_Aside"); h1D->GetXaxis()->SetTitle(fDCAHisto->GetAxis(4)->GetTitle()); h1D->GetYaxis()->SetTitle("res_dca_z (cm)"); - sprintf(title,"res_dca_z (cm) vs %s (A-side)",fDCAHisto->GetAxis(4)->GetTitle()); + snprintf(title,256,"res_dca_z (cm) vs %s (A-side)",fDCAHisto->GetAxis(4)->GetTitle()); h1D->SetTitle(title); aFolderObj->Add(h1D); @@ -657,7 +660,7 @@ void AliPerformanceDCA::Analyse() h2D->SetName("dca_z_vs_phi_Cside"); h2D->GetXaxis()->SetTitle(fDCAHisto->GetAxis(4)->GetTitle()); h2D->GetYaxis()->SetTitle(fDCAHisto->GetAxis(1)->GetTitle()); - sprintf(title,"%s vs %s (C-side)",fDCAHisto->GetAxis(1)->GetTitle(),fDCAHisto->GetAxis(4)->GetTitle()); + snprintf(title,256,"%s vs %s (C-side)",fDCAHisto->GetAxis(1)->GetTitle(),fDCAHisto->GetAxis(4)->GetTitle()); h2D->SetTitle(title); aFolderObj->Add(h2D); @@ -665,7 +668,7 @@ void AliPerformanceDCA::Analyse() h1D->SetName("mean_dca_z_vs_phi_Cside"); h1D->GetXaxis()->SetTitle(fDCAHisto->GetAxis(4)->GetTitle()); h1D->GetYaxis()->SetTitle("mean_dca_z (cm)"); - sprintf(title,"mean_dca_z (cm) vs %s (C-side)",fDCAHisto->GetAxis(4)->GetTitle()); + snprintf(title,256,"mean_dca_z (cm) vs %s (C-side)",fDCAHisto->GetAxis(4)->GetTitle()); h1D->SetTitle(title); aFolderObj->Add(h1D); @@ -673,7 +676,7 @@ void AliPerformanceDCA::Analyse() h1D->SetName("rms_dca_z_vs_phi_Cside"); h1D->GetXaxis()->SetTitle(fDCAHisto->GetAxis(4)->GetTitle()); h1D->GetYaxis()->SetTitle("rms_dca_z (cm)"); - sprintf(title,"rms_dca_z (cm) vs %s (C-side)",fDCAHisto->GetAxis(4)->GetTitle()); + snprintf(title,256,"rms_dca_z (cm) vs %s (C-side)",fDCAHisto->GetAxis(4)->GetTitle()); h1D->SetTitle(title); aFolderObj->Add(h1D); @@ -688,7 +691,7 @@ void AliPerformanceDCA::Analyse() h1D->SetName("fit_mean_dca_z_vs_phi_Cside"); h1D->GetXaxis()->SetTitle(fDCAHisto->GetAxis(4)->GetTitle()); h1D->GetYaxis()->SetTitle("fit_mean_dca_z (cm)"); - sprintf(title,"fit_mean_dca_z (cm) vs %s (C-side)",fDCAHisto->GetAxis(4)->GetTitle()); + snprintf(title,256,"fit_mean_dca_z (cm) vs %s (C-side)",fDCAHisto->GetAxis(4)->GetTitle()); h1D->SetTitle(title); aFolderObj->Add(h1D); @@ -696,7 +699,7 @@ void AliPerformanceDCA::Analyse() h1D->SetName("res_dca_z_vs_phi_Cside"); h1D->GetXaxis()->SetTitle(fDCAHisto->GetAxis(4)->GetTitle()); h1D->GetYaxis()->SetTitle("res_dca_z (cm)"); - sprintf(title,"res_dca_z (cm) vs %s (C-side)",fDCAHisto->GetAxis(4)->GetTitle()); + snprintf(title,256,"res_dca_z (cm) vs %s (C-side)",fDCAHisto->GetAxis(4)->GetTitle()); h1D->SetTitle(title); aFolderObj->Add(h1D); @@ -716,7 +719,7 @@ TH1F* AliPerformanceDCA::MakeStat1D(TH2 *hist, Int_t delta0, Int_t type) char hname[256]; const char* suffix = "_stat1d"; - sprintf(hname,"%s%s",hist->GetName(),suffix); + snprintf(hname,256,"%s%s",hist->GetName(),suffix); TAxis* xaxis = hist->GetXaxis(); Int_t nbinx = xaxis->GetNbins(); @@ -725,7 +728,7 @@ TH1F* AliPerformanceDCA::MakeStat1D(TH2 *hist, Int_t delta0, Int_t type) char name[256]; for (Int_t ix=0; ix<=nbinx;ix++) { - sprintf(name,"%s_%d",hist->GetName(),ix); + snprintf(name,256,"%s_%d",hist->GetName(),ix); TH1 *projection = hist->ProjectionY(name,ix-delta0,ix+delta0); Float_t stat= 0., stat_err =0.; @@ -749,7 +752,7 @@ TH2F* AliPerformanceDCA::MakeStat2D(TH3 *hist, Int_t delta0, Int_t delta1, Int_t char hname[256]; const char* suffix = "_stat2d"; - sprintf(hname,"%s%s",hist->GetName(),suffix); + snprintf(hname,256,"%s%s",hist->GetName(),suffix); TAxis* xaxis = hist->GetXaxis(); Int_t nbinx = xaxis->GetNbins(); @@ -763,7 +766,7 @@ TH2F* AliPerformanceDCA::MakeStat2D(TH3 *hist, Int_t delta0, Int_t delta1, Int_t char name[256]; for (Int_t ix=0; ix<=nbinx;ix++) { for (Int_t iy=0; iy<=nbiny;iy++) { - sprintf(name,"%s_%d_%d",hist->GetName(),ix,iy); + snprintf(name,256,"%s_%d_%d",hist->GetName(),ix,iy); TH1 *projection = hist->ProjectionZ(name,ix-delta0,ix+delta0,iy-delta1,iy+delta1); Float_t stat= 0., stat_err =0.; diff --git a/PWG1/TPC/AliPerformanceDEdx.cxx b/PWG1/TPC/AliPerformanceDEdx.cxx index 31dbd0c4307..e8236995d2b 100644 --- a/PWG1/TPC/AliPerformanceDEdx.cxx +++ b/PWG1/TPC/AliPerformanceDEdx.cxx @@ -449,9 +449,9 @@ void AliPerformanceDEdx::Analyse() h2D->FitSlicesY(f1[i],0,-1,10,"QNR",arr[i]); // gaus fit of pion peak h1D = (TH1F*)arr[i]->At(1); - sprintf(name,"mean_dedx_mips_vs_%d",i); + snprintf(name,256,"mean_dedx_mips_vs_%d",i); h1D->SetName(name); - sprintf(title,"%s vs %s","mean_dedx_mips (a.u.)",fDeDxHisto->GetAxis(i)->GetTitle()); + snprintf(title,256,"%s vs %s","mean_dedx_mips (a.u.)",fDeDxHisto->GetAxis(i)->GetTitle()); h1D->SetTitle(title); h1D->GetXaxis()->SetTitle(fDeDxHisto->GetAxis(i)->GetTitle()); h1D->GetYaxis()->SetTitle("mean_dedx_mips (a.u.)"); @@ -461,9 +461,9 @@ void AliPerformanceDEdx::Analyse() aFolderObj->Add(h1D); h1D = (TH1F*)arr[i]->At(2); - sprintf(name,"res_dedx_mips_vs_%d",i); + snprintf(name,256,"res_dedx_mips_vs_%d",i); h1D->SetName(name); - sprintf(title,"%s vs %s","res_dedx_mips (a.u)",fDeDxHisto->GetAxis(i)->GetTitle()); + snprintf(title,256,"%s vs %s","res_dedx_mips (a.u)",fDeDxHisto->GetAxis(i)->GetTitle()); h1D->SetTitle(title); h1D->GetXaxis()->SetTitle(fDeDxHisto->GetAxis(i)->GetTitle()); h1D->GetYaxis()->SetTitle("res_dedx_mips (a.u.)"); diff --git a/PWG1/TPC/AliPerformanceEff.cxx b/PWG1/TPC/AliPerformanceEff.cxx index b341b069227..667cbcd9a2b 100644 --- a/PWG1/TPC/AliPerformanceEff.cxx +++ b/PWG1/TPC/AliPerformanceEff.cxx @@ -188,13 +188,25 @@ void AliPerformanceEff::Init() void AliPerformanceEff::ProcessTPC(AliMCEvent* const mcEvent, AliESDEvent *const esdEvent) { // Fill TPC only efficiency comparison information - Int_t *labelsRec = new Int_t[esdEvent->GetNumberOfTracks()]; + if(!mcEvent) return; + if(!esdEvent) return; + + Int_t *labelsRec = NULL; + labelsRec = new Int_t[esdEvent->GetNumberOfTracks()]; if(!labelsRec) - AliDebug(AliLog::kError, "Cannot create labelsRec"); + { + Printf("Cannot create labelsRec"); + return; + } + for(Int_t i=0;iGetNumberOfTracks();i++) { labelsRec[i] = 0; } - Int_t *labelsAllRec = new Int_t[esdEvent->GetNumberOfTracks()]; - if(!labelsAllRec) - AliDebug(AliLog::kError, "Cannot create labelsAllRec"); + Int_t *labelsAllRec = NULL; + labelsAllRec = new Int_t[esdEvent->GetNumberOfTracks()]; + if(!labelsAllRec) { + Printf("Cannot create labelsAllRec"); + return; + } + for(Int_t i=0;iGetNumberOfTracks();i++) { labelsAllRec[i] = 0; } // loop over rec. tracks AliESDtrack *track=0; @@ -302,13 +314,26 @@ void AliPerformanceEff::ProcessTPC(AliMCEvent* const mcEvent, AliESDEvent *const void AliPerformanceEff::ProcessTPCSec(AliMCEvent* const mcEvent, AliESDEvent *const esdEvent) { // Fill TPC only efficiency comparison information for secondaries - Int_t *labelsRec = new Int_t[esdEvent->GetNumberOfTracks()]; + + if(!mcEvent) return; + if(!esdEvent) return; + + Int_t *labelsRec = NULL; + labelsRec = new Int_t[esdEvent->GetNumberOfTracks()]; if(!labelsRec) - AliDebug(AliLog::kError, "Cannot create labelsRec"); + { + Printf("Cannot create labelsRec"); + return; + } + for(Int_t i=0;iGetNumberOfTracks();i++) { labelsRec[i] = 0; } - Int_t *labelsAllRec = new Int_t[esdEvent->GetNumberOfTracks()]; - if(!labelsAllRec) - AliDebug(AliLog::kError, "Cannot create labelsAllRec"); + Int_t *labelsAllRec = NULL; + labelsAllRec = new Int_t[esdEvent->GetNumberOfTracks()]; + if(!labelsAllRec) { + Printf("Cannot create labelsAllRec"); + return; + } + for(Int_t i=0;iGetNumberOfTracks();i++) { labelsAllRec[i] = 0; } // loop over rec. tracks AliESDtrack *track=0; @@ -428,13 +453,25 @@ void AliPerformanceEff::ProcessTPCSec(AliMCEvent* const mcEvent, AliESDEvent *co void AliPerformanceEff::ProcessTPCITS(AliMCEvent* const mcEvent, AliESDEvent *const esdEvent) { // Fill efficiency comparison information - Int_t *labelsRec = new Int_t[esdEvent->GetNumberOfTracks()]; + if(!mcEvent) return; + if(!esdEvent) return; + + Int_t *labelsRec = NULL; + labelsRec = new Int_t[esdEvent->GetNumberOfTracks()]; if(!labelsRec) - AliDebug(AliLog::kError, "Cannot create labelsRec"); + { + Printf("Cannot create labelsRec"); + return; + } + for(Int_t i=0;iGetNumberOfTracks();i++) { labelsRec[i] = 0; } - Int_t *labelsAllRec = new Int_t[esdEvent->GetNumberOfTracks()]; - if(!labelsAllRec) - AliDebug(AliLog::kError, "Cannot create labelsAllRec"); + Int_t *labelsAllRec = NULL; + labelsAllRec = new Int_t[esdEvent->GetNumberOfTracks()]; + if(!labelsAllRec) { + Printf("Cannot create labelsAllRec"); + return; + } + for(Int_t i=0;iGetNumberOfTracks();i++) { labelsAllRec[i] = 0; } // loop over rec. tracks AliESDtrack *track=0; @@ -529,13 +566,25 @@ void AliPerformanceEff::ProcessTPCITS(AliMCEvent* const mcEvent, AliESDEvent *co void AliPerformanceEff::ProcessConstrained(AliMCEvent* const mcEvent, AliESDEvent *const esdEvent) { // Process comparison information - Int_t *labelsRec = new Int_t[esdEvent->GetNumberOfTracks()]; + if(!mcEvent) return; + if(!esdEvent) return; + + Int_t *labelsRec = NULL; + labelsRec = new Int_t[esdEvent->GetNumberOfTracks()]; if(!labelsRec) - AliDebug(AliLog::kError, "Cannot create labelsRec"); + { + Printf("Cannot create labelsRec"); + return; + } + for(Int_t i=0;iGetNumberOfTracks();i++) { labelsRec[i] = 0; } - Int_t *labelsAllRec = new Int_t[esdEvent->GetNumberOfTracks()]; - if(!labelsAllRec) - AliDebug(AliLog::kError, "Cannot create labelsAllRec"); + Int_t *labelsAllRec = NULL; + labelsAllRec = new Int_t[esdEvent->GetNumberOfTracks()]; + if(!labelsAllRec) { + Printf("Cannot create labelsAllRec"); + return; + } + for(Int_t i=0;iGetNumberOfTracks();i++) { labelsAllRec[i] = 0; } // loop over rec. tracks AliESDtrack *track=0; @@ -862,6 +911,7 @@ void AliPerformanceEff::Analyse() // TH1::AddDirectory(kFALSE); TObjArray *aFolderObj = new TObjArray; + if(!aFolderObj) return; char title[256]; // @@ -1099,7 +1149,7 @@ void AliPerformanceEff::Analyse() ptRecc->GetXaxis()->SetTitle(fEffSecHisto->GetAxis(2)->GetTitle()); ptRecc->GetYaxis()->SetTitle("efficiency"); - sprintf(title,"%s vs %s","rec. efficiency",fEffSecHisto->GetAxis(2)->GetTitle()); + snprintf(title,256,"%s vs %s","rec. efficiency",fEffSecHisto->GetAxis(2)->GetTitle()); ptRecc->SetTitle(title); ptRecc->SetBit(TH1::kLogX); @@ -1120,7 +1170,7 @@ void AliPerformanceEff::Analyse() ptRecElec->GetXaxis()->SetTitle(fEffSecHisto->GetAxis(2)->GetTitle()); ptRecElec->GetYaxis()->SetTitle("efficiency"); - sprintf(title,"%s vs %s","rec. efficiency (electrons)",fEffSecHisto->GetAxis(2)->GetTitle()); + snprintf(title,256,"%s vs %s","rec. efficiency (electrons)",fEffSecHisto->GetAxis(2)->GetTitle()); ptRecElec->SetTitle(title); ptRecElec->SetBit(TH1::kLogX); @@ -1141,7 +1191,7 @@ void AliPerformanceEff::Analyse() ptRecPic->GetXaxis()->SetTitle(fEffSecHisto->GetAxis(2)->GetTitle()); ptRecPic->GetYaxis()->SetTitle("efficiency"); - sprintf(title,"%s vs %s","rec. efficiency (pions)",fEffSecHisto->GetAxis(2)->GetTitle()); + snprintf(title,256,"%s vs %s","rec. efficiency (pions)",fEffSecHisto->GetAxis(2)->GetTitle()); ptRecPic->SetTitle(title); ptRecPic->SetBit(TH1::kLogX); @@ -1160,7 +1210,7 @@ void AliPerformanceEff::Analyse() ptRecKc->GetXaxis()->SetTitle(fEffSecHisto->GetAxis(2)->GetTitle()); ptRecKc->GetYaxis()->SetTitle("efficiency"); - sprintf(title,"%s vs %s","rec. efficiency (kaons)",fEffSecHisto->GetAxis(2)->GetTitle()); + snprintf(title,256,"%s vs %s","rec. efficiency (kaons)",fEffSecHisto->GetAxis(2)->GetTitle()); ptRecKc->SetTitle(title); @@ -1179,7 +1229,7 @@ void AliPerformanceEff::Analyse() ptRecPc->GetXaxis()->SetTitle(fEffSecHisto->GetAxis(2)->GetTitle()); ptRecPc->GetYaxis()->SetTitle("efficiency"); - sprintf(title,"%s vs %s","rec. efficiency (protons)",fEffSecHisto->GetAxis(2)->GetTitle()); + snprintf(title,256,"%s vs %s","rec. efficiency (protons)",fEffSecHisto->GetAxis(2)->GetTitle()); ptRecPc->SetTitle(title); ptRecPc->SetBit(TH1::kLogX); @@ -1202,7 +1252,7 @@ void AliPerformanceEff::Analyse() ptRecFc->GetXaxis()->SetTitle(fEffSecHisto->GetAxis(2)->GetTitle()); ptRecFc->GetYaxis()->SetTitle("efficiency"); - sprintf(title,"%s vs %s","rec. efficiency (findable)",fEffSecHisto->GetAxis(2)->GetTitle()); + snprintf(title,256,"%s vs %s","rec. efficiency (findable)",fEffSecHisto->GetAxis(2)->GetTitle()); ptRecFc->SetTitle(title); ptRecFc->SetBit(TH1::kLogX); @@ -1225,7 +1275,7 @@ void AliPerformanceEff::Analyse() etaRecc->GetXaxis()->SetTitle(fEffSecHisto->GetAxis(0)->GetTitle()); etaRecc->GetYaxis()->SetTitle("efficiency"); - sprintf(title,"%s vs %s","rec. efficiency",fEffSecHisto->GetAxis(0)->GetTitle()); + snprintf(title,256,"%s vs %s","rec. efficiency",fEffSecHisto->GetAxis(0)->GetTitle()); etaRecc->SetTitle(title); aFolderObj->Add(etaRecc); @@ -1244,7 +1294,7 @@ void AliPerformanceEff::Analyse() etaRecElec->GetXaxis()->SetTitle(fEffSecHisto->GetAxis(0)->GetTitle()); etaRecElec->GetYaxis()->SetTitle("efficiency"); - sprintf(title,"%s vs %s","rec. efficiency (electrons)",fEffSecHisto->GetAxis(0)->GetTitle()); + snprintf(title,256,"%s vs %s","rec. efficiency (electrons)",fEffSecHisto->GetAxis(0)->GetTitle()); etaRecElec->SetTitle(title); aFolderObj->Add(etaRecElec); @@ -1263,7 +1313,7 @@ void AliPerformanceEff::Analyse() etaRecPic->GetXaxis()->SetTitle(fEffSecHisto->GetAxis(0)->GetTitle()); etaRecPic->GetYaxis()->SetTitle("efficiency"); - sprintf(title,"%s vs %s","rec. efficiency (pions)",fEffSecHisto->GetAxis(0)->GetTitle()); + snprintf(title,256,"%s vs %s","rec. efficiency (pions)",fEffSecHisto->GetAxis(0)->GetTitle()); etaRecPic->SetTitle(title); aFolderObj->Add(etaRecPic); @@ -1281,7 +1331,7 @@ void AliPerformanceEff::Analyse() etaRecKc->GetXaxis()->SetTitle(fEffSecHisto->GetAxis(0)->GetTitle()); etaRecKc->GetYaxis()->SetTitle("efficiency"); - sprintf(title,"%s vs %s","rec. efficiency (kaons)",fEffSecHisto->GetAxis(0)->GetTitle()); + snprintf(title,256,"%s vs %s","rec. efficiency (kaons)",fEffSecHisto->GetAxis(0)->GetTitle()); etaRecKc->SetTitle(title); @@ -1299,7 +1349,7 @@ void AliPerformanceEff::Analyse() etaRecPc->GetXaxis()->SetTitle(fEffSecHisto->GetAxis(0)->GetTitle()); etaRecPc->GetYaxis()->SetTitle("efficiency"); - sprintf(title,"%s vs %s","rec. efficiency (protons)",fEffSecHisto->GetAxis(0)->GetTitle()); + snprintf(title,256,"%s vs %s","rec. efficiency (protons)",fEffSecHisto->GetAxis(0)->GetTitle()); etaRecPc->SetTitle(title); aFolderObj->Add(etaRecPc); @@ -1321,7 +1371,7 @@ void AliPerformanceEff::Analyse() etaRecFc->GetXaxis()->SetTitle(fEffSecHisto->GetAxis(0)->GetTitle()); etaRecFc->GetYaxis()->SetTitle("efficiency"); - sprintf(title,"%s vs %s","rec. efficiency (findable)",fEffSecHisto->GetAxis(0)->GetTitle()); + snprintf(title,256,"%s vs %s","rec. efficiency (findable)",fEffSecHisto->GetAxis(0)->GetTitle()); etaRecFc->SetTitle(title); aFolderObj->Add(etaRecFc); @@ -1346,7 +1396,7 @@ void AliPerformanceEff::Analyse() phiRecc->GetXaxis()->SetTitle(fEffSecHisto->GetAxis(1)->GetTitle()); phiRecc->GetYaxis()->SetTitle("efficiency"); - sprintf(title,"%s vs %s","rec. efficiency",fEffSecHisto->GetAxis(1)->GetTitle()); + snprintf(title,256,"%s vs %s","rec. efficiency",fEffSecHisto->GetAxis(1)->GetTitle()); phiRecc->SetTitle(title); aFolderObj->Add(phiRecc); @@ -1365,7 +1415,7 @@ void AliPerformanceEff::Analyse() phiRecElec->GetXaxis()->SetTitle(fEffSecHisto->GetAxis(1)->GetTitle()); phiRecElec->GetYaxis()->SetTitle("efficiency"); - sprintf(title,"%s vs %s","rec. efficiency (electrons)",fEffSecHisto->GetAxis(1)->GetTitle()); + snprintf(title,256,"%s vs %s","rec. efficiency (electrons)",fEffSecHisto->GetAxis(1)->GetTitle()); phiRecElec->SetTitle(title); aFolderObj->Add(phiRecElec); @@ -1384,7 +1434,7 @@ void AliPerformanceEff::Analyse() phiRecPic->GetXaxis()->SetTitle(fEffSecHisto->GetAxis(1)->GetTitle()); phiRecPic->GetYaxis()->SetTitle("efficiency"); - sprintf(title,"%s vs %s","rec. efficiency (pions)",fEffSecHisto->GetAxis(1)->GetTitle()); + snprintf(title,256,"%s vs %s","rec. efficiency (pions)",fEffSecHisto->GetAxis(1)->GetTitle()); phiRecPic->SetTitle(title); aFolderObj->Add(phiRecPic); @@ -1402,7 +1452,7 @@ void AliPerformanceEff::Analyse() phiRecKc->GetXaxis()->SetTitle(fEffSecHisto->GetAxis(1)->GetTitle()); phiRecKc->GetYaxis()->SetTitle("efficiency"); - sprintf(title,"%s vs %s","rec. efficiency (kaons)",fEffSecHisto->GetAxis(1)->GetTitle()); + snprintf(title,256,"%s vs %s","rec. efficiency (kaons)",fEffSecHisto->GetAxis(1)->GetTitle()); phiRecKc->SetTitle(title); @@ -1420,7 +1470,7 @@ void AliPerformanceEff::Analyse() phiRecPc->GetXaxis()->SetTitle(fEffSecHisto->GetAxis(1)->GetTitle()); phiRecPc->GetYaxis()->SetTitle("efficiency"); - sprintf(title,"%s vs %s","rec. efficiency (protons)",fEffSecHisto->GetAxis(1)->GetTitle()); + snprintf(title,256,"%s vs %s","rec. efficiency (protons)",fEffSecHisto->GetAxis(1)->GetTitle()); phiRecPc->SetTitle(title); aFolderObj->Add(phiRecPc); @@ -1442,7 +1492,7 @@ void AliPerformanceEff::Analyse() phiRecFc->GetXaxis()->SetTitle(fEffSecHisto->GetAxis(1)->GetTitle()); phiRecFc->GetYaxis()->SetTitle("efficiency"); - sprintf(title,"%s vs %s","rec. efficiency (findable)",fEffSecHisto->GetAxis(1)->GetTitle()); + snprintf(title,256,"%s vs %s","rec. efficiency (findable)",fEffSecHisto->GetAxis(1)->GetTitle()); phiRecFc->SetTitle(title); aFolderObj->Add(phiRecFc); @@ -1521,7 +1571,7 @@ TH1D* AliPerformanceEff::AddHistoEff(Int_t axis, const Char_t *name, const Char_ recc->GetXaxis()->SetTitle(fEffHisto->GetAxis(axis)->GetTitle()); recc->GetYaxis()->SetTitle("efficiency"); - sprintf(title,"%s vs %s",vsTitle, fEffHisto->GetAxis(axis)->GetTitle()); + snprintf(title,256,"%s vs %s",vsTitle, fEffHisto->GetAxis(axis)->GetTitle()); recc->SetTitle(title); if (axis == 2 ) recc->SetBit(TH1::kLogX); diff --git a/PWG1/TPC/AliPerformanceMC.cxx b/PWG1/TPC/AliPerformanceMC.cxx index 5d8acc38c09..2c916fcc261 100644 --- a/PWG1/TPC/AliPerformanceMC.cxx +++ b/PWG1/TPC/AliPerformanceMC.cxx @@ -626,6 +626,7 @@ void AliPerformanceMC::Analyse() { TH1F *h=0; TH2F *h2D=0; TObjArray *aFolderObj = new TObjArray; + if(!aFolderObj) return; // write results in the folder TCanvas * c = new TCanvas("Phi resol Tan","Phi resol Tan"); @@ -647,13 +648,13 @@ void AliPerformanceMC::Analyse() { h2D = (TH2F*)fResolHisto->Projection(i,j); h = AliPerformanceMC::MakeResol(h2D,1,0,20); - sprintf(name,"h_res_%d_vs_%d",i,j); + snprintf(name,256,"h_res_%d_vs_%d",i,j); h->SetName(name); h->GetXaxis()->SetTitle(fResolHisto->GetAxis(j)->GetTitle()); - sprintf(title,"%s %s",fResolHisto->GetAxis(i)->GetTitle(),"(resolution)"); + snprintf(title,256,"%s %s",fResolHisto->GetAxis(i)->GetTitle(),"(resolution)"); h->GetYaxis()->SetTitle(title); - sprintf(title,"%s vs %s",title,fResolHisto->GetAxis(j)->GetTitle()); + snprintf(title,256,"%s vs %s",title,fResolHisto->GetAxis(j)->GetTitle()); h->SetTitle(title); if(j==9) h->SetBit(TH1::kLogX); @@ -661,14 +662,14 @@ void AliPerformanceMC::Analyse() { h = AliPerformanceMC::MakeResol(h2D,1,1,20); //h = (TH1F*)arr->At(1); - sprintf(name,"h_mean_res_%d_vs_%d",i,j); + snprintf(name,256,"h_mean_res_%d_vs_%d",i,j); h->SetName(name); h->GetXaxis()->SetTitle(fResolHisto->GetAxis(j)->GetTitle()); - sprintf(title,"%s %s",fResolHisto->GetAxis(i)->GetTitle(),"(mean)"); + snprintf(title,256,"%s %s",fResolHisto->GetAxis(i)->GetTitle(),"(mean)"); h->GetYaxis()->SetTitle(title); - sprintf(title,"%s vs %s",title,fResolHisto->GetAxis(j)->GetTitle()); + snprintf(title,256,"%s vs %s",title,fResolHisto->GetAxis(j)->GetTitle()); h->SetTitle(title); if(j==9) h->SetBit(TH1::kLogX); @@ -686,26 +687,26 @@ void AliPerformanceMC::Analyse() { h2D = (TH2F*)fPullHisto->Projection(i,j); h = AliPerformanceMC::MakeResol(h2D,1,0,20); - sprintf(name,"h_pull_%d_vs_%d",i,j); + snprintf(name,256,"h_pull_%d_vs_%d",i,j); h->SetName(name); h->GetXaxis()->SetTitle(fPullHisto->GetAxis(j)->GetTitle()); - sprintf(title,"%s %s",fPullHisto->GetAxis(i)->GetTitle(),"(resolution)"); + snprintf(title,256,"%s %s",fPullHisto->GetAxis(i)->GetTitle(),"(resolution)"); h->GetYaxis()->SetTitle(title); - sprintf(title,"%s vs %s",title,fPullHisto->GetAxis(j)->GetTitle()); + snprintf(title,256,"%s vs %s",title,fPullHisto->GetAxis(j)->GetTitle()); h->SetTitle(title); //if(j==9) h->SetBit(TH1::kLogX); aFolderObj->Add(h); h = AliPerformanceMC::MakeResol(h2D,1,1,20); - sprintf(name,"h_mean_pull_%d_vs_%d",i,j); + snprintf(name,256,"h_mean_pull_%d_vs_%d",i,j); h->SetName(name); h->GetXaxis()->SetTitle(fPullHisto->GetAxis(j)->GetTitle()); - sprintf(title,"%s %s",fPullHisto->GetAxis(i)->GetTitle(),"(mean)"); + snprintf(title,256,"%s %s",fPullHisto->GetAxis(i)->GetTitle(),"(mean)"); h->GetYaxis()->SetTitle(title); - sprintf(title,"%s vs %s",title,fPullHisto->GetAxis(j)->GetTitle()); + snprintf(title,256,"%s vs %s",title,fPullHisto->GetAxis(j)->GetTitle()); h->SetTitle(title); //if(j==9) h->SetBit(TH1::kLogX); diff --git a/PWG1/TPC/AliPerformanceMatch.cxx b/PWG1/TPC/AliPerformanceMatch.cxx index f2f9962b553..e7bdd46d9bd 100644 --- a/PWG1/TPC/AliPerformanceMatch.cxx +++ b/PWG1/TPC/AliPerformanceMatch.cxx @@ -633,13 +633,13 @@ void AliPerformanceMatch::Analyse() { /* h2D = (TH2F*)fResolHisto->Projection(i,j); h = AliPerformanceMatch::MakeResol(h2D,1,0,100); - sprintf(name,"h_res_%d_vs_%d",i,j); + snprintf(name,256,"h_res_%d_vs_%d",i,j); h->SetName(name); h->GetXaxis()->SetTitle(fResolHisto->GetAxis(j)->GetTitle()); - sprintf(title,"%s %s",fResolHisto->GetAxis(i)->GetTitle(),"(resolution)"); + snprintf(title,256,"%s %s",fResolHisto->GetAxis(i)->GetTitle(),"(resolution)"); h->GetYaxis()->SetTitle(title); - sprintf(title,"%s vs %s",title,fResolHisto->GetAxis(j)->GetTitle()); + snprintf(title,256,"%s vs %s",title,fResolHisto->GetAxis(j)->GetTitle()); h->SetTitle(title); //if(j==9) h->SetBit(TH1::kLogX); @@ -648,14 +648,14 @@ void AliPerformanceMatch::Analyse() { /* h = AliPerformanceMatch::MakeResol(h2D,1,1,100); //h = (TH1F*)arr->At(1); - sprintf(name,"h_mean_res_%d_vs_%d",i,j); + snprintf(name,256,"h_mean_res_%d_vs_%d",i,j); h->SetName(name); h->GetXaxis()->SetTitle(fResolHisto->GetAxis(j)->GetTitle()); - sprintf(title,"%s %s",fResolHisto->GetAxis(i)->GetTitle(),"(mean)"); + snprintf(title,256,"%s %s",fResolHisto->GetAxis(i)->GetTitle(),"(mean)"); h->GetYaxis()->SetTitle(title); - sprintf(title,"%s vs %s",title,fResolHisto->GetAxis(j)->GetTitle()); + snprintf(title,256,"%s vs %s",title,fResolHisto->GetAxis(j)->GetTitle()); h->SetTitle(title); if(j==9) h->SetBit(TH1::kLogX); @@ -672,26 +672,26 @@ void AliPerformanceMatch::Analyse() { h2D = (TH2F*)fPullHisto->Projection(i,j); h = AliPerformanceMatch::MakeResol(h2D,1,0,100); - sprintf(name,"h_pull_%d_vs_%d",i,j); + snprintf(name,256,"h_pull_%d_vs_%d",i,j); h->SetName(name); h->GetXaxis()->SetTitle(fPullHisto->GetAxis(j)->GetTitle()); - sprintf(title,"%s %s",fPullHisto->GetAxis(i)->GetTitle(),"(resolution)"); + snprintf(title,256,"%s %s",fPullHisto->GetAxis(i)->GetTitle(),"(resolution)"); h->GetYaxis()->SetTitle(title); - sprintf(title,"%s vs %s",title,fPullHisto->GetAxis(j)->GetTitle()); + snprintf(title,256,"%s vs %s",title,fPullHisto->GetAxis(j)->GetTitle()); h->SetTitle(title); if(j==9) h->SetBit(TH1::kLogX); aFolderObj->Add(h); h = AliPerformanceMatch::MakeResol(h2D,1,1,100); - sprintf(name,"h_mean_pull_%d_vs_%d",i,j); + snprintf(name,256,"h_mean_pull_%d_vs_%d",i,j); h->SetName(name); h->GetXaxis()->SetTitle(fPullHisto->GetAxis(j)->GetTitle()); - sprintf(title,"%s %s",fPullHisto->GetAxis(i)->GetTitle(),"(mean)"); + snprintf(title,256,"%s %s",fPullHisto->GetAxis(i)->GetTitle(),"(mean)"); h->GetYaxis()->SetTitle(title); - sprintf(title,"%s vs %s",title,fPullHisto->GetAxis(j)->GetTitle()); + snprintf(title,256,"%s vs %s",title,fPullHisto->GetAxis(j)->GetTitle()); h->SetTitle(title); //if(j==9) h->SetBit(TH1::kLogX); @@ -723,7 +723,7 @@ void AliPerformanceMatch::Analyse() { TH1F* h2c = (TH1F*)h2->Clone(); h2c->Divide(h2,h,1,1,"B"); - sprintf(name,"h_eff_%d",i); + snprintf(name,256,"h_eff_%d",i); h2c->SetName(name); h2c->GetXaxis()->SetTitle(h2c->GetXaxis()->GetTitle()); @@ -769,7 +769,7 @@ void AliPerformanceMatch::Analyse() { TH1F* h2c = (TH1F*)h2->Clone(); h2c->Divide(h2,h,1,1,"B"); - sprintf(name,"h_TPC_eff_%d",i); + snprintf(name,256,"h_TPC_eff_%d",i); h2c->SetName(name); h2c->GetXaxis()->SetTitle(h2c->GetXaxis()->GetTitle()); @@ -817,16 +817,16 @@ void AliPerformanceMatch::AnalyseFinal() { { for(Int_t j=5; j<10; j++) { - sprintf(name,"h_tpc_match_resol_%d_%d",i,j); + snprintf(name,256,"h_tpc_match_resol_%d_%d",i,j); h2D = dynamic_cast(aFolderObj->FindObject(name)); if (h2D) { h = AliPerformanceMatch::MakeResol(h2D,1,0,100); - sprintf(name,"h_res_%d_vs_%d",i,j); + snprintf(name,256,"h_res_%d_vs_%d",i,j); h->SetName(name); h->GetXaxis()->SetTitle(fResolHisto->GetAxis(j)->GetTitle()); - sprintf(title,"%s %s",fResolHisto->GetAxis(i)->GetTitle(),"(resolution)"); + snprintf(title,256,"%s %s",fResolHisto->GetAxis(i)->GetTitle(),"(resolution)"); h->GetYaxis()->SetTitle(title); - sprintf(title,"%s vs %s",title,fResolHisto->GetAxis(j)->GetTitle()); + snprintf(title,256,"%s vs %s",title,fResolHisto->GetAxis(j)->GetTitle()); h->SetTitle(title); //if(j==9) h->SetBit(TH1::kLogX); @@ -834,14 +834,14 @@ void AliPerformanceMatch::AnalyseFinal() { h = AliPerformanceMatch::MakeResol(h2D,1,1,100); //h = (TH1F*)arr->At(1); - sprintf(name,"h_mean_res_%d_vs_%d",i,j); + snprintf(name,256,"h_mean_res_%d_vs_%d",i,j); h->SetName(name); h->GetXaxis()->SetTitle(fResolHisto->GetAxis(j)->GetTitle()); - sprintf(title,"%s %s",fResolHisto->GetAxis(i)->GetTitle(),"(mean)"); + snprintf(title,256,"%s %s",fResolHisto->GetAxis(i)->GetTitle(),"(mean)"); h->GetYaxis()->SetTitle(title); - sprintf(title,"%s vs %s",title,fResolHisto->GetAxis(j)->GetTitle()); + snprintf(title,256,"%s vs %s",title,fResolHisto->GetAxis(j)->GetTitle()); h->SetTitle(title); if(j==9) h->SetBit(TH1::kLogX); @@ -849,30 +849,30 @@ void AliPerformanceMatch::AnalyseFinal() { h=0; } // - sprintf(name,"h_tpc_match_pull_%d_%d",i,j); + snprintf(name,256,"h_tpc_match_pull_%d_%d",i,j); h2D = dynamic_cast(aFolderObj->FindObject(name)); if (h2D) { h = AliPerformanceMatch::MakeResol(h2D,1,0,100); - sprintf(name,"h_pull_%d_vs_%d",i,j); + snprintf(name,256,"h_pull_%d_vs_%d",i,j); h->SetName(name); h->GetXaxis()->SetTitle(fPullHisto->GetAxis(j)->GetTitle()); - sprintf(title,"%s %s",fPullHisto->GetAxis(i)->GetTitle(),"(resolution)"); + snprintf(title,256,"%s %s",fPullHisto->GetAxis(i)->GetTitle(),"(resolution)"); h->GetYaxis()->SetTitle(title); - sprintf(title,"%s vs %s",title,fPullHisto->GetAxis(j)->GetTitle()); + snprintf(title,256,"%s vs %s",title,fPullHisto->GetAxis(j)->GetTitle()); h->SetTitle(title); if(j==9) h->SetBit(TH1::kLogX); aFolderObj->Add(h); h = AliPerformanceMatch::MakeResol(h2D,1,1,100); - sprintf(name,"h_mean_pull_%d_vs_%d",i,j); + snprintf(name,256,"h_mean_pull_%d_vs_%d",i,j); h->SetName(name); h->GetXaxis()->SetTitle(fPullHisto->GetAxis(j)->GetTitle()); - sprintf(title,"%s %s",fPullHisto->GetAxis(i)->GetTitle(),"(mean)"); + snprintf(title,256,"%s %s",fPullHisto->GetAxis(i)->GetTitle(),"(mean)"); h->GetYaxis()->SetTitle(title); - sprintf(title,"%s vs %s",title,fPullHisto->GetAxis(j)->GetTitle()); + snprintf(title,256,"%s vs %s",title,fPullHisto->GetAxis(j)->GetTitle()); h->SetTitle(title); //if(j==9) h->SetBit(TH1::kLogX); @@ -887,18 +887,18 @@ void AliPerformanceMatch::AnalyseFinal() { // for(Int_t i=5; i<10; i++) { - sprintf(name,"h_tpc_match_eff_all_%d",i); + snprintf(name,256,"h_tpc_match_eff_all_%d",i); h = dynamic_cast(aFolderObj->FindObject(name)); - sprintf(name,"h_tpc_match_eff_rec_%d",i); + snprintf(name,256,"h_tpc_match_eff_rec_%d",i); h2 = dynamic_cast(aFolderObj->FindObject(name)); if (h && h2) { TH1F* h2c = (TH1F*)h2->Clone(); h2c->Divide(h2,h,1,1,"B"); - sprintf(name,"h_eff_%d",i); + snprintf(name,256,"h_eff_%d",i); h2c->SetName(name); h2c->GetXaxis()->SetTitle(h2c->GetXaxis()->GetTitle()); @@ -926,19 +926,19 @@ void AliPerformanceMatch::AnalyseFinal() { // // all ITS standalone tracks - sprintf(name,"h_tpc_match_trackingeff_all_%d",i); + snprintf(name,256,"h_tpc_match_trackingeff_all_%d",i); h = dynamic_cast(aFolderObj->FindObject(name)); // TPC tracks which has matching with TPC - sprintf(name,"h_tpc_match_trackingeff_tpc_%d",i); + snprintf(name,256,"h_tpc_match_trackingeff_tpc_%d",i); h2 = dynamic_cast(aFolderObj->FindObject(name)); if (h && h2) { TH1F* h2c = (TH1F*)h2->Clone(); h2c->Divide(h2,h,1,1,"B"); - sprintf(name,"h_TPC_eff_%d",i); + snprintf(name,256,"h_TPC_eff_%d",i); h2c->SetName(name); h2c->GetXaxis()->SetTitle(h2c->GetXaxis()->GetTitle()); diff --git a/PWG1/TPC/AliPerformanceObject.cxx b/PWG1/TPC/AliPerformanceObject.cxx index b32f76d87ee..b90f9c6b748 100644 --- a/PWG1/TPC/AliPerformanceObject.cxx +++ b/PWG1/TPC/AliPerformanceObject.cxx @@ -93,8 +93,8 @@ void AliPerformanceObject::PrintHisto(Bool_t logz, Char_t * outFileName) { char fname[256]; const char* suffix=".ps"; - if(outFileName) sprintf(fname,"%s",outFileName); - else sprintf(fname,"%s%s",folder->GetName(),suffix); + if(outFileName) snprintf(fname,256,"%s",outFileName); + else snprintf(fname,256,"%s%s",folder->GetName(),suffix); TPostScript *ps = new TPostScript(fname,112); Printf("Histograms are stored in %s", fname); diff --git a/PWG1/TPC/AliPerformancePtCalib.cxx b/PWG1/TPC/AliPerformancePtCalib.cxx index fdcfce5b7c3..4cd7e3d053a 100755 --- a/PWG1/TPC/AliPerformancePtCalib.cxx +++ b/PWG1/TPC/AliPerformancePtCalib.cxx @@ -155,6 +155,11 @@ ClassImp(AliPerformancePtCalib) fExclRange =0; //range of rejection of points around 0 fDoRebin = kFALSE; fRebin = 0; + + for(Int_t i=0; i<100; i++) { + fThetaBins[i] = 0.0; + fPhiBins[i] = 0.0; + } Init(); } @@ -236,6 +241,12 @@ AliPerformancePtCalib::AliPerformancePtCalib(Char_t * name="AliPerformancePtCali fDoRebin = kFALSE; fRebin = 0; + for(Int_t i=0; i<100; i++) { + fThetaBins[i] = 0.0; + fPhiBins[i] = 0.0; + } + + Init(); } //________________________________________________________________________ @@ -346,7 +357,10 @@ void AliPerformancePtCalib::Exec(AliMCEvent* const /*mcEvent*/, AliESDEvent *con { //exec: read esd or tpc - if(!fESDTrackCuts) Printf("no esd track cut"); + if(!fESDTrackCuts) { + Printf("no esd track cut"); + return; + } if (!esdEvent) { Printf("ERROR: Event not available"); @@ -477,14 +491,17 @@ void AliPerformancePtCalib::Analyse() // analyse charge/pt spectra in bins of theta and phi. Bins can be set by user THnSparseF *copyTHnSparseTheta = (THnSparseF*)fHistInvPtPtThetaPhi->Clone("copyTHnSparseTheta"); + if(!copyTHnSparseTheta) return; copyTHnSparseTheta->GetAxis(3)->SetRangeUser(fMinPhi,fMaxPhi); TH2F *histInvPtTheta = (TH2F*)copyTHnSparseTheta->Projection(2,0); THnSparseF *copyTHnSparsePhi = (THnSparseF*)fHistInvPtPtThetaPhi->Clone("copyTHnSparsePhi"); + if(!copyTHnSparsePhi) return; copyTHnSparsePhi->GetAxis(2)->SetRangeUser(fMinTheta,fMaxTheta); TH2F *histInvPtPhi = (TH2F*)copyTHnSparsePhi->Projection(3,0); AliPerfAnalyzeInvPt *ana = new AliPerfAnalyzeInvPt("AliPerfAnalyzeInvPt","AliPerfAnalyzeInvPt"); + if(!ana) return; TH1::AddDirectory(kFALSE); @@ -494,6 +511,7 @@ void AliPerformancePtCalib::Analyse() ana->SetMakeFitOption(fFitGaus,fExclRange,fRange); if(fDoRebin) ana->SetDoRebin(fRebin); TObjArray *aFolderObj = new TObjArray; + if(!aFolderObj) return; ana->StartAnalysis(histInvPtTheta,histInvPtPhi,aFolderObj); diff --git a/PWG1/TPC/AliPerformancePtCalibMC.cxx b/PWG1/TPC/AliPerformancePtCalibMC.cxx index 3740fa4cd17..fea9b4098ee 100755 --- a/PWG1/TPC/AliPerformancePtCalibMC.cxx +++ b/PWG1/TPC/AliPerformancePtCalibMC.cxx @@ -169,6 +169,11 @@ ClassImp(AliPerformancePtCalibMC) fDoRebin = kFALSE; fRebin = 0; + for (Int_t i=0; i<100; i++){ + fThetaBins[i] = 0; + fPhiBins[i] = 0; + } + Init(); } @@ -263,6 +268,11 @@ AliPerformancePtCalibMC::AliPerformancePtCalibMC(const char *name= "AliPerforman fDoRebin = kFALSE;// flag for rebin fRebin = 0;// bins for rebin + for (Int_t i=0; i<100; i++){ + fThetaBins[i] = 0; + fPhiBins[i] = 0; + } + Init(); } @@ -647,6 +657,7 @@ void AliPerformancePtCalibMC::Analyse() TH2F *histInvPtPhi = (TH2F*)copyTHnSparsePhi->Projection(3,0); AliPerfAnalyzeInvPt *ana = new AliPerfAnalyzeInvPt("AliPerfAnalyzeInvPt","AliPerfAnalyzeInvPt"); + if(!ana) return; TH1::AddDirectory(kFALSE); @@ -655,6 +666,7 @@ void AliPerformancePtCalibMC::Analyse() ana->SetMakeFitOption(fFitGaus,fExclRange,fRange); if(fDoRebin) ana->SetDoRebin(fRebin); TObjArray *aFolderObj = new TObjArray; + if(!aFolderObj) return; ana->StartAnalysis(histInvPtTheta,histInvPtPhi, aFolderObj); diff --git a/PWG1/TPC/AliPerformanceRes.cxx b/PWG1/TPC/AliPerformanceRes.cxx index 234688b0b66..16b33fb9fa0 100644 --- a/PWG1/TPC/AliPerformanceRes.cxx +++ b/PWG1/TPC/AliPerformanceRes.cxx @@ -972,6 +972,7 @@ void AliPerformanceRes::Analyse() { TH1F *h=0; TH2F *h2D=0; TObjArray *aFolderObj = new TObjArray; + if(!aFolderObj) return; // write results in the folder TCanvas * c = new TCanvas("Phi resol Tan","Phi resol Tan"); @@ -993,13 +994,13 @@ void AliPerformanceRes::Analyse() { h2D = (TH2F*)fResolHisto->Projection(i,j); h = AliPerformanceRes::MakeResol(h2D,1,0,100); - sprintf(name,"h_res_%d_vs_%d",i,j); + snprintf(name,256,"h_res_%d_vs_%d",i,j); h->SetName(name); h->GetXaxis()->SetTitle(fResolHisto->GetAxis(j)->GetTitle()); - sprintf(title,"%s %s",fResolHisto->GetAxis(i)->GetTitle(),"(resolution)"); + snprintf(title,256,"%s %s",fResolHisto->GetAxis(i)->GetTitle(),"(resolution)"); h->GetYaxis()->SetTitle(title); - sprintf(title,"%s vs %s",title,fResolHisto->GetAxis(j)->GetTitle()); + snprintf(title,256,"%s vs %s",title,fResolHisto->GetAxis(j)->GetTitle()); h->SetTitle(title); if(j==9) h->SetBit(TH1::kLogX); @@ -1007,14 +1008,14 @@ void AliPerformanceRes::Analyse() { h = AliPerformanceRes::MakeResol(h2D,1,1,100); //h = (TH1F*)arr->At(1); - sprintf(name,"h_mean_res_%d_vs_%d",i,j); + snprintf(name,256,"h_mean_res_%d_vs_%d",i,j); h->SetName(name); h->GetXaxis()->SetTitle(fResolHisto->GetAxis(j)->GetTitle()); - sprintf(title,"%s %s",fResolHisto->GetAxis(i)->GetTitle(),"(mean)"); + snprintf(title,256,"%s %s",fResolHisto->GetAxis(i)->GetTitle(),"(mean)"); h->GetYaxis()->SetTitle(title); - sprintf(title,"%s vs %s",title,fResolHisto->GetAxis(j)->GetTitle()); + snprintf(title,256,"%s vs %s",title,fResolHisto->GetAxis(j)->GetTitle()); h->SetTitle(title); if(j==9) h->SetBit(TH1::kLogX); @@ -1033,26 +1034,26 @@ void AliPerformanceRes::Analyse() { h2D = (TH2F*)fPullHisto->Projection(i,j); h = AliPerformanceRes::MakeResol(h2D,1,0,100); - sprintf(name,"h_pull_%d_vs_%d",i,j); + snprintf(name,256,"h_pull_%d_vs_%d",i,j); h->SetName(name); h->GetXaxis()->SetTitle(fPullHisto->GetAxis(j)->GetTitle()); - sprintf(title,"%s %s",fPullHisto->GetAxis(i)->GetTitle(),"(resolution)"); + snprintf(title,256,"%s %s",fPullHisto->GetAxis(i)->GetTitle(),"(resolution)"); h->GetYaxis()->SetTitle(title); - sprintf(title,"%s vs %s",title,fPullHisto->GetAxis(j)->GetTitle()); + snprintf(title,256,"%s vs %s",title,fPullHisto->GetAxis(j)->GetTitle()); h->SetTitle(title); //if(j==9) h->SetBit(TH1::kLogX); aFolderObj->Add(h); h = AliPerformanceRes::MakeResol(h2D,1,1,100); - sprintf(name,"h_mean_pull_%d_vs_%d",i,j); + snprintf(name,256,"h_mean_pull_%d_vs_%d",i,j); h->SetName(name); h->GetXaxis()->SetTitle(fPullHisto->GetAxis(j)->GetTitle()); - sprintf(title,"%s %s",fPullHisto->GetAxis(i)->GetTitle(),"(mean)"); + snprintf(title,256,"%s %s",fPullHisto->GetAxis(i)->GetTitle(),"(mean)"); h->GetYaxis()->SetTitle(title); - sprintf(title,"%s vs %s",title,fPullHisto->GetAxis(j)->GetTitle()); + snprintf(title,256,"%s vs %s",title,fPullHisto->GetAxis(j)->GetTitle()); h->SetTitle(title); //if(j==9) h->SetBit(TH1::kLogX); diff --git a/PWG1/TPC/AliPerformanceTask.cxx b/PWG1/TPC/AliPerformanceTask.cxx index da6c52f3b5d..4fc780a80a7 100644 --- a/PWG1/TPC/AliPerformanceTask.cxx +++ b/PWG1/TPC/AliPerformanceTask.cxx @@ -285,6 +285,7 @@ void AliPerformanceTask::Terminate(Option_t *) TString tmpFile = gSystem->TempDirectory() + TString("/TPCQASummary.") + uuid.AsString() + TString(".root"); AliTPCPerformanceSummary::WriteToFile(pTPC, pDEdx, pMatch, tmpFile.Data()); TChain* chain = new TChain("tpcQA"); + if(!chain) return; chain->Add(tmpFile.Data()); TTree *tree = chain->CopyTree("1"); if (chain) { delete chain; chain=0; } diff --git a/PWG1/TPC/AliRecInfoMaker.cxx b/PWG1/TPC/AliRecInfoMaker.cxx index 93c93eb165b..e69a2c25c30 100644 --- a/PWG1/TPC/AliRecInfoMaker.cxx +++ b/PWG1/TPC/AliRecInfoMaker.cxx @@ -287,8 +287,12 @@ AliRecInfoMaker::AliRecInfoMaker(const char* fnGenTracks, Reset(); // fFnGenTracks = fnGenTracks; // fFnCmp = fnCmp; - sprintf(fFnGenTracks,"%s",fnGenTracks); - sprintf(fFnCmp,"%s",fnCmp); + + memset(fFnGenTracks,0,sizeof(fFnGenTracks)); + memset(fFnCmp,0,sizeof(fFnCmp)); + + snprintf(fFnGenTracks,1000,"%s",fnGenTracks); + snprintf(fFnCmp,1000,"%s",fnCmp); fFirstEventNr = firstEvent; fEventNr = firstEvent; @@ -375,6 +379,8 @@ AliRecInfoMaker::AliRecInfoMaker(const AliRecInfoMaker& /*info*/): // // Dummy copu constructor // + memset(fFnGenTracks,0,sizeof(fFnGenTracks)); + memset(fFnCmp,0,sizeof(fFnCmp)); } @@ -826,6 +832,7 @@ Int_t AliRecInfoMaker::TreeGenLoop(Int_t eventNr) // if (fIndexRecTracks[fMCInfo->fLabel*20] >= 0) { track= (AliESDtrack*)fEvent->GetTrack(fIndexRecTracks[fMCInfo->fLabel*20]); + if(!track) continue; // // // find nearest track if multifound @@ -934,7 +941,9 @@ Int_t AliRecInfoMaker::BuildKinkInfo0(Int_t eventNr) // // AliESDRecInfo* fRecInfo1 = (AliESDRecInfo*)fRecArray->At(fGenKinkInfo->GetMinus().fLabel); + if(!fRecInfo1) continue; AliESDRecInfo* fRecInfo2 = (AliESDRecInfo*)fRecArray->At(fGenKinkInfo->GetPlus().fLabel); + if(!fRecInfo2) continue; fRecKinkInfo->fT1 = (*fRecInfo1); fRecKinkInfo->fT2 = (*fRecInfo2); fRecKinkInfo->fStatus =0; diff --git a/PWG1/TPC/AliTreeDraw.cxx b/PWG1/TPC/AliTreeDraw.cxx index f282253decb..aac4026ce19 100644 --- a/PWG1/TPC/AliTreeDraw.cxx +++ b/PWG1/TPC/AliTreeDraw.cxx @@ -94,9 +94,9 @@ TH1F * AliTreeDraw::DrawXY(const char * chx, const char *chy, const char* select Double_t* bins = CreateLogBins(nbins, minx, maxx); TH2F* hRes2 = new TH2F("hRes2", "residuals", nbins, minx, maxx, nBinsRes, miny, maxy); char cut[1000]; - sprintf(cut,"%s&&%s",selection,quality); + snprintf(cut,1000,"%s&&%s",selection,quality); char expression[1000]; - sprintf(expression,"%s:%s>>hRes2",chy,chx); + snprintf(expression,1000,"%s:%s>>hRes2",chy,chx); fTree->Draw(expression, cut, "groff"); TH1F* hMean=0; TH1F* hRes = CreateResHisto(hRes2, &hMean); @@ -121,9 +121,9 @@ TH1F * AliTreeDraw::DrawLogXY(const char * chx, const char *chy, const char* sel Double_t* bins = CreateLogBins(nbins, minx, maxx); TH2F* hRes2 = new TH2F("hRes2", "residuals", nbins, bins, nBinsRes, miny, maxy); char cut[1000]; - sprintf(cut,"%s&&%s",selection,quality); + snprintf(cut,1000,"%s&&%s",selection,quality); char expression[1000]; - sprintf(expression,"%s:%s>>hRes2",chy,chx); + snprintf(expression,1000,"%s:%s>>hRes2",chy,chx); fTree->Draw(expression, cut, "groff"); TH1F* hMean=0; TH1F* hRes = CreateResHisto(hRes2, &hMean); @@ -147,12 +147,12 @@ TH1F * AliTreeDraw::Eff(const char *variable, const char* selection, const char TH1F* hGen = new TH1F("hGen", "gen. tracks", nbins, min, max); TH1F* hRec = new TH1F("hRec", "rec. tracks", nbins, min, max); char inputGen[1000]; - sprintf(inputGen,"%s>>hGen", variable); + snprintf(inputGen,1000,"%s>>hGen", variable); fTree->Draw(inputGen, selection, "groff"); char selectionRec[256]; - sprintf(selectionRec, "%s && %s", selection, quality); + snprintf(selectionRec,1000, "%s && %s", selection, quality); char inputRec[1000]; - sprintf(inputRec,"%s>>hRec", variable); + snprintf(inputRec,1000,"%s>>hRec", variable); fTree->Draw(inputRec, selectionRec, "groff"); // TH1F* hEff = CreateEffHisto(hGen, hRec); @@ -176,12 +176,12 @@ TH1F * AliTreeDraw::EffLog(const char *variable, const char* selection, const ch TH1F* hGen = new TH1F("hGen", "gen. tracks", nbins, bins); TH1F* hRec = new TH1F("hRec", "rec. tracks", nbins, bins); char inputGen[1000]; - sprintf(inputGen,"%s>>hGen", variable); + snprintf(inputGen,1000,"%s>>hGen", variable); fTree->Draw(inputGen, selection, "groff"); char selectionRec[256]; - sprintf(selectionRec, "%s && %s", selection, quality); + snprintf(selectionRec,1000, "%s && %s", selection, quality); char inputRec[1000]; - sprintf(inputRec,"%s>>hRec", variable); + snprintf(inputRec,1000,"%s>>hRec", variable); fTree->Draw(inputRec, selectionRec, "groff"); // TH1F* hEff = CreateEffHisto(hGen, hRec); @@ -325,11 +325,11 @@ TH1F* AliTreeDraw::CreateResHisto(TH2F* hRes2, TH1F **phMean, Bool_t drawBinFit if (drawBinFits) { char name[256]; if (bin == 0) { - sprintf(name, "%s < %.4g", axis->GetTitle(), axis->GetBinUpEdge(bin)); + snprintf(name,256, "%s < %.4g", axis->GetTitle(), axis->GetBinUpEdge(bin)); } else if (bin == nBins+1) { - sprintf(name, "%.4g < %s", axis->GetBinLowEdge(bin), axis->GetTitle()); + snprintf(name,256, "%.4g < %s", axis->GetBinLowEdge(bin), axis->GetTitle()); } else { - sprintf(name, "%.4g < %s < %.4g", axis->GetBinLowEdge(bin), + snprintf(name,256, "%.4g < %s < %.4g", axis->GetBinLowEdge(bin), axis->GetTitle(), axis->GetBinUpEdge(bin)); } canBinFits->cd(bin + dBin); @@ -355,7 +355,8 @@ TH1F* AliTreeDraw::CreateResHistoI(TH2F* hRes2, TH1F **phMean, Int_t integ, Boo TVirtualPad* currentPad = gPad; TAxis* axis = hRes2->GetXaxis(); Int_t nBins = axis->GetNbins(); - Bool_t overflowBinFits = kFALSE; + //Bool_t overflowBinFits = kFALSE; + TH1F* hRes, *hMean; if (axis->GetXbins()->GetSize()){ hRes = new TH1F("hRes", "", nBins, axis->GetXbins()->GetArray()); @@ -380,7 +381,8 @@ TH1F* AliTreeDraw::CreateResHistoI(TH2F* hRes2, TH1F **phMean, Int_t integ, Boo fitFunc->SetFillStyle(0); // create canvas for fits TCanvas* canBinFits = NULL; - Int_t nPads = (overflowBinFits) ? nBins+2 : nBins; + //Int_t nPads = (overflowBinFits) ? nBins+2 : nBins; + Int_t nPads = nBins; Int_t nx = Int_t(sqrt(nPads-1.));// + 1; Int_t ny = (nPads-1) / nx + 1; if (drawBinFits) { @@ -391,7 +393,8 @@ TH1F* AliTreeDraw::CreateResHistoI(TH2F* hRes2, TH1F **phMean, Int_t integ, Boo } // loop over x bins and fit projection - Int_t dBin = ((overflowBinFits) ? 1 : 0); + //Int_t dBin = ((overflowBinFits) ? 1 : 0); + Int_t dBin = 0; for (Int_t bin = 1-dBin; bin <= nBins+dBin; bin++) { if (drawBinFits) canBinFits->cd(bin + dBin); Int_t bin0=TMath::Max(bin-integ,0); @@ -428,11 +431,11 @@ TH1F* AliTreeDraw::CreateResHistoI(TH2F* hRes2, TH1F **phMean, Int_t integ, Boo if (drawBinFits) { char name[256]; if (bin == 0) { - sprintf(name, "%s < %.4g", axis->GetTitle(), axis->GetBinUpEdge(bin)); + snprintf(name,256, "%s < %.4g", axis->GetTitle(), axis->GetBinUpEdge(bin)); } else if (bin == nBins+1) { - sprintf(name, "%.4g < %s", axis->GetBinLowEdge(bin), axis->GetTitle()); + snprintf(name,256, "%.4g < %s", axis->GetBinLowEdge(bin), axis->GetTitle()); } else { - sprintf(name, "%.4g < %s < %.4g", axis->GetBinLowEdge(bin), + snprintf(name,256, "%.4g < %s < %.4g", axis->GetBinLowEdge(bin), axis->GetTitle(), axis->GetBinUpEdge(bin)); } canBinFits->cd(bin + dBin); @@ -458,7 +461,7 @@ TH1F* AliTreeDraw::CreateResHistoII(TH2F* hRes2, TH1F **phMean, Int_t integ, Bo TVirtualPad* currentPad = gPad; TAxis* axis = hRes2->GetXaxis(); Int_t nBins = axis->GetNbins(); - Bool_t overflowBinFits = kFALSE; + //Bool_t overflowBinFits = kFALSE; TH1F* hRes, *hMean; if (axis->GetXbins()->GetSize()){ hRes = new TH1F("hRes", "", nBins, axis->GetXbins()->GetArray()); @@ -483,7 +486,8 @@ TH1F* AliTreeDraw::CreateResHistoII(TH2F* hRes2, TH1F **phMean, Int_t integ, Bo fitFunc->SetFillStyle(0); // create canvas for fits TCanvas* canBinFits = NULL; - Int_t nPads = (overflowBinFits) ? nBins+2 : nBins; + //Int_t nPads = (overflowBinFits) ? nBins+2 : nBins; + Int_t nPads = nBins; Int_t nx = Int_t(sqrt(nPads-1.));// + 1; Int_t ny = (nPads-1) / nx + 1; if (drawBinFits) { @@ -494,7 +498,8 @@ TH1F* AliTreeDraw::CreateResHistoII(TH2F* hRes2, TH1F **phMean, Int_t integ, Bo } // loop over x bins and fit projection - Int_t dBin = ((overflowBinFits) ? 1 : 0); + //Int_t dBin = ((overflowBinFits) ? 1 : 0); + Int_t dBin = 0; for (Int_t bin = 1-dBin; bin <= nBins+dBin; bin++) { if (drawBinFits) canBinFits->cd(bin + dBin); Int_t bin0=TMath::Max(bin-integ,0); @@ -531,11 +536,11 @@ TH1F* AliTreeDraw::CreateResHistoII(TH2F* hRes2, TH1F **phMean, Int_t integ, Bo if (drawBinFits) { char name[256]; if (bin == 0) { - sprintf(name, "%s < %.4g", axis->GetTitle(), axis->GetBinUpEdge(bin)); + snprintf(name,256, "%s < %.4g", axis->GetTitle(), axis->GetBinUpEdge(bin)); } else if (bin == nBins+1) { - sprintf(name, "%.4g < %s", axis->GetBinLowEdge(bin), axis->GetTitle()); + snprintf(name,256, "%.4g < %s", axis->GetBinLowEdge(bin), axis->GetTitle()); } else { - sprintf(name, "%.4g < %s < %.4g", axis->GetBinLowEdge(bin), + snprintf(name,256, "%.4g < %s < %.4g", axis->GetBinLowEdge(bin), axis->GetTitle(), axis->GetBinUpEdge(bin)); } canBinFits->cd(bin + dBin); @@ -626,7 +631,9 @@ TString* AliTreeDraw::FitPlane(const char* drawCommand, const char* formula, con if (i < dim) centries = fTree->Draw(((TObjString*)formulaTokens->At(i))->GetName(), cutStr.Data(), "goff", stop-start,start); else centries = fTree->Draw(drawStr.Data(), cutStr.Data(), "goff", stop-start,start); - if (entries != centries) return new TString("An ERROR has occured during fitting!"); + if (entries != centries) { + return new TString("An ERROR has occured during fitting!"); + } values[i] = new Double_t[entries]; memcpy(values[i], fTree->GetV1(), entries*sizeof(Double_t)); } @@ -642,7 +649,6 @@ TString* AliTreeDraw::FitPlane(const char* drawCommand, const char* formula, con fitter->GetParameters(fitParam); fitter->GetCovarianceMatrix(covMatrix); chi2 = fitter->GetChisquare(); - chi2 = chi2; TString *preturnFormula = new TString(Form("( %f+",fitParam[0])), &returnFormula = *preturnFormula; @@ -653,6 +659,7 @@ TString* AliTreeDraw::FitPlane(const char* drawCommand, const char* formula, con returnFormula.Append(" )"); delete formulaTokens; delete fitter; + delete[] *values; delete[] values; return preturnFormula; } -- 2.39.3