]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG/FLOW/Tasks/AliFlowVZEROResults.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWG / FLOW / Tasks / AliFlowVZEROResults.h
CommitLineData
f7054664 1#ifndef ALIFLOWVZERORESULTS_H
2#define ALIFLOWVZERORESULTS_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: AliFlowVZEROResults.h 49869 2011-05-18 04:49:51Z fnoferin $ */
9
10/////////////////////////////////////////////////
11// //
12// output v2-VZERO Class //
13// noferini@bo.infn.it //
14/////////////////////////////////////////////////
15
16#include "TProfile.h"
17#include "TClonesArray.h"
18#include "TArrayI.h"
19#include "TArrayF.h"
20
21class AliFlowVZEROResults : public TNamed
22{
23 public:
24 AliFlowVZEROResults(const char *name,const Int_t nvar,const Int_t* binVar);
25 AliFlowVZEROResults();
26 ~AliFlowVZEROResults();
27 AliFlowVZEROResults(const AliFlowVZEROResults &old);
28 AliFlowVZEROResults& operator=(const AliFlowVZEROResults &source);
29
30 Int_t GetNhistos() const {return fV2->GetEntries();};
31 Int_t GetNspecies() const;
32 TProfile *GetV2(Int_t histo) const {return ((TProfile *) fV2->At(histo));};
33 TProfile *GetV2(Int_t species,Float_t x[]) const;
34 TProfile *GetV2(Int_t species,Float_t xMin[],Float_t xMax[]) const;
0f25ad32 35 TProfile *GetV2reweight(Int_t species,Float_t xMin[],Float_t xMax[],Int_t varRW,Float_t rw[]) const;
f7054664 36 void DirectFill(Int_t histo,Float_t pt,Float_t v2){GetV2(histo)->Fill(pt,v2);};
37 void Fill(Int_t species,Float_t pt,Float_t v2,Float_t x[]);
38
39 void AddSpecies(const char *name,Int_t nXbin,const Double_t *bin);
40
0f25ad32 41 const char *GetSpeciesName(Int_t species){if(species < GetNspecies()) return GetV2(species*GetNhistos()/GetNspecies())->GetName();else return "";};
f7054664 42
43 Int_t Add(const AliFlowVZEROResults *oth);
44
45 Int_t GetNvar() const {return fNbinVar->GetSize();};
46 Int_t GetNbinVar(Int_t ivar) const {return (*fNbinVar)[ivar];};
47
48 void SetVarRange(Int_t ivar,Float_t xMin,Float_t xMax);
49 void SetVarName(Int_t ivar,const char *name){TNamed *atemp = (TNamed *) fNameVar->At(ivar); atemp->SetName(name);};
50
51 Float_t GetXmin(Int_t ivar) const {return (*fXmin)[ivar];};
52 Float_t GetXmax(Int_t ivar) const {return (*fXmax)[ivar];};
53 const char *GetVarName(Int_t ivar) const {TNamed *atemp = (TNamed *) fNameVar->At(ivar); return atemp->GetName();};
54
55 Int_t GetBin(Int_t ivar,Float_t x) const {return Int_t((x-(*fXmin)[ivar])/((*fXmax)[ivar]-(*fXmin)[ivar])*(*fNbinVar)[ivar]);};
56
57 Long64_t Merge(TCollection* list);
58
59 void Reset();
60
61 private:
62 TArrayI *fNbinVar;
63 TArrayF *fXmin,*fXmax;
64 TClonesArray *fNameVar;
65
66 TClonesArray *fV2;
67
68
69 ClassDef(AliFlowVZEROResults,1) // v2 vzero outuput object
70};
71#endif
72
73