1 #ifndef ALIDIELECTRONSIGNALFUNC_H
2 #define ALIDIELECTRONSIGNALFUNC_H
4 /* Copyright(c) 1998-2009, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
7 //#############################################################
9 //# Class AliDielectronSignalFunc #
12 //# Anton Andronic, GSI / A.Andronic@gsi.de #
13 //# Ionut C. Arsene, GSI / I.C.Arsene@gsi.de #
14 //# Julian Book, Uni Ffm / Julian.Book@cern.ch #
15 //# Frederick Kramer, Uni Ffm, / Frederick.Kramer@cern.ch #
16 //# Magnus Mager, CERN / Magnus.Mager@cern.ch #
17 //# WooJin J. Park, GSI / W.J.Park@gsi.de #
18 //# Jens Wiechula, Uni HD / Jens.Wiechula@cern.ch #
20 //#############################################################
25 #include <RooAddPdf.h>
27 #include "AliDielectronSignalBase.h"
29 class AliDielectronSignalFunc : public AliDielectronSignalBase {
31 AliDielectronSignalFunc();
32 AliDielectronSignalFunc(const char*name, const char* title);
34 virtual ~AliDielectronSignalFunc();
36 void Process(TH1 * const hist);
37 virtual void Process(TObjArray * const arrhist);
39 void SetFunctions(TF1 * const sig, TF1 * const back, TF1 * const combined, Int_t parM=-1, Int_t parMres=-1);
41 void SetFitOption(const char* opt) {fFitOpt=opt;}
42 void SetDefaults(Int_t type);
43 void SetFitRange(Double_t min, Double_t max) {fFitMin=min;fFitMax=max;}
45 void SetUseIntegral(Bool_t integral=kTRUE) { fUseIntegral=integral; }
47 const char* GetFitOption() const { return fFitOpt.Data(); }
48 TF1* GetSignalFunction() const { return fSignal; }
49 TF1* GetBackgroundFunction() const { return fBackground; }
50 TF1* GetCombinedFunction() const { return fSigBack; }
52 Double_t GetFitMin() const { return fFitMin; }
53 Double_t GetFitMax() const { return fFitMax; }
55 virtual void Draw(const Option_t* option = "");
58 TF1 *fSignal; // Function for the signal description
59 TF1 *fBackground; // Function for the background description
60 TF1 *fSigBack; // Combined function signal plus background
61 RooAddPdf fFitFunc; // RooFit fit function
62 TVectorD fVInitParam; // initial fit parameters
63 TString fFitOpt; // fit option used
65 Bool_t fUseIntegral; // use integral instead of bin counts
67 Double_t fFitMin; // fit range min
68 Double_t fFitMax; // fit range max
70 Int_t fParM; // Paramter which defines the mass
71 Int_t fParMres; // Paramter which defines the resolution of the mass
73 AliDielectronSignalFunc(const AliDielectronSignalFunc &c);
74 AliDielectronSignalFunc &operator=(const AliDielectronSignalFunc &c);
76 ClassDef(AliDielectronSignalFunc,1) // Dielectron SignalFunc