a base class that manages a set of files belonging to a particular data set and the associated meta-data. More...
#include <Sample.h>
Public Member Functions | |
void | testInvariant () const |
test the invariant of this object | |
virtual | ~Sample () |
standard destructor | |
const std::string & | name () const |
the name of the sample we are using | |
void | name (std::string val_name) |
set the value of name | |
std::size_t | numFiles () const |
the number of files in the sample | |
std::string | fileName (std::size_t index) const |
the name of the file with the given index | |
SamplePtr | makeLocal () const |
Make this a local sample, i.e. one which can be directly opened with TFile::Open. | |
const TagList & | tags () const |
the tag list we are using | |
void | tags (const TagList &tags) |
set the content of tags() | |
void | addTag (const std::string &tag) |
add a tag to the content of tags() | |
void | updateLocation (const std::string &from, const std::string &to) |
update all file references starting with from to to | |
MetaObject * | meta () |
the meta-information for this sample | |
const MetaObject * | meta () const |
std::vector< std::string > | makeFileList () const |
make a list of all files, prestaging them if necessary | |
TChain * | makeTChain () const |
create a TChain object, containing all these files | |
TDSet * | makeTDSet () const |
create a TDSet object, containing all these files | |
TObject * | readHist (const std::string &name) const |
read an object from a histogram file | |
bool | contains (const std::string &name) const |
whether this sample contains a sample of the given name | |
void | addSamples (SampleHandler &result) |
add all samples this sample corresponds to to the given sample handler | |
void | print () const |
print the debugging output to the screen | |
void | printContent () const |
Long64_t | getNumEntries () const |
get the number of entries | |
RCU_DEPRECATED ("use meta() instead, or (preferably) access of meta-data by name") TCollection *metaDataList() | |
get the meta-data list | |
RCU_DEPRECATED ("use meta() instead, or (preferably) access of meta-data by name") const TCollection *metaDataList() const | |
void | removeMeta (const std::string &name) |
void | addReplaceMeta (TNamed *meta_swallow) |
TObject * | getMeta (const std::string &name) |
const TObject * | getMeta (const std::string &name) const |
double | getMetaDouble (const std::string &name, double def_val=0) const |
std::string | getMetaString (const std::string &name, const std::string &def_val="") const |
void | setMetaDouble (const std::string &name, double value) |
void | setMetaString (const std::string &name, const std::string &value) |
void | fetchMeta (const Sample &source) |
Protected Member Functions | |
Sample (const std::string &name) | |
standard constructor | |
virtual std::size_t | getNumFiles () const =0 |
virtual std::string | getFileName (std::size_t index) const =0 |
virtual SamplePtr | doMakeLocal () const =0 |
virtual std::vector< std::string > | doMakeFileList () const =0 |
virtual void | doUpdateLocation (const std::string &from, const std::string &to) |
virtual TObject * | doReadHist (const std::string &name) const |
virtual bool | getContains (const std::string &name) const |
virtual void | doAddSamples (SampleHandler &result) |
Friends | |
class | SamplePtr |
a base class that manages a set of files belonging to a particular data set and the associated meta-data.
While for most people this is essentially just a fancy file list, it hides a lot of flexibility. Besides a simple file list, this could also be a sample on the grid, or on tape storage that first needs to be pre-staged before it can be used.
virtual SH::Sample::~Sample | ( | ) | [virtual] |
standard destructor
SH::Sample::Sample | ( | const std::string & | name | ) | [protected] |
standard constructor
void SH::Sample::addReplaceMeta | ( | TNamed * | meta_swallow | ) |
add a meta-data object and remove any existing meta-data with the same name
meta_swallow | the meta-object to add |
void SH::Sample::addSamples | ( | SampleHandler & | result | ) |
add all samples this sample corresponds to to the given sample handler
void SH::Sample::addTag | ( | const std::string & | tag | ) |
bool SH::Sample::contains | ( | const std::string & | name | ) | const |
whether this sample contains a sample of the given name
virtual void SH::Sample::doAddSamples | ( | SampleHandler & | result | ) | [protected, virtual] |
add all samples this sample corresponds to to the given sample handler
Reimplemented in SH::SampleComposite.
virtual std::vector<std::string> SH::Sample::doMakeFileList | ( | ) | const [protected, pure virtual] |
make a list of all files, prestaging them if necessary
Implemented in SH::SampleComposite, SH::SampleGrid, SH::SampleHist, SH::SampleLocal, and SH::SampleMeta.
virtual SamplePtr SH::Sample::doMakeLocal | ( | ) | const [protected, pure virtual] |
Make this a local sample, i.e. one which can be directly opened with TFile::Open.
Implemented in SH::SampleComposite, SH::SampleGrid, SH::SampleHist, and SH::SampleLocal.
virtual TObject* SH::Sample::doReadHist | ( | const std::string & | name | ) | const [protected, virtual] |
read an object from a histogram file
Reimplemented in SH::SampleHist.
virtual void SH::Sample::doUpdateLocation | ( | const std::string & | from, | |
const std::string & | to | |||
) | [protected, virtual] |
update all file references starting with from to to
from | the original path to the data area | |
to | the new path to the data area |
Reimplemented in SH::SampleComposite, SH::SampleHist, and SH::SampleLocal.
void SH::Sample::fetchMeta | ( | const Sample & | source | ) |
fetch the meta-data from the given sample. fields that have a name that starts with "nc_" are not copied.
std::string SH::Sample::fileName | ( | std::size_t | index | ) | const |
the name of the file with the given index
index | the index of the file |
virtual bool SH::Sample::getContains | ( | const std::string & | name | ) | const [protected, virtual] |
whether this sample contains a sample of the given name
Reimplemented in SH::SampleComposite.
virtual std::string SH::Sample::getFileName | ( | std::size_t | index | ) | const [protected, pure virtual] |
the name of the file with the given index
index | the index of the file |
Implemented in SH::SampleComposite, SH::SampleGrid, SH::SampleHist, and SH::SampleLocal.
const TObject* SH::Sample::getMeta | ( | const std::string & | name | ) | const |
the meta-data object with the given name
name | the name of the meta-data object |
TObject* SH::Sample::getMeta | ( | const std::string & | name | ) |
the meta-data object with the given name
name | the name of the meta-data object |
double SH::Sample::getMetaDouble | ( | const std::string & | name, | |
double | def_val = 0 | |||
) | const |
the meta-data double with the given name
name | the name of the meta-data object | |
dev_val | the value to return if no meta-data object of the given name exists, or if it does not have the right type |
std::string SH::Sample::getMetaString | ( | const std::string & | name, | |
const std::string & | def_val = "" | |||
) | const |
the meta-data string with the given name
name | the name of the meta-data object | |
dev_val | the value to return if no meta-data object of the given name exists, or if it does not have the right type |
Long64_t SH::Sample::getNumEntries | ( | ) | const |
get the number of entries
virtual std::size_t SH::Sample::getNumFiles | ( | ) | const [protected, pure virtual] |
the number of files in the sample
Implemented in SH::SampleComposite, SH::SampleGrid, SH::SampleHist, and SH::SampleLocal.
std::vector<std::string> SH::Sample::makeFileList | ( | ) | const |
make a list of all files, prestaging them if necessary
SamplePtr SH::Sample::makeLocal | ( | ) | const |
Make this a local sample, i.e. one which can be directly opened with TFile::Open.
TChain* SH::Sample::makeTChain | ( | ) | const |
create a TChain object, containing all these files
TDSet* SH::Sample::makeTDSet | ( | ) | const |
create a TDSet object, containing all these files
const MetaObject* SH::Sample::meta | ( | ) | const |
the meta-information for this sample
MetaObject* SH::Sample::meta | ( | ) |
the meta-information for this sample
void SH::Sample::name | ( | std::string | val_name | ) |
set the value of name
const std::string& SH::Sample::name | ( | ) | const |
the name of the sample we are using
std::size_t SH::Sample::numFiles | ( | ) | const |
the number of files in the sample
void SH::Sample::print | ( | ) | const |
print the debugging output to the screen
void SH::Sample::printContent | ( | ) | const |
print the debugging output to the screen
SH::Sample::RCU_DEPRECATED | ( | "use meta() | instead, | |
or(preferably) access of meta-data by name" | ||||
) | const |
SH::Sample::RCU_DEPRECATED | ( | "use meta() | instead, | |
or(preferably) access of meta-data by name" | ||||
) |
get the meta-data list
TObject* SH::Sample::readHist | ( | const std::string & | name | ) | const |
read an object from a histogram file
void SH::Sample::removeMeta | ( | const std::string & | name | ) |
remove all meta-information with the given name
name | the meta-data name to remove |
void SH::Sample::setMetaDouble | ( | const std::string & | name, | |
double | value | |||
) |
set the meta-data double with the given name
name | the name of the meta-data | |
value | the value to which it is set |
void SH::Sample::setMetaString | ( | const std::string & | name, | |
const std::string & | value | |||
) |
set the meta-data string with the given name
name | the name of the meta-data | |
value | the value to which it is set |
void SH::Sample::tags | ( | const TagList & | tags | ) |
const TagList& SH::Sample::tags | ( | ) | const |
the tag list we are using
void SH::Sample::testInvariant | ( | ) | const |
test the invariant of this object
Reimplemented in SH::SampleComposite, SH::SampleGrid, SH::SampleHist, SH::SampleLocal, and SH::SampleMeta.
void SH::Sample::updateLocation | ( | const std::string & | from, | |
const std::string & | to | |||
) |
update all file references starting with from to to
from | the original path to the data area | |
to | the new path to the data area |