New function to get the list of keyWords of a given rubric (Philippe P.)
authormartinez <martinez@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 13 Aug 2010 20:12:16 +0000 (20:12 +0000)
committermartinez <martinez@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 13 Aug 2010 20:12:16 +0000 (20:12 +0000)
PWG3/muon/AliCounterCollection.cxx
PWG3/muon/AliCounterCollection.h

index d0f7445..5bf6c4f 100644 (file)
@@ -542,6 +542,33 @@ void AliCounterCollection::Print(const Option_t* opt) const
 }
 
 //-----------------------------------------------------------------------
+TString AliCounterCollection::GetKeyWords(TString rubric) const
+{
+  /// return the list of key words for the given rubric.
+  
+  TString keyWords = "";
+  
+  if (!fCounters) {
+    AliError("counters are not initialized");
+    return keyWords;
+  }
+  
+  rubric.ToUpper();
+  
+  // get the dimension corresponding to that rubric
+  Int_t dim = FindDim(rubric);
+  if (dim < 0) return keyWords;
+  
+  // build list of key words
+  TObjString* label = 0x0;
+  TIter nextLabel(fCounters->GetAxis(dim)->GetLabels());
+  while ((label = static_cast<TObjString*>(nextLabel()))) keyWords += Form("%s,",label->String().Data());
+  keyWords.Remove(TString::kTrailing, ',');
+  
+  return keyWords;
+}
+
+//-----------------------------------------------------------------------
 void AliCounterCollection::PrintKeyWords() const
 {
   /// Print the full list of key words.
index 13a8f50..fae9cde 100644 (file)
@@ -34,6 +34,9 @@ public:
   // Initialize the internal counters from the added rubrics
   void Init();
   
+  // return the list of key words for the given rubric
+  TString GetKeyWords(TString rubric) const;
+  
   // Add "value" to the counter referenced by "externalKey"
   void Count(TString externalKey, Int_t value = 1);