Logo ROOT   6.12/07
Reference Guide
TLimitDataSource.h
Go to the documentation of this file.
1 // @(#)root/hist:$Id$
2 // Author: Christophe.Delaere@cern.ch 21/08/2002
3 
4 #ifndef ROOT_TLimitDataSource
5 #define ROOT_TLimitDataSource
6 
7 #include "TObjArray.h"
8 
9 #include "TVectorDfwd.h"
10 
11 class TH1;
12 
13 //_______________________________________________________________________
14 //
15 // TLimitDataSource
16 //
17 // This class serves as input for the TLimit::ComputeLimit method.
18 // It takes the signal, background and data histograms to form a channel.
19 // More channels can be added using AddChannel(), as well as different
20 // systematics sources.
21 //_______________________________________________________________________
22 
23 
24 class TLimitDataSource : public TObject{
25 public:
27  virtual ~TLimitDataSource() {}
28  TLimitDataSource(TH1* s,TH1* b,TH1* d);
29  TLimitDataSource(TH1* s,TH1* b,TH1* d, TVectorD* es,TVectorD* eb,TObjArray* names);
30  virtual void AddChannel(TH1*,TH1*,TH1*);
31  virtual void AddChannel(TH1*,TH1*,TH1*,TVectorD*, TVectorD*, TObjArray*);
32  inline virtual TObjArray* GetSignal() { return &fSignal;}
33  inline virtual TObjArray* GetBackground() { return &fBackground;}
34  inline virtual TObjArray* GetCandidates() { return &fCandidates;}
35  inline virtual TObjArray* GetErrorOnSignal() { return &fErrorOnSignal;}
36  inline virtual TObjArray* GetErrorOnBackground() { return &fErrorOnBackground;}
37  inline virtual TObjArray* GetErrorNames() { return &fIds;}
38  virtual void SetOwner(bool swtch=kTRUE);
39 private:
40  // The arrays used to store the packed inputs
41  TObjArray fSignal; //packed input signal
42  TObjArray fBackground; //packed input background
43  TObjArray fCandidates; //packed input candidates (data)
44  TObjArray fErrorOnSignal; //packed error sources for signal
45  TObjArray fErrorOnBackground; //packed error sources for background
46  TObjArray fIds; //packed IDs for the different error sources
47  // some dummy objects that the class will use and delete
48  TObjArray fDummyTA; //array of dummy object (used for bookeeping)
49  TObjArray fDummyIds; //array of dummy object (used for bookeeping)
50 
51  ClassDef(TLimitDataSource, 2 ) // input for TLimit routines
52 };
53 
54 #endif
An array of TObjects.
Definition: TObjArray.h:37
virtual TObjArray * GetCandidates()
This class serves as interface to feed data into the TLimit routines.
virtual ~TLimitDataSource()
#define ClassDef(name, id)
Definition: Rtypes.h:320
virtual TObjArray * GetBackground()
virtual void AddChannel(TH1 *, TH1 *, TH1 *)
virtual void SetOwner(bool swtch=kTRUE)
TObjArray fErrorOnSignal
The TH1 histogram class.
Definition: TH1.h:56
static constexpr double s
Mother of all ROOT objects.
Definition: TObject.h:37
virtual TObjArray * GetErrorNames()
virtual TObjArray * GetErrorOnSignal()
virtual TObjArray * GetSignal()
TObjArray fErrorOnBackground
you should not use this method at all Int_t Int_t Double_t Double_t Double_t Int_t Double_t Double_t Double_t Double_t b
Definition: TRolke.cxx:630
virtual TObjArray * GetErrorOnBackground()
const Bool_t kTRUE
Definition: RtypesCore.h:87