]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGDQ/dielectron/AliDielectronHFhelper.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGDQ / dielectron / AliDielectronHFhelper.h
index 5f30f070da9b5f2f19a5977c82851e667689a685..d875699e738048949349328a0a0aa6f54b1843c3 100644 (file)
@@ -5,8 +5,8 @@
 
 //#############################################################
 //#                                                           #
-//#             Class AliDielectronHF                         #
-//#       Dielectron Histogram Framework helper         #
+//#             Class AliDielectronHFhelper                   #
+//#       Dielectron Histogram Framework helper               #
 //#                                                           #
 //#  Authors:                                                 #
 //#   Julian    Book,     Uni Ffm / Julian.Book@cern.ch       #
 
 class AliDielectronHFhelper : public TNamed {
 public:
-  enum ECollectType { kSE=0, kME, kMEOS, kROT, kAll };
-    enum { kMaxCuts=10 };
-  
+  enum { kMaxCuts=20 };
+
   //AliDielectronHFhelper();
-  AliDielectronHFhelper(const char* filename);
-  
+  AliDielectronHFhelper(const char* filename, const char* container);
+
   virtual ~AliDielectronHFhelper();
-  void SetHFArray(const char* filename);
+  void SetHFArray(const char* filename, const char* container);
 
   void SetRangeUser(const char *varname, Double_t min, Double_t max, Bool_t leg=kFALSE);
   void SetRangeUser(AliDielectronVarManager::ValueTypes type, Double_t min, Double_t max, Bool_t leg=kFALSE);
+  void UnsetRangeUser(const char* varname, Bool_t leg=kFALSE);
+  void UnsetRangeUser(AliDielectronVarManager::ValueTypes type, Bool_t leg=kFALSE);
+
+  // getter functions
+  Int_t GetNSteps() const {return fMainArr->GetEntries(); }
 
-  TObjArray* CollectHistos();
-  
-  TH1F* GetHistogram(const char *step);
-  TH1F* FindHistograms(TObjArray *histos);
-  TH1F* MergeHistos(TObjArray *arr);
+  TObjArray* CollectHistos(AliDielectronVarManager::ValueTypes varx,
+                          AliDielectronVarManager::ValueTypes vary=AliDielectronVarManager::kNMaxValues,
+                          AliDielectronVarManager::ValueTypes varz=AliDielectronVarManager::kNMaxValues,
+                          AliDielectronVarManager::ValueTypes varw=AliDielectronVarManager::kNMaxValues)
+  { return CollectProfiles("hist",varx,vary,varz,varw); }
+  TObjArray* CollectHistos(TString option,
+                          AliDielectronVarManager::ValueTypes varx,
+                          AliDielectronVarManager::ValueTypes vary=AliDielectronVarManager::kNMaxValues,
+                          AliDielectronVarManager::ValueTypes varz=AliDielectronVarManager::kNMaxValues,
+                          AliDielectronVarManager::ValueTypes varw=AliDielectronVarManager::kNMaxValues)
+  { return CollectProfiles(Form("%s:hist",option.Data()),varx,vary,varz,varw); }
+  TObjArray* CollectProfiles(TString option,
+                            AliDielectronVarManager::ValueTypes varx,
+                            AliDielectronVarManager::ValueTypes vary=AliDielectronVarManager::kNMaxValues,
+                            AliDielectronVarManager::ValueTypes varz=AliDielectronVarManager::kNMaxValues,
+                            AliDielectronVarManager::ValueTypes vart=AliDielectronVarManager::kNMaxValues);
+
+  TObjArray* FindObjects(TObjArray *histos);
+  TObjArray* Merge(TObjArray *arr);
 
   void CheckCuts(TObjArray *arr);
   virtual void Print(const Option_t* option ="") const ;
   void PrintCuts();
 
 private:
-  TObjArray *fArrPairType;         // array of pair types, sources or steps
-  TObjArray *fCutVars;             // array for cut variables
-  TVectorD fCutLowLimits;
-  TVectorD fCutUpLimits;
-  
+  TObjArray *fMainArr;         // main array of pair types or sources
+  TObjArray *fCutVars;         // array for cut variables
+  TVectorD fCutLowLimits;      // vector to store the lower cut limits
+  TVectorD fCutUpLimits;       // vector to store the upper cut limits
+
   AliDielectronHFhelper(const AliDielectronHFhelper &c);
   AliDielectronHFhelper &operator=(const AliDielectronHFhelper &c);
-  
-  ClassDef(AliDielectronHFhelper,0)                   // HF  helper class
+
+  ClassDef(AliDielectronHFhelper,1)                   // HF  helper class
 };
 
 //