]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
add general getarray function
authorloizides <loizides@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 14 Jun 2012 19:13:29 +0000 (19:13 +0000)
committerloizides <loizides@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 14 Jun 2012 19:13:29 +0000 (19:13 +0000)
PWGGA/EMCALTasks/AliAnalysisTaskEmcal.cxx
PWGGA/EMCALTasks/AliAnalysisTaskEmcal.h

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()
 {
index cf3bb112ceca00a32530df9ce3c5aa43d1eb09ab..6eb18a311ad9cbbde86ef0e10ebf980581b1cd6a 100644 (file)
@@ -49,6 +49,7 @@ class AliAnalysisTaskEmcal : public AliAnalysisTaskSE {
   BeamType                    GetBeamType()                                                                 ;
   void                        Init();
   virtual Bool_t              FillHistograms()                                     { return fCreateHisto; }
+  TClonesArray               *GetArrayFromEvent(const char *name, const char *clname=0);
   virtual Bool_t              RetrieveEventObjects();
   virtual Bool_t              Run()                                                { return kTRUE                 ; }
   void                        SetInitialized(Bool_t ini = kTRUE)                   { fInitialized    = ini        ; }