#ifndef ALISPECTRAAODHISTOMANAGER_H
#define ALISPECTRAAODHISTOMANAGER_H
class AliAODEvent;
class TH1F;
class TH2F;
class TH1;
class TH2;
#include "TNamed.h"
#include "TList.h"
#include "Histograms.h"
#include "HistogramNames.h"
namespace AliSpectraNameSpace
{
enum AODParticleSpecies_t
{
kSpPion,
kSpKaon,
kSpProton,
kNSpecies,
kSpUndefined,
};
extern const char * kParticleSpecies[];
enum AODHistoType_t
{
kHistPtGenTruePrimary,
kHistPtRecSigma,
kHistPtRecTrue,
kHistPtRecTruePrimary,
kHistPtRecSigmaPrimary,
kHistPtRecSigmaSecondaryMaterial,
kHistPtRecSigmaSecondaryWeakDecay,
kHistNSigTPC,
kHistNSigTOF,
kHistNSigTPCTOF,
kNHistoTypes
};
enum AODCharge_t
{
kChPos = 0,
kChNeg,
kNCharge
};
}
using namespace AliSpectraNameSpace;
class AliSpectraAODHistoManager : public TNamed
{
public:
AliSpectraAODHistoManager() : TNamed(), fOutputList(0), fNRebin(0) {}
AliSpectraAODHistoManager(const char *name,Int_t nrebin);
virtual ~AliSpectraAODHistoManager() {}
TH2F* BookPtGenHistogram(const char * name);
TH2F* BookPtGenAllChHistogram(const char * name);
TH2F* BookPtRecHistogram(const char * name);
TH2F* BookPtRecAllChHistogram(const char * name);
TH2F* BookPIDHistogram(const char * name);
TH2F* BookNSigHistogram(const char * name);
TH1F* GetPtHistogram1D(const char * name,Double_t minDCA,Double_t maxDCA);
TH1F* GetDCAHistogram1D(const char * name,Double_t minPt,Double_t maxPt);
TH2* GetHistogram(UInt_t id) { return (TH2*) fOutputList->At(id); }
TH1* GetHistogram1D(UInt_t histoType, UInt_t particleType, UInt_t charge);
TH2* GetHistogram2D(UInt_t histoType, UInt_t particleType, UInt_t charge);
TH2* GetPtHistogram(UInt_t id) { return (TH2*) fOutputList->At(id); }
TH2* GetPtHistogram(const char * name) { return (TH2*) fOutputList->FindObject(name); }
TH2* GetPtHistogramByName(UInt_t id) { return (TH2*) fOutputList->FindObject(kHistName[id]); }
TH2* GetPIDHistogram(UInt_t id) { return (TH2*) fOutputList->At(id); }
TH2* GetPIDHistogram(const char * name) { return (TH2*) fOutputList->FindObject(name); }
TH2* GetPIDHistogramByName(UInt_t id) { return (TH2*) fOutputList->FindObject(kHistName[id]); }
TH2* GetNSigHistogram(UInt_t id) { return (TH2*) fOutputList->At(id); }
TH2* GetNSigHistogram(const char * name) { return (TH2*) fOutputList->FindObject(name); }
TH2* GetNSigHistogramByName(UInt_t id) { return (TH2*) fOutputList->FindObject(kHistName[id]); }
TList * GetOutputList() {return fOutputList;}
void SetNRebin(Int_t nreb){fNRebin=nreb;}
Int_t GetNRebin() {return fNRebin;}
Long64_t Merge(TCollection* list);
private:
TList *fOutputList;
Int_t fNRebin;
AliSpectraAODHistoManager(const AliSpectraAODHistoManager&);
AliSpectraAODHistoManager& operator=(const AliSpectraAODHistoManager&);
ClassDef(AliSpectraAODHistoManager, 1);
};
#endif
AliSpectraAODHistoManager.h:1 AliSpectraAODHistoManager.h:2 AliSpectraAODHistoManager.h:3 AliSpectraAODHistoManager.h:4 AliSpectraAODHistoManager.h:5 AliSpectraAODHistoManager.h:6 AliSpectraAODHistoManager.h:7 AliSpectraAODHistoManager.h:8 AliSpectraAODHistoManager.h:9 AliSpectraAODHistoManager.h:10 AliSpectraAODHistoManager.h:11 AliSpectraAODHistoManager.h:12 AliSpectraAODHistoManager.h:13 AliSpectraAODHistoManager.h:14 AliSpectraAODHistoManager.h:15 AliSpectraAODHistoManager.h:16 AliSpectraAODHistoManager.h:17 AliSpectraAODHistoManager.h:18 AliSpectraAODHistoManager.h:19 AliSpectraAODHistoManager.h:20 AliSpectraAODHistoManager.h:21 AliSpectraAODHistoManager.h:22 AliSpectraAODHistoManager.h:23 AliSpectraAODHistoManager.h:24 AliSpectraAODHistoManager.h:25 AliSpectraAODHistoManager.h:26 AliSpectraAODHistoManager.h:27 AliSpectraAODHistoManager.h:28 AliSpectraAODHistoManager.h:29 AliSpectraAODHistoManager.h:30 AliSpectraAODHistoManager.h:31 AliSpectraAODHistoManager.h:32 AliSpectraAODHistoManager.h:33 AliSpectraAODHistoManager.h:34 AliSpectraAODHistoManager.h:35 AliSpectraAODHistoManager.h:36 AliSpectraAODHistoManager.h:37 AliSpectraAODHistoManager.h:38 AliSpectraAODHistoManager.h:39 AliSpectraAODHistoManager.h:40 AliSpectraAODHistoManager.h:41 AliSpectraAODHistoManager.h:42 AliSpectraAODHistoManager.h:43 AliSpectraAODHistoManager.h:44 AliSpectraAODHistoManager.h:45 AliSpectraAODHistoManager.h:46 AliSpectraAODHistoManager.h:47 AliSpectraAODHistoManager.h:48 AliSpectraAODHistoManager.h:49 AliSpectraAODHistoManager.h:50 AliSpectraAODHistoManager.h:51 AliSpectraAODHistoManager.h:52 AliSpectraAODHistoManager.h:53 AliSpectraAODHistoManager.h:54 AliSpectraAODHistoManager.h:55 AliSpectraAODHistoManager.h:56 AliSpectraAODHistoManager.h:57 AliSpectraAODHistoManager.h:58 AliSpectraAODHistoManager.h:59 AliSpectraAODHistoManager.h:60 AliSpectraAODHistoManager.h:61 AliSpectraAODHistoManager.h:62 AliSpectraAODHistoManager.h:63 AliSpectraAODHistoManager.h:64 AliSpectraAODHistoManager.h:65 AliSpectraAODHistoManager.h:66 AliSpectraAODHistoManager.h:67 AliSpectraAODHistoManager.h:68 AliSpectraAODHistoManager.h:69 AliSpectraAODHistoManager.h:70 AliSpectraAODHistoManager.h:71 AliSpectraAODHistoManager.h:72 AliSpectraAODHistoManager.h:73 AliSpectraAODHistoManager.h:74 AliSpectraAODHistoManager.h:75 AliSpectraAODHistoManager.h:76 AliSpectraAODHistoManager.h:77 AliSpectraAODHistoManager.h:78 AliSpectraAODHistoManager.h:79 AliSpectraAODHistoManager.h:80 AliSpectraAODHistoManager.h:81 AliSpectraAODHistoManager.h:82 AliSpectraAODHistoManager.h:83 AliSpectraAODHistoManager.h:84 AliSpectraAODHistoManager.h:85 AliSpectraAODHistoManager.h:86 AliSpectraAODHistoManager.h:87 AliSpectraAODHistoManager.h:88 AliSpectraAODHistoManager.h:89 AliSpectraAODHistoManager.h:90 AliSpectraAODHistoManager.h:91 AliSpectraAODHistoManager.h:92 AliSpectraAODHistoManager.h:93 AliSpectraAODHistoManager.h:94 AliSpectraAODHistoManager.h:95 AliSpectraAODHistoManager.h:96 AliSpectraAODHistoManager.h:97 AliSpectraAODHistoManager.h:98 AliSpectraAODHistoManager.h:99 AliSpectraAODHistoManager.h:100 AliSpectraAODHistoManager.h:101 AliSpectraAODHistoManager.h:102 AliSpectraAODHistoManager.h:103 AliSpectraAODHistoManager.h:104 AliSpectraAODHistoManager.h:105 AliSpectraAODHistoManager.h:106 AliSpectraAODHistoManager.h:107 AliSpectraAODHistoManager.h:108 AliSpectraAODHistoManager.h:109 AliSpectraAODHistoManager.h:110 AliSpectraAODHistoManager.h:111 AliSpectraAODHistoManager.h:112 AliSpectraAODHistoManager.h:113 AliSpectraAODHistoManager.h:114 AliSpectraAODHistoManager.h:115 AliSpectraAODHistoManager.h:116 AliSpectraAODHistoManager.h:117