#ifndef ALISPECTRABOTHHISTOMANAGER_H
#define ALISPECTRABOTHHISTOMANAGER_H
class AliAODEvent;
class TH1F;
class TH2F;
class TH1;
class TH2;
#include "TNamed.h"
#include "TList.h"
#include "HistogramsBoth.h"
#include "HistogramNamesBoth.h"
namespace AliSpectraNameSpaceBoth
{
enum BothParticleSpecies_t
{
kSpPion,
kSpKaon,
kSpProton,
kNSpecies,
kSpUndefined,
};
enum BothHistoType_t
{
kHistPtGenTruePrimary,
kHistPtRecSigma,
kHistPtRecTrue,
kHistPtRecTruePrimary,
kHistPtRecPrimary,
kHistPtRecSigmaPrimary,
kHistPtRecSigmaSecondaryMaterial,
kHistPtRecSigmaSecondaryWeakDecay,
kHistNSigTPC,
kHistNSigTOF,
kHistNSigTPCTOF,
kNHistoTypes
};
enum BothCharge_t
{
kChPos = 0,
kChNeg,
kNCharge
};
}
using namespace AliSpectraNameSpaceBoth;
class AliSpectraBothHistoManager : public TNamed
{
public:
AliSpectraBothHistoManager() : TNamed(), fOutputList(0), fNRebin(0) {}
AliSpectraBothHistoManager(const char *name,Int_t nrebin,Bool_t pidqa=kTRUE);
virtual ~AliSpectraBothHistoManager() ;
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);
TH2F* BookGenMulvsRawMulHistogram(const char * name);
TH2F* BookDoubleCountsHistogram(const char * name);
TH1F* BookEventStatHist();
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(kHistNameBoth[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(kHistNameBoth[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(kHistNameBoth[id]); }
TH2* GetqVecHistogram(UInt_t id) { return (TH2*) fOutputList->At(id); }
TH2* GetqVecHistogram(const char * name) { return (TH2*) fOutputList->FindObject(name); }
TH2* GetqVecHistogramByName(UInt_t id) { return (TH2*) fOutputList->FindObject(kHistNameBoth[id]); }
TH2* GetGenMulvsRawMulHistogram(const char * name) { return (TH2*) fOutputList->FindObject(name); }
TH2* GetGenMulvsRawMulHistogramByName(UInt_t id) { return (TH2*) fOutputList->FindObject(kHistNameBoth[id]); }
TH1F* GetEventStatHist() { return (TH1F*) fOutputList->FindObject("EventStatHisto"); }
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;
AliSpectraBothHistoManager(const AliSpectraBothHistoManager&);
AliSpectraBothHistoManager& operator=(const AliSpectraBothHistoManager&);
ClassDef(AliSpectraBothHistoManager, 2);
};
#endif
AliSpectraBothHistoManager.h:1 AliSpectraBothHistoManager.h:2 AliSpectraBothHistoManager.h:3 AliSpectraBothHistoManager.h:4 AliSpectraBothHistoManager.h:5 AliSpectraBothHistoManager.h:6 AliSpectraBothHistoManager.h:7 AliSpectraBothHistoManager.h:8 AliSpectraBothHistoManager.h:9 AliSpectraBothHistoManager.h:10 AliSpectraBothHistoManager.h:11 AliSpectraBothHistoManager.h:12 AliSpectraBothHistoManager.h:13 AliSpectraBothHistoManager.h:14 AliSpectraBothHistoManager.h:15 AliSpectraBothHistoManager.h:16 AliSpectraBothHistoManager.h:17 AliSpectraBothHistoManager.h:18 AliSpectraBothHistoManager.h:19 AliSpectraBothHistoManager.h:20 AliSpectraBothHistoManager.h:21 AliSpectraBothHistoManager.h:22 AliSpectraBothHistoManager.h:23 AliSpectraBothHistoManager.h:24 AliSpectraBothHistoManager.h:25 AliSpectraBothHistoManager.h:26 AliSpectraBothHistoManager.h:27 AliSpectraBothHistoManager.h:28 AliSpectraBothHistoManager.h:29 AliSpectraBothHistoManager.h:30 AliSpectraBothHistoManager.h:31 AliSpectraBothHistoManager.h:32 AliSpectraBothHistoManager.h:33 AliSpectraBothHistoManager.h:34 AliSpectraBothHistoManager.h:35 AliSpectraBothHistoManager.h:36 AliSpectraBothHistoManager.h:37 AliSpectraBothHistoManager.h:38 AliSpectraBothHistoManager.h:39 AliSpectraBothHistoManager.h:40 AliSpectraBothHistoManager.h:41 AliSpectraBothHistoManager.h:42 AliSpectraBothHistoManager.h:43 AliSpectraBothHistoManager.h:44 AliSpectraBothHistoManager.h:45 AliSpectraBothHistoManager.h:46 AliSpectraBothHistoManager.h:47 AliSpectraBothHistoManager.h:48 AliSpectraBothHistoManager.h:49 AliSpectraBothHistoManager.h:50 AliSpectraBothHistoManager.h:51 AliSpectraBothHistoManager.h:52 AliSpectraBothHistoManager.h:53 AliSpectraBothHistoManager.h:54 AliSpectraBothHistoManager.h:55 AliSpectraBothHistoManager.h:56 AliSpectraBothHistoManager.h:57 AliSpectraBothHistoManager.h:58 AliSpectraBothHistoManager.h:59 AliSpectraBothHistoManager.h:60 AliSpectraBothHistoManager.h:61 AliSpectraBothHistoManager.h:62 AliSpectraBothHistoManager.h:63 AliSpectraBothHistoManager.h:64 AliSpectraBothHistoManager.h:65 AliSpectraBothHistoManager.h:66 AliSpectraBothHistoManager.h:67 AliSpectraBothHistoManager.h:68 AliSpectraBothHistoManager.h:69 AliSpectraBothHistoManager.h:70 AliSpectraBothHistoManager.h:71 AliSpectraBothHistoManager.h:72 AliSpectraBothHistoManager.h:73 AliSpectraBothHistoManager.h:74 AliSpectraBothHistoManager.h:75 AliSpectraBothHistoManager.h:76 AliSpectraBothHistoManager.h:77 AliSpectraBothHistoManager.h:78 AliSpectraBothHistoManager.h:79 AliSpectraBothHistoManager.h:80 AliSpectraBothHistoManager.h:81 AliSpectraBothHistoManager.h:82 AliSpectraBothHistoManager.h:83 AliSpectraBothHistoManager.h:84 AliSpectraBothHistoManager.h:85 AliSpectraBothHistoManager.h:86 AliSpectraBothHistoManager.h:87 AliSpectraBothHistoManager.h:88 AliSpectraBothHistoManager.h:89 AliSpectraBothHistoManager.h:90 AliSpectraBothHistoManager.h:91 AliSpectraBothHistoManager.h:92 AliSpectraBothHistoManager.h:93 AliSpectraBothHistoManager.h:94 AliSpectraBothHistoManager.h:95 AliSpectraBothHistoManager.h:96 AliSpectraBothHistoManager.h:97 AliSpectraBothHistoManager.h:98 AliSpectraBothHistoManager.h:99 AliSpectraBothHistoManager.h:100 AliSpectraBothHistoManager.h:101 AliSpectraBothHistoManager.h:102 AliSpectraBothHistoManager.h:103 AliSpectraBothHistoManager.h:104 AliSpectraBothHistoManager.h:105 AliSpectraBothHistoManager.h:106 AliSpectraBothHistoManager.h:107 AliSpectraBothHistoManager.h:108 AliSpectraBothHistoManager.h:109 AliSpectraBothHistoManager.h:110 AliSpectraBothHistoManager.h:111 AliSpectraBothHistoManager.h:112 AliSpectraBothHistoManager.h:113 AliSpectraBothHistoManager.h:114 AliSpectraBothHistoManager.h:115 AliSpectraBothHistoManager.h:116 AliSpectraBothHistoManager.h:117 AliSpectraBothHistoManager.h:118 AliSpectraBothHistoManager.h:119 AliSpectraBothHistoManager.h:120 AliSpectraBothHistoManager.h:121 AliSpectraBothHistoManager.h:122 AliSpectraBothHistoManager.h:123 AliSpectraBothHistoManager.h:124 AliSpectraBothHistoManager.h:125 AliSpectraBothHistoManager.h:126 AliSpectraBothHistoManager.h:127 AliSpectraBothHistoManager.h:128