]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG/muondep/AliAnalysisMuMuJpsiResult.h
change way to check the origin of local maxima, add histogram depending on n overlaps...
[u/mrichter/AliRoot.git] / PWG / muondep / AliAnalysisMuMuJpsiResult.h
CommitLineData
81190958 1#ifndef ALIANALYSISMUMUJPSIRESULT_H
2#define ALIANALYSISMUMUJPSIRESULT_H
3
4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6
7///
8/// AliAnalysisMuMuJpsiResult : helper class to store Jpsi results from
9/// AliAnalysisTaskMuMu
10///
11/// author : Laurent Aphecetche (Subatech)
12
13#include "TNamed.h"
14#include <TString.h>
15#include "AliAnalysisMuMuResult.h"
16#include "AliAnalysisMuMuBinning.h"
17
18class TH1;
19class THashList;
20class TF1;
21class TMap;
22
23class AliAnalysisMuMuJpsiResult : public AliAnalysisMuMuResult
24{
25
26public:
27
28 AliAnalysisMuMuJpsiResult(TRootIOCtor* io);
29
30 AliAnalysisMuMuJpsiResult(const TH1& hminv);
31
32 AliAnalysisMuMuJpsiResult(const TH1& hminv,
33 const char* fitType,
34 Int_t nrebin);
35
36 AliAnalysisMuMuJpsiResult(const TH1& hminv,
37 const char* triggerClass,
38 const char* eventSelection,
39 const char* pairSelection,
40 const char* centSelection,
41 const AliAnalysisMuMuBinning::Range& bin);
42
43 AliAnalysisMuMuJpsiResult(const AliAnalysisMuMuJpsiResult& rhs);
44 AliAnalysisMuMuJpsiResult& operator=(const AliAnalysisMuMuJpsiResult& rhs);
45
46 virtual ~AliAnalysisMuMuJpsiResult();
47
48 virtual TObject* Clone(const char* newname = "") const;
49
50 Bool_t Correct(const AliAnalysisMuMuJpsiResult& other, const char* particle, const char* subResultName="");
51
52 TH1* Minv() const { return fMinv; }
53
54 Int_t NofTriggers() const;
55
56 void SetNofTriggers(Int_t n);
57
58 void Print(Option_t* opt="") const;
59
60 Bool_t AddFit(const char* fitType, Int_t npar=0, Double_t* par=0x0);
61
62 AliAnalysisMuMuJpsiResult* CountJpsi(TH1& h);
63
64 AliAnalysisMuMuJpsiResult* FitJpsi(TH1& h);
65
66 AliAnalysisMuMuJpsiResult* FitJpsiNA48(const TH1& h);
67 AliAnalysisMuMuJpsiResult* FitJpsiCB2VWG(const TH1& h);
68 AliAnalysisMuMuJpsiResult* FitJpsi2CB2VWG(const TH1& h, Double_t alphaLow=-1.0, Double_t nLow=-1.0, Double_t alphaUp=-1.0, Double_t nUp=-1.0);
69
70 AliAnalysisMuMuJpsiResult* FitJpsiGCBE(TH1& h);
71
72 Int_t NofRuns() const;
73
74 void SetNofRuns(int n);
75
76 const AliAnalysisMuMuBinning::Range& Bin() const;
77
78 void SetBin(const AliAnalysisMuMuBinning::Range& bin);
79
80 void SetNofInputParticles(const char* particle, int n);
81
82 void SetNofInputParticles(const TH1& hminv);
83
84 void SetMinv(const TH1& hminv);
85
86 Long64_t Merge(TCollection* list);
87
88 static Double_t CountParticle(const TH1& hminv, const char* particle, Double_t sigma=-1.0);
89
90 virtual AliAnalysisMuMuJpsiResult* Mother() const { return static_cast<AliAnalysisMuMuJpsiResult*>(AliAnalysisMuMuResult::Mother()); }
91
92 void PrintValue(const char* key, const char* opt, Double_t value, Double_t errorStat, Double_t rms=0.0) const;
93
94private:
95
96 enum EIndex
97 {
98 kValue=0,
99 kErrorStat=1
100 };
101
102 void PrintParticle(const char* particle, const char* opt) const;
103
104private:
105 Int_t fNofRuns; // number of runs used to get this result
106 Int_t fNofTriggers; // number of trigger analyzed
107 TH1* fMinv; // invariant mass spectrum
108 AliAnalysisMuMuBinning::Range fBin; // bin range
109 Int_t fRebin; // rebin level of minv spectra
110
111 TString fTriggerClass; // trigger class for this result
112 TString fEventSelection; // event selection for this result
113 TString fPairSelection; // pair selection for this result
114 TString fCentralitySelection; // centrality selection for this result
115
116 ClassDef(AliAnalysisMuMuJpsiResult,1) // a class to hold invariant mass analysis results (counts, yields, AccxEff, R_AB, etc...)
117};
118
119#endif