]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG/muondep/AliAnalysisMuMuSpectra.h
move track selection differences from AOD and ESD to corresponding reader
[u/mrichter/AliRoot.git] / PWG / muondep / AliAnalysisMuMuSpectra.h
CommitLineData
a58729a5 1#ifndef ALIANALYSISMUMUSPECTRA_H
2#define ALIANALYSISMUMUSPECTRA_H
3
4///
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
8///
9/// author : Laurent Aphecetche (Subatech)
10//
11
12#include "TNamed.h"
13
14#ifndef ALIANALYSISMUMUBINNING_H
15# include "AliAnalysisMuMuBinning.h"
16#endif
17
18class AliAnalysisMuMuResult;
19class TCollection;
20class TH1;
21class TObjArray;
22
23class AliAnalysisMuMuSpectra : public TNamed
24{
25public:
26 AliAnalysisMuMuSpectra(const char* name="", const char* title="");
1afce1ce 27 AliAnalysisMuMuSpectra(const AliAnalysisMuMuSpectra& rhs);
28 AliAnalysisMuMuSpectra& operator=(const AliAnalysisMuMuSpectra& rhs);
29
a58729a5 30 virtual ~AliAnalysisMuMuSpectra();
31
32 void AdoptResult(const AliAnalysisMuMuBinning::Range& bin, AliAnalysisMuMuResult* result);
33
34 Bool_t IsEmpty() const;
35
36 Long64_t Merge(TCollection* list);
37
1afce1ce 38 TH1* Plot(const char* what="NofJpsi", const char* subresult="", Bool_t divideByBinWidth=kTRUE) const;
a58729a5 39
40 void Print(Option_t* opt="") const;
41
81190958 42 TObjArray* BinContentArray() const { return fBins; }
a58729a5 43
44 AliAnalysisMuMuBinning* Binning() const { return fBinning; }
45
46 Bool_t Correct(const AliAnalysisMuMuSpectra& accEff, const char* particle, const char* subResultName="");
47
1afce1ce 48 AliAnalysisMuMuResult* GetResultForBin(const AliAnalysisMuMuBinning::Range& bin) const;
49
50 Bool_t HasValue(const char* what="NofJpsi") const;
51
81190958 52 void Scale(Double_t value);
53
54 void SetWeight(Double_t w);
55
56 Double_t Weight() const { return fWeight; }
57
a58729a5 58private:
59 AliAnalysisMuMuBinning* fBinning; // internal binning
60 TObjArray* fBins; // the results (bin by bin)
81190958 61 Double_t fWeight; // weight of this spectra (assumed to be a normalized weight)
a58729a5 62
81190958 63 ClassDef(AliAnalysisMuMuSpectra,2) // class to hold spectra (with its associated binning and errors)
a58729a5 64};
65
66#endif