96{
99
103
104 try {
105
107
111
113 }
114 catch(const exception &error) {
116 }
117
118 if (inputFile.size() != 2u) {
119 FATAL(
"Wrong number of input files " << inputFile.size() <<
endl);
120 }
121
122 const size_t width = max(inputFile[0].size(), inputFile[1].size());
123
125
126 for (int i = 0; i != 2; ++i) {
127
129 buffer[i].push_back(*in.next());
130 }
131
132 sort(buffer[i].begin(), buffer[i].end(), compare);
133 }
134
135 int count[] = { 0, 0 };
136
138 p0 = buffer[0].begin(),
139 p1 = buffer[1].begin(); p0 != buffer[0].end() &&
p1 != buffer[1].end(); ) {
140
141 for ( ; p0 != buffer[0].end() &&
p1 != buffer[1].end() && compare(*p0,*
p1); ++p0, ++count[1]) {
142 DEBUG(
">> " <<
setw(width) << left << inputFile[0] << right <<
' ' << *p0 <<
endl);
143 }
144
145 for ( ; p0 != buffer[0].end() &&
p1 != buffer[1].end() && compare(*
p1,*p0); ++
p1, ++count[1]) {
146 DEBUG(
"<< " <<
setw(width) << left << inputFile[1] << right <<
' ' << *
p1 <<
endl);
147 }
148
149 if (p0 != buffer[0].end() &&
p1 != buffer[1].end() && !compare(*p0,*
p1) && !compare(*
p1,*p0)) {
150
151 ++count[0];
152
153 DEBUG(
setw(width) << left << inputFile[0] << right <<
' ' << *p0 <<
" \\" <<
endl);
154 DEBUG(
setw(width) << left << inputFile[1] << right <<
' ' << *
p1 <<
" / " <<
endl);
155
156 ++p0;
158 }
159 }
160
161 STATUS(
"Number of differences / events: " << count[1] <<
" / " << count[0] <<
endl);
162
163 if (buffer[0].size() != buffer[1].size()) {
164 FATAL(
"Different size " << buffer[0].size() <<
' ' << buffer[1].size() <<
endl);
165 }
166
167 if (count[1] != 0) {
168 FATAL(
"Number of differences " << count[1] <<
endl);
169 }
170}
#define DEBUG(A)
Message macros.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
Template definition of a multi-dimensional oscillation probability interpolation table.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Auxiliary class for defining the range of iterations of objects.
static counter_type max()
Get maximum counter value.