41 end =
sh.end(); sample != end; ++ sample)
54 if (tree_name.empty())
57 Long64_t tot_entries = 0;
59 const auto fileList = sample.makeFileList ();
60 for (
const std::string& file_name : fileList)
62 std::unique_ptr<TFile>
file (TFile::Open (file_name.c_str(),
"READ"));
65 Long64_t treeEntries = 0;
66 TTree *
const tree =
dynamic_cast<TTree*
>(
file->Get (tree_name.c_str()));
68 treeEntries =
tree->GetEntries ();
69 entries.push_back (treeEntries);
70 tot_entries += treeEntries;
87 RCU_WARN_MSG (
"sample " + sample.name() +
" lacks nc_nevtfile, running scanNEvents, please save sample");
96 if (nentries->value.size() != sample.numFiles())
97 RCU_THROW_MSG (
"nc_nevtfile has the wrong number of entries");
100 std::unique_ptr<SampleLocal>
res;
104 for (
unsigned file = 0, end = nentries->value.size();
file != end; ++
file)
106 if (num > 0 && num + nentries->value[
file] > nevt)
113 std::ostringstream name;
114 name << sample.name() <<
"_" <<
result.size();
116 res->tags (sample.tags());
117 res->meta()->fetch (*sample.meta());
118 if (!meta_tree.empty())
123 res->add (sample.fileName (
file));
124 num += nentries->value[
file];
std::pair< std::vector< unsigned int >, bool > res
#define RCU_THROW_MSG(message)
#define RCU_WARN_MSG(message)
A class that manages a list of Sample objects.
std::vector< Sample * >::const_iterator iterator
the iterator to use
A Sample based on a simple file list.
a base class that manages a set of files belonging to a particular data set and the associated meta-d...
This module provides a lot of global definitions, forward declarations and includes that are used by ...
void scanNEvents(SampleHandler &sh)
effects: scan each sample in the sample handler and store the number of entries per file in the meta-...
SampleHandler splitSample(Sample &sample, const Long64_t nevt)
effects: split the given sample into a set of samples, with each sample containing either exactly one...