40 CLEAR_INTERMEDIATE_FITS,
41 CLEAR_ALL_BUT_BEST_FITS
51 inline std::ostream&
operator<<(std::ostream& out,
const bits_t&
object)
53#define PRINT_BIT(OUT, A) OUT << (int) A << " -> " << #A << std::endl;
73int main(
int argc,
char **argv)
82 typedef JTriggeredFileScanner_t::multi_pointer_type multi_pointer_type;
84 JTriggeredFileScanner_t inputFile;
93 JParser<> zap(
"Application for writing DST.");
98 zap[
'O'] =
make_field(option,
"bit pattern: " << endl << bits_t()) = 0xFF;
104 catch(
const exception& error) {
105 FATAL(error.what() << endl);
115 STATUS(
"event: " << setw(10) << inputFile.getCounter() <<
'\r');
DEBUG(endl);
117 multi_pointer_type ps = inputFile.next();
123 if (option.
has(CLEAR_MC_HITS)) {
124 event->mc_hits.clear();
127 if (option.
has(CLEAR_MC_TRKS)) {
129 vector<Trk>::iterator __end = partition(event->mc_trks.begin(), event->mc_trks.end(), [](
const Trk& trk) { return is_initialstate(trk) || is_muonbundle(trk); });
135 __end = partition(__end, event->mc_trks.end(), [
id](
const Trk& trk) { return is_lepton(trk) && trk.mother_id == id; });
138 event->mc_trks.erase(__end, event->mc_trks.end());
141 if (option.
has(CLEAR_DAQ_HITS)) {
145 if (option.
has(CLEAR_INTERMEDIATE_FITS) ||
146 option.
has(CLEAR_ALL_BUT_BEST_FITS)) {
150 if (option.
has(CLEAR_ALL_BUT_BEST_FITS) && evt->begin() != __end) {
151 __end = next(evt->begin());
155 for (JEvt::iterator i = evt->begin(), __q = __end; i != __q; ++i) {
156 __end = partition(__end, evt->end(), [i, keep](
const JFit& fit) { return i->getHistory().match(fit.getHistory()) && keep.count(fit.getHistory().rbegin()->type) != 0; });
160 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.