]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG0/dNdPt/AlidNdPtCutAnalysis.cxx
coverity
[u/mrichter/AliRoot.git] / PWG0 / dNdPt / AlidNdPtCutAnalysis.cxx
index 51ea9fe53f5a5f4cb94cddeaa6d80a09781929de..9e24cfb7e0ec7eeb49948e311ef10879b93adf2b 100644 (file)
@@ -155,9 +155,9 @@ void AlidNdPtCutAnalysis::Init(){
   //\r
 \r
  //nCrossRows:chi2PerClust:nCrossRows/nFindableClust:fracSharedClust:DCAy:DCAz:eta:phi:pt:hasStrangeMother:isFromMaterial:isPrim:charge\r
-  Int_t binsRecMCTrackHist[13]=  {160, 10, 20, 20, 50,  50,  20,  90,             ptNbins, 2,  2,  2,  3};\r
-  Double_t minRecMCTrackHist[13]={0.,  0., 0., 0.,-0.5,-0.5,-1.0, 0.,             ptMin,   0., 0., 0.,-1.};\r
-  Double_t maxRecMCTrackHist[13]={160.,10.,1.,  1., 0.5, 0.5, 1.0, 2.*TMath::Pi(), ptMax,   2., 2., 2., 2.};\r
+  Int_t binsRecMCTrackHist[13]=  { 160,  10,  20,  20, 50,  50,   20,  90,             ptNbins, 2,  2,  2,  3  };\r
+  Double_t minRecMCTrackHist[13]={ 0.,   0.,  0.,  0., -0.5,-0.5,-1.0, 0.,             ptMin,   0., 0., 0.,-1. };\r
+  Double_t maxRecMCTrackHist[13]={ 160., 10., 1.,  1., 0.5, 0.5,  1.0, 2.*TMath::Pi(), ptMax,   2., 2., 2., 2. };\r
 \r
   fRecMCTrackHist = new THnSparseF("fRecMCTrackHist","nCrossRows:chi2PerClust:nCrossRows/nFindableClust:fracSharedClust:DCAy:DCAz:eta:phi:pt:hasStrangeMother:isFromMaterial:isPrim:charge",13,binsRecMCTrackHist,minRecMCTrackHist,maxRecMCTrackHist);\r
   fRecMCTrackHist->SetBinEdges(8,binsPt);\r
@@ -581,6 +581,8 @@ void AlidNdPtCutAnalysis::Analyse()
   //\r
   TH1::AddDirectory(kFALSE);\r
   TObjArray *aFolderObj = new TObjArray;\r
+  if(!aFolderObj) return;\r
+\r
   TH1D *h1D = 0; \r
   TH2D *h2D = 0; \r
 \r
@@ -611,11 +613,13 @@ void AlidNdPtCutAnalysis::Analyse()
   // Event counters\r
   //\r
   h2D = (TH2D*)fEventCount->Projection(0,1);\r
+  if(!h2D) return;\r
   h2D->SetName("trig_vs_trigANDvertex");\r
   aFolderObj->Add(h2D);\r
 \r
   fEventCount->GetAxis(0)->SetRange(2,2); // triggered\r
   h1D = (TH1D*)fEventCount->Projection(1);\r
+  if(!h1D) return;\r
   h1D->SetTitle("rec. vertex for triggered events");\r
   h1D->SetName("trigANDvertex");\r
   aFolderObj->Add(h1D);\r
@@ -624,30 +628,37 @@ void AlidNdPtCutAnalysis::Analyse()
   // Create rec. event histograms\r
   //\r
   h1D = (TH1D *)fRecEventHist->Projection(0);\r
+  if(!h1D) return;\r
   h1D->SetName("rec_xv");\r
   aFolderObj->Add(h1D);\r
 \r
   h1D = (TH1D *)fRecEventHist->Projection(1);\r
+  if(!h1D) return;\r
   h1D->SetName("rec_yv");\r
   aFolderObj->Add(h1D);\r
 \r
   h1D = (TH1D *)fRecEventHist->Projection(2);\r
+  if(!h1D) return;\r
   h1D->SetName("rec_zv");\r
   aFolderObj->Add(h1D);\r
 \r
   h2D = (TH2D *)fRecEventHist->Projection(3,4);\r
+  if(!h2D) return;\r
   h2D->SetName("rec_resZv_vs_Mult");\r
   aFolderObj->Add(h2D);\r
 \r
   h2D = (TH2D *)fRecEventHist->Projection(0,1);\r
+  if(!h2D) return;\r
   h2D->SetName("rec_xv_vs_yv");\r
   aFolderObj->Add(h2D);\r
 \r
   h2D = (TH2D *)fRecEventHist->Projection(0,2);\r
+  if(!h2D) return;\r
   h2D->SetName("rec_xv_vs_zv");\r
   aFolderObj->Add(h2D);\r
 \r
   h2D = (TH2D *)fRecEventHist->Projection(3,4);\r
+  if(!h2D) return;\r
   h2D->SetName("rec_resZv_vs_Mult");\r
   aFolderObj->Add(h2D);\r
 \r
@@ -660,10 +671,12 @@ void AlidNdPtCutAnalysis::Analyse()
   // Create mc event histograms\r
   //\r
   h2D = (TH2D *)fMCEventHist->Projection(0,1);\r
+  if(!h2D) return;\r
   h2D->SetName("mc_xv_vs_yv");\r
   aFolderObj->Add(h2D);\r
 \r
   h2D = (TH2D *)fMCEventHist->Projection(0,2);\r
+  if(!h2D) return;\r
   h2D->SetName("mc_xv_vs_zv");\r
   aFolderObj->Add(h2D);\r
 \r
@@ -671,14 +684,17 @@ void AlidNdPtCutAnalysis::Analyse()
   // Create rec-mc event histograms\r
   //\r
   h2D = (TH2D *)fRecMCEventHist->Projection(0,3);\r
+  if(!h2D) return;\r
   h2D->SetName("rec_mc_deltaXv_vs_mult");\r
   aFolderObj->Add(h2D);\r
 \r
   h2D = (TH2D *)fRecMCEventHist->Projection(1,3);\r
+  if(!h2D) return;\r
   h2D->SetName("rec_mc_deltaYv_vs_mult");\r
   aFolderObj->Add(h2D);\r
 \r
   h2D = (TH2D *)fRecMCEventHist->Projection(2,3);\r
+  if(!h2D) return;\r
   h2D->SetName("rec_mc_deltaZv_vs_mult");\r
   aFolderObj->Add(h2D);\r
 \r
@@ -695,24 +711,29 @@ void AlidNdPtCutAnalysis::Analyse()
   fRecMCTrackHist->GetAxis(4)->SetRangeUser(-maxDCAr,maxDCAr);\r
 \r
   h2D = (TH2D *)fRecMCTrackHist->Projection(7,5);\r
+  if(!h2D) return;\r
   h2D->SetName("pt_vs_eta");\r
   aFolderObj->Add(h2D);\r
 \r
   fRecMCTrackHist->GetAxis(7)->SetRangeUser(minPt,maxPt);  \r
 \r
   h2D = (TH2D *)fRecMCTrackHist->Projection(0,5);\r
+  if(!h2D) return;\r
   h2D->SetName("nClust_vs_eta");\r
   aFolderObj->Add(h2D);\r
 \r
   h2D = (TH2D *)fRecMCTrackHist->Projection(1,5);\r
+  if(!h2D) return;\r
   h2D->SetName("chi2PerClust_vs_eta");\r
   aFolderObj->Add(h2D);\r
 \r
   h2D = (TH2D *)fRecMCTrackHist->Projection(2,5);\r
+  if(!h2D) return;\r
   h2D->SetName("ratio_nClust_nFindableClust_vs_eta");\r
   aFolderObj->Add(h2D);\r
 \r
   h2D = (TH2D *)fRecMCTrackHist->Projection(5,6);\r
+  if(!h2D) return;\r
   h2D->SetName("eta_vs_phi");\r
   aFolderObj->Add(h2D);\r
 \r
@@ -720,14 +741,17 @@ void AlidNdPtCutAnalysis::Analyse()
   fRecMCTrackHist->GetAxis(5)->SetRangeUser(minEta,maxEta);  \r
 \r
   h2D = (TH2D *)fRecMCTrackHist->Projection(0,6);\r
+  if(!h2D) return;\r
   h2D->SetName("nClust_vs_phi");\r
   aFolderObj->Add(h2D);\r
 \r
   h2D = (TH2D *)fRecMCTrackHist->Projection(1,6);\r
+  if(!h2D) return;\r
   h2D->SetName("chi2PerClust_vs_phi");\r
   aFolderObj->Add(h2D);\r
 \r
   h2D = (TH2D *)fRecMCTrackHist->Projection(2,6);\r
+  if(!h2D) return;\r
   h2D->SetName("ratio_nClust_nFindableClust_vs_phi");\r
   aFolderObj->Add(h2D);\r
 \r
@@ -735,18 +759,22 @@ void AlidNdPtCutAnalysis::Analyse()
   fRecMCTrackHist->GetAxis(7)->SetRangeUser(0.0,maxPt);  \r
 \r
   h2D = (TH2D *)fRecMCTrackHist->Projection(0,7);\r
+  if(!h2D) return;\r
   h2D->SetName("nClust_vs_pt");\r
   aFolderObj->Add(h2D);\r
 \r
   h2D = (TH2D *)fRecMCTrackHist->Projection(1,7);\r
+  if(!h2D) return;\r
   h2D->SetName("chi2PerClust_vs_pt");\r
   aFolderObj->Add(h2D);\r
 \r
   h2D = (TH2D *)fRecMCTrackHist->Projection(2,7);\r
+  if(!h2D) return;\r
   h2D->SetName("ratio_nClust_nFindableClust_vs_pt");\r
   aFolderObj->Add(h2D);\r
 \r
   h2D = (TH2D *)fRecMCTrackHist->Projection(6,7);\r
+  if(!h2D) return;\r
   h2D->SetName("phi_vs_pt");\r
   aFolderObj->Add(h2D);\r
 \r
@@ -760,10 +788,12 @@ void AlidNdPtCutAnalysis::Analyse()
   fRecMCTrackHist->GetAxis(4)->SetRangeUser(-maxDCAr,maxDCAr);\r
 \r
   h2D = (TH2D *)fRecMCTrackHist->Projection(0,1);\r
+  if(!h2D) return;\r
   h2D->SetName("nClust_vs_chi2PerClust");\r
   aFolderObj->Add(h2D);\r
 \r
   h2D = (TH2D *)fRecMCTrackHist->Projection(0,2);\r
+  if(!h2D) return;\r
   h2D->SetName("nClust_vs_ratio_nClust_nFindableClust");\r
   aFolderObj->Add(h2D);\r
 \r
@@ -779,12 +809,14 @@ void AlidNdPtCutAnalysis::Analyse()
   // sec\r
   fRecMCTrackHist->GetAxis(9)->SetRange(1,1);\r
   h1D = (TH1D *)fRecMCTrackHist->Projection(3);\r
+  if(!h1D) return;\r
   h1D->SetName("dcay_sec");\r
   aFolderObj->Add(h1D);\r
 \r
   // prim\r
   fRecMCTrackHist->GetAxis(9)->SetRange(2,2);\r
   h1D = (TH1D *)fRecMCTrackHist->Projection(3);\r
+  if(!h1D) return;\r
   h1D->SetName("dcay_prim");\r
   aFolderObj->Add(h1D);\r
 \r
@@ -795,18 +827,24 @@ void AlidNdPtCutAnalysis::Analyse()
   // sec\r
   fRecMCTrackHist->GetAxis(9)->SetRange(1,1);\r
   h1D = (TH1D *)fRecMCTrackHist->Projection(4);\r
+  if(!h1D) return;\r
   h1D->SetName("dcaz_sec");\r
   aFolderObj->Add(h1D);\r
 \r
   // prim\r
   fRecMCTrackHist->GetAxis(9)->SetRange(2,2);\r
   h1D = (TH1D *)fRecMCTrackHist->Projection(4);\r
+  if(!h1D) return;\r
   h1D->SetName("dcaz_prim");\r
   aFolderObj->Add(h1D);\r
 \r
 \r
   // export objects to analysis folder\r
   fAnalysisFolder = ExportToFolder(aFolderObj);\r
+  if(!fAnalysisFolder) {\r
+      if(aFolderObj) delete aFolderObj;\r
+      return;\r
+  }\r
 \r
   // delete only TObjArray\r
   if(aFolderObj) delete aFolderObj;\r