Logo ROOT   6.08/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 #ifndef ROOT_TObjArray
8 #include "TObjArray.h"
9 #endif
10 
11 #include "TVectorDfwd.h"
12 
13 class TH1;
14 
15 //_______________________________________________________________________
16 //
17 // TLimitDataSource
18 //
19 // This class serves as input for the TLimit::ComputeLimit method.
20 // It takes the signal, background and data histograms to form a channel.
21 // More channels can be added using AddChannel(), as well as different
22 // systematics sources.
23 //_______________________________________________________________________
24 
25 
26 class TLimitDataSource : public TObject{
27 public:
29  virtual ~TLimitDataSource() {}
30  TLimitDataSource(TH1* s,TH1* b,TH1* d);
31  TLimitDataSource(TH1* s,TH1* b,TH1* d, TVectorD* es,TVectorD* eb,TObjArray* names);
32  virtual void AddChannel(TH1*,TH1*,TH1*);
33  virtual void AddChannel(TH1*,TH1*,TH1*,TVectorD*, TVectorD*, TObjArray*);
34  inline virtual TObjArray* GetSignal() { return &fSignal;}
35  inline virtual TObjArray* GetBackground() { return &fBackground;}
36  inline virtual TObjArray* GetCandidates() { return &fCandidates;}
37  inline virtual TObjArray* GetErrorOnSignal() { return &fErrorOnSignal;}
38  inline virtual TObjArray* GetErrorOnBackground() { return &fErrorOnBackground;}
39  inline virtual TObjArray* GetErrorNames() { return &fIds;}
40  virtual void SetOwner(bool swtch=kTRUE);
41 private:
42  // The arrays used to store the packed inputs
43  TObjArray fSignal; //packed input signal
44  TObjArray fBackground; //packed input background
45  TObjArray fCandidates; //packed input candidates (data)
46  TObjArray fErrorOnSignal; //packed error sources for signal
47  TObjArray fErrorOnBackground; //packed error sources for background
48  TObjArray fIds; //packed IDs for the different error sources
49  // some dummy objects that the class will use and delete
50  TObjArray fDummyTA; //array of dummy object (used for bookeeping)
51  TObjArray fDummyIds; //array of dummy object (used for bookeeping)
52 
53  ClassDef(TLimitDataSource, 2 ) // input for TLimit routines
54 };
55 
56 #endif
An array of TObjects.
Definition: TObjArray.h:39
virtual TObjArray * GetCandidates()
This class serves as interface to feed data into the TLimit routines.
virtual ~TLimitDataSource()
#define ClassDef(name, id)
Definition: Rtypes.h:254
virtual TObjArray * GetBackground()
virtual void AddChannel(TH1 *, TH1 *, TH1 *)
virtual void SetOwner(bool swtch=kTRUE)
TObjArray fErrorOnSignal
The TH1 histogram class.
Definition: TH1.h:80
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: Rtypes.h:91