39 CLEAR_INTERMEDIATE_FITS,
40 CLEAR_ALL_BUT_BEST_FITS
50 inline std::ostream&
operator<<(std::ostream& out,
const bits_t&
object)
52#define PRINT_BIT(OUT, A) OUT << (int) A << " -> " << #A << std::endl;
72int main(
int argc,
char **argv)
81 typedef JTriggeredFileScanner_t::multi_pointer_type multi_pointer_type;
83 JTriggeredFileScanner_t inputFile;
92 JParser<> zap(
"Application for writing DST.");
97 zap[
'O'] =
make_field(option,
"bit pattern: " << endl << bits_t()) = 0xFF;
103 catch(
const exception& error) {
104 FATAL(error.what() << endl);
114 STATUS(
"event: " << setw(10) << inputFile.getCounter() <<
'\r');
DEBUG(endl);
116 multi_pointer_type ps = inputFile.next();
122 if (option.
has(CLEAR_MC_HITS)) {
123 event->mc_hits.clear();
126 if (option.
has(CLEAR_MC_TRKS)) {
128 vector<Trk>::iterator __end = partition(event->mc_trks.begin(), event->mc_trks.end(), [](
const Trk& trk) { return is_initialstate(trk) || is_muonbundle(trk); });
134 __end = partition(__end, event->mc_trks.end(), [
id](
const Trk& trk) { return is_lepton(trk) && trk.mother_id == id; });
137 event->mc_trks.erase(__end, event->mc_trks.end());
140 if (option.
has(CLEAR_DAQ_HITS)) {
144 if (option.
has(CLEAR_INTERMEDIATE_FITS) ||
145 option.
has(CLEAR_ALL_BUT_BEST_FITS)) {
149 if (option.
has(CLEAR_ALL_BUT_BEST_FITS) && evt->begin() != __end) {
150 __end = next(evt->begin());
154 for (JEvt::iterator i = evt->begin(), __q = __end; i != __q; ++i) {
155 __end = partition(__end, evt->end(), [i, keep](
const JFit& fit) { return i->getHistory().match(fit.getHistory()) && keep.count(fit.getHistory().rbegin()->type) != 0; });
159 evt->erase(__end, evt->end());
Recording of objects on file according a format that follows from the file name extension.
General purpose messaging.
#define DEBUG(A)
Message macros.
Utility class to parse command line options.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
ROOT TTree parameter settings of various packages.
Synchronously read DAQ events and Monte Carlo events (and optionally other events).
int getStatus() const
Get status of the fit; negative values should refer to a bad fit.
Utility class to parse command line options.
General purpose class for object reading from a list of file names.
void setCounter(const JTriggerCounter_t counter)
Set trigger counter.
int main(int argc, char **argv)
#define PRINT_BIT(OUT, A)
bool has_neutrino(const Evt &evt)
Test whether given event has an incoming neutrino.
const Trk & get_neutrino(const Evt &evt)
Get incoming neutrino.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
KM3NeT DAQ data structures and auxiliaries.
JWriter & operator<<(JWriter &out, const JDAQChronometer &chronometer)
Write DAQ chronometer to output.
unsigned long long int JTriggerCounter_t
Type definition of trigger counter.
The Evt class respresent a Monte Carlo (MC) event as well as an offline event.
Auxiliary class for handling status.
bool has(const int bit) const
Test PMT status.
Empty structure for specification of parser element that is initialised (i.e. does not require input)...
Auxiliary class for defining the range of iterations of objects.
const JLimit & getLimit() const
Get limit.
static counter_type max()
Get maximum counter value.
Auxiliary class to synchronously read DAQ events and Monte Carlo events (and optionally other events)...
The Trk class represents a Monte Carlo (MC) particle as well as a reconstructed track/shower.