]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Coverity corrections
authorgconesab <gconesab@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 1 Oct 2010 12:15:38 +0000 (12:15 +0000)
committergconesab <gconesab@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 1 Oct 2010 12:15:38 +0000 (12:15 +0000)
PWG4/PartCorrDep/AliAnaCalorimeterQA.cxx
PWG4/PartCorrDep/AliAnaElectron.cxx
PWG4/PartCorrDep/AliAnaOmegaToPi0Gamma.cxx
PWG4/PartCorrDep/AliAnaParticleJetLeadingConeCorrelation.cxx
PWG4/PartCorrDep/AliAnaParticlePartonCorrelation.cxx
PWG4/PartCorrDep/AliAnaPi0.cxx
PWG4/PartCorrDep/AliAnaShowerParameter.cxx

index a1897bb56905d8bd1e88a763cfc289c634988244..5bfb531f93d93e3f3f6cebcafad7f7f4f93336f0 100755 (executable)
@@ -2644,8 +2644,9 @@ void  AliAnaCalorimeterQA::Terminate(TList* outputList)
   //printf(" AliAnaCalorimeterQA::Terminate()  *** %s Report:", GetName()) ; 
   //printf(" AliAnaCalorimeterQA::Terminate()        pt         : %5.3f , RMS : %5.3f \n", fhPt->GetMean(),   fhPt->GetRMS() ) ;
   
-       char name[128];
-       char cname[128];
+  const Int_t buffersize = 255;
+       char name[buffersize];
+       char cname[buffersize];
        
   //In case terminate is executed after the analysis, in a second step, and we want to rebin or to change the range of the histograms for plotting
        Int_t nptbins     = GetHistoPtBins();           Float_t ptmax     = GetHistoPtMax();           Float_t ptmin     = GetHistoPtMin();
@@ -2671,7 +2672,7 @@ void  AliAnaCalorimeterQA::Terminate(TList* outputList)
   //--------------------------------------------------
   // Cluster energy distributions, module dependence
   //--------------------------------------------------
-       sprintf(cname,"QA_%s_ClusterEnergy",fCalorimeter.Data());
+       snprintf(cname,buffersize,"QA_%s_ClusterEnergy",fCalorimeter.Data());
        TCanvas  * c = new TCanvas(cname, "Energy distributions", 800, 400) ;
        c->Divide(2, 1);
        Int_t rbE = GetNewRebinForRePlotting((TH1D*)fhE, ptmin, ptmax,nptbins) ;
@@ -2723,13 +2724,13 @@ void  AliAnaCalorimeterQA::Terminate(TList* outputList)
        }
        pLegendER.Draw();
        
-       sprintf(name,"QA_%s_ClusterEnergy.eps",fCalorimeter.Data());
+       snprintf(name,buffersize,"QA_%s_ClusterEnergy.eps",fCalorimeter.Data());
        c->Print(name); printf("Plot: %s\n",name);
        
   //--------------------------------------------------
   // Cell energy distributions, module dependence
   //--------------------------------------------------
-       sprintf(cname,"%s_QA_CellEnergy",fCalorimeter.Data());
+       snprintf(cname,buffersize,"%s_QA_CellEnergy",fCalorimeter.Data());
        TCanvas  * ca = new TCanvas(cname, "Cell Energy distributions", 800, 400) ;
        ca->Divide(2, 1);
        
@@ -2781,7 +2782,7 @@ void  AliAnaCalorimeterQA::Terminate(TList* outputList)
        }
        
        pLegendAR.Draw();
-       sprintf(name,"QA_%s_CellEnergy.eps",fCalorimeter.Data());
+       snprintf(name,buffersize,"QA_%s_CellEnergy.eps",fCalorimeter.Data());
        ca->Print(name); printf("Plot: %s\n",name);     
   
   //----------------------------------------------------------
@@ -2790,7 +2791,7 @@ void  AliAnaCalorimeterQA::Terminate(TList* outputList)
   //---------------------------------------------------------  
        if(fCalorimeter=="EMCAL"){
     //Close To Eta 0 
-               sprintf(cname,"%s_QA_SMThirds",fCalorimeter.Data());
+               snprintf(cname,buffersize,"%s_QA_SMThirds",fCalorimeter.Data());
                TCanvas  * cfrac = new TCanvas(cname, "SM Thirds ratios", 800, 1200) ;
                cfrac->Divide(2, 3);
                cfrac->cd(1) ; 
@@ -2923,7 +2924,7 @@ void  AliAnaCalorimeterQA::Terminate(TList* outputList)
                }
     //pLegend3.Draw();
                
-               sprintf(name,"QA_%s_CellEnergyModuleFraction.eps",fCalorimeter.Data());
+               snprintf(name,buffersize,"QA_%s_CellEnergyModuleFraction.eps",fCalorimeter.Data());
                cfrac->Print(name); printf("Create plot %s\n",name);
        }//EMCAL        
        
@@ -2932,7 +2933,7 @@ void  AliAnaCalorimeterQA::Terminate(TList* outputList)
   // Cluster eta and phi distributions, energy cut dependence
   //---------------------------------------------------------  
        
-       sprintf(cname,"%s_QA_EtaPhiCluster",fCalorimeter.Data());
+       snprintf(cname,buffersize,"%s_QA_EtaPhiCluster",fCalorimeter.Data());
        TCanvas  * cetaphic = new TCanvas(cname, "Eta-Phi Reconstructed distributions", 1200, 400) ;
        cetaphic->Divide(3, 1);
        Int_t binmin = 0;
@@ -2981,7 +2982,7 @@ void  AliAnaCalorimeterQA::Terminate(TList* outputList)
        cetaphic->cd(2) ; 
        gPad->SetLogy();
        gPad->SetGridy();
-       
+  
        htmp = fhEtaPhiE->ProjectionX("heta_cluster_nocut",0,-1,0,-1);
        htmp ->SetLineColor(1);
        rbEta =  GetNewRebinForRePlotting(htmp,etamin, etamax,netabins) ;
@@ -3009,14 +3010,14 @@ void  AliAnaCalorimeterQA::Terminate(TList* outputList)
        hEtaPhiCl->SetAxisRange(phimin,phimax,"Y");
        hEtaPhiCl->Draw("colz");
   
-       sprintf(name,"QA_%s_ClusterEtaPhi.eps",fCalorimeter.Data());
+       snprintf(name,buffersize,"QA_%s_ClusterEtaPhi.eps",fCalorimeter.Data());
        cetaphic->Print(name); printf("Create plot %s\n",name);
   
   //----------------------------------------------------------
   // Cell eta and phi distributions, energy cut dependence
   //---------------------------------------------------------  
        
-       sprintf(cname,"%s_QA_EtaPhiCell",fCalorimeter.Data());
+       snprintf(cname,buffersize,"%s_QA_EtaPhiCell",fCalorimeter.Data());
        TCanvas  * cetaphicell = new TCanvas(cname, "Eta-Phi Cells distributions", 1200, 400) ;
        cetaphicell->Divide(3, 1);
        
@@ -3083,7 +3084,7 @@ void  AliAnaCalorimeterQA::Terminate(TList* outputList)
        hEtaPhiCell->SetAxisRange(phimin,phimax,"Y");
        hEtaPhiCell->Draw("colz");
        
-       sprintf(name,"QA_%s_CellEtaPhi.eps",fCalorimeter.Data());
+       snprintf(name,buffersize,"QA_%s_CellEtaPhi.eps",fCalorimeter.Data());
        cetaphicell->Print(name); printf("Create plot %s\n",name);
        
   
@@ -3097,7 +3098,7 @@ void  AliAnaCalorimeterQA::Terminate(TList* outputList)
   Int_t rbZ = 1;
   //if(fFillAllPosHisto)
   {
-    sprintf(cname,"%s_QA_ClusterXY",fCalorimeter.Data());
+    snprintf(cname,buffersize,"%s_QA_ClusterXY",fCalorimeter.Data());
     TCanvas  * cxyz = new TCanvas(cname, "Cluster XY distributions", 1200, 400) ;
     cxyz->Divide(3, 1);
     
@@ -3117,10 +3118,10 @@ void  AliAnaCalorimeterQA::Terminate(TList* outputList)
     hXZ->GetYaxis()->SetTitleOffset(1.6);
     hXZ->Draw("colz");
     
-    sprintf(name,"QA_%s_ClusterXY_YZ_XZ.eps",fCalorimeter.Data());
+    snprintf(name,buffersize,"QA_%s_ClusterXY_YZ_XZ.eps",fCalorimeter.Data());
     cxyz->Print(name); printf("Create plot %s\n",name);
     
-    sprintf(cname,"QA_%s_ClusterX",fCalorimeter.Data());
+    snprintf(cname,buffersize,"QA_%s_ClusterX",fCalorimeter.Data());
     TCanvas  * cx = new TCanvas(cname, "Cluster X distributions", 1200, 400) ;
     cx->Divide(3, 1);
     
@@ -3158,13 +3159,13 @@ void  AliAnaCalorimeterQA::Terminate(TList* outputList)
     hZ->SetAxisRange(zmin,zmax);
     hZ->Draw("HE");
     
-    sprintf(name,"QA_%s_ClusterX_Y_Z.eps",fCalorimeter.Data());
+    snprintf(name,buffersize,"QA_%s_ClusterX_Y_Z.eps",fCalorimeter.Data());
     cx->Print(name); printf("Create plot %s\n",name);
   }
     //CELLS
   if(fFillAllPosHisto)
   { 
-    sprintf(cname,"%s_QA_CellXY",fCalorimeter.Data());
+    snprintf(cname,buffersize,"%s_QA_CellXY",fCalorimeter.Data());
     TCanvas  * cellxyz = new TCanvas(cname, "Cell XY distributions", 1200, 400) ;
     cellxyz->Divide(3, 1);
     
@@ -3184,11 +3185,11 @@ void  AliAnaCalorimeterQA::Terminate(TList* outputList)
     hXZCell->GetYaxis()->SetTitleOffset(1.6);
     hXZCell->Draw("colz");
     
-    sprintf(name,"QA_%s_CellXY_YZ_XZ.eps",fCalorimeter.Data());
+    snprintf(name,buffersize,"QA_%s_CellXY_YZ_XZ.eps",fCalorimeter.Data());
     cellxyz->Print(name); printf("Create plot %s\n",name);
     
     
-    sprintf(cname,"%s_QA_CellX",fCalorimeter.Data());
+    snprintf(cname,buffersize,"%s_QA_CellX",fCalorimeter.Data());
     TCanvas  * cellx = new TCanvas(cname, "Cell X distributions", 1200, 400) ;
     cellx->Divide(3, 1);
     
@@ -3221,7 +3222,7 @@ void  AliAnaCalorimeterQA::Terminate(TList* outputList)
     hZCell->SetMinimum(hZCell->GetMaximum()/2);
     hZCell->Draw("HE");
     
-    sprintf(name,"QA_%s_CellX_Y_Z.eps",fCalorimeter.Data());
+    snprintf(name,buffersize,"QA_%s_CellX_Y_Z.eps",fCalorimeter.Data());
     cellx->Print(name); printf("Create plot %s\n",name);
     
     
@@ -3229,7 +3230,7 @@ void  AliAnaCalorimeterQA::Terminate(TList* outputList)
     // Cluster X, Y, Z, R, energy cut dependence
     //---------------------------------------------------------        
     
-    sprintf(cname,"%s_QA_ClusterX_Y_Z_R_ECut",fCalorimeter.Data());
+    snprintf(cname,buffersize,"%s_QA_ClusterX_Y_Z_R_ECut",fCalorimeter.Data());
     TCanvas  * cxe = new TCanvas(cname, "Cluster X Y Z R, E cut", 800, 800) ;
     cxe->Divide(2, 2);         
     //R
@@ -3331,7 +3332,7 @@ void  AliAnaCalorimeterQA::Terminate(TList* outputList)
       }
     }
     
-    sprintf(name,"QA_%s_ClusterX_Y_Z_R_ECut.eps",fCalorimeter.Data());
+    snprintf(name,buffersize,"QA_%s_ClusterX_Y_Z_R_ECut.eps",fCalorimeter.Data());
     cxe->Print(name); printf("Create plot %s\n",name);
     
     
@@ -3340,7 +3341,7 @@ void  AliAnaCalorimeterQA::Terminate(TList* outputList)
     //---------------------------------------------------------        
     Int_t ncellcut[]={2, 3, 4};
     Int_t ncellcuts = 3;
-    sprintf(cname,"%s_QA_ClusterX_Y_Z_R_NCellsCut",fCalorimeter.Data());
+    snprintf(cname,buffersize,"%s_QA_ClusterX_Y_Z_R_NCellsCut",fCalorimeter.Data());
     TCanvas  * cxn = new TCanvas(cname, "Cluster X Y Z R, NCells cut", 800, 800) ;
     cxn->Divide(2, 2);         
     //R
@@ -3437,7 +3438,7 @@ void  AliAnaCalorimeterQA::Terminate(TList* outputList)
       }
     }
     
-    sprintf(name,"QA_%s_ClusterX_Y_Z_R_NCellsCut.eps",fCalorimeter.Data());
+    snprintf(name,buffersize,"QA_%s_ClusterX_Y_Z_R_NCellsCut.eps",fCalorimeter.Data());
     cxn->Print(name); printf("Create plot %s\n",name);
     
     
@@ -3445,7 +3446,7 @@ void  AliAnaCalorimeterQA::Terminate(TList* outputList)
     // Cell X, Y, Z, R, energy cut dependence
     //---------------------------------------------------------        
     
-    sprintf(cname,"%s_QA_CellX_Y_Z_R_ECut",fCalorimeter.Data());
+    snprintf(cname,buffersize,"%s_QA_CellX_Y_Z_R_ECut",fCalorimeter.Data());
     TCanvas  * cxecell = new TCanvas(cname, "Cell X Y Z R, E cut", 800, 800) ;
     cxecell->Divide(2, 2);             
     //R
@@ -3543,7 +3544,7 @@ void  AliAnaCalorimeterQA::Terminate(TList* outputList)
         htmp->Draw("same HE"); 
       }
     }
-    sprintf(name,"QA_%s_CellX_Y_Z_R_ECut.eps",fCalorimeter.Data());
+    snprintf(name,buffersize,"QA_%s_CellX_Y_Z_R_ECut.eps",fCalorimeter.Data());
     cxecell->Print(name); printf("Create plot %s\n",name);
     
     
@@ -3555,7 +3556,7 @@ void  AliAnaCalorimeterQA::Terminate(TList* outputList)
     Int_t rbDY= 1;//rbY;
     Int_t rbDZ= 1;//rbZ;
     
-    sprintf(cname,"%s_QA_DeltaClusterCellX_Y_Z_R_ECut",fCalorimeter.Data());
+    snprintf(cname,buffersize,"%s_QA_DeltaClusterCellX_Y_Z_R_ECut",fCalorimeter.Data());
     TCanvas  * cxde = new TCanvas(cname, "Cluster-Cell X, Y, Z, R, E cut", 800, 800) ;
     cxde->Divide(2, 2);                
     //R
@@ -3657,14 +3658,14 @@ void  AliAnaCalorimeterQA::Terminate(TList* outputList)
       }
     }
     
-    sprintf(name,"QA_%s_DeltaClusterCellX_Y_Z_R_ECut.eps",fCalorimeter.Data());
+    snprintf(name,buffersize,"QA_%s_DeltaClusterCellX_Y_Z_R_ECut.eps",fCalorimeter.Data());
     cxde->Print(name); printf("Create plot %s\n",name);
     
     
     //----------------------------------------------------------
     // Cluster-Cell X, Y, Z, R, NCells in cluster dependence
     //---------------------------------------------------------        
-    sprintf(cname,"%s_QA_DeltaClusterCellX_Y_Z_R_NCellsCut",fCalorimeter.Data());
+    snprintf(cname,buffersize,"%s_QA_DeltaClusterCellX_Y_Z_R_NCellsCut",fCalorimeter.Data());
     TCanvas  * cxdn = new TCanvas(cname, "Cluster-Cell X Y Z R, NCells cut", 800, 800) ;
     cxdn->Divide(2, 2);                
     //R
@@ -3764,7 +3765,7 @@ void  AliAnaCalorimeterQA::Terminate(TList* outputList)
       }
     }
     
-    sprintf(name,"QA_%s_DeltaClusterCellX_Y_Z_R_NCellsCut.eps",fCalorimeter.Data());
+    snprintf(name,buffersize,"QA_%s_DeltaClusterCellX_Y_Z_R_NCellsCut.eps",fCalorimeter.Data());
     cxdn->Print(name); printf("Create plot %s\n",name);
     
        }
@@ -3782,7 +3783,7 @@ void  AliAnaCalorimeterQA::Terminate(TList* outputList)
     hEtaChargedClone = (TH1F*)   fhEtaCharged->Clone(Form("%sClone",fhEtaCharged->GetName()));
     hPhiChargedClone = (TH1F*)   fhPhiCharged->Clone(Form("%sClone",fhPhiCharged->GetName()));
     
-    sprintf(cname,"QA_%s_rectrackmatch",fCalorimeter.Data());
+    snprintf(cname,buffersize,"QA_%s_rectrackmatch",fCalorimeter.Data());
     TCanvas  * ccltm = new TCanvas(cname, "Reconstructed clusters E-Phi-Eta, matched with tracks", 1200, 400) ;
     ccltm->Divide(3, 1);
     
@@ -3807,14 +3808,14 @@ void  AliAnaCalorimeterQA::Terminate(TList* outputList)
     fhEtaCharged->Draw();
     fhEtaCharged->Draw();
     
-    sprintf(name,"QA_%s_ClusterEnergyPhiEta_TrackMatched.eps",fCalorimeter.Data());
+    snprintf(name,buffersize,"QA_%s_ClusterEnergyPhiEta_TrackMatched.eps",fCalorimeter.Data());
     ccltm->Print(name); printf("Plot: %s\n",name);
     
     //----------------------------------------------------------
     // Ratio  of reconstructed clusters energy-eta-phi distributions, matched with tracks over all
     //----------------------------------------------------------
     
-    sprintf(cname,"%s_QA_ChargedRatio",fCalorimeter.Data());
+    snprintf(cname,buffersize,"%s_QA_ChargedRatio",fCalorimeter.Data());
     TCanvas  * ccharge = new TCanvas(cname, "Charged clusters over all clusters", 1200, 400) ;
     ccharge->Divide(3, 1);
     
@@ -3847,13 +3848,13 @@ void  AliAnaCalorimeterQA::Terminate(TList* outputList)
     fhEtaCharged->SetYTitle("track-matched clusters / all clusters");
     fhEtaCharged->Draw("HE");
     
-    sprintf(name,"QA_%s_ClustersMatchedToAllRatios.eps",fCalorimeter.Data());
+    snprintf(name,buffersize,"QA_%s_ClustersMatchedToAllRatios.eps",fCalorimeter.Data());
     ccharge->Print(name); printf("Create plot %s\n",name);
        }
   //-------------------------------------------        
   // N Cells - N Clusters - N Cells per cluster
   //-------------------------------------------
-       sprintf(cname,"QA_%s_nclustercells",fCalorimeter.Data());
+       snprintf(cname,buffersize,"QA_%s_nclustercells",fCalorimeter.Data());
        TCanvas  * cN = new TCanvas(cname, " Number of CaloClusters and CaloCells", 800, 1200) ;
        cN->Divide(2, 3);
        
@@ -3961,8 +3962,10 @@ void  AliAnaCalorimeterQA::Terminate(TList* outputList)
                else 
                        htmp->Draw("same HE");
                
+    delete [] hNCellsCluster1D;
+    
        }
-       sprintf(name,"QA_%s_NumberCaloClustersAndCaloCells.eps",fCalorimeter.Data());
+       snprintf(name,buffersize,"QA_%s_NumberCaloClustersAndCaloCells.eps",fCalorimeter.Data());
        cN->Print(name); printf("Print plot %s\n",name);
        
   //----------------------------------------------------       
@@ -3970,7 +3973,7 @@ void  AliAnaCalorimeterQA::Terminate(TList* outputList)
   //----------------------------------------------------
        if(GetReader()->GetDataType()==AliCaloTrackReader::kESD) {
     
-               sprintf(cname,"QA_%s_cellstime",fCalorimeter.Data());
+               snprintf(cname,buffersize,"QA_%s_cellstime",fCalorimeter.Data());
                TCanvas  * ctime = new TCanvas(cname, " Cells time", 1200, 400) ;
                ctime->Divide(3, 1);
                
@@ -3995,7 +3998,7 @@ void  AliAnaCalorimeterQA::Terminate(TList* outputList)
                fhTimeAmp->SetAxisRange(ptmin,ptmax,"X");               
                fhTimeAmp->Draw("colz");
     
-               sprintf(name,"QA_%s_CellsTime.eps",fCalorimeter.Data());
+               snprintf(name,buffersize,"QA_%s_CellsTime.eps",fCalorimeter.Data());
                ctime->Print(name); printf("Plot: %s\n",name);
        }
        
@@ -4006,7 +4009,7 @@ void  AliAnaCalorimeterQA::Terminate(TList* outputList)
        {
     //Number of entries per cell
     gStyle->SetPadRightMargin(0.15);
-    sprintf(cname,"%s_QA_GridCellEntries",fCalorimeter.Data());
+    snprintf(cname,buffersize,"%s_QA_GridCellEntries",fCalorimeter.Data());
     TCanvas *cgrid   = new TCanvas("cgrid","Number of entries per cell", 12,12,800,400);
     if(fNModules%2 == 0)
       cgrid->Divide(fNModules/2,2); 
@@ -4024,10 +4027,10 @@ void  AliAnaCalorimeterQA::Terminate(TList* outputList)
       //fhGridCellsMod[imod]->SetLabelSize(0.025,"z");
       fhGridCellsMod[imod]->Draw("colz");
     }
-    sprintf(name,"QA_%s_GridCellsEntries.eps",fCalorimeter.Data());
+    snprintf(name,buffersize,"QA_%s_GridCellsEntries.eps",fCalorimeter.Data());
     cgrid->Print(name); printf("Create plot %s\n",name);
     
-    sprintf(cname,"%s_QA_GridCellAccumEnergy",fCalorimeter.Data());
+    snprintf(cname,buffersize,"%s_QA_GridCellAccumEnergy",fCalorimeter.Data());
     TCanvas *cgridE   = new TCanvas("cgridE","Summed energy per cell", 12,12,800,400);
     if(fNModules%2 == 0)
       cgridE->Divide(fNModules/2,2); 
@@ -4043,11 +4046,11 @@ void  AliAnaCalorimeterQA::Terminate(TList* outputList)
       fhGridCellsEMod[imod]->SetYTitle("row (phi direction)    ");
       fhGridCellsEMod[imod]->Draw("colz");
     }
-    sprintf(name,"QA_%s_GridCellsAccumEnergy.eps",fCalorimeter.Data());
+    snprintf(name,buffersize,"QA_%s_GridCellsAccumEnergy.eps",fCalorimeter.Data());
     cgridE->Print(name); printf("Create plot %s\n",name);
     
     //Accumulated energy per cell
-    sprintf(cname,"%s_QA_GridCellAverageEnergy",fCalorimeter.Data());
+    snprintf(cname,buffersize,"%s_QA_GridCellAverageEnergy",fCalorimeter.Data());
     TCanvas *cgridEA   = new TCanvas("cgridEA","Average energy per cell", 12,12,800,400);
     if(fNModules%2 == 0)         
       cgridEA->Divide(fNModules/2,2);
@@ -4063,12 +4066,12 @@ void  AliAnaCalorimeterQA::Terminate(TList* outputList)
       fhGridCellsEMod[imod]->Divide(fhGridCellsMod[imod]);
       fhGridCellsEMod[imod]->Draw("colz");
     }
-    sprintf(name,"QA_%s_GridCellsAverageEnergy.eps",fCalorimeter.Data());
+    snprintf(name,buffersize,"QA_%s_GridCellsAverageEnergy.eps",fCalorimeter.Data());
     cgridEA->Print(name); printf("Create plot %s\n",name);
                
     //Accumulated Time per cell, E > 0.5 GeV
                
-    sprintf(cname,"%s_QA_GridCellAccumTime",fCalorimeter.Data());
+    snprintf(cname,buffersize,"%s_QA_GridCellAccumTime",fCalorimeter.Data());
     TCanvas *cgridT   = new TCanvas("cgridT","Summed time per cell", 12,12,800,400);
     if(fNModules%2 == 0)
       cgridT->Divide(fNModules/2,2); 
@@ -4084,7 +4087,7 @@ void  AliAnaCalorimeterQA::Terminate(TList* outputList)
       fhGridCellsTimeMod[imod]->SetYTitle("row (phi direction)    ");
       fhGridCellsTimeMod[imod]->Draw("colz");
     }
-    sprintf(name,"QA_%s_GridCellsAccumTime.eps",fCalorimeter.Data());
+    snprintf(name,buffersize,"QA_%s_GridCellsAccumTime.eps",fCalorimeter.Data());
     cgridT->Print(name); printf("Create plot %s\n",name);
                
        }
@@ -4094,7 +4097,7 @@ void  AliAnaCalorimeterQA::Terminate(TList* outputList)
   //---------------------------------------------
        if(fCorrelateCalos){
                
-               sprintf(cname,"QA_%s_CaloCorr_EMCALvsPHOS",fCalorimeter.Data());
+               snprintf(cname,buffersize,"QA_%s_CaloCorr_EMCALvsPHOS",fCalorimeter.Data());
                TCanvas  * ccorr = new TCanvas(cname, " EMCAL vs PHOS", 400, 400) ;
                ccorr->Divide(2, 2);
     
@@ -4125,7 +4128,7 @@ void  AliAnaCalorimeterQA::Terminate(TList* outputList)
                fhCaloCorrECells->SetAxisRange(ptmin,ptmax,"Y");                
                fhCaloCorrECells->Draw();
     
-               sprintf(name,"QA_%s_CaloCorr_EMCALvsPHOS.eps",fCalorimeter.Data());
+               snprintf(name,buffersize,"QA_%s_CaloCorr_EMCALvsPHOS.eps",fCalorimeter.Data());
                ccorr->Print(name); printf("Plot: %s\n",name);
        }
   
@@ -4143,7 +4146,7 @@ void  AliAnaCalorimeterQA::Terminate(TList* outputList)
                if (emin != 0 ) printf("emin != 0 \n");
     //printf("IM: nBinsX %d, emin %2.2f, emax %2.2f\n",nebins,emin,emax);
                
-               sprintf(cname,"QA_%s_IM",fCalorimeter.Data());
+               snprintf(cname,buffersize,"QA_%s_IM",fCalorimeter.Data());
     // printf("c5\n");
                TCanvas  * c5 = new TCanvas(cname, "Invariant mass", 600, 400) ;
                c5->Divide(2, 3);
@@ -4236,7 +4239,7 @@ void  AliAnaCalorimeterQA::Terminate(TList* outputList)
                        pyim10->Draw("same");
                }
                
-               sprintf(name,"QA_%s_InvariantMass.eps",fCalorimeter.Data());
+               snprintf(name,buffersize,"QA_%s_InvariantMass.eps",fCalorimeter.Data());
                c5->Print(name); printf("Plot: %s\n",name);
        }
        
@@ -4250,7 +4253,7 @@ void  AliAnaCalorimeterQA::Terminate(TList* outputList)
                if (emin != 0 ) printf("emin != 0 \n");
     //printf("IMCellCut: nBinsX %d, emin %2.2f, emax %2.2f\n",nebins,emin,emax);
                
-               sprintf(cname,"QA_%s_IMCellCut",fCalorimeter.Data());
+               snprintf(cname,buffersize,"QA_%s_IMCellCut",fCalorimeter.Data());
     // printf("c5cc\n");
                TCanvas  * c5cc = new TCanvas(cname, "Invariant mass, Cell Cut", 600, 400) ;
                c5cc->Divide(2, 3);
@@ -4343,7 +4346,7 @@ void  AliAnaCalorimeterQA::Terminate(TList* outputList)
                        pyimcc10->Draw("same");
                }
                
-               sprintf(name,"QA_%s_InvariantMass_CellCut.eps",fCalorimeter.Data());
+               snprintf(name,buffersize,"QA_%s_InvariantMass_CellCut.eps",fCalorimeter.Data());
                c5cc->Print(name); printf("Plot: %s\n",name);
        }
        
@@ -4356,7 +4359,7 @@ void  AliAnaCalorimeterQA::Terminate(TList* outputList)
                if (emin != 0 ) printf("emin != 0 \n");
     //printf("Asym: nBinsX %d, emin %2.2f, emax %2.2f\n",nebins,emin,emax);
                
-               sprintf(cname,"QA_%s_Asym",fCalorimeter.Data());
+               snprintf(cname,buffersize,"QA_%s_Asym",fCalorimeter.Data());
     // printf("c5\n");
                TCanvas  * c5b = new TCanvas(cname, "Asymmetry", 400, 400) ;
                c5b->Divide(2, 2);
@@ -4390,7 +4393,7 @@ void  AliAnaCalorimeterQA::Terminate(TList* outputList)
                pyAsym10->SetLineColor(4);
                pyAsym10->Draw();
                
-               sprintf(name,"QA_%s_Asymmetry.eps",fCalorimeter.Data());
+               snprintf(name,buffersize,"QA_%s_Asymmetry.eps",fCalorimeter.Data());
                c5b->Print(name); printf("Plot: %s\n",name);
        }
        
@@ -4398,7 +4401,7 @@ void  AliAnaCalorimeterQA::Terminate(TList* outputList)
        if(IsDataMC()){
     //Reconstructed vs MC distributions
     //printf("c6\n");
-    sprintf(cname,"QA_%s_recvsmc",fCalorimeter.Data());
+    snprintf(cname,buffersize,"QA_%s_recvsmc",fCalorimeter.Data());
     TCanvas  * c6 = new TCanvas(cname, "Reconstructed vs MC distributions", 400, 400) ;
     c6->Divide(2, 2);
     
@@ -4422,12 +4425,12 @@ void  AliAnaCalorimeterQA::Terminate(TList* outputList)
     fh2Eta->SetLineColor(4);
     fh2Eta->Draw();
     
-    sprintf(name,"QA_%s_ReconstructedVSMCDistributions.eps",fCalorimeter.Data());
+    snprintf(name,buffersize,"QA_%s_ReconstructedVSMCDistributions.eps",fCalorimeter.Data());
     c6->Print(name); printf("Plot: %s\n",name);        
     
     //Reconstructed vs MC distributions
     //printf("c6\n");
-    sprintf(cname,"QA_%s_gamrecvsmc",fCalorimeter.Data());
+    snprintf(cname,buffersize,"QA_%s_gamrecvsmc",fCalorimeter.Data());
     TCanvas  * c6Gam = new TCanvas(cname, "Reconstructed vs MC distributions", 400, 400) ;
     c6Gam->Divide(2, 2);
     
@@ -4443,12 +4446,12 @@ void  AliAnaCalorimeterQA::Terminate(TList* outputList)
     c6Gam->cd(4) ; 
     fhGamEta->Draw();
     
-    sprintf(name,"QA_%s_GammaReconstructedVSMCDistributions.eps",fCalorimeter.Data());
+    snprintf(name,buffersize,"QA_%s_GammaReconstructedVSMCDistributions.eps",fCalorimeter.Data());
     c6->Print(name); printf("Plot: %s\n",name);        
     
     //Generated - reconstructed  
     //printf("c7\n");
-    sprintf(cname,"QA_%s_diffgenrec",fCalorimeter.Data());
+    snprintf(cname,buffersize,"QA_%s_diffgenrec",fCalorimeter.Data());
     TCanvas  * c7 = new TCanvas(cname, "generated - reconstructed", 400, 400) ;
     c7->Divide(2, 2);
     
@@ -4482,12 +4485,12 @@ void  AliAnaCalorimeterQA::Terminate(TList* outputList)
     fhDeltaEta->Draw();
     fhGamDeltaEta->Draw("same");
     
-    sprintf(name,"QA_%s_DiffGeneratedReconstructed.eps",fCalorimeter.Data());
+    snprintf(name,buffersize,"QA_%s_DiffGeneratedReconstructed.eps",fCalorimeter.Data());
     c7->Print(name); printf("Plot: %s\n",name);
     
     // Reconstructed / Generated 
     //printf("c8\n");
-    sprintf(cname,"QA_%s_ratiorecgen",fCalorimeter.Data());
+    snprintf(cname,buffersize,"QA_%s_ratiorecgen",fCalorimeter.Data());
     TCanvas  * c8 = new TCanvas(cname, " reconstructed / generated", 400, 400) ;
     c8->Divide(2, 2);
     
@@ -4521,14 +4524,14 @@ void  AliAnaCalorimeterQA::Terminate(TList* outputList)
     fhRatioEta->Draw();
     fhGamRatioEta->Draw("same");
     
-    sprintf(name,"QA_%s_ReconstructedDivGenerated.eps",fCalorimeter.Data());
+    snprintf(name,buffersize,"QA_%s_ReconstructedDivGenerated.eps",fCalorimeter.Data());
     c8->Print(name); printf("Plot: %s\n",name);
     
     //MC
     
     //Generated distributions
     //printf("c1\n");
-    sprintf(cname,"QA_%s_gen",fCalorimeter.Data());
+    snprintf(cname,buffersize,"QA_%s_gen",fCalorimeter.Data());
     TCanvas  * c10 = new TCanvas(cname, "Generated distributions", 600, 200) ;
     c10->Divide(3, 1);
     
@@ -4644,13 +4647,13 @@ void  AliAnaCalorimeterQA::Terminate(TList* outputList)
     fhGenOmegaPhi->Draw("same");
     fhGenElePhi->Draw("same");
     
-    sprintf(name,"QA_%s_GeneratedDistributions.eps",fCalorimeter.Data());
+    snprintf(name,buffersize,"QA_%s_GeneratedDistributions.eps",fCalorimeter.Data());
     c10->Print(name); printf("Plot: %s\n",name);
     
     
     //Reconstructed clusters depending on its original particle.
     //printf("c1\n");
-    sprintf(cname,"QA_%s_recgenid",fCalorimeter.Data());
+    snprintf(cname,buffersize,"QA_%s_recgenid",fCalorimeter.Data());
     TCanvas  * c11 = new TCanvas(cname, "Reconstructed particles, function of their original particle ID", 400, 400) ;
     c11->Divide(2, 2);
     
@@ -4828,7 +4831,7 @@ void  AliAnaCalorimeterQA::Terminate(TList* outputList)
     hChHadPhi->Draw("same");
     hElePhi->Draw("same");
     
-    sprintf(name,"QA_%s_RecDistributionsGenID.eps",fCalorimeter.Data());
+    snprintf(name,buffersize,"QA_%s_RecDistributionsGenID.eps",fCalorimeter.Data());
     c11->Print(name); printf("Plot: %s\n",name);
     
     
@@ -4844,7 +4847,7 @@ void  AliAnaCalorimeterQA::Terminate(TList* outputList)
     TH1F *     hPi0PhiClone = (TH1F*)   hPi0Phi->Clone(Form("%s_Clone",fhPi0Phi->GetName()));
     TH1F *     hGamPhiClone = (TH1F*)   hGamPhi->Clone(Form("%s_Clone",fhGamPhi->GetName()));  
     
-    sprintf(cname,"QA_%s_recgenidratio",fCalorimeter.Data());
+    snprintf(cname,buffersize,"QA_%s_recgenidratio",fCalorimeter.Data());
     TCanvas  * c12 = new TCanvas(cname, "Ratio reconstructed clusters / generated particles in acceptance, for different particle ID", 400, 400) ;
     c12->Divide(2, 2);
     
@@ -4910,14 +4913,14 @@ void  AliAnaCalorimeterQA::Terminate(TList* outputList)
     hPi0PhiClone->Draw("same");
     hGamPhiClone->Draw("same");
     
-    sprintf(name,"QA_%s_EfficiencyGenID.eps",fCalorimeter.Data());
+    snprintf(name,buffersize,"QA_%s_EfficiencyGenID.eps",fCalorimeter.Data());
     c12->Print(name); printf("Plot: %s\n",name);
     
     
     
     //Reconstructed distributions
     //printf("c1\n");
-    sprintf(cname,"QA_%s_vertex",fCalorimeter.Data());
+    snprintf(cname,buffersize,"QA_%s_vertex",fCalorimeter.Data());
     TCanvas  * c13 = new TCanvas(cname, "Particle vertex", 400, 400) ;
     c13->Divide(2, 2);
     
@@ -4944,7 +4947,7 @@ void  AliAnaCalorimeterQA::Terminate(TList* outputList)
     hHaR->Draw();
     
     
-    sprintf(name,"QA_%s_ParticleVertex.eps",fCalorimeter.Data());
+    snprintf(name,buffersize,"QA_%s_ParticleVertex.eps",fCalorimeter.Data());
     c13->Print(name); printf("Plot: %s\n",name);
     
     
@@ -4952,7 +4955,7 @@ void  AliAnaCalorimeterQA::Terminate(TList* outputList)
     if(fFillAllTH12){
       //Reconstructed distributions, matched with tracks, generated particle dependence
       //printf("c2\n");
-      sprintf(cname,"QA_%s_rectrackmatchGenID",fCalorimeter.Data());
+      snprintf(cname,buffersize,"QA_%s_rectrackmatchGenID",fCalorimeter.Data());
       TCanvas  * c22ch = new TCanvas(cname, "Reconstructed distributions, matched with tracks, for different particle ID", 400, 400) ;
       c22ch->Divide(2, 2);
       
@@ -5056,7 +5059,7 @@ void  AliAnaCalorimeterQA::Terminate(TList* outputList)
       hElePhiCharged->Draw("same");
       
       
-      sprintf(name,"QA_%s_ReconstructedDistributions_TrackMatchedGenID.eps",fCalorimeter.Data());
+      snprintf(name,buffersize,"QA_%s_ReconstructedDistributions_TrackMatchedGenID.eps",fCalorimeter.Data());
       c22ch->Print(name); printf("Plot: %s\n",name);
       
       TH1F *   hGamEChargedClone   = (TH1F*)   hGamECharged->Clone(Form("%s_Clone",fhGamECharged->GetName()));
@@ -5086,7 +5089,7 @@ void  AliAnaCalorimeterQA::Terminate(TList* outputList)
       
       //Ratio: reconstructed track matched/ all reconstructed
       //printf("c3\n");
-      sprintf(cname,"QA_%s_rectrackmatchratGenID",fCalorimeter.Data());
+      snprintf(cname,buffersize,"QA_%s_rectrackmatchratGenID",fCalorimeter.Data());
       TCanvas  * c3ch = new TCanvas(cname, "Ratio: reconstructed track matched/ all reconstructed, for different particle ID", 400, 400) ;
       c3ch->Divide(2, 2);
       
@@ -5170,14 +5173,14 @@ void  AliAnaCalorimeterQA::Terminate(TList* outputList)
       hNeHadPhiChargedClone->Draw("same");
       hChHadPhiChargedClone->Draw("same");
       
-      sprintf(name,"QA_%s_RatioReconstructedMatchedDistributionsGenID.eps",fCalorimeter.Data());
+      snprintf(name,buffersize,"QA_%s_RatioReconstructedMatchedDistributionsGenID.eps",fCalorimeter.Data());
       c3ch->Print(name); printf("Plot: %s\n",name);
       
     }  
   }
   //Track-matching distributions
   
-       sprintf(cname,"QA_%s_trkmatch",fCalorimeter.Data());
+       snprintf(cname,buffersize,"QA_%s_trkmatch",fCalorimeter.Data());
        TCanvas *cme = new TCanvas(cname,"Track-matching distributions", 400, 400);
        cme->Divide(2,2);
   
@@ -5207,11 +5210,11 @@ void  AliAnaCalorimeterQA::Terminate(TList* outputList)
        cme->cd(4);
        fh2EledEdx->Draw();
        
-       sprintf(name,"QA_%s_TrackMatchingEleDist.eps",fCalorimeter.Data());
+       snprintf(name,buffersize,"QA_%s_TrackMatchingEleDist.eps",fCalorimeter.Data());
        cme->Print(name); printf("Plot: %s\n",name);       
        
        if(IsDataMC()){
-    sprintf(cname,"QA_%s_trkmatchMCEle",fCalorimeter.Data());
+    snprintf(cname,buffersize,"QA_%s_trkmatchMCEle",fCalorimeter.Data());
     TCanvas *cmemc = new TCanvas(cname,"Track-matching distributions from MC electrons", 600, 200);
     cmemc->Divide(3,1);
     
@@ -5230,11 +5233,11 @@ void  AliAnaCalorimeterQA::Terminate(TList* outputList)
     cmemc->cd(3);
     fhMCEle2MatchdEdx->Draw();
                
-    sprintf(name,"QA_%s_TrackMatchingDistMCEle.eps",fCalorimeter.Data());
+    snprintf(name,buffersize,"QA_%s_TrackMatchingDistMCEle.eps",fCalorimeter.Data());
     cmemc->Print(name); printf("Plot: %s\n",name);  
     
                
-    sprintf(cname,"QA_%s_trkmatchMCChHad",fCalorimeter.Data());
+    snprintf(cname,buffersize,"QA_%s_trkmatchMCChHad",fCalorimeter.Data());
     TCanvas *cmemchad = new TCanvas(cname,"Track-matching distributions from MC charged hadrons", 600, 200);
     cmemchad->Divide(3,1);
                
@@ -5253,10 +5256,10 @@ void  AliAnaCalorimeterQA::Terminate(TList* outputList)
     cmemchad->cd(3);
     fhMCChHad2MatchdEdx->Draw();
                
-    sprintf(name,"QA_%s_TrackMatchingDistMCChHad.eps",fCalorimeter.Data());
+    snprintf(name,buffersize,"QA_%s_TrackMatchingDistMCChHad.eps",fCalorimeter.Data());
     cmemchad->Print(name); printf("Plot: %s\n",name);       
     
-    sprintf(cname,"QA_%s_trkmatchMCNeutral",fCalorimeter.Data());
+    snprintf(cname,buffersize,"QA_%s_trkmatchMCNeutral",fCalorimeter.Data());
     TCanvas *cmemcn = new TCanvas(cname,"Track-matching distributions from MC neutrals", 600, 200);
     cmemcn->Divide(3,1);
                
@@ -5275,10 +5278,10 @@ void  AliAnaCalorimeterQA::Terminate(TList* outputList)
     cmemcn->cd(3);
     fhMCNeutral2MatchdEdx->Draw();
                
-    sprintf(name,"QA_%s_TrackMatchingDistMCNeutral.eps",fCalorimeter.Data());
+    snprintf(name,buffersize,"QA_%s_TrackMatchingDistMCNeutral.eps",fCalorimeter.Data());
     cmemcn->Print(name); printf("Plot: %s\n",name);       
     
-    sprintf(cname,"QA_%s_trkmatchpE",fCalorimeter.Data());
+    snprintf(cname,buffersize,"QA_%s_trkmatchpE",fCalorimeter.Data());
     TCanvas *cmpoe = new TCanvas(cname,"Track-matching distributions, p/E", 400, 200);
     cmpoe->Divide(2,1);
                
@@ -5324,14 +5327,14 @@ void  AliAnaCalorimeterQA::Terminate(TList* outputList)
     //         pLegendpE2.SetBorderSize(1);
     //         pLegendpE2.Draw();
     
-    sprintf(name,"QA_%s_TrackMatchingPOverE.eps",fCalorimeter.Data());
+    snprintf(name,buffersize,"QA_%s_TrackMatchingPOverE.eps",fCalorimeter.Data());
     cmpoe->Print(name); printf("Plot: %s\n",name);                             
        }
        
-       char line[1024] ; 
-       sprintf(line, ".!tar -zcf QA_%s_%s.tar.gz *%s*.eps", fCalorimeter.Data(), GetName(),fCalorimeter.Data()) ; 
+       char line[buffersize] ; 
+       snprintf(line, buffersize,".!tar -zcf QA_%s_%s.tar.gz *%s*.eps", fCalorimeter.Data(), GetName(),fCalorimeter.Data()) ; 
        gROOT->ProcessLine(line);
-       sprintf(line, ".!rm -fR *.eps"); 
+       snprintf(line, buffersize,".!rm -fR *.eps"); 
        gROOT->ProcessLine(line);
        
        printf("AliAnaCalorimeterQA::Terminate() - !! All the eps files are in QA_%s_%s.tar.gz !!!\n",  fCalorimeter.Data(), GetName());
index 00aa6ff54812bd4330a863344ca62f98841fe230..51f54abc0634e0fcf29b2181707d4fe463a6a104 100755 (executable)
@@ -941,46 +941,47 @@ void  AliAnaElectron::MakeAnalysisFillAOD()
 void  AliAnaElectron::MakeAnalysisFillHistograms() \r
 {\r
   //Do analysis and fill histograms\r
-\r
+  \r
   AliStack * stack = 0x0;\r
   TParticle * primary = 0x0;\r
   AliAODMCParticle * aodprimary = 0x0;\r
-\r
+  \r
   Int_t ph1 = 0;  //photonic 1 count\r
   Int_t ph2 = 0;  //photonic 2 count\r
   Int_t phB = 0;  //both count\r
-\r
+  \r
   if(IsDataMC()) {\r
     if(GetReader()->ReadStack()){\r
       stack =  GetMCStack() ;      \r
-      if(!stack)\r
-       printf("AliAnaElectron::MakeAnalysisFillHistograms() *** no stack ***: \n");\r
+      if(!stack){\r
+        printf("AliAnaElectron::MakeAnalysisFillHistograms() *** no stack ***: \n");\r
+      }\r
       \r
     }\r
   }// is data and MC\r
-\r
+  \r
   ////////////////////////////////////\r
   //Loop over jets and check for b-tag\r
   ////////////////////////////////////\r
   Int_t njets = (GetReader()->GetOutputEvent())->GetNJets();\r
   if(njets > 0) {\r
     if(GetDebug() > 0) printf("AliAnaElectron::MakeAnalysisFillHistograms() - Jet AOD branch has %d jets.  Performing b-jet tag analysis\n",njets);\r
-\r
+    \r
     for(Int_t ijet = 0; ijet < njets ; ijet++) {\r
       AliAODJet * jet = (AliAODJet*)(GetReader()->GetOutputEvent())->GetJet(ijet) ;\r
       //Only consider jets with pt > 10 GeV (the rest have to be junk)\r
       //printf("AODJet<%d> pt = %2.2f\n",ijet,jet->Pt());\r
       if(jet->Pt() < 10.) continue;\r
-\r
+      \r
       if(GetDebug() > 3) {\r
-       printf("AliAODJet ijet = %d\n",ijet);\r
-       jet->Print("");\r
+        printf("AliAODJet ijet = %d\n",ijet);\r
+        jet->Print("");\r
       }\r
       //Skip jets not inside a smaller fiducial volume to ensure that\r
       //they are completely contained in the EMCAL\r
       if(TMath::Abs(jet->Eta()) > fJetEtaCut) continue;\r
       if(jet->Phi() < fJetPhiMin || jet->Phi() > fJetPhiMax) continue;\r
-\r
+      \r
       //To "tag" the jet, we will look for it to pass our various criteria\r
       //For e jet tag, we just look to see which ones have NPEs\r
       //For DVM jet tag, we will look for DVM electrons\r
@@ -998,59 +999,59 @@ void  AliAnaElectron::MakeAnalysisFillHistograms()
       Int_t trackCounter[4] = {0,0,0,0}; //for ipsig\r
       for(Int_t itrk = 0; itrk < ntrk; itrk++) {\r
        AliAODTrack* jetTrack = (AliAODTrack*)jet->GetTrack(itrk);\r
-       if( GetIPSignificance(jetTrack, jet->Phi()) > fIPSigCut) trackCounter[0]++;\r
+        if( GetIPSignificance(jetTrack, jet->Phi()) > fIPSigCut) trackCounter[0]++;\r
         if( GetIPSignificance(jetTrack, jet->Phi()) > 4.) trackCounter[1]++;\r
         if( GetIPSignificance(jetTrack, jet->Phi()) > 3.) trackCounter[2]++;\r
         if( GetIPSignificance(jetTrack, jet->Phi()) > 2.) trackCounter[3]++;\r
-       Bool_t isNPE = CheckTrack(jetTrack,"NPE");\r
-       if(isNPE) eJet = kTRUE;\r
-       if ( isNPE && jetTrack->Pt()>10.0 ) eJet2  =kTRUE;\r
+        Bool_t isNPE = CheckTrack(jetTrack,"NPE");\r
+        if(isNPE) eJet = kTRUE;\r
+        if ( isNPE && jetTrack->Pt()>10.0 ) eJet2  =kTRUE;\r
         if (!isNPE && jetTrack->Pt()>10.0) hadJet =kTRUE;\r
-       Bool_t isDVM = CheckTrack(jetTrack,"DVM");\r
-       if(isDVM) dvmJet = kTRUE;\r
+        Bool_t isDVM = CheckTrack(jetTrack,"DVM");\r
+        if(isDVM) dvmJet = kTRUE;\r
       }\r
       fhIPSigBtagQA1->Fill(trackCounter[0]);\r
       if(trackCounter[1]>0) fhTagJetPt1x4->Fill(jet->Pt());\r
       if(trackCounter[2]>1) fhTagJetPt2x3->Fill(jet->Pt());\r
       if(trackCounter[3]>2) fhTagJetPt3x2->Fill(jet->Pt());\r
-\r
+      \r
       if(trackCounter[1]>0 && eJet) fhePlusTagJetPt1x4->Fill(jet->Pt());\r
       if(trackCounter[2]>1 && eJet) fhePlusTagJetPt2x3->Fill(jet->Pt());\r
       if(trackCounter[3]>2 && eJet) fhePlusTagJetPt3x2->Fill(jet->Pt());\r
-\r
+      \r
       if(trackCounter[0] > fNTagTrkCut) ipsigJet = kTRUE;\r
-\r
+      \r
       if(IsDataMC()) {\r
-       //determine tagging efficiency & mis-tagging rate\r
-       //using b-quarks from stack\r
-       Bool_t isTrueBjet = IsMcBJet(jet->Eta(), jet->Phi());\r
-       Bool_t isTrueDjet = IsMcDJet(jet->Eta(), jet->Phi());\r
-       if (isTrueBjet && GetDebug() > 0) printf("== True Bjet==\n");\r
-       if (isTrueDjet && GetDebug() > 0) printf("== True Charm-jet==\n");\r
-       if (dvmJet && GetDebug() > 0)     printf("== found DVM jet==\n");\r
-\r
-       if(isTrueBjet && dvmJet) fhDVMJet->Fill(0.,jet->Pt()); // good tagged\r
-       if(isTrueBjet && !dvmJet) fhDVMJet->Fill(1.,jet->Pt()); // missed tagged\r
-       if(!isTrueBjet && dvmJet) fhDVMJet->Fill(2.,jet->Pt());  // fake tagged\r
-       if(!isTrueBjet && !dvmJet) fhDVMJet->Fill(3.,jet->Pt());  // others\r
+        //determine tagging efficiency & mis-tagging rate\r
+        //using b-quarks from stack\r
+        Bool_t isTrueBjet = IsMcBJet(jet->Eta(), jet->Phi());\r
+        Bool_t isTrueDjet = IsMcDJet(jet->Eta(), jet->Phi());\r
+        if (isTrueBjet && GetDebug() > 0) printf("== True Bjet==\n");\r
+        if (isTrueDjet && GetDebug() > 0) printf("== True Charm-jet==\n");\r
+        if (dvmJet && GetDebug() > 0)     printf("== found DVM jet==\n");\r
+        \r
+        if(isTrueBjet && dvmJet) fhDVMJet->Fill(0.,jet->Pt()); // good tagged\r
+        if(isTrueBjet && !dvmJet) fhDVMJet->Fill(1.,jet->Pt()); // missed tagged\r
+        if(!isTrueBjet && dvmJet) fhDVMJet->Fill(2.,jet->Pt());  // fake tagged\r
+        if(!isTrueBjet && !dvmJet) fhDVMJet->Fill(3.,jet->Pt());  // others\r
         if(isTrueDjet && !isTrueBjet &&   dvmJet) fhDVMJet->Fill(4.,jet->Pt()); // charm-tagged\r
         if(isTrueDjet && !isTrueBjet &&  !dvmJet) fhDVMJet->Fill(5.,jet->Pt()); // charm -not tagged\r
         if(!(isTrueDjet||isTrueBjet ) &&  dvmJet) fhDVMJet->Fill(6.,jet->Pt()); // light flavor -tagged\r
         if(!(isTrueDjet||isTrueBjet ) && !dvmJet) fhDVMJet->Fill(7.,jet->Pt()); // light flavor -not tagged\r
-       if(isTrueBjet &&  eJet && dvmJet) fhDVMJet->Fill(8.,jet->Pt()); // bjet with electron\r
+        if(isTrueBjet &&  eJet && dvmJet) fhDVMJet->Fill(8.,jet->Pt()); // bjet with electron\r
         if(isTrueBjet && !eJet && dvmJet) fhDVMJet->Fill(9.,jet->Pt()); // needs more thought\r
-\r
-       if(isTrueBjet) {\r
-         if(trackCounter[1]>0) fhBJetPt1x4->Fill(jet->Pt());\r
-         if(trackCounter[2]>1) fhBJetPt2x3->Fill(jet->Pt());\r
-         if(trackCounter[3]>2) fhBJetPt3x2->Fill(jet->Pt());\r
-       } else {\r
-         if(trackCounter[1]>0) fhFakeJetPt1x4->Fill(jet->Pt());\r
-         if(trackCounter[2]>1) fhFakeJetPt2x3->Fill(jet->Pt());\r
-         if(trackCounter[3]>2) fhFakeJetPt3x2->Fill(jet->Pt());\r
-       }\r
+        \r
+        if(isTrueBjet) {\r
+          if(trackCounter[1]>0) fhBJetPt1x4->Fill(jet->Pt());\r
+          if(trackCounter[2]>1) fhBJetPt2x3->Fill(jet->Pt());\r
+          if(trackCounter[3]>2) fhBJetPt3x2->Fill(jet->Pt());\r
+        } else {\r
+          if(trackCounter[1]>0) fhFakeJetPt1x4->Fill(jet->Pt());\r
+          if(trackCounter[2]>1) fhFakeJetPt2x3->Fill(jet->Pt());\r
+          if(trackCounter[3]>2) fhFakeJetPt3x2->Fill(jet->Pt());\r
+        }\r
       }\r
-\r
+      \r
       //Fill bjet histograms here\r
       if(!(eJet || ipsigJet || dvmJet)) fhJetType->Fill(0.,jet->Pt()); //none\r
       if(eJet && !(ipsigJet || dvmJet)) fhJetType->Fill(1.,jet->Pt()); //only ejet\r
@@ -1065,13 +1066,13 @@ void  AliAnaElectron::MakeAnalysisFillHistograms()
       if(dvmJet)    fhJetType->Fill(10.,jet->Pt()); //any of them\r
       if(eJet2 )    fhJetType->Fill(11.,jet->Pt()); //any of them\r
       if(hadJet)    fhJetType->Fill(12.,jet->Pt()); //any of them\r
-\r
+      \r
       if(eJet || ipsigJet || dvmJet) fhBJetEtaPhi->Fill(jet->Eta(),jet->Phi());\r
       else fhNonBJetEtaPhi->Fill(jet->Eta(),jet->Phi());\r
-\r
+      \r
       //leading jets\r
       if (leadJet) {\r
-       fhLeadJetType->Fill(0.,jet->Pt()); //all\r
+        fhLeadJetType->Fill(0.,jet->Pt()); //all\r
         if(eJet   )    fhLeadJetType->Fill(1.,jet->Pt());\r
         if(eJet2  )    fhLeadJetType->Fill(2.,jet->Pt());\r
         if(hadJet )    fhLeadJetType->Fill(3.,jet->Pt());\r
@@ -1079,21 +1080,21 @@ void  AliAnaElectron::MakeAnalysisFillHistograms()
         if(eJet2  && (dvmJet || ipsigJet) )    fhLeadJetType->Fill(5.,jet->Pt());\r
         if(hadJet && (dvmJet || ipsigJet) )    fhLeadJetType->Fill(6.,jet->Pt());\r
       }\r
-\r
+      \r
       for(Int_t itrk = 0; itrk < ntrk; itrk++) {\r
-       AliAODTrack* jetTrack = (AliAODTrack*)jet->GetTrack(itrk);\r
-       Double_t xsi = TMath::Log(jet->Pt()/jetTrack->Pt());\r
-       if(eJet || ipsigJet || dvmJet) {\r
-         if(GetDebug() > 0) printf("AliAnaElectron::MakeAnalysisFillHistograms - We have a bjet!\n");\r
-         fhBJetXsiFF->Fill(xsi,jet->Pt());\r
-         fhBJetPtFF->Fill(jetTrack->Pt(),jet->Pt());\r
-       } else {\r
-         //Fill non-bjet histograms here\r
-         fhNonBJetXsiFF->Fill(xsi,jet->Pt());\r
-         fhNonBJetPtFF->Fill(jetTrack->Pt(),jet->Pt());\r
-       }\r
+        AliAODTrack* jetTrack = (AliAODTrack*)jet->GetTrack(itrk);\r
+        Double_t xsi = TMath::Log(jet->Pt()/jetTrack->Pt());\r
+        if(eJet || ipsigJet || dvmJet) {\r
+          if(GetDebug() > 0) printf("AliAnaElectron::MakeAnalysisFillHistograms - We have a bjet!\n");\r
+          fhBJetXsiFF->Fill(xsi,jet->Pt());\r
+          fhBJetPtFF->Fill(jetTrack->Pt(),jet->Pt());\r
+        } else {\r
+          //Fill non-bjet histograms here\r
+          fhNonBJetXsiFF->Fill(xsi,jet->Pt());\r
+          fhNonBJetPtFF->Fill(jetTrack->Pt(),jet->Pt());\r
+        }\r
       }\r
-\r
+      \r
     } //jet loop\r
   } //jets exist\r
   \r
@@ -1114,10 +1115,10 @@ void  AliAnaElectron::MakeAnalysisFillHistograms()
     \r
     if(GetDebug() > 1) \r
       printf("AliAnaElectron::MakeAnalysisFillHistograms() - ID Electron: pt %f, phi %f, eta %f\n", ele->Pt(),ele->Phi(),ele->Eta()) ;\r
-\r
+    \r
     //MC tag of this electron\r
     Int_t mctag = ele->GetTag();\r
-\r
+    \r
     //Filter for photonic electrons based on opening angle and Minv\r
     //cuts, also fill histograms\r
     Bool_t photonic = kFALSE;\r
@@ -1129,12 +1130,12 @@ void  AliAnaElectron::MakeAnalysisFillHistograms()
     if(photonic2) ph2++;\r
     if(photonic1 && photonic2) phB++;\r
     if(photonic1 || photonic2) photonic = kTRUE;\r
-\r
+    \r
     //Fill electron histograms \r
     Float_t ptele = ele->Pt();\r
     Float_t phiele = ele->Phi();\r
     Float_t etaele = ele->Eta();\r
-\r
+    \r
     //"Best reconstructed electron spectrum" = EMCAL or tracking\r
     //detectors say it is an electron and it does not form a V0\r
     //with Minv near a relevant resonance\r
@@ -1142,21 +1143,21 @@ void  AliAnaElectron::MakeAnalysisFillHistograms()
       fhPtNPEleTTE->Fill(ptele,0); //0 = no MC info\r
       if(ele->GetDetector() == fCalorimeter) fhPtNPEleEMCAL->Fill(ptele,0);\r
       if(IsDataMC()) {\r
-       fhPtNPEleTTE->Fill(ptele,GetMCSource(mctag));\r
-       if(ele->GetDetector() == "EMCAL") fhPtNPEleEMCAL->Fill(ptele,GetMCSource(mctag));\r
-       if(GetMCSource(mctag) == 1) { //it's a bottom electron, now\r
-                                     //get the parent's pt\r
-         Double_t ptbHadron = GetBParentPt(ele->GetLabel());\r
-         fhPtNPEBHadron->Fill(ptele,ptbHadron);\r
-       } //mctag\r
+        fhPtNPEleTTE->Fill(ptele,GetMCSource(mctag));\r
+        if(ele->GetDetector() == "EMCAL") fhPtNPEleEMCAL->Fill(ptele,GetMCSource(mctag));\r
+        if(GetMCSource(mctag) == 1) { //it's a bottom electron, now\r
+          //get the parent's pt\r
+          Double_t ptbHadron = GetBParentPt(ele->GetLabel());\r
+          fhPtNPEBHadron->Fill(ptele,ptbHadron);\r
+        } //mctag\r
       } //isdatamc\r
     } //!photonic\r
-\r
+    \r
     //kept for historical reasons?\r
     fhPtElectron  ->Fill(ptele);\r
     fhPhiElectron ->Fill(ptele,phiele);\r
     fhEtaElectron ->Fill(ptele,etaele);\r
-\r
+    \r
     if(photonic) {\r
       fhPtPE->Fill(ptele);\r
       fhPhiPE->Fill(ptele,phiele);\r
@@ -1166,21 +1167,21 @@ void  AliAnaElectron::MakeAnalysisFillHistograms()
       fhPhiNPE->Fill(ptele,phiele);\r
       fhEtaNPE->Fill(ptele,etaele);\r
     }\r
-\r
+    \r
     if(IsDataMC()){\r
       if(GetMCAnalysisUtils()->CheckTagBit(mctag,AliMCAnalysisUtils::kMCConversion)){\r
-       fhPhiConversion ->Fill(ptele,phiele);\r
-       fhEtaConversion ->Fill(ptele,etaele);\r
+        fhPhiConversion ->Fill(ptele,phiele);\r
+        fhEtaConversion ->Fill(ptele,etaele);\r
       }\r
     }//Histograms with MC\r
     \r
   }// aod loop\r
-\r
+  \r
   ////////////////////////////////////////////////////////\r
   //Fill histograms of pure MC kinematics from the stack//\r
   ////////////////////////////////////////////////////////\r
-  if(IsDataMC()) {\r
-\r
+  if(IsDataMC() && stack) {\r
+    \r
     //MC Jets\r
     TVector3 bjetVect[4];\r
     Int_t nPythiaGenJets = 0;\r
@@ -1190,70 +1191,70 @@ void  AliAnaElectron::MakeAnalysisFillHistograms()
       nPythiaGenJets = pythiaGenHeader->NTriggerJets();\r
       Int_t iCount = 0;\r
       for(int ip = 0;ip < nPythiaGenJets;++ip){\r
-       if (iCount>3) break;\r
-       Float_t p[4];\r
-       pythiaGenHeader->TriggerJet(ip,p);\r
-       TVector3 tempVect(p[0],p[1],p[2]);\r
-       if ( TMath::Abs(tempVect.Eta())>fJetEtaCut || tempVect.Phi() < fJetPhiMin || tempVect.Phi() > fJetPhiMax) continue;\r
-       //Only store it if it has a b-quark within dR < 0.2 of jet axis ?\r
-       if(IsMcBJet(tempVect.Eta(),tempVect.Phi())) {\r
-         bjetVect[iCount].SetXYZ(p[0], p[1], p[2]);\r
-         iCount++;\r
-       }\r
+        if (iCount>3) break;\r
+        Float_t p[4];\r
+        pythiaGenHeader->TriggerJet(ip,p);\r
+        TVector3 tempVect(p[0],p[1],p[2]);\r
+        if ( TMath::Abs(tempVect.Eta())>fJetEtaCut || tempVect.Phi() < fJetPhiMin || tempVect.Phi() > fJetPhiMax) continue;\r
+        //Only store it if it has a b-quark within dR < 0.2 of jet axis ?\r
+        if(IsMcBJet(tempVect.Eta(),tempVect.Phi())) {\r
+          bjetVect[iCount].SetXYZ(p[0], p[1], p[2]);\r
+          iCount++;\r
+        }\r
       }\r
     }\r
-\r
+    \r
     Int_t nPart = GetNumAODMCParticles();\r
     if(GetReader()->ReadStack()) nPart = stack->GetNtrack();\r
-\r
+    \r
     for(Int_t ipart = 0; ipart < nPart; ipart++) {\r
-\r
+      \r
       //All the variables we want from MC particles\r
       Double_t px = 0.; Double_t py = 0.; Double_t pz = 0.; Double_t e = 0.;\r
       Double_t vx = -999.; Double_t vy = -999.; Double_t vz = -999.; Double_t vt = -999.;\r
       Int_t pdg = 0; Int_t mpdg = 0; Double_t mpt = 0.;\r
-\r
+      \r
       if(GetReader()->ReadStack()) {\r
-       primary = stack->Particle(ipart);\r
-       pdg = primary->GetPdgCode();\r
-       px = primary->Px(); py = primary->Py(); pz = primary->Pz(); e = primary->Energy();\r
-       vx = primary->Vx(); vy = primary->Vy(); vz = primary->Vz(); vt = primary->T();\r
-       if(primary->GetMother(0)>=0) {\r
-         TParticle *parent = stack->Particle(primary->GetMother(0));\r
-         if (parent) {\r
-           mpdg = parent->GetPdgCode();\r
-           mpt = parent->Pt();\r
-         }\r
-       }\r
+        primary = stack->Particle(ipart);\r
+        pdg = primary->GetPdgCode();\r
+        px = primary->Px(); py = primary->Py(); pz = primary->Pz(); e = primary->Energy();\r
+        vx = primary->Vx(); vy = primary->Vy(); vz = primary->Vz(); vt = primary->T();\r
+        if(primary->GetMother(0)>=0) {\r
+          TParticle *parent = stack->Particle(primary->GetMother(0));\r
+          if (parent) {\r
+            mpdg = parent->GetPdgCode();\r
+            mpt = parent->Pt();\r
+          }\r
+        }\r
       } else if(GetReader()->ReadAODMCParticles()) {\r
-       aodprimary =  (AliAODMCParticle*)GetMCParticle(ipart);\r
-       pdg = aodprimary->GetPdgCode();\r
-       px = aodprimary->Px(); py = aodprimary->Py(); pz = aodprimary->Pz(); e = aodprimary->E();\r
-       vx = aodprimary->Xv(); vy = aodprimary->Yv(); vz = aodprimary->Zv(); vt = aodprimary->T();\r
-       Int_t parentId = aodprimary->GetMother();\r
-       if(parentId>=0) {\r
-         AliAODMCParticle *parent = (AliAODMCParticle*)GetMCParticle(parentId);\r
-         if (parent) {\r
-           mpdg = parent->GetPdgCode();\r
-           mpt = parent->Pt();\r
-         }\r
-       }       \r
+        aodprimary =  (AliAODMCParticle*)GetMCParticle(ipart);\r
+        pdg = aodprimary->GetPdgCode();\r
+        px = aodprimary->Px(); py = aodprimary->Py(); pz = aodprimary->Pz(); e = aodprimary->E();\r
+        vx = aodprimary->Xv(); vy = aodprimary->Yv(); vz = aodprimary->Zv(); vt = aodprimary->T();\r
+        Int_t parentId = aodprimary->GetMother();\r
+        if(parentId>=0) {\r
+          AliAODMCParticle *parent = (AliAODMCParticle*)GetMCParticle(parentId);\r
+          if (parent) {\r
+            mpdg = parent->GetPdgCode();\r
+            mpt = parent->Pt();\r
+          }\r
+        }      \r
       }\r
-\r
+      \r
       TLorentzVector mom(px,py,pz,e);\r
       TLorentzVector pos(vx,vy,vz,vt);\r
       Bool_t in = kFALSE;\r
       if(mom.Phi()*180./TMath::Pi() > 80. && mom.Phi()*180./TMath::Pi() < 190. &&\r
-        mom.Eta() > -0.7 && mom.Eta() < 0.7) in = kTRUE;\r
+         mom.Eta() > -0.7 && mom.Eta() < 0.7) in = kTRUE;\r
       /////////////////////////////////\r
       //THIS HAS A MEM LEAK JLK 24-Oct-09\r
       //Bool_t in = GetFiducialCut()->IsInFiducialCut(mom,fCalorimeter);\r
       ////////////////////////////////\r
       if(mom.Pt() < GetMinPt()) continue;\r
       if(!in) continue;\r
-\r
+      \r
       if(TMath::Abs(pdg) == 211 || TMath::Abs(pdg) == 321 || TMath::Abs(pdg) == 2212)\r
-       fhPtMCHadron->Fill(mom.Pt());\r
+        fhPtMCHadron->Fill(mom.Pt());\r
       \r
       //we only care about electrons\r
       if(TMath::Abs(pdg) != 11) continue;\r
@@ -1261,41 +1262,41 @@ void  AliAnaElectron::MakeAnalysisFillHistograms()
       if(pos.Rho() > 200.) continue;\r
       //Ignore low pt electrons\r
       if(mom.Pt() < 0.2) continue;\r
-       \r
+      \r
       //find out what the ancestry of this electron is\r
       Int_t mctag = -1;\r
       Int_t input = 0;\r
       mctag = GetMCAnalysisUtils()->CheckOrigin(ipart,GetReader(),input);\r
       \r
       if(GetMCSource(mctag)==1) { //bottom electron\r
-       //See if it is within dR < 0.4 of a bjet\r
-       for(Int_t ij = 0; ij < nPythiaGenJets; ij++) {\r
-         Double_t deta = primary->Eta() - bjetVect[ij].Eta();\r
-         Double_t dphi = primary->Phi() - bjetVect[ij].Phi();\r
-         Double_t dR = TMath::Sqrt(deta*deta + dphi*dphi);\r
-         if(dR < 0.4) {\r
-           fhMCBJetElePt->Fill(primary->Pt(),bjetVect[ij].Pt());\r
-         }\r
-       }\r
+        //See if it is within dR < 0.4 of a bjet\r
+        for(Int_t ij = 0; ij < nPythiaGenJets; ij++) {\r
+          Double_t deta = primary->Eta() - bjetVect[ij].Eta();\r
+          Double_t dphi = primary->Phi() - bjetVect[ij].Phi();\r
+          Double_t dR = TMath::Sqrt(deta*deta + dphi*dphi);\r
+          if(dR < 0.4) {\r
+            fhMCBJetElePt->Fill(primary->Pt(),bjetVect[ij].Pt());\r
+          }\r
+        }\r
       }\r
-\r
+      \r
       if ((TMath::Abs(mpdg) >500  && TMath::Abs(mpdg) <600 ) ||\r
-         (TMath::Abs(mpdg) >5000 && TMath::Abs(mpdg) <6000 ) )\r
-       {\r
-         fhMCBHadronElePt->Fill(mom.Pt(), mpt); \r
-       }\r
+          (TMath::Abs(mpdg) >5000 && TMath::Abs(mpdg) <6000 ) )\r
+      {\r
+        fhMCBHadronElePt->Fill(mom.Pt(), mpt); \r
+      }\r
       //CHECK THAT THIS IS CORRECTLY FILLED - SHOULD WE USE MCSOURCE HERE?\r
       fhPtMCElectron->Fill(mom.Pt(),0);  //0 = unfiltered\r
       fhPtMCElectron->Fill(mom.Pt(),GetMCSource(mctag));\r
-\r
+      \r
       if(GetMCSource(mctag) == 4) {//conversion\r
-       fhMCXYConversion->Fill(vx,vy);\r
-       fhMCRadPtConversion->Fill(TMath::Sqrt(vx*vx+vy*vy),mom.Pt());\r
+        fhMCXYConversion->Fill(vx,vy);\r
+        fhMCRadPtConversion->Fill(TMath::Sqrt(vx*vx+vy*vy),mom.Pt());\r
       }\r
-       \r
+      \r
       //fill ntuple\r
       if(fWriteNtuple) {\r
-       fMCEleNtuple->Fill(mctag,mom.Pt(),mom.Phi(),mom.Eta(),vx,vy,vz);\r
+        fMCEleNtuple->Fill(mctag,mom.Pt(),mom.Phi(),mom.Eta(),vx,vy,vz);\r
       }\r
     }\r
   } //MC loop\r
@@ -1701,25 +1702,25 @@ Bool_t AliAnaElectron::CheckTrack(const AliAODTrack* track, const char* type)
 {\r
   //Check this track to see if it is also tagged as an electron in the\r
   //AliAODPWG4Particle list and if it is non-photonic\r
-\r
+  \r
   Bool_t pass = kFALSE;\r
-\r
+  \r
   Int_t trackId = track->GetID(); //get the index in the reader\r
-\r
+  \r
   Int_t naod = GetOutputAODBranch()->GetEntriesFast();\r
   if(GetDebug() > 3) printf("AliAnaElectron::CheckTrack() - aod branch entries %d\n", naod);\r
   for(Int_t iaod = 0; iaod < naod ; iaod++){\r
     AliAODPWG4Particle* ele =  (AliAODPWG4Particle*) (GetOutputAODBranch()->At(iaod));\r
     Int_t label = ele->GetTrackLabel(0);\r
     if(label != trackId) continue;  //skip to the next one if they don't match\r
-\r
+    \r
     if(strcmp(type,"DVM")==0) { \r
       if(ele->CheckBTagBit(ele->GetBtag(),AliAODPWG4Particle::kDVMTag1) ||\r
-        ele->CheckBTagBit(ele->GetBtag(),AliAODPWG4Particle::kDVMTag2))\r
-       pass = kTRUE;\r
-\r
+         ele->CheckBTagBit(ele->GetBtag(),AliAODPWG4Particle::kDVMTag2))\r
+        pass = kTRUE;\r
+      \r
     } else if (strcmp(type,"NPE")==0) {\r
-\r
+      \r
       Bool_t photonic = kFALSE;\r
       Bool_t photonic1 = kFALSE;\r
       photonic1 = PhotonicPrim(ele); //check against primaries\r
@@ -1728,14 +1729,14 @@ Bool_t AliAnaElectron::CheckTrack(const AliAODTrack* track, const char* type)
       if(photonic1 || photonic2) photonic = kTRUE;\r
       \r
       if(!photonic) pass = kTRUE;\r
-\r
+      \r
     } else {\r
       return kFALSE;\r
     }\r
   }\r
-\r
+  \r
   return pass;\r
-\r
+  \r
 }\r
 \r
 //__________________________________________________________________\r
@@ -1752,21 +1753,25 @@ Double_t AliAnaElectron::GetBParentPt(Int_t ipart)
     if(prim->GetMother(0)>=0) {\r
       Int_t mpdg = 0;\r
       TParticle *parent = stack->Particle(prim->GetMother(0));\r
-      if(parent) mpdg = parent->GetPdgCode();\r
-\r
-      if ((TMath::Abs(mpdg) >500  && TMath::Abs(mpdg) <600 ) ||\r
-         (TMath::Abs(mpdg) >5000 && TMath::Abs(mpdg) <6000 ) )\r
-       return parent->Pt();\r
+      if(parent){\r
+        mpdg = parent->GetPdgCode();\r
+      \r
+        if ((TMath::Abs(mpdg) >500  && TMath::Abs(mpdg) <600 ) ||\r
+            (TMath::Abs(mpdg) >5000 && TMath::Abs(mpdg) <6000 ) )\r
+          return parent->Pt();\r
+      }\r
     }\r
   } else if(GetReader()->ReadAODMCParticles()){\r
     AliAODMCParticle* prim = (AliAODMCParticle*)GetMCParticle(ipart);\r
     if(prim->GetMother()>=0) {\r
       Int_t mpdg = 0;\r
       AliAODMCParticle* parent = (AliAODMCParticle*)GetMCParticle(prim->GetMother());\r
-      if(parent) mpdg = parent->GetPdgCode();\r
-      if ((TMath::Abs(mpdg) >500  && TMath::Abs(mpdg) <600 ) ||\r
+      if(parent){\r
+        mpdg = parent->GetPdgCode();\r
+        if ((TMath::Abs(mpdg) >500  && TMath::Abs(mpdg) <600 ) ||\r
           (TMath::Abs(mpdg) >5000 && TMath::Abs(mpdg) <6000 ) )\r
-        return parent->Pt();\r
+          return parent->Pt();\r
+      }\r
     }\r
   }\r
   return 0.;\r
index c897bad2072958c41f06cee13da09a38d5301b5d..c23e09f3271a224d62fdcae60e76a2e46f74565a 100644 (file)
@@ -791,7 +791,7 @@ void AliAnaOmegaToPi0Gamma::Terminate(TList * outputList)
   ReadHistograms(outputList);\r
   const Int_t buffersize = 255;\r
   char cvs1[buffersize];  \r
-  sprintf(cvs1, "Neutral_%s_IVM",fInputAODGammaName.Data());\r
+  snprintf(cvs1, buffersize, "Neutral_%s_IVM",fInputAODGammaName.Data());\r
 \r
   TCanvas * cvsIVM = new TCanvas(cvs1, cvs1, 400, 10, 600, 700) ;\r
   cvsIVM->Divide(2, 2);\r
index 3b1f4c5ae8d88e5ec3efec97448fe8f303a5dedb..903a399f7922c7a494daaf998aa0d27df0770d29 100755 (executable)
@@ -436,7 +436,8 @@ void AliAnaParticleJetLeadingConeCorrelation::FillJetHistos(AliAODPWG4ParticleCo
   
   for(Int_t ipr = 0;ipr < pl->GetEntriesFast() ; ipr ++ ){
     AliAODTrack* track = dynamic_cast<AliAODTrack *>(pl->At(ipr)) ;
-    p3.SetXYZ(track->Px(),track->Py(),track->Pz());
+    if(track)p3.SetXYZ(track->Px(),track->Py(),track->Pz());
+    else printf("AliAnaParticleJetLeadingConeCorrelation::FillJetHistos() - Track not available\n");
     
     //Recheck if particle is in jet cone
     if(fReMakeJet || fSeveralConeAndPtCuts)
@@ -444,20 +445,19 @@ void AliAnaParticleJetLeadingConeCorrelation::FillJetHistos(AliAODPWG4ParticleCo
     
     nTracksInCone++; 
     
-    TH2F *ha = 0x0;
-    ha =dynamic_cast<TH2F*>(GetOutputContainer()->FindObject(Form("%s%sFFz%s",GetAddedHistogramsStringToName().Data(),type.Data(),lastname.Data())));
+    TH2F *ha =dynamic_cast<TH2F*>(GetOutputContainer()->FindObject(Form("%s%sFFz%s",GetAddedHistogramsStringToName().Data(),type.Data(),lastname.Data())));
     if(ha) ha->Fill(ptTrig,p3.Pt()/ptTrig);
-    TH2F *hb = 0x0;
-    hb =dynamic_cast<TH2F*>(GetOutputContainer()->FindObject(Form("%s%sFFxi%s",GetAddedHistogramsStringToName().Data(),type.Data(),lastname.Data())));
+    TH2F *hb  =dynamic_cast<TH2F*>(GetOutputContainer()->FindObject(Form("%s%sFFxi%s",GetAddedHistogramsStringToName().Data(),type.Data(),lastname.Data())));
     if(hb) hb->Fill(ptTrig,TMath::Log(ptTrig/p3.Pt()));
-    TH2F *hc = 0x0;
-    hc =dynamic_cast<TH2F*>(GetOutputContainer()->FindObject(Form("%s%sFFpt%s",GetAddedHistogramsStringToName().Data(),type.Data(),lastname.Data())));
+    TH2F *hc =dynamic_cast<TH2F*>(GetOutputContainer()->FindObject(Form("%s%sFFpt%s",GetAddedHistogramsStringToName().Data(),type.Data(),lastname.Data())));
     if(hc) hc->Fill(ptTrig,p3.Pt());
     
   }//track loop
   
-  if(nTracksInCone > 0) dynamic_cast<TH2F*>(GetOutputContainer()->FindObject(Form("%s%sNTracksInCone%s",GetAddedHistogramsStringToName().Data(),type.Data(),lastname.Data())))
-    ->Fill(ptTrig, nTracksInCone);
+  if(nTracksInCone > 0) {
+    TH2F *hd = dynamic_cast<TH2F*>(GetOutputContainer()->FindObject(Form("%s%sNTracksInCone%s",GetAddedHistogramsStringToName().Data(),type.Data(),lastname.Data())));
+    hd->Fill(ptTrig, nTracksInCone);
+  }
   
 }
 
index 5580cb8e6082331d98d4e1aace5984b889bac6bd..c98cb2e3fed23c689e1c700f8e0197d6b923b014 100755 (executable)
@@ -257,7 +257,7 @@ void  AliAnaParticlePartonCorrelation::MakeAnalysisFillHistograms()
  
   //Loop on stored AOD particles
   Int_t naod = GetInputAODBranch()->GetEntriesFast();
-  TParticle *  mom =new TParticle ;
+  TParticle *  mom = NULL ;
   
   for(Int_t iaod = 0; iaod < naod ; iaod++){
     AliAODPWG4ParticleCorrelation* particle =  (AliAODPWG4ParticleCorrelation*) (GetInputAODBranch()->At(iaod));
@@ -279,14 +279,19 @@ void  AliAnaParticlePartonCorrelation::MakeAnalysisFillHistograms()
     if(imom < 8 ) iparent = imom ;   //mother is already a parton
     else if (imom <  stack->GetNtrack()) {
       mom =  stack->Particle(imom);
-      iparent=mom->GetFirstMother();
-      //cout<<" iparent "<<iparent<<endl;
-      while(iparent > 7 ){
-       mom = stack->Particle(iparent);
-       imom = iparent ; //Mother label is of the inmediate parton daughter
-       iparent = mom->GetFirstMother();
-       //cout<<" while iparent "<<iparent<<endl;
-      }   
+      if(mom){
+        iparent=mom->GetFirstMother();
+        //cout<<" iparent "<<iparent<<endl;
+        while(iparent > 7 ){
+          mom = stack->Particle(iparent);
+          if (mom) {
+            imom = iparent ; //Mother label is of the inmediate parton daughter
+            iparent = mom->GetFirstMother();
+          }
+          else iparent = -1;
+        //cout<<" while iparent "<<iparent<<endl;
+        } 
+      }
     }
     
     if(GetDebug() > 1) printf("AliAnaParticlePartonCorrelation::MakeAnalysisFillHistograms() - N reference partons %d; labels:  mother %d, parent %d \n", objarray->GetEntriesFast(), imom, iparent);
index 2d91733332a127095cba82d0267c2f65b8124cd4..1b2afb39743610ab690f9215d68d0f0dc5a98d9d 100755 (executable)
@@ -930,7 +930,7 @@ void AliAnaPi0::Terminate(TList* outputList)
   hPtIM3->SetTitle("0.11 < M_{#gamma#gamma} < 0.15 GeV/c^{2}");
   hPtIM3->Draw();
    
-  char namePtF[128];
+  char namePtF[buffersize];
   snprintf(namePtF,buffersize,"AliAnaPi0_%s_Pt.eps",fCalorimeter.Data());
   cPt->Print(namePtF);
 
index 2abd88719f23e9ca6c5bd10aa2516fcf331f58f0..718b7c4de2b4c66a133989fa611d9682763d0e45 100644 (file)
@@ -92,19 +92,20 @@ TObjString *  AliAnaShowerParameter::GetAnalysisCuts()
 {      
   //Save parameters used for analysis
   TString parList ; //this will be list of parameters used for this analysis.
-  char onePar[255] ;
+  const Int_t buffersize = 255;
+  char onePar[buffersize] ;
   
-  sprintf(onePar,"--- AliAnaShowerParameter ---\n") ;
+  snprintf(onePar,buffersize,"--- AliAnaShowerParameter ---\n") ;
   parList+=onePar ;    
-  sprintf(onePar,"Calorimeter: %s\n",fCalorimeter.Data()) ;
+  snprintf(onePar,buffersize,"Calorimeter: %s\n",fCalorimeter.Data()) ;
   parList+=onePar ;
-  sprintf(onePar,"fMinDist =%2.2f (Minimal distance to bad channel to accept cluster) \n",fMinDist) ;
+  snprintf(onePar,buffersize,"fMinDist =%2.2f (Minimal distance to bad channel to accept cluster) \n",fMinDist) ;
   parList+=onePar ;
-  sprintf(onePar,"fMinDist2=%2.2f (Cuts on Minimal distance to study acceptance evaluation) \n",fMinDist2) ;
+  snprintf(onePar,buffersize,"fMinDist2=%2.2f (Cuts on Minimal distance to study acceptance evaluation) \n",fMinDist2) ;
   parList+=onePar ;
-  sprintf(onePar,"fMinDist3=%2.2f (One more cut on distance used for acceptance-efficiency study) \n",fMinDist3) ;
+  snprintf(onePar,buffersize,"fMinDist3=%2.2f (One more cut on distance used for acceptance-efficiency study) \n",fMinDist3) ;
   parList+=onePar ;
-  sprintf(onePar,"fRejectTrackMatch: %d\n",fRejectTrackMatch) ;
+  snprintf(onePar,buffersize,"fRejectTrackMatch: %d\n",fRejectTrackMatch) ;
   parList+=onePar ;  
   
   //Get parameters set in base class.
@@ -642,6 +643,11 @@ void  AliAnaShowerParameter::MakeAnalysisFillAOD()
   else if (fCalorimeter == "EMCAL")
     pl = GetAODEMCAL();
   
+  if(!pl){
+    printf("AliAnaShowerParameter::MakeAnalysisFillAOD() - Careful cluster array NULL!!\n");
+    return;
+  }
+  
   //Fill AODCaloClusters and AODParticle with PHOS/EMCAL aods
   TLorentzVector mom, mom2 ; 
   Int_t nCaloClusters = pl->GetEntriesFast();   
@@ -798,7 +804,7 @@ void  AliAnaShowerParameter::MakeAnalysisFillHistograms()
   AliStack * stack = 0x0;
   TParticle * primary = 0x0;   
   TClonesArray * mcparticles0 = 0x0;
-  TClonesArray * mcparticles1 = 0x0;
+  //TClonesArray * mcparticles1 = 0x0;
   AliAODMCParticle * aodprimary = 0x0; 
   TObjArray * pl = 0x0;
   Int_t iNumCell=0;
@@ -850,17 +856,18 @@ void  AliAnaShowerParameter::MakeAnalysisFillHistograms()
       pl = GetAODPHOS();
     else if (fCalorimeter == "EMCAL")
       pl = GetAODEMCAL();
-    
-    //Some values are stored in AliAODCaloCluster objects only; we need to fetch them.
-    for(Int_t icalo = 0; icalo < pl->GetEntriesFast(); icalo++){
-      AliAODCaloCluster * calo =  (AliAODCaloCluster*) (pl->At(icalo));
-      if (calo->GetLabel()==ph->GetLabel()) {  //The Cluster is the right one for this particle
-        lambdaMainCluster = calo->GetM02();   //lambda_0
-        lambdaSecondCluster = calo->GetM20();     //lambda_1
-        dispcluster = calo->GetDispersion();    //Dispersion
-        iNumCell = calo->GetNCells();  
-        if(GetDebug() > 2) 
-          printf("AliAnaShowerParameter::MakeAnalysisFillHistograms() - Cluster Lambda0: %3.2f, Lambda1: %3.2f, Dispersion: %3.2f, NCells: %d \n",lambdaMainCluster,lambdaSecondCluster,dispcluster,iNumCell) ;
+    if(pl){
+      //Some values are stored in AliAODCaloCluster objects only; we need to fetch them.
+      for(Int_t icalo = 0; icalo < pl->GetEntriesFast(); icalo++){
+        AliAODCaloCluster * calo =  (AliAODCaloCluster*) (pl->At(icalo));
+        if (calo->GetLabel()==ph->GetLabel()) {  //The Cluster is the right one for this particle
+          lambdaMainCluster = calo->GetM02();   //lambda_0
+          lambdaSecondCluster = calo->GetM20();     //lambda_1
+          dispcluster = calo->GetDispersion();    //Dispersion
+          iNumCell = calo->GetNCells();        
+          if(GetDebug() > 2) 
+            printf("AliAnaShowerParameter::MakeAnalysisFillHistograms() - Cluster Lambda0: %3.2f, Lambda1: %3.2f, Dispersion: %3.2f, NCells: %d \n",lambdaMainCluster,lambdaSecondCluster,dispcluster,iNumCell) ;
+        }
       }
     }
     
@@ -1101,15 +1108,15 @@ void  AliAnaShowerParameter::MakeAnalysisFillHistograms()
           aodprimary = (AliAODMCParticle*) mcparticles0->At(label);
           
         }
-        else {//Second input
-          if(!mcparticles1) continue;
-          if(label >=  mcparticles1->GetEntriesFast()) {
-            if(GetDebug() > 2)  printf("AliAnaShowerParameter::MakeAnalysisFillHistograms() *** large label ***:  label %d, n tracks %d \n",label, mcparticles1->GetEntriesFast());
-            continue ;
-          }
-          //Get the particle
-          aodprimary = (AliAODMCParticle*) mcparticles1->At(label); 
-        }//second input
+//        else {//Second input
+//          if(!mcparticles1) continue;
+//          if(label >=  mcparticles1->GetEntriesFast()) {
+//            if(GetDebug() > 2)  printf("AliAnaShowerParameter::MakeAnalysisFillHistograms() *** large label ***:  label %d, n tracks %d \n",label, mcparticles1->GetEntriesFast());
+//            continue ;
+//          }
+//          //Get the particle
+//          aodprimary = (AliAODMCParticle*) mcparticles1->At(label); 
+//        }//second input
         
         if(!aodprimary){
           printf("AliAnaShowerParameter::MakeAnalysisFillHistograms() *** no primary ***:  label %d \n", label);