Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
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:
26  TLimitDataSource();
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