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 ROOT file is an on-disk file, usually with extension .root, that stores objects in a file-system-li...
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.