34 end =
sh.end(); sample != end; ++ sample)
47 if (tree_name.empty())
50 Long64_t tot_entries = 0;
52 const auto fileList = sample.makeFileList ();
53 for (
const std::string& file_name : fileList)
55 std::unique_ptr<TFile>
file (TFile::Open (file_name.c_str(),
"READ"));
58 Long64_t treeEntries = 0;
59 TTree *
const tree =
dynamic_cast<TTree*
>(
file->Get (tree_name.c_str()));
61 treeEntries =
tree->GetEntries ();
62 entries.push_back (treeEntries);
63 tot_entries += treeEntries;
80 RCU_WARN_MSG (
"sample " + sample.name() +
" lacks nc_nevtfile, running scanNEvents, please save sample");
89 if (nentries->value.size() != sample.numFiles())
90 RCU_THROW_MSG (
"nc_nevtfile has the wrong number of entries");
93 std::unique_ptr<SampleLocal>
res;
97 for (
unsigned file = 0, end = nentries->value.size();
file != end; ++
file)
99 if (num > 0 && num + nentries->value[
file] > nevt)
101 result.add (std::move (
res));
107 std::ostringstream name;
108 name << sample.name() <<
"_" << result.size();
110 res->tags (sample.tags());
111 res->meta()->fetch (*sample.meta());
112 if (!meta_tree.empty())
117 res->add (sample.fileName (
file));
118 num += nentries->value[
file];
121 result.add (std::move (
res));
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.
boost::transform_iterator< SamplePtrToRawSample, std::vector< std::shared_ptr< 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...