65 JParser<> zap(
"Example program to test hit coincidence building with Monte Carlo events.");
69 zap[
'n'] =
make_field(numberOfEvents) = JLimit::max();
77 catch(
const exception &error) {
78 FATAL(error.what() << endl);
82 using namespace KM3NETDAQ;
102 TProfile hn(
"hn", NULL, 31, 0.5, +31.5);
103 TProfile hc(
"hc", NULL, 21, -1.05, +1.05);
104 TProfile ht(
"ht", NULL, 20, 0.5, +20.5);
116 JSuperFrame2D_t buffer;
121 STATUS(
"event: " << setw(10) <<
in.getCounter() <<
'\r');
DEBUG(endl);
123 Evt*
event =
in.next();
125 const int frame_index = 1;
133 for (JDAQTimeslice::const_iterator super_frame = timeslice.begin(); super_frame != timeslice.end(); ++super_frame) {
135 if (moduleRouter.hasModule(super_frame->getModuleID())) {
139 const JModule& module =
detector.getModule(moduleRouter.getAddress(super_frame->getModuleID()));
141 buffer(*super_frame, module);
145 buildL1(buffer, back_inserter(dataL1));
147 if (!dataL1.empty()) {
151 JFrameL1_t d1(dataL1);
154 for (
int i = 1; i <= hn.GetNbinsX(); ++i) {
156 buildL2.numberOfHits = (int) hn.GetBinCenter(i);
160 buildL2(buffer, d1, back_inserter(d2));
162 hn.Fill((
double) buildL2.numberOfHits, (
double) d2.size() / (double) dataL1.size());
169 if (!dataL1.empty()) {
173 JFrameL1_t d1(dataL1);
176 for (
int i = 1; i <= hc.GetNbinsX(); ++i) {
178 buildL2.ctMin = hc.GetBinCenter(i);
182 buildL2(buffer, d1, back_inserter(d2));
184 hc.Fill(buildL2.ctMin, (
double) d2.size() / (double) dataL1.size());
191 if (!dataL1.empty()) {
195 JFrameL1_t d1(dataL1);
198 for (
int i = ht.GetNbinsX(); i != 0; --i) {
200 buildL2.TMaxLocal_ns = ht.GetBinCenter(i);
204 buildL2(buffer, d1, back_inserter(d2));
206 ht.Fill(buildL2.TMaxLocal_ns, (
double) d2.size() / (double) dataL1.size());
Utility class to parse command line options.
Data structure for a composite optical module.
Router for direct addressing of module data in detector data structure.
Empty structure for specification of parser element that is initialised (i.e. does not require input)...
Data structure for UTC time.
double getTimeOfFrame(const int frame_index)
Get start time of frame in ns since start of run for a given frame index.
Auxiliary class for defining the range of iterations of objects.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
double getFrameTime()
Get frame time duration.
Auxiliary class for map of PMT parameters.
Data structure for L2 parameters.
void load(const std::string &file_name, JDetector &detector)
Load detector from input file.
General purpose class for object reading from a list of file names.
Auxiliary data structure for L1 build parameters.
2-dimensional frame with time calibrated data from one optical module.
const JLimit & getLimit() const
Get limit.
do set_variable DETECTOR_TXT $WORKDIR detector
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2] eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY JAcoustics sh $DETECTOR_ID source JAcousticsToolkit sh CHECK_EXIT_CODE typeset A EMITTERS get_tripods $WORKDIR tripod txt EMITTERS get_transmitters $WORKDIR transmitter txt EMITTERS for EMITTER in
Timeslice with Monte Carlo event.
The Evt class respresent a Monte Carlo (MC) event as well as an offline event.
#define DEBUG(A)
Message macros.