1 #ifndef __JACOUSTICS__JEVENT__
2 #define __JACOUSTICS__JEVENT__
26 namespace JACOUSTICS {}
27 namespace JPP {
using namespace JACOUSTICS; }
29 namespace JACOUSTICS {
59 return event.begin()->getToE();
98 for (
T i = __begin; i != __end; ++i) {
102 sort(this->begin(), this->end());
171 const_iterator __hit1 =
this ->begin();
172 const_iterator __end1 =
this ->end();
174 const_iterator __hit2 =
event.begin();
175 const_iterator __end2 =
event.end();
177 buffer.resize(this->size() + event.size());
181 while (__hit1 != __end1 && __hit2 != __end2) {
183 if (*__hit1 < *__hit2) {
188 }
else if (*__hit2 < *__hit1) {
206 out =
copy(__hit1, __end1, out);
207 out =
copy(__hit2, __end2, out);
209 buffer.resize(
distance(buffer.begin(), out));
229 void remove(
const size_t ns,
const double stdev)
234 if (ns > 0 && 2*ns < this->size()) {
236 sort(this->begin(), this->end());
239 reverse_iterator q = this->rbegin();
246 for (const_iterator i = p; i != q.base(); ++i) {
250 const double t1 = Q.getMean() -
stdev * Q.getSTDev();
251 const double t2 = Q.getMean() +
stdev * Q.getSTDev();
253 for (
size_t i = ns; i != 0 && p->getToE() >= t1; --i, --p) {}
254 for (
size_t i = ns; i != 0 && q->getToE() <= t2; --i, --q) {}
274 out <<
event.getOID() << endl;
275 out << setw(8) <<
event.getCounter() << endl;
276 out << setw(2) <<
event.getOverlays() << endl;
277 out << setw(3) <<
event.getID() << endl;
279 for (const_iterator i = event.begin(); i !=
event.end(); ++i) {
281 out << setw(10) << i->getID() <<
' '
282 << setw(10) << i->getRunNumber() <<
' '
283 << fixed << setw(12) << setprecision(6) << i->getToA() <<
' '
284 << fixed << setw(12) << setprecision(6) << i->getToE() <<
' '
285 << fixed << setw(8) << setprecision(0) << i->getQ() << endl;
312 if (!first.empty() && !second.empty())
313 return first.begin()->getToE() < second.begin()->getToE();
int getOverlays() const
Get overlays.
Q(UTCMax_s-UTCMin_s)-livetime_s
void merge(const JEvent &event)
Merge event.
JEvaluator()
Default constructor.
std::vector< T >::difference_type distance(typename std::vector< T >::const_iterator first, typename PhysicsEvent::const_iterator< T > second)
Specialisation of STL distance.
bool operator<(const Head &first, const Head &second)
Less than operator.
JEvent()
Default constructor.
friend std::ostream & operator<<(std::ostream &out, const JEvent &event)
Write event to output stream.
then echo The file $DIR KM3NeT_00000001_00000000 root already please rename or remove it first
const std::string & getOID() const
Get detector identifier.
do set_variable OUTPUT_DIRECTORY $WORKDIR T
counter_type advance(counter_type &counter, const counter_type value, const counter_type limit=std::numeric_limits< counter_type >::max())
Advance counter.
virtual ~JEvent()
Virtual destructor.
int getCounter() const
Get counter.
void copy(const Head &from, JHead &to)
Copy header from from to to.
JEvent(const std::string &oid, const int counter, const int id, T __begin, T __end)
Constructor.
int getID() const
Get identifier.
Auxiliary class to determine value of acoustic events.
double operator()(const JEvent &event) const
Get value of object.