1 #ifndef ALIDIELECTRONHFHELPER_H
2 #define ALIDIELECTRONHFHELPER_H
3 /* Copyright(c) 1998-2009, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
6 //#############################################################
8 //# Class AliDielectronHFhelper #
9 //# Dielectron Histogram Framework helper #
12 //# Julian Book, Uni Ffm / Julian.Book@cern.ch #
14 //#############################################################
21 #include "AliDielectronVarManager.h"
23 class AliDielectronHFhelper : public TNamed {
27 //AliDielectronHFhelper();
28 AliDielectronHFhelper(const char* filename, const char* container);
30 virtual ~AliDielectronHFhelper();
31 void SetHFArray(const char* filename, const char* container);
33 void SetRangeUser(const char *varname, Double_t min, Double_t max, Bool_t leg=kFALSE);
34 void SetRangeUser(AliDielectronVarManager::ValueTypes type, Double_t min, Double_t max, Bool_t leg=kFALSE);
35 void UnsetRangeUser(const char* varname, Bool_t leg=kFALSE);
36 void UnsetRangeUser(AliDielectronVarManager::ValueTypes type, Bool_t leg=kFALSE);
39 Int_t GetNSteps() const {return fMainArr->GetEntries(); }
41 TObjArray* CollectHistos(AliDielectronVarManager::ValueTypes varx,
42 AliDielectronVarManager::ValueTypes vary=AliDielectronVarManager::kNMaxValues,
43 AliDielectronVarManager::ValueTypes varz=AliDielectronVarManager::kNMaxValues,
44 AliDielectronVarManager::ValueTypes varw=AliDielectronVarManager::kNMaxValues)
45 { return CollectProfiles("hist",varx,vary,varz,varw); }
46 TObjArray* CollectHistos(TString option,
47 AliDielectronVarManager::ValueTypes varx,
48 AliDielectronVarManager::ValueTypes vary=AliDielectronVarManager::kNMaxValues,
49 AliDielectronVarManager::ValueTypes varz=AliDielectronVarManager::kNMaxValues,
50 AliDielectronVarManager::ValueTypes varw=AliDielectronVarManager::kNMaxValues)
51 { return CollectProfiles(Form("%s:hist",option.Data()),varx,vary,varz,varw); }
52 TObjArray* CollectProfiles(TString option,
53 AliDielectronVarManager::ValueTypes varx,
54 AliDielectronVarManager::ValueTypes vary=AliDielectronVarManager::kNMaxValues,
55 AliDielectronVarManager::ValueTypes varz=AliDielectronVarManager::kNMaxValues,
56 AliDielectronVarManager::ValueTypes vart=AliDielectronVarManager::kNMaxValues);
58 TObjArray* FindObjects(TObjArray *histos);
59 TObjArray* Merge(TObjArray *arr);
61 void CheckCuts(TObjArray *arr);
62 virtual void Print(const Option_t* option ="") const ;
66 TObjArray *fMainArr; // main array of pair types or sources
67 TObjArray *fCutVars; // array for cut variables
68 TVectorD fCutLowLimits; // vector to store the lower cut limits
69 TVectorD fCutUpLimits; // vector to store the upper cut limits
71 AliDielectronHFhelper(const AliDielectronHFhelper &c);
72 AliDielectronHFhelper &operator=(const AliDielectronHFhelper &c);
74 ClassDef(AliDielectronHFhelper,1) // HF helper class