]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG0/multPbPb/AliAnalysisMultPbTrackHistoManager.h
Changes to improve performance while running over MC
[u/mrichter/AliRoot.git] / PWG0 / multPbPb / AliAnalysisMultPbTrackHistoManager.h
CommitLineData
a23f7c97 1#ifndef ALIANALYSISMULTPBTRACKHISTOMANAGER_H
2#define ALIANALYSISMULTPBTRACKHISTOMANAGER_H
3
4#include "AliHistoListWrapper.h"
5#include "TH3D.h"
6
7class TH3D;
8class TH1D;
9class TH1I;
10
11//-------------------------------------------------------------------------
12// AliAnalysisMultPbTrackHistoManager
13//
14//
15//
16//
17// Author: Michele Floris, CERN
18//-------------------------------------------------------------------------
19
20
21
22class AliAnalysisMultPbTrackHistoManager : public AliHistoListWrapper {
23
24public:
25
26 typedef enum {kHistoGen, kHistoRec, kHistoRecPrim, kHistoRecSecWeak, kHistoRecSecMat, kHistoRecFake, kNHistos} Histo_t;
27 typedef enum {kStatAll, kStatCentr, kStatVtx, kNStatBins} Stat_t;
28
29 AliAnalysisMultPbTrackHistoManager();
30 AliAnalysisMultPbTrackHistoManager(const char * name,const char * title);
31 AliAnalysisMultPbTrackHistoManager(const AliAnalysisMultPbTrackHistoManager& obj) ;
32 ~AliAnalysisMultPbTrackHistoManager();
33
34 // Setters
35 void SetSuffix(const char * suffix) { fHNameSuffix = suffix;}
36
37 // Histo getters
38 TH3D * GetHistoPtEtaVz(Histo_t id);
39 TH1D * GetHistoPt (Histo_t id, Float_t minEta = -22222, Float_t maxEta = -22222, Float_t minVz = -22222, Float_t maxVz = -22222, Bool_t scaleWidth = kTRUE);
40 TH1D * GetHistoEta(Histo_t id, Float_t minPt = -22222, Float_t maxPt = -22222, Float_t minVz = -22222, Float_t maxVz = -22222, Bool_t scaleWidth = kTRUE);
41 TH1D * GetHistoVz (Histo_t id, Float_t minPt = -22222, Float_t maxPt = -22222, Float_t minEta = -22222, Float_t maxEta = -22222, Bool_t scaleWidth = kTRUE);
42
43 TH1I * GetHistoStats();
44 TH1D * GetHistoDCA(Histo_t id);
45
46 // Misch utils
47 void ScaleHistos (Double_t nev, Option_t * option="");
48
49
50
51 // Histo bookers
52 TH3D * BookHistoPtEtaVz(const char * name, const char * title);
53 TH1D * BookHistoDCA(const char * name, const char * title);
54 TH1I * BookHistoStats();
55
56 //
57 TH1 * GetHisto(const char * name);
58
59private:
60
61 static const char * kStatStepNames[]; // names of the step hist
62 static const char * kHistoPtEtaVzNames[]; // names of the 3D histograms pt/eta/vz
63 static const char * kHistoDCANames[]; // names of the DCA histograms
64 TString fHNameSuffix; // Suffix added to all histo names. Useful if you have in the same session e.g. MC and data.
65
66 AliAnalysisMultPbTrackHistoManager& operator=(const AliAnalysisMultPbTrackHistoManager& task);
67
68 ClassDef(AliAnalysisMultPbTrackHistoManager, 2)
69
70
71};
72
73#endif