#ifndef ALIANALYSISTASKMUMU_H
#define ALIANALYSISTASKMUMU_H
#ifndef ALIANALYSISTASKSE_H
# include "AliAnalysisTaskSE.h"
#endif
#ifndef ROOT_TMath
# include "TMath.h"
#endif
class AliAnalysisMuMuBinning;
class AliCounterCollection;
class AliMergeableCollection;
class AliVParticle;
class TList;
class TObjArray;
class AliAnalysisMuMuBase;
class AliAnalysisMuMuCutRegistry;
class AliAnalysisTaskMuMu : public AliAnalysisTaskSE
{
public:
AliAnalysisTaskMuMu();
virtual ~AliAnalysisTaskMuMu();
AliAnalysisMuMuCutRegistry* CutRegistry() const;
AliAnalysisMuMuBinning* Binning() const;
void AdoptSubAnalysis(AliAnalysisMuMuBase* analysis);
virtual void DisableHistograms(const char* pattern="*");
void SetCountInBins( Bool_t disableHistoLoop=kTRUE ) { fCountInBins = kTRUE; fDisableHistoLoop = disableHistoLoop; }
void DisableHistoLoop( Bool_t disableHistoLoop=kTRUE ) { fDisableHistoLoop = disableHistoLoop; }
void SetBeamYear(const char* beamYear) { fBeamYear = beamYear; }
virtual void FinishTaskOutput();
virtual void NotifyRun();
virtual void Print(Option_t* opt="") const;
virtual void Terminate(Option_t *);
void UserCreateOutputObjects();
virtual void UserExec(Option_t* opt);
private:
void CreateTrackHisto(const char* eventSelection,
const char* triggerClassName,
const char* hname, const char* htitle,
Int_t nbinsx, Double_t xmin, Double_t xmax,
Int_t nbinsy=-1, Double_t ymin=0.0, Double_t ymax=0.0,
Bool_t separatePlusAndMinus=kFALSE) const;
void CreatePairHisto(const char* eventSelection,
const char* triggerClassName,
const char* hname, const char* htitle,
Int_t nbinsx, Double_t xmin, Double_t xmax,
Int_t nbinsy=-1, Double_t ymin=0.0, Double_t ymax=0.0) const;
const char* DefaultCentralityName() const;
AliVEvent* Event() const;
void FillHistos(const char* eventSelection, const char* triggerClassName, const char* centrality);
void FillCounters(const char* eventSelection, const char* triggerClassName, const char* centrality, Int_t currentRun, const char* binningName="ntrcorr");
void Fill(const char* eventSelection, const char* triggerClassName);
void FillMC();
void GetSelectedTrigClassesInEvent(const AliVEvent* event, TObjArray& array);
Bool_t IsHistogrammingDisabled() const;
virtual Bool_t IsHistogramDisabled(const char* hname) const;
Bool_t IsPP() const;
private:
AliAnalysisTaskMuMu(const AliAnalysisTaskMuMu&);
AliAnalysisTaskMuMu& operator=(const AliAnalysisTaskMuMu&);
private:
AliMergeableCollection* fHistogramCollection;
AliCounterCollection* fEventCounters;
mutable AliAnalysisMuMuBinning* fBinning;
mutable AliAnalysisMuMuCutRegistry* fCutRegistry;
TString fBeamYear;
TList* fHistogramToDisable;
TObjArray* fSubAnalysisVector;
Bool_t fCountInBins;
Bool_t fDisableHistoLoop;
ClassDef(AliAnalysisTaskMuMu,26)
};
#endif
AliAnalysisTaskMuMu.h:100 AliAnalysisTaskMuMu.h:101 AliAnalysisTaskMuMu.h:102 AliAnalysisTaskMuMu.h:103 AliAnalysisTaskMuMu.h:104 AliAnalysisTaskMuMu.h:105 AliAnalysisTaskMuMu.h:106 AliAnalysisTaskMuMu.h:107 AliAnalysisTaskMuMu.h:108 AliAnalysisTaskMuMu.h:109 AliAnalysisTaskMuMu.h:110 AliAnalysisTaskMuMu.h:111 AliAnalysisTaskMuMu.h:112 AliAnalysisTaskMuMu.h:113 AliAnalysisTaskMuMu.h:114 AliAnalysisTaskMuMu.h:115 AliAnalysisTaskMuMu.h:116 AliAnalysisTaskMuMu.h:117 AliAnalysisTaskMuMu.h:118 AliAnalysisTaskMuMu.h:119 AliAnalysisTaskMuMu.h:120 AliAnalysisTaskMuMu.h:121 AliAnalysisTaskMuMu.h:122 AliAnalysisTaskMuMu.h:123 AliAnalysisTaskMuMu.h:124 AliAnalysisTaskMuMu.h:125 AliAnalysisTaskMuMu.h:126 AliAnalysisTaskMuMu.h:127 AliAnalysisTaskMuMu.h:128 AliAnalysisTaskMuMu.h:129 AliAnalysisTaskMuMu.h:130 AliAnalysisTaskMuMu.h:131 AliAnalysisTaskMuMu.h:132 AliAnalysisTaskMuMu.h:133 AliAnalysisTaskMuMu.h:134 AliAnalysisTaskMuMu.h:135 AliAnalysisTaskMuMu.h:136 AliAnalysisTaskMuMu.h:137 AliAnalysisTaskMuMu.h:138 AliAnalysisTaskMuMu.h:139