]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGPP/pid/AliPIDperfContainer.h
better log validation
[u/mrichter/AliRoot.git] / PWGPP / pid / AliPIDperfContainer.h
CommitLineData
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
21class 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