42using std::list, std::string;
57 list<RooAbsStudy*>::const_iterator iter =
other._studies.
begin() ;
58 for (;iter!=
other._studies.
end() ; ++iter) {
59 _studies.push_back((*iter)->clone()) ;
90 for (list<RooAbsStudy*>::iterator iter=
_studies.begin() ; iter!=
_studies.end() ; ++iter) {
91 (*iter)->attach(*
_ws) ;
92 (*iter)->initialize() ;
106 coutP(Generation) <<
"RooStudyPackage::run(" <<
GetName() <<
") processing experiment " << i <<
"/" <<
nExperiments << std::endl ;
118 for (list<RooAbsStudy*>::iterator iter=
_studies.begin() ; iter!=
_studies.end() ; ++iter) {
131 for (list<RooAbsStudy*>::iterator iter=
_studies.begin() ; iter!=
_studies.end() ; ++iter) {
132 (*iter)->finalize() ;
143 for (list<RooAbsStudy*>::iterator iter=
_studies.begin() ; iter!=
_studies.end() ; ++iter) {
145 (*iter)->finalize() ;
147 RooDataSet* summaryData = (*iter)->summaryData() ;
150 std::cout <<
"registering summary dataset: " ; summaryData->
Print() ;
151 olist->Add(summaryData) ;
155 if (detailedData && detailedData->
GetSize()>0) {
158 std::cout <<
"registering detailed dataset " << detailedData->
ClassName() <<
"::"
159 << detailedData->
GetName() <<
" with " << detailedData->
GetSize() <<
" elements" << std::endl ;
163 olist->Add(detailedData) ;
164 (*iter)->releaseDetailData() ;
189 for (
int i = 0; i <=
iworker; ++i )
210 std::cout <<
"RooStudyPackage::processFile() ERROR input file " <<
name_fin <<
" does not contain a RooStudyPackage named 'studypack'" << std::endl ;
216 std::cout <<
"RooStudyPackage::processFile() Initial random seed for this run is " <<
seqno << std::endl ;
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
R__EXTERN TRandom * gRandom
char * Form(const char *fmt,...)
Formats a string in a circular formatting buffer.
const_iterator begin() const
const_iterator end() const
void Print(Option_t *options=nullptr) const override
This method must be overridden when a class wants to print itself.
Abstract base class for RooStudyManager modules.
Container class to hold unbinned data.
void SetName(const char *name) override
Change the name of this dataset into the given name.
Collection class for internal use, storing a collection of RooAbsArg pointers in a doubly linked list...
void SetName(const char *name)
const char * GetName() const override
Returns name of object.
static TRandom * randomGenerator()
Return a pointer to a singleton random-number generator implementation.
Utility class to manage studies that consist of repeated applications of generate-and-fit operations ...
void driver(Int_t nExperiments)
Int_t initRandom()
Choose random seed for this process in case pass a definite seed to have it deterministic use also wo...
std::list< RooAbsStudy * > _studies
static void processFile(const char *infile, Int_t nexp)
Read in study package.
void addStudy(RooAbsStudy &study)
void finalize()
Finalize all studies.
void initialize()
Make iterator over copy of studies attached to workspace.
void exportData(TList *olist, Int_t seqno)
RooStudyPackage()=default
void run(Int_t nExperiments)
Persistable container for RooFit projects.
Int_t Write(const char *name=nullptr, Int_t option=0, Int_t bufsize=0) override
Write all objects in this collection.
virtual Int_t GetValue(const char *name, Int_t dflt) const
Returns the integer value for a resource.
A file, usually with extension .root, that stores data and code in the form of serialized objects in ...
The TNamed class is the base class for all named ROOT classes.
const char * GetName() const override
Returns name of object.
virtual const char * ClassName() const
Returns name of class to which the object belongs.
Random number generator class based on the maximally quidistributed combined Tausworthe generator by ...
virtual void SetSeed(ULong_t seed=0)
Set the random generator seed.