]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG/muondep/AliAnalysisMuMuResult.h
AliAnalysisMuMu helper classes update
[u/mrichter/AliRoot.git] / PWG / muondep / AliAnalysisMuMuResult.h
index cba1f27e2f4d7325185f3fd4686b309b169cb44d..30a3f3f381cbc2066b830ccd9befdcf01f12643f 100644 (file)
@@ -24,19 +24,21 @@ class AliAnalysisMuMuResult : public TNamed
   
 public:
   
-  AliAnalysisMuMuResult(const char* name="", const char* title="");
+  enum EResultMergingMethod { kMean, kSum };
+  
+  AliAnalysisMuMuResult(const char* name="", const char* title="", AliAnalysisMuMuResult::EResultMergingMethod mergindMethod=AliAnalysisMuMuResult::kMean);
   AliAnalysisMuMuResult(const AliAnalysisMuMuResult& rhs);
   AliAnalysisMuMuResult& operator=(const AliAnalysisMuMuResult& rhs);
   
   virtual ~AliAnalysisMuMuResult();
 
-  void AdoptSubResult(AliAnalysisMuMuResult* r);
+  Bool_t AdoptSubResult(AliAnalysisMuMuResult* r);
 
   virtual TObject* Clone(const char* newname = "") const;
   
   void Set(const char* name, Double_t value, Double_t errorStat, Double_t rms=0.0);
   
-  Bool_t HasValue(const char* name, const char* subResultName="") const;
+  Int_t HasValue(const char* name, const char* subResultName="") const;
   
   Double_t GetValue(const char* name, const char* subResultName="") const;
   
@@ -70,7 +72,7 @@ public:
   static Double_t ErrorABCDE(Double_t a, Double_t aerr, Double_t b, Double_t berr, Double_t c, Double_t cerror,
                              Double_t d, Double_t derror, Double_t e, Double_t eerror);
 
-  void PrintValue(const char* key, const char* opt, Double_t value, Double_t errorStat, Double_t rms=0.0) const;
+  void PrintValue(const char* key, const char* opt, Double_t value, Double_t errorStat, Double_t rms=0.0) const; 
 
   void SetAlias(const char* alias) { fAlias = alias; }
   
@@ -84,6 +86,18 @@ public:
   
   void Scale(Double_t value);
   
+  void SetMergingMethod(AliAnalysisMuMuResult::EResultMergingMethod mergindMethod) { fResultMergingMethod=mergindMethod; }
+  
+  Bool_t IsValid() const { return fIsValid; }
+  
+  void Invalidate() { fIsValid = kFALSE; }
+  
+  void Show(const char* keyPattern);
+  
+  void Hide(const char* keyPattern);
+
+  Bool_t IsValidValue(Double_t val) const;
+  
 private:
   
   enum EIndex
@@ -109,8 +123,11 @@ private:
   Double_t fWeight; // weight of this result (default 1.0)
   TString fAlias; // alias name
   mutable TList* fSubResultsToBeIncluded; // inclusion list
+  EResultMergingMethod fResultMergingMethod; // how to merge result (e.g. mean or sum)
+  Bool_t fIsValid; // is this result valid ?
+  mutable THashList* fVisibleKeys; // list of keys to show with the Print method
   
-  ClassDef(AliAnalysisMuMuResult,11) // a class to some results (counts, yields, AccxEff, R_AB, etc...)
+  ClassDef(AliAnalysisMuMuResult,14) // a class to some results (counts, yields, AccxEff, R_AB, etc...)
 };
 
 #endif