Logo ROOT  
Reference Guide
RooAbsStudy.h
Go to the documentation of this file.
1/*****************************************************************************
2 * Project: RooFit *
3 * Package: RooFitCore *
4 * File: $Id$
5 * Authors: *
6 * WV, Wouter Verkerke, UC Santa Barbara, verkerke@slac.stanford.edu *
7 * DK, David Kirkby, UC Irvine, dkirkby@uci.edu *
8 * *
9 * Copyright (c) 2000-2005, Regents of the University of California *
10 * and Stanford University. All rights reserved. *
11 * *
12 * Redistribution and use in source and binary forms, *
13 * with or without modification, are permitted according to the terms *
14 * listed in LICENSE (http://roofit.sourceforge.net/license.txt) *
15 *****************************************************************************/
16#ifndef ROO_ABS_STUDY
17#define ROO_ABS_STUDY
18
19#include "TNamed.h"
20#include "RooLinkedList.h"
21#include "RooArgSet.h"
22
23class RooAbsPdf;
24class RooDataSet ;
25class RooAbsData ;
26class RooFitResult ;
27class RooPlot ;
28class RooRealVar ;
29class RooWorkspace ;
30class RooStudyManager ;
31class RooStudyPackage ;
32
33class RooAbsStudy : public TNamed {
34public:
35
37 RooAbsStudy(const char* name, const char* title) ;
38 RooAbsStudy(const RooAbsStudy& other) ;
39 virtual RooAbsStudy* clone(const char* newname="") const = 0 ;
40 TObject* Clone(const char* newname="") const { return clone(newname) ; }
41 virtual ~RooAbsStudy() ;
42
43 virtual Bool_t attach(RooWorkspace& /*w*/) { return kFALSE ; } ;
44 virtual Bool_t initialize() { return kFALSE ; } ;
45 virtual Bool_t execute() { return kFALSE ; } ;
46 virtual Bool_t finalize() { return 0 ; } ;
48
51
53
54 virtual void dump() {} ;
55
56 protected:
57
58 friend class RooStudyManager ;
59 friend class RooStudyPackage ;
60 void registerSummaryOutput(const RooArgSet& allVars, const RooArgSet& varsWithError=RooArgSet(), const RooArgSet& varsWithAsymError=RooArgSet()) ;
61 void storeSummaryOutput(const RooArgSet& vars) ;
62 void storeDetailedOutput(TNamed& object) ;
63 void aggregateSummaryOutput(TList* chunkList) ;
64
65 private:
66
71
72 ClassDef(RooAbsStudy,1) // Abstract base class for RooStudyManager modules
73} ;
74
75
76#endif
77
const Bool_t kFALSE
Definition: RtypesCore.h:88
bool Bool_t
Definition: RtypesCore.h:59
const Bool_t kTRUE
Definition: RtypesCore.h:87
#define ClassDef(name, id)
Definition: Rtypes.h:326
char name[80]
Definition: TGX11.cxx:109
RooAbsData is the common abstract base class for binned and unbinned datasets.
Definition: RooAbsData.h:39
RooAbsStudy is an abstract base class for RooStudyManager modules.
Definition: RooAbsStudy.h:33
virtual Bool_t attach(RooWorkspace &)
Definition: RooAbsStudy.h:43
void storeSummaryOutput(const RooArgSet &vars)
Definition: RooAbsStudy.cxx:94
void storeDetailedOutput(Bool_t flag)
Definition: RooAbsStudy.h:47
virtual ~RooAbsStudy()
Destructor.
Definition: RooAbsStudy.cxx:65
RooLinkedList * detailedData()
Definition: RooAbsStudy.h:50
virtual Bool_t execute()
Definition: RooAbsStudy.h:45
virtual void dump()
Definition: RooAbsStudy.h:54
void releaseDetailData()
Definition: RooAbsStudy.h:52
virtual Bool_t initialize()
Definition: RooAbsStudy.h:44
void aggregateSummaryOutput(TList *chunkList)
Bool_t _storeDetails
Definition: RooAbsStudy.h:67
virtual Bool_t finalize()
Definition: RooAbsStudy.h:46
RooDataSet * _summaryData
Definition: RooAbsStudy.h:68
Bool_t _ownDetailData
Definition: RooAbsStudy.h:70
void registerSummaryOutput(const RooArgSet &allVars, const RooArgSet &varsWithError=RooArgSet(), const RooArgSet &varsWithAsymError=RooArgSet())
Definition: RooAbsStudy.cxx:79
TObject * Clone(const char *newname="") const
Make a clone of an object using the Streamer facility.
Definition: RooAbsStudy.h:40
RooDataSet * summaryData()
Definition: RooAbsStudy.h:49
virtual RooAbsStudy * clone(const char *newname="") const =0
RooLinkedList * _detailData
Definition: RooAbsStudy.h:69
RooArgSet is a container object that can hold multiple RooAbsArg objects.
Definition: RooArgSet.h:28
RooDataSet is a container class to hold unbinned data.
Definition: RooDataSet.h:31
RooFitResult is a container class to hold the input and output of a PDF fit to a dataset.
Definition: RooFitResult.h:40
RooLinkedList is an collection class for internal use, storing a collection of RooAbsArg pointers in ...
Definition: RooLinkedList.h:36
A RooPlot is a plot frame and a container for graphics objects within that frame.
Definition: RooPlot.h:44
RooRealVar represents a variable that can be changed from the outside.
Definition: RooRealVar.h:35
RooStudyManager is a utility class to manage studies that consist of repeated applications of generat...
RooStudyPackage is a utility class to manage studies that consist of repeated applications of generat...
The RooWorkspace is a persistable container for RooFit projects.
Definition: RooWorkspace.h:43
A doubly linked list.
Definition: TList.h:44
The TNamed class is the base class for all named ROOT classes.
Definition: TNamed.h:29
Mother of all ROOT objects.
Definition: TObject.h:37