]>
Commit | Line | Data |
---|---|---|
6551594b | 1 | #ifndef ALIDIELECTRONCFDRAW_H |
2 | #define ALIDIELECTRONCFDRAW_H | |
3 | /* Copyright(c) 1998-2009, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | //############################################################# | |
7 | //# # | |
8 | //# Class AliDielectronCF # | |
9 | //# Dielectron Correction Framework Draw helper # | |
10 | //# # | |
11 | //# Authors: # | |
12 | //# Anton Andronic, GSI / A.Andronic@gsi.de # | |
13 | //# Ionut C. Arsene, GSI / I.C.Arsene@gsi.de # | |
14 | //# Julian Book, Uni Ffm / Julian.Book@cern.ch # | |
15 | //# Frederick Kramer, Uni Ffm, / Frederick.Kramer@cern.ch # | |
16 | //# Magnus Mager, CERN / Magnus.Mager@cern.ch # | |
17 | //# WooJin J. Park, GSI / W.J.Park@gsi.de # | |
18 | //# Jens Wiechula, Uni HD / Jens.Wiechula@cern.ch # | |
19 | //# # | |
20 | //############################################################# | |
21 | ||
22 | ||
23 | ||
24 | #include <TNamed.h> | |
25 | #include <AliCFContainer.h> | |
26 | ||
27 | class TObjArray; | |
28 | class TSeqCollection; | |
29 | class TH1; | |
30 | ||
31 | class AliCFContainer; | |
32 | ||
33 | class AliDielectronCFdraw : public TNamed { | |
34 | public: | |
35 | AliDielectronCFdraw(); | |
36 | AliDielectronCFdraw(const char* name, const char* title); | |
37 | ||
38 | void SetCFContainer(AliCFContainer * const container) {fCfContainer=container;} | |
39 | void SetCFContainers(const TSeqCollection *arr); | |
40 | ||
41 | void SetCFContainers(const char* filename); | |
42 | ||
43 | AliCFContainer* GetCFContainer() const {return fCfContainer;} | |
44 | ||
45 | void SetRangeUser(Int_t ivar, Double_t min, Double_t max, const char* slices=""); | |
46 | void SetRangeUser(const char* varname, Double_t min, Double_t max, const char* slices=""); | |
47 | ||
48 | void UnsetRangeUser(Int_t ivar, const char* slices=""); | |
49 | void UnsetRangeUser(const char* varname, const char* slices=""); | |
50 | ||
51 | // virtual void Draw(const Option_t* /*option*/ = "") {;} | |
52 | void Draw(const Option_t* varnames, const char* opt="", const char* slices=""); | |
53 | void Draw(Int_t var, const char* opt="", const char* slices=""); | |
54 | void Draw(Int_t var0, Int_t var1, const char* opt="", const char* slices=""); | |
55 | void Draw(Int_t var0, Int_t var1, Int_t var2, const char* opt="", const char* slices=""); | |
56 | void Draw(const TObjArray *arr, const char* opt=""); | |
57 | ||
58 | TObjArray* CollectHistos(Int_t dim, Int_t *vars, const char* slices); | |
59 | TH1* Project(Int_t ndim, Int_t *vars, Int_t slice); | |
60 | ||
61 | private: | |
62 | AliCFContainer *fCfContainer; // CF container | |
63 | ||
64 | AliDielectronCFdraw(const AliDielectronCFdraw &c); | |
65 | AliDielectronCFdraw &operator=(const AliDielectronCFdraw &c); | |
66 | ||
67 | ClassDef(AliDielectronCFdraw,0) // CF draw helper class | |
68 | }; | |
69 | ||
70 | // | |
71 | // Inline functions | |
72 | // | |
73 | inline void AliDielectronCFdraw::SetRangeUser(const char* varname, Double_t min, Double_t max, const char* slices) | |
74 | { | |
75 | SetRangeUser(fCfContainer->GetVar(varname),min,max,slices); | |
76 | } | |
77 | ||
78 | //________________________________________________________________ | |
79 | inline void AliDielectronCFdraw::UnsetRangeUser(const char* varname, const char* slices) | |
80 | { | |
81 | UnsetRangeUser(fCfContainer->GetVar(varname),slices); | |
82 | } | |
83 | #endif | |
84 |