]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG/muondep/AliAnalysisMuMuSpectra.h
fix compilation warnings, coverity and add new functionalities (Laurent)
[u/mrichter/AliRoot.git] / PWG / muondep / AliAnalysisMuMuSpectra.h
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
18 class AliAnalysisMuMuResult;
19 class TCollection;
20 class TH1;
21 class TObjArray;
22
23 class AliAnalysisMuMuSpectra : public TNamed
24 {
25 public:
26   AliAnalysisMuMuSpectra(const char* name="", const char* title="");
27   AliAnalysisMuMuSpectra(const AliAnalysisMuMuSpectra& rhs);
28   AliAnalysisMuMuSpectra& operator=(const AliAnalysisMuMuSpectra& rhs);
29   
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
38   TH1* Plot(const char* what="NofJpsi", const char* subresult="", Bool_t divideByBinWidth=kTRUE) const;
39
40   void Print(Option_t* opt="") const;
41
42   TObjArray* Bins() const { return fBins; }
43   
44   AliAnalysisMuMuBinning* Binning() const { return fBinning; }
45   
46   Bool_t Correct(const AliAnalysisMuMuSpectra& accEff, const char* particle, const char* subResultName="");
47   
48   AliAnalysisMuMuResult* GetResultForBin(const AliAnalysisMuMuBinning::Range& bin) const;
49   
50   Bool_t HasValue(const char* what="NofJpsi") const;
51   
52 private:
53   AliAnalysisMuMuBinning* fBinning; // internal binning
54   TObjArray* fBins; // the results (bin by bin)
55   
56   ClassDef(AliAnalysisMuMuSpectra,1) // class to hold spectra (with its associated binning and errors)
57 };
58
59 #endif