1 #ifndef ALIANALYSISMUMUJPSIRESULT_H
2 #define ALIANALYSISMUMUJPSIRESULT_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
8 /// AliAnalysisMuMuJpsiResult : helper class to store Jpsi results from
9 /// AliAnalysisTaskMuMu
11 /// author : Laurent Aphecetche (Subatech)
15 #include "AliAnalysisMuMuResult.h"
16 #include "AliAnalysisMuMuBinning.h"
23 class AliAnalysisMuMuJpsiResult : public AliAnalysisMuMuResult
28 AliAnalysisMuMuJpsiResult(TRootIOCtor* io);
30 AliAnalysisMuMuJpsiResult(const TH1& hminv);
32 AliAnalysisMuMuJpsiResult(const TH1& hminv,
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);
43 AliAnalysisMuMuJpsiResult(const AliAnalysisMuMuJpsiResult& rhs);
44 AliAnalysisMuMuJpsiResult& operator=(const AliAnalysisMuMuJpsiResult& rhs);
46 virtual ~AliAnalysisMuMuJpsiResult();
48 virtual TObject* Clone(const char* newname = "") const;
50 Bool_t Correct(const AliAnalysisMuMuJpsiResult& other, const char* particle, const char* subResultName="");
52 TH1* Minv() const { return fMinv; }
54 Int_t NofTriggers() const;
56 void SetNofTriggers(Int_t n);
58 void Print(Option_t* opt="") const;
60 Bool_t AddFit(const char* fitType, Int_t npar=0, Double_t* par=0x0);
62 AliAnalysisMuMuJpsiResult* CountJpsi(TH1& h);
64 AliAnalysisMuMuJpsiResult* FitJpsi(TH1& h);
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);
70 AliAnalysisMuMuJpsiResult* FitJpsiGCBE(TH1& h);
72 Int_t NofRuns() const;
74 void SetNofRuns(int n);
76 const AliAnalysisMuMuBinning::Range& Bin() const;
78 void SetBin(const AliAnalysisMuMuBinning::Range& bin);
80 void SetNofInputParticles(const char* particle, int n);
82 void SetNofInputParticles(const TH1& hminv);
84 void SetMinv(const TH1& hminv);
86 Long64_t Merge(TCollection* list);
88 static Double_t CountParticle(const TH1& hminv, const char* particle, Double_t sigma=-1.0);
90 virtual AliAnalysisMuMuJpsiResult* Mother() const { return static_cast<AliAnalysisMuMuJpsiResult*>(AliAnalysisMuMuResult::Mother()); }
92 void PrintValue(const char* key, const char* opt, Double_t value, Double_t errorStat, Double_t rms=0.0) const;
102 void PrintParticle(const char* particle, const char* opt) const;
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
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
116 ClassDef(AliAnalysisMuMuJpsiResult,1) // a class to hold invariant mass analysis results (counts, yields, AccxEff, R_AB, etc...)