40 friend inline bool operator<(
const entry_type& first,
const entry_type& second)
70 JParser<> zap(
"Auxiliary program for time sorting of Monte-Carlo events.");
72 zap[
'f'] =
make_field(inputFile,
"Input file (produced with JEvtSplit)");
78 catch(
const exception& error) {
87 const size_t N = inputFile.size();
96 for (
size_t i = 0; i != N; ++i) {
98 in[i].configure(inputFile[i]);
100 STATUS(
"Processing " << inputFile[i] <<
endl);
107 for (
size_t i = 0; i != N; ++i) {
109 if (in[i].hasNext()) {
111 buffer.push({i, *in[i].next()});
121 const entry_type&
top = buffer.top();
125 if (in[
top.index].hasNext()) {
127 buffer.push({
top.index, *in[
top.index].next()});
135 while (!buffer.empty()) {
137 const entry_type&
top = buffer.top();
148 for (
size_t i = 0; i != N; ++i) {
150 if (in[i].hasNext()) {
152 buffer.push_back({i, *in[i].next()});
164 const size_t index = buffer[0].index;
168 pop_heap(buffer.begin(), buffer.end());
172 if (in[index].hasNext()) {
174 buffer.push_back({index, *in[index].next()});
195 for (
size_t i = 0; i != N; ++i) {
218 catch (
const exception&) {}
225 for (
size_t i = 0; i != N; ++i) {
int main(int argc, char **argv)
Recording of objects on file according a format that follows from the file name extension.
General purpose messaging.
#define DEBUG(A)
Message macros.
Scanning of objects from multiple files according a format that follows from the extension of each fi...
Utility class to parse command line options.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
Scanning of objects from a single file according a format that follows from the extension of each fil...
ROOT TTree parameter settings of various packages.
Template definition of a multi-dimensional oscillation probability interpolation table.
bool operator<(const Head &first, const Head &second)
Less than operator.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
JMultiHead getMultiHeader(const JMultipleFileScanner_t &file_list)
Get multi-header corresponding to a given file list.
Head getHeader(const JMultipleFileScanner_t &file_list)
Get Monte Carlo header.
The Evt class respresent a Monte Carlo (MC) event as well as an offline event.
TTimeStamp mc_event_time
MC: true generation time (UTC) of the event, (default: 01 Jan 1970 00:00:00)
The Head class reflects the header of Monte-Carlo event files, which consists of keys (also referred ...