]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGGA/EMCALTasks/AliAnalysisTaskEmcal.cxx
add general getarray function
[u/mrichter/AliRoot.git] / PWGGA / EMCALTasks / AliAnalysisTaskEmcal.cxx
index 0561a727b47a68c4df26c0ff5b97ab68efe9359d..2b85d7b4423bbc5045d32cfb9569ff0d06cd71d8 100644 (file)
@@ -213,6 +213,33 @@ void AliAnalysisTaskEmcal::Init()
   SetInitialized();
 }
 
+//________________________________________________________________________
+TClonesArray *AliAnalysisTaskEmcal::GetArrayFromEvent(const char *name, const char *clname)
+{
+  // Get array from event.
+
+  TClonesArray *arr = 0;
+  TString sname(name);
+  if (!sname.IsNull()) {
+    arr = dynamic_cast<TClonesArray*>(InputEvent()->FindListObject(sname));
+    if (!arr) {
+      AliWarning(Form("%s: Could not retrieve array with name %s!", GetName(), name)); 
+      return 0;
+    }
+  }
+  if (!clname)
+    return arr;
+
+  TString objname(arr->GetClass()->GetName());
+  TClass cls(objname);
+  if (!cls.InheritsFrom(clname)) {
+    AliWarning(Form("%s: Objects of type %s in %s are not inherited from %s!", 
+                    GetName(), cls.GetName(), name, clname)); 
+    return 0;
+  }
+  return arr;
+}
+
 //________________________________________________________________________
 Bool_t AliAnalysisTaskEmcal::RetrieveEventObjects()
 {