]>
Commit | Line | Data |
---|---|---|
5e2cf960 | 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 */ | |
5 | ||
6 | //############################################################# | |
7 | //# # | |
c081415a | 8 | //# Class AliDielectronHFhelper # |
9 | //# Dielectron Histogram Framework helper # | |
5e2cf960 | 10 | //# # |
11 | //# Authors: # | |
12 | //# Julian Book, Uni Ffm / Julian.Book@cern.ch # | |
13 | //# # | |
14 | //############################################################# | |
15 | ||
16 | ||
17 | ||
18 | #include <TNamed.h> | |
19 | #include <TVectorD.h> | |
20 | ||
21 | #include "AliDielectronVarManager.h" | |
22 | ||
23 | class AliDielectronHFhelper : public TNamed { | |
24 | public: | |
187de573 | 25 | enum { kMaxCuts=20 }; |
26 | ||
5e2cf960 | 27 | //AliDielectronHFhelper(); |
e0f6eeb2 | 28 | AliDielectronHFhelper(const char* filename, const char* container); |
187de573 | 29 | |
5e2cf960 | 30 | virtual ~AliDielectronHFhelper(); |
e0f6eeb2 | 31 | void SetHFArray(const char* filename, const char* container); |
5e2cf960 | 32 | |
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); | |
4d7704c5 | 35 | void UnsetRangeUser(const char* varname, Bool_t leg=kFALSE); |
36 | void UnsetRangeUser(AliDielectronVarManager::ValueTypes type, Bool_t leg=kFALSE); | |
443a091c | 37 | |
2d00c7d3 | 38 | // getter functions |
39 | Int_t GetNSteps() const {return fMainArr->GetEntries(); } | |
40 | ||
c081415a | 41 | TObjArray* CollectHistos(AliDielectronVarManager::ValueTypes varx, |
42 | AliDielectronVarManager::ValueTypes vary=AliDielectronVarManager::kNMaxValues, | |
d4619886 | 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); } | |
c081415a | 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); | |
187de573 | 57 | |
6ed39778 | 58 | TObjArray* FindObjects(TObjArray *histos); |
59 | TObjArray* Merge(TObjArray *arr); | |
5e2cf960 | 60 | |
61 | void CheckCuts(TObjArray *arr); | |
443a091c | 62 | virtual void Print(const Option_t* option ="") const ; |
5e2cf960 | 63 | void PrintCuts(); |
64 | ||
65 | private: | |
c081415a | 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 | |
187de573 | 70 | |
5e2cf960 | 71 | AliDielectronHFhelper(const AliDielectronHFhelper &c); |
72 | AliDielectronHFhelper &operator=(const AliDielectronHFhelper &c); | |
187de573 | 73 | |
c081415a | 74 | ClassDef(AliDielectronHFhelper,1) // HF helper class |
5e2cf960 | 75 | }; |
76 | ||
77 | // | |
78 | // Inline functions | |
79 | // | |
80 | #endif | |
81 |