]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGCF/EBYE/BalanceFunctions/AliBalanceTriggered.h
Triggered Balance Function analysis (multidimensions)
[u/mrichter/AliRoot.git] / PWGCF / EBYE / BalanceFunctions / AliBalanceTriggered.h
CommitLineData
f8b2d882 1#ifndef ALIBALANCETRIGGERED_H
2#define ALIBALANCETRIGGERED_H
3/* See cxx source for full Copyright notice */
4
5
6//-------------------------------------------------------------------------
7// Class AliBalanceTriggered
8// This is the class for the Balance Function analysis
9//
10// Origin: Panos Christakoglou, UOA-CERN, Panos.Christakoglou@cern.ch
11// Modified: Michael Weber, m.weber@cern.ch
12//-------------------------------------------------------------------------
13
14#include <TObject.h>
15#include "TString.h"
16
17class TGraphErrors;
18class TH1D;
19class AliTHn;
20
21const Int_t nTrackVarsSingle = 4; // track variables in histogram (eta, phi, pTtrig, centrality)
22const Int_t nTrackVarsPair = 5; // track variables in histogram (dEta, dPhi, pT, pTtrig, centrality)
23
24class AliBalanceTriggered : public TObject {
25 public:
26
27 AliBalanceTriggered();
28 AliBalanceTriggered(const AliBalanceTriggered& balance);
29 ~AliBalanceTriggered();
30
31 // analysis setters
32 void SetAnalysisLevel(const char* analysisLevel) {
33 fAnalysisLevel = analysisLevel;}
34 void SetShuffle(Bool_t shuffle) {bShuffle = shuffle;}
35
36 // analysis getters
37 const char* GetAnalysisLevel() {return fAnalysisLevel.Data();}
38 const Bool_t GetShuffle() {return bShuffle;}
39
40 // initialize histograms
41 void InitHistograms(void);
42
43 // histogram setters
44 void SetHistNp(AliTHn *gHist) { fHistP = gHist;}
45 void SetHistNn(AliTHn *gHist) { fHistN = gHist;}
46 void SetHistNpn(AliTHn *gHist) { fHistPN = gHist;}
47 void SetHistNnp(AliTHn *gHist) { fHistNP = gHist;}
48 void SetHistNpp(AliTHn *gHist) { fHistPP = gHist;}
49 void SetHistNnn(AliTHn *gHist) { fHistNN = gHist;}
50
51 // histogram getters
52 AliTHn *GetHistNp() { return fHistP;}
53 AliTHn *GetHistNn() { return fHistN;}
54 AliTHn *GetHistNpn() { return fHistPN;}
55 AliTHn *GetHistNnp() { return fHistNP;}
56 AliTHn *GetHistNpp() { return fHistPP;}
57 AliTHn *GetHistNnn() { return fHistNN;}
58
59 // Fill balance function histograms
60 void FillBalance(Float_t fCentrality,vector<Double_t> **chargeVector);
61
62 // Get the balance function histogram
63 TH1D *GetBalanceFunctionHistogram1D(Int_t var, Double_t pTMin, Double_t pTMax, Double_t centrMin, Double_t centrMax);
64
65 // Get 1D histogram
66 TH1D* GetHistogram1D(Int_t histo, Int_t var, Double_t pTMin, Double_t pTMax, Double_t centrMin, Double_t centrMax);
67
68 private:
69 Bool_t bShuffle; //shuffled balance function object
70 TString fAnalysisLevel; // ESD, AOD or MC
71
72 AliTHn *fHistP; //N+
73 AliTHn *fHistN; //N-
74 AliTHn *fHistPN; //N+-
75 AliTHn *fHistNP; //N-+
76 AliTHn *fHistPP; //N++
77 AliTHn *fHistNN; //N--
78
79 AliBalanceTriggered & operator=(const AliBalanceTriggered & ) {return *this;}
80
81 ClassDef(AliBalanceTriggered, 1)
82};
83
84#endif