]>
Commit | Line | Data |
---|---|---|
a8ad4709 | 1 | #ifndef ALIPIDPERFCONTAINER_H |
2 | #define ALIPIDPERFCONTAINER_H | |
3 | ||
4 | ||
5 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
6 | * See cxx source for full Copyright notice */ | |
7 | ||
8 | /* $Id: AliPIDperfContainer.h 49869 2013-07-10 04:49:51Z fnoferin $ */ | |
9 | ||
10 | ///////////////////////////////////////////////// | |
11 | // // | |
12 | // output v2-VZERO Class // | |
13 | // noferini@bo.infn.it // | |
14 | ///////////////////////////////////////////////// | |
15 | ||
16 | #include "TH2F.h" | |
17 | #include "TClonesArray.h" | |
18 | #include "TArrayI.h" | |
19 | #include "TArrayF.h" | |
20 | ||
21 | class AliPIDperfContainer : public TNamed | |
22 | { | |
23 | public: | |
8190aa9f | 24 | AliPIDperfContainer(const char *name, Int_t nvar,const Int_t* binVar); |
a8ad4709 | 25 | AliPIDperfContainer(); |
26 | ~AliPIDperfContainer(); | |
27 | AliPIDperfContainer(const AliPIDperfContainer &old); | |
28 | AliPIDperfContainer& operator=(const AliPIDperfContainer &source); | |
29 | ||
30 | Int_t GetNhistos() const {return fQA->GetEntries();}; | |
31 | Int_t GetNspecies() const; | |
32 | TH2F *GetQA(Int_t histo) const {return ((TH2F *) fQA->At(histo));}; | |
33 | TH2F *GetQA(Int_t species,Float_t x[]) const; | |
34 | TH2F *GetQA(Int_t species,Float_t xMin[],Float_t xMax[]) const; | |
35 | void DirectFill(Int_t histo,Float_t var1,Float_t var2){GetQA(histo)->Fill(var1,var2);}; | |
36 | void Fill(Int_t species,Float_t var1,Float_t var2,Float_t x[]); | |
37 | ||
38 | void AddSpecies(const char *name,Int_t nXbin,const Double_t *xbin,Int_t nYbin,const Double_t *ybin); | |
39 | ||
40 | const char *GetSpeciesName(Int_t species){if(species<GetNspecies()) return GetQA(species*GetNhistos()/GetNspecies())->GetName();else return "";}; | |
41 | ||
42 | Int_t Add(const AliPIDperfContainer *oth); | |
43 | ||
44 | Int_t GetNvar() const {return fNbinVar->GetSize();}; | |
45 | Int_t GetNbinVar(Int_t ivar) const {return (*fNbinVar)[ivar];}; | |
46 | ||
47 | void SetVarRange(Int_t ivar,Float_t xMin,Float_t xMax); | |
48 | void SetVarName(Int_t ivar,const char *name){TNamed *atemp = (TNamed *) fNameVar->At(ivar); atemp->SetName(name);}; | |
49 | ||
50 | Float_t GetXmin(Int_t ivar) const {return (*fXmin)[ivar];}; | |
51 | Float_t GetXmax(Int_t ivar) const {return (*fXmax)[ivar];}; | |
52 | const char *GetVarName(Int_t ivar) const {TNamed *atemp = (TNamed *) fNameVar->At(ivar); return atemp->GetName();}; | |
53 | ||
54 | Int_t GetBin(Int_t ivar,Float_t x) const {return Int_t((x-(*fXmin)[ivar])/((*fXmax)[ivar]-(*fXmin)[ivar])*(*fNbinVar)[ivar]);}; | |
55 | ||
56 | Long64_t Merge(TCollection* list); | |
57 | ||
58 | void Reset(); | |
59 | ||
60 | void SetTitleX(const char *title){snprintf(fTitleX,100,"%s",title);}; | |
61 | void SetTitleY(const char *title){snprintf(fTitleY,100,"%s",title);}; | |
f4c4ac9e | 62 | const char *GetTitleX() const {return fTitleX;}; |
63 | const char *GetTitleY() const {return fTitleY;}; | |
a8ad4709 | 64 | |
65 | private: | |
66 | TArrayI *fNbinVar; | |
67 | TArrayF *fXmin,*fXmax; | |
68 | TClonesArray *fNameVar; | |
69 | ||
70 | TClonesArray *fQA; | |
71 | ||
72 | char fTitleX[100]; // title for X-axis | |
73 | char fTitleY[100]; // title for Y-axis | |
74 | ||
75 | ClassDef(AliPIDperfContainer,1) // qa vzero outuput object | |
76 | }; | |
77 | #endif | |
78 | ||
79 |