TLimitDataSource.h

Go to the documentation of this file.
00001 // @(#)root/hist:$Id: TLimitDataSource.h 20882 2007-11-19 11:31:26Z rdm $
00002 // Author: Christophe.Delaere@cern.ch   21/08/2002
00003 
00004 #ifndef ROOT_TLimitDataSource
00005 #define ROOT_TLimitDataSource
00006 
00007 #ifndef ROOT_TObjArray
00008 #include "TObjArray.h"
00009 #endif
00010 
00011 #include "TVectorDfwd.h"
00012    
00013 class TH1;
00014 
00015 //_______________________________________________________________________
00016 //
00017 // TLimitDataSource
00018 //
00019 // This class serves as input for the TLimit::ComputeLimit method.
00020 // It takes the signal, background and data histograms to form a channel. 
00021 // More channels can be added using AddChannel(), as well as different
00022 // systematics sources. 
00023 //_______________________________________________________________________
00024 
00025 
00026 class TLimitDataSource : public TObject{
00027 public:
00028    TLimitDataSource();
00029    virtual ~TLimitDataSource() {}
00030    TLimitDataSource(TH1* s,TH1* b,TH1* d);
00031    TLimitDataSource(TH1* s,TH1* b,TH1* d, TVectorD* es,TVectorD* eb,TObjArray* names);
00032    virtual void AddChannel(TH1*,TH1*,TH1*);
00033    virtual void AddChannel(TH1*,TH1*,TH1*,TVectorD*, TVectorD*, TObjArray*);
00034    inline virtual TObjArray* GetSignal() { return &fSignal;}
00035    inline virtual TObjArray* GetBackground() { return &fBackground;}
00036    inline virtual TObjArray* GetCandidates() { return &fCandidates;}
00037    inline virtual TObjArray* GetErrorOnSignal() { return &fErrorOnSignal;}
00038    inline virtual TObjArray* GetErrorOnBackground() { return &fErrorOnBackground;}
00039    inline virtual TObjArray* GetErrorNames() { return &fIds;}
00040    virtual void SetOwner(bool swtch=kTRUE);
00041 private:
00042    // The arrays used to store the packed inputs
00043    TObjArray fSignal;            //packed input signal
00044    TObjArray fBackground;        //packed input background
00045    TObjArray fCandidates;        //packed input candidates (data)
00046    TObjArray fErrorOnSignal;     //packed error sources for signal
00047    TObjArray fErrorOnBackground; //packed error sources for background
00048    TObjArray fIds;               //packed IDs for the different error sources
00049    // some dummy objects that the class will use and delete
00050    TObjArray fDummyTA;         //array of dummy object (used for bookeeping)
00051    TObjArray fDummyIds;          //array of dummy object (used for bookeeping)
00052 
00053    ClassDef(TLimitDataSource, 2 ) // input for TLimit routines
00054 };
00055 
00056 #endif

Generated on Tue Jul 5 14:22:56 2011 for ROOT_528-00b_version by  doxygen 1.5.1