]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Adding a protection for retrieving the TList in the Terminate (CheckV0 and Performanc...
authorbhippoly <bhippoly@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sun, 14 Feb 2010 22:27:34 +0000 (22:27 +0000)
committerbhippoly <bhippoly@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sun, 14 Feb 2010 22:27:34 +0000 (22:27 +0000)
PWG2/SPECTRA/AliAnalysisTaskCheckV0.cxx
PWG2/SPECTRA/AliAnalysisTaskPerformanceStrange.cxx
PWG2/SPECTRA/AliAnalysisTaskPerformanceStrange.h

index 288e109fa3ff9917695ca7e16a318b30205ef314..259e431665a8cbb0771d23d622525f6884752450 100644 (file)
@@ -440,6 +440,13 @@ void AliAnalysisTaskCheckV0::Terminate(Option_t *)
   // Draw result to the screen
   // Called once at the end of the query
 
+  TList *cRetrievedList = 0x0;
+  cRetrievedList = (TList*)GetOutputData(1);
+
+  if(!cRetrievedList){
+    AliWarning("ERROR - AliAnalysisTaskPerformanceStrange: output data container list not available\n"); return;
+  }
+
   // Implement a decent style
   TStyle *myStyle = new TStyle("myStyle","my style");
   Int_t font = 42;
@@ -456,22 +463,22 @@ void AliAnalysisTaskCheckV0::Terminate(Option_t *)
   myStyle->SetPalette(1,0); 
   myStyle->cd();
 
-  fHistTrackMultiplicity = dynamic_cast<TH1F*> (((TList*)GetOutputData(1))->FindObject("fHistTrackMultiplicity"));
+  fHistTrackMultiplicity = dynamic_cast<TH1F*> (cRetrievedList->FindObject("fHistTrackMultiplicity"));
   if (!fHistTrackMultiplicity) {
     Printf("ERROR: fHistTrackMultiplicity not available");
     return;
   }
-  fHistV0Multiplicity = dynamic_cast<TH1F*> (((TList*)GetOutputData(1))->FindObject("fHistV0Multiplicity"));
+  fHistV0Multiplicity = dynamic_cast<TH1F*> (cRetrievedList->FindObject("fHistV0Multiplicity"));
   if (!fHistV0Multiplicity) {
     Printf("ERROR: fHistV0Multiplicity not available");
     return;
   }
-  fHistV0MultiplicityOff = dynamic_cast<TH1F*> (((TList*)GetOutputData(1))->FindObject("fHistV0MultiplicityOff"));
+  fHistV0MultiplicityOff = dynamic_cast<TH1F*> (cRetrievedList->FindObject("fHistV0MultiplicityOff"));
   if (!fHistV0MultiplicityOff) {
     Printf("ERROR: fHistV0MultiplicityOff not available");
     return;
   }
-  fHistV0MultiplicityOn = dynamic_cast<TH1F*> (((TList*)GetOutputData(1))->FindObject("fHistV0MultiplicityOn"));
+  fHistV0MultiplicityOn = dynamic_cast<TH1F*> (cRetrievedList->FindObject("fHistV0MultiplicityOn"));
   if (!fHistV0MultiplicityOn) {
     Printf("ERROR: fHistV0MultiplicityOn not available");
     return;
@@ -496,42 +503,42 @@ void AliAnalysisTaskCheckV0::Terminate(Option_t *)
   legendMultiplicity->AddEntry(fHistV0MultiplicityOn,"onthefly V^{0}");
   legendMultiplicity->Draw();
 
-  fHistMassK0sOff = dynamic_cast<TH1F*> (((TList*)GetOutputData(1))->FindObject("fHistMassK0sOff"));
+  fHistMassK0sOff = dynamic_cast<TH1F*> (cRetrievedList->FindObject("fHistMassK0sOff"));
   if (!fHistMassK0sOff) {
     Printf("ERROR: fHistMassK0sOff not available");
     return;
   }
-  fHistMassK0sOn = dynamic_cast<TH1F*> (((TList*)GetOutputData(1))->FindObject("fHistMassK0sOn"));
+  fHistMassK0sOn = dynamic_cast<TH1F*> (cRetrievedList->FindObject("fHistMassK0sOn"));
   if (!fHistMassK0sOn) {
     Printf("ERROR: fHistMassK0sOn not available");
     return;
   }
-  fHistMassLambdaOff = dynamic_cast<TH1F*> (((TList*)GetOutputData(1))->FindObject("fHistMassLambdaOff"));
+  fHistMassLambdaOff = dynamic_cast<TH1F*> (cRetrievedList->FindObject("fHistMassLambdaOff"));
   if (!fHistMassLambdaOff) {
     Printf("ERROR: fHistMassLambdaOff not available");
     return;
   }
-  fHistMassLambdaOn = dynamic_cast<TH1F*> (((TList*)GetOutputData(1))->FindObject("fHistMassLambdaOn"));
+  fHistMassLambdaOn = dynamic_cast<TH1F*> (cRetrievedList->FindObject("fHistMassLambdaOn"));
   if (!fHistMassLambdaOn) {
     Printf("ERROR: fHistMassLambdaOn not available");
     return;
   }
-  fHistMassAntiLambdaOff = dynamic_cast<TH1F*> (((TList*)GetOutputData(1))->FindObject("fHistMassAntiLambdaOff"));
+  fHistMassAntiLambdaOff = dynamic_cast<TH1F*> (cRetrievedList->FindObject("fHistMassAntiLambdaOff"));
   if (!fHistMassAntiLambdaOff) {
     Printf("ERROR: fHistMassAntiLambdaOff not available");
     return;
   }
-  fHistMassAntiLambdaOn = dynamic_cast<TH1F*> (((TList*)GetOutputData(1))->FindObject("fHistMassAntiLambdaOn"));
+  fHistMassAntiLambdaOn = dynamic_cast<TH1F*> (cRetrievedList->FindObject("fHistMassAntiLambdaOn"));
   if (!fHistMassAntiLambdaOn) {
     Printf("ERROR: fHistMassAntiLambdaOn not available");
     return;
   }
-  fHistArmenterosPodolanskiOff = dynamic_cast<TH2F*> (((TList*)GetOutputData(1))->FindObject("fHistArmenterosPodolanskiOff"));
+  fHistArmenterosPodolanskiOff = dynamic_cast<TH2F*> (cRetrievedList->FindObject("fHistArmenterosPodolanskiOff"));
   if (!fHistArmenterosPodolanskiOff) {
     Printf("ERROR: fHistArmenterosPodolanskiOff not available");
     return;
   }
-  fHistArmenterosPodolanskiOn = dynamic_cast<TH2F*> (((TList*)GetOutputData(1))->FindObject("fHistArmenterosPodolanskiOn"));
+  fHistArmenterosPodolanskiOn = dynamic_cast<TH2F*> (cRetrievedList->FindObject("fHistArmenterosPodolanskiOn"));
   if (!fHistArmenterosPodolanskiOn) {
     Printf("ERROR: fHistArmenterosPodolanskiOn not available");
     return;
index 79743a1ede48379c3d091c0d1a6e584d5c79adff..df974f49a13728dc77095d69d03f54f4d9ed09e8 100644 (file)
@@ -1245,7 +1245,7 @@ void AliAnalysisTaskPerformanceStrange::UserExec(Option_t *)
     isEventTriggered = fPhysTrigSel->IsCollisionCandidate((AliESDEvent*)lEvent);    
   } 
   else {
-    fPhysTrigSel->SetAnalyzeMC();
+    fPhysTrigSel->SetAnalyzeMC(); // Bo: maybe this is not needed (should be done in AliPhysicsSelectionTask)
     isEventTriggered = fPhysTrigSel->IsCollisionCandidate((AliESDEvent*)lEvent);
   }
   
@@ -1871,7 +1871,8 @@ void AliAnalysisTaskPerformanceStrange::UserExec(Option_t *)
   fHistPrimaryVertexX->Fill(lPrimaryVtxPosition[0]);
   fHistPrimaryVertexY->Fill(lPrimaryVtxPosition[1]);
   fHistPrimaryVertexZ->Fill(lPrimaryVtxPosition[2]);
-  Double_t lrcPrimVtxR = TMath::Sqrt(lPrimaryVtxPosition[0]*lPrimaryVtxPosition[0]+lPrimaryVtxPosition[0]*lPrimaryVtxPosition[0]);
+  Double_t lrcPrimVtxR = 0;
+  lrcPrimVtxR = TMath::Sqrt(lPrimaryVtxPosition[0]*lPrimaryVtxPosition[0]+lPrimaryVtxPosition[0]*lPrimaryVtxPosition[0]); // Bo: this is done with respect to x,y=0,0... to sure it is used anymore;
 
   AliKFVertex primaryVtxKF( *myPrimaryVertex );
   AliKFParticle::SetField(lMagneticField);
@@ -2773,14 +2774,20 @@ void AliAnalysisTaskPerformanceStrange::Terminate(Option_t *)
   // Draw result to the screen
   // Called once at the end of the query
 
+  TList *cRetrievedList = 0x0;
+  cRetrievedList = (TList*)GetOutputData(1);
+
+  if(!cRetrievedList){
+    AliWarning("ERROR - AliAnalysisTaskPerformanceStrange: output data container list not available\n"); return;
+  }
   
-  fHistV0Multiplicity = dynamic_cast<TH1F*> (((TList*)GetOutputData(1))->FindObject("fHistV0Multiplicity"));
+  fHistV0Multiplicity = dynamic_cast<TH1F*> (cRetrievedList->FindObject("fHistV0Multiplicity"));
   if (!fHistV0Multiplicity) {
     Printf("ERROR: fHistV0Multiplicity not available");
     return;
   }
 
-  fHistV0MultiplicityMI = dynamic_cast<TH1F*> (((TList*)GetOutputData(1))->FindObject("fHistV0MultiplicityMI"));
+  fHistV0MultiplicityMI = dynamic_cast<TH1F*> (cRetrievedList->FindObject("fHistV0MultiplicityMI"));
   if (!fHistV0MultiplicityMI) {
     Printf("ERROR: fHistV0MultiplicityMI not available");
     return;
index ca5f3c67a08fb7afe0362beb2a5e1b4ba1a210df..ff175002dbcc5d54be9c691ab4b06761ddf99815 100644 (file)
@@ -41,8 +41,8 @@ class AliAnalysisTaskPerformanceStrange : public AliAnalysisTaskSE {
   TString      fUsePID;                         //  "withPID" or "noPID"
   TString      fUseCut;                         //  "yes" or "no"
 
+  AliPhysicsSelection *fPhysTrigSel;            //  Selection of events
   TList               *fListHist;              //! Output List
-  AliPhysicsSelection *fPhysTrigSel;            //! Selection of events
 
   // MC histograms
   TH1F        *fHistMCPrimaryVertexX;      //! Histo