Handle missing rec-point tree in a uniform way: return null pointer to TEvePointSet.
[u/mrichter/AliRoot.git] / EVE / alice-macros / trd_clusters.C
index 902c46a..b5e0b03 100644 (file)
@@ -23,18 +23,23 @@ class TEveElement;
 TEvePointSet* trd_clusters(TEveElement *cont = 0)
 {
   const Int_t kMaxClusters = 18 * 6 * 24 *10;
-  AliEveEventManager::AssertGeometry();
 
-  TEvePointSet *clusters = new TEvePointSet(kMaxClusters);
-  clusters->SetOwnIds(kTRUE);
+  AliEveEventManager::AssertGeometry();
 
   AliRunLoader *rl = AliEveEventManager::AssertRunLoader();
   rl->LoadRecPoints("TRD");
 
-  TObjArray *TRDcluster = 0x0;
   TTree *recPoints = rl->GetTreeR("TRD", kFALSE);
+  if (recPoints == 0)
+    return 0;
+
+  TObjArray *TRDcluster = 0x0;
   recPoints->SetBranchAddress("TRDcluster", &TRDcluster);
 
+  TEvePointSet *clusters = new TEvePointSet(kMaxClusters);
+  clusters->SetOwnIds(kTRUE);
+
+
   Int_t nentr=(Int_t)recPoints->GetEntries();
   for (Int_t i=0; i<nentr; i++) {
     if (!recPoints->GetEvent(i)) continue;
@@ -53,7 +58,7 @@ TEvePointSet* trd_clusters(TEveElement *cont = 0)
   }
 
   if(clusters->Size() == 0 && gEve->GetKeepEmptyCont() == kFALSE) {
-    Warning("trd_clusters", "No TRD clusters");
+    Warning("trd_clusters.C", "No TRD clusters");
     delete clusters;
     return 0;
   }