1 #ifndef ALIANALYSISMUMUSPECTRA_H
2 #define ALIANALYSISMUMUSPECTRA_H
5 /// AliAnalysisMuMuSpectra : a spectra is a binning (AliAnalysisMuMuBinning)
6 /// and the results per bin (AliAnalysisMuMuResult), and is mergeable, so
7 /// it can be put into an AliMergeableCollection
9 /// author : Laurent Aphecetche (Subatech)
14 #ifndef ALIANALYSISMUMUBINNING_H
15 # include "AliAnalysisMuMuBinning.h"
18 class AliAnalysisMuMuResult;
23 class AliAnalysisMuMuSpectra : public TNamed
26 AliAnalysisMuMuSpectra(const char* name="", const char* title="");
27 AliAnalysisMuMuSpectra(const AliAnalysisMuMuSpectra& rhs);
28 AliAnalysisMuMuSpectra& operator=(const AliAnalysisMuMuSpectra& rhs);
30 virtual ~AliAnalysisMuMuSpectra();
32 void AdoptResult(const AliAnalysisMuMuBinning::Range& bin, AliAnalysisMuMuResult* result);
34 Bool_t IsEmpty() const;
36 Long64_t Merge(TCollection* list);
38 TH1* Plot(const char* what="NofJpsi", const char* subresult="", Bool_t divideByBinWidth=kTRUE) const;
40 void Print(Option_t* opt="") const;
42 TObjArray* Bins() const { return fBins; }
44 AliAnalysisMuMuBinning* Binning() const { return fBinning; }
46 Bool_t Correct(const AliAnalysisMuMuSpectra& accEff, const char* particle, const char* subResultName="");
48 AliAnalysisMuMuResult* GetResultForBin(const AliAnalysisMuMuBinning::Range& bin) const;
50 Bool_t HasValue(const char* what="NofJpsi") const;
53 AliAnalysisMuMuBinning* fBinning; // internal binning
54 TObjArray* fBins; // the results (bin by bin)
56 ClassDef(AliAnalysisMuMuSpectra,1) // class to hold spectra (with its associated binning and errors)