Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
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
36 RooAbsStudy() = default;
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 override { return clone(newname) ; }
41 ~RooAbsStudy() override ;
42
43 virtual bool attach(RooWorkspace& /*w*/) { return false ; } ;
44 virtual bool initialize() { return false ; } ;
45 virtual bool execute() { return false ; } ;
46 virtual bool finalize() { return false ; } ;
47 void storeDetailedOutput(bool flag) { _storeDetails = flag ; }
48
51
52 void releaseDetailData() { _ownDetailData = false ; }
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(std::unique_ptr<TNamed> object) ;
63 void aggregateSummaryOutput(TList* chunkList) ;
64
65 private:
66
67 bool _storeDetails = false;
68 RooDataSet* _summaryData = nullptr; ///<!
69 RooLinkedList* _detailData = nullptr; ///<!
70 bool _ownDetailData = true;
71
72 ClassDefOverride(RooAbsStudy,1) // Abstract base class for RooStudyManager modules
73} ;
74
75
76#endif
77
#define ClassDefOverride(name, id)
Definition Rtypes.h:341
char name[80]
Definition TGX11.cxx:110
Abstract base class for binned and unbinned datasets.
Definition RooAbsData.h:57
Abstract interface for all probability density functions.
Definition RooAbsPdf.h:40
Abstract base class for RooStudyManager modules.
Definition RooAbsStudy.h:33
virtual bool execute()
Definition RooAbsStudy.h:45
void storeDetailedOutput(bool flag)
Definition RooAbsStudy.h:47
~RooAbsStudy() override
Destructor.
void storeSummaryOutput(const RooArgSet &vars)
virtual bool finalize()
Definition RooAbsStudy.h:46
RooLinkedList * detailedData()
Definition RooAbsStudy.h:50
bool _ownDetailData
Definition RooAbsStudy.h:70
virtual void dump()
Definition RooAbsStudy.h:54
void releaseDetailData()
Definition RooAbsStudy.h:52
void aggregateSummaryOutput(TList *chunkList)
virtual bool initialize()
Definition RooAbsStudy.h:44
RooDataSet * _summaryData
!
Definition RooAbsStudy.h:68
TObject * Clone(const char *newname="") const override
Make a clone of an object using the Streamer facility.
Definition RooAbsStudy.h:40
void registerSummaryOutput(const RooArgSet &allVars, const RooArgSet &varsWithError=RooArgSet(), const RooArgSet &varsWithAsymError=RooArgSet())
RooAbsStudy()=default
bool _storeDetails
Definition RooAbsStudy.h:67
RooDataSet * summaryData()
Definition RooAbsStudy.h:49
virtual bool attach(RooWorkspace &)
Definition RooAbsStudy.h:43
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:55
Container class to hold unbinned data.
Definition RooDataSet.h:57
RooFitResult is a container class to hold the input and output of a PDF fit to a dataset.
Collection class for internal use, storing a collection of RooAbsArg pointers in a doubly linked list...
Plot frame and a container for graphics objects within that frame.
Definition RooPlot.h:45
Variable that can be changed from the outside.
Definition RooRealVar.h:37
Utility class to manage studies that consist of repeated applications of generate-and-fit operations ...
Utility class to manage studies that consist of repeated applications of generate-and-fit operations ...
Persistable container for RooFit projects.
A doubly linked list.
Definition TList.h:38
The TNamed class is the base class for all named ROOT classes.
Definition TNamed.h:29
Mother of all ROOT objects.
Definition TObject.h:41