3 /* See cxx source for full Copyright notice */
8 //-------------------------------------------------------------------------
10 // This is the class for the Balance Function analysis
12 // Origin: Panos Christakoglou, UOA-CERN, Panos.Christakoglou@cern.ch
13 //-------------------------------------------------------------------------
18 #define MAXIMUM_NUMBER_OF_STEPS 1024
24 class AliBalance : public TObject {
27 AliBalance(Double_t p2Start, Double_t p2Stop, Int_t p2Steps);
28 AliBalance(const AliBalance& balance);
31 void SetNumberOfBins(Int_t ibins);
32 void SetAnalysisLevel(const char* analysisLevel) {fAnalysisLevel = analysisLevel;}
33 void SetAnalysisType(Int_t iType);
34 void SetInterval(Double_t p2Start, Double_t p2Stop);
36 Int_t GetNumberOfBins() {return fNumberOfBins;}
37 const char* GetAnalysisType();
38 const char* GetAnalysisLevel() {return fAnalysisLevel.Data();}
40 void SetNp(Int_t np) {fNp = np;}
41 void SetNn(Int_t nn) {fNn = nn;}
42 void SetNnn(Double_t *nn);
43 void SetNpp(Double_t *pp);
44 void SetNpn(Double_t *pn);
46 Double_t GetNp() const { return 1.0*fNp; }
47 Double_t GetNn() const { return 1.0*fNn; }
48 Double_t GetNnn(Int_t p2) const { return 1.0*fNnn[p2]; }
49 Double_t GetNpp(Int_t p2) const { return 1.0*fNpp[p2]; }
50 Double_t GetNpn(Int_t p2) const { return 1.0*fNpn[p2]; }
52 void CalculateBalance(TObjArray *gTrackArray);
54 Double_t GetBalance(Int_t p2);
55 Double_t GetError(Int_t p2);
57 TGraphErrors *DrawBalance();
60 void Merge(AliBalance *b);
63 TString fAnalysisLevel; //ESD, AOD or MC
64 Int_t fNumberOfBins; //number of bins of the analyzed interval
65 Int_t fAnalysisType; //0:y - 1:eta - 2:Qlong - 3:Qout - 4:Qside - 5:Qinv - 6:phi
66 Int_t fAnalyzedEvents; //number of events that have been analyzed
68 Double_t fP2Start, fP2Stop, fP2Step; //inerval info
70 Double_t fNnn[MAXIMUM_NUMBER_OF_STEPS]; //N(--)
71 Double_t fNpp[MAXIMUM_NUMBER_OF_STEPS]; //N(++)
72 Double_t fNpn[MAXIMUM_NUMBER_OF_STEPS]; //N(+-)
73 Double_t fNn, fNp; //number of pos./neg. inside the analyzed interval
75 Double_t fB[MAXIMUM_NUMBER_OF_STEPS]; //BF matrix
76 Double_t ferror[MAXIMUM_NUMBER_OF_STEPS]; //error of the BF
78 AliBalance & operator=(const AliBalance & ) {return *this;}
80 ClassDef(AliBalance, 1)