69  list<RooAbsStudy*>::const_iterator iter = other.
_studies.begin() ;
 
   70  for (;iter!=other.
_studies.end() ; ++iter) {
 
   71    _studies.push_back((*iter)->clone()) ;
 
  102  for (list<RooAbsStudy*>::iterator iter=
_studies.begin() ; iter!=
_studies.end() ; ++iter) {
 
  103    (*iter)->attach(*
_ws) ;
 
  104    (*iter)->initialize() ;
 
  115  Int_t prescale = nExperiments>100 ? 
Int_t(nExperiments/100) : 1 ;
 
  116  for (
Int_t i=0 ; i<nExperiments ; i++) {
 
  118      coutP(Generation) << 
"RooStudyPackage::run(" << 
GetName() << 
") processing experiment " << i << 
"/" << nExperiments << endl ;
 
  130  for (list<RooAbsStudy*>::iterator iter=
_studies.begin() ; iter!=
_studies.end() ; ++iter) {
 
  143  for (list<RooAbsStudy*>::iterator iter=
_studies.begin() ; iter!=
_studies.end() ; ++iter) {
 
  144    (*iter)->finalize() ;
 
  155  for (list<RooAbsStudy*>::iterator iter=
_studies.begin() ; iter!=
_studies.end() ; ++iter) {
 
  157    (*iter)->finalize() ;
 
  159    RooDataSet* summaryData = (*iter)->summaryData() ;
 
  162      cout << 
"registering summary dataset: " ; summaryData->
Print() ;
 
  163      olist->
Add(summaryData) ;
 
  167    if (detailedData && detailedData->
GetSize()>0) {
 
  170      cout << 
"registering detailed dataset " << detailedData->
ClassName() << 
"::" 
  171      << detailedData->
GetName() << 
" with " << detailedData->
GetSize() << 
" elements" << endl ;
 
  172      for(
auto dobj : static_range_cast<TNamed*>(*detailedData)) {
 
  173        dobj->SetName(
Form(
"%s_%d",dobj->GetName(),seqno)) ;
 
  175      olist->
Add(detailedData) ;
 
  176      (*iter)->releaseDetailData() ;
 
  197  if (worknumber != 
"undef")
 
  198     iworker = 
int( worknumber.
Atof()*10 + 0.1);
 
  201     for (
int i = 0; i <= iworker; ++i )
 
  218  string name_fin = 
Form(
"study_data_%s.root",studyName) ;
 
  219  TFile fin(name_fin.c_str()) ;
 
  222    cout << 
"RooStudyPackage::processFile() ERROR input file " << name_fin << 
" does not contain a RooStudyPackage named 'studypack'" << endl ;
 
  228  cout << 
"RooStudyPackage::processFile() Initial random seed for this run is " << seqno << endl ;
 
  236  TFile fout(
Form(
"study_result_%s_%d.root",studyName,seqno),
"RECREATE") ;
 
R__EXTERN TRandom * gRandom
 
char * Form(const char *fmt,...)
Formats a string in a circular formatting buffer.
 
void Print(Option_t *options=nullptr) const override
This method must be overridden when a class wants to print itself.
 
RooAbsStudy is an abstract base class for RooStudyManager modules.
 
RooDataSet is a container class to hold unbinned data.
 
void SetName(const char *name) override
Change the name of this dataset into the given name.
 
RooLinkedList is an collection class for internal use, storing a collection of RooAbsArg pointers in ...
 
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.
 
RooStudyPackage is a utility class to manage studies that consist of repeated applications of generat...
 
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)
 
void run(Int_t nExperiments)
 
The RooWorkspace is a 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.
 
TObject * Get(const char *namecycle) override
Return pointer to object identified by namecycle.
 
virtual Int_t GetValue(const char *name, Int_t dflt) const
Returns the integer value for a resource.
 
A ROOT file is a suite of consecutive data records (TKey instances) with a well defined format.
 
void Close(Option_t *option="") override
Close a file.
 
void Add(TObject *obj) override
 
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.
 
virtual UInt_t Integer(UInt_t imax)
Returns a random integer uniformly distributed on the interval [ 0, imax-1 ].
 
Double_t Atof() const
Return floating-point value contained in string.