11 #include "evt/Head.hh" 
   50 int main(
int argc, 
char **argv)
 
   55   JMultipleFileScanner<Evt> inputFile;
 
   59   JPMTParametersMap      pmtParameters;
 
   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;
 
   90     load(detectorFile, detector);
 
   92   catch(
const JException& error) {
 
   96   JDetectorSimulator simbad(detector);
 
   98   simbad.reset(
new JPMTDefaultSimulator(pmtParameters, detector));
 
   99   simbad.reset(
new JCLBDefaultSimulator());
 
  104   TProfile hn(
"hn", NULL, 31,  0.5,  +31.5);
 
  105   TProfile hc(
"hc", NULL, 21, -1.05, +1.05);
 
  106   TProfile ht(
"ht", NULL, 20,  0.5,  +20.5);
 
  109   const JModuleRouter moduleRouter(detector);
 
  121   for (JMultipleFileScanner<Evt>& in = inputFile; in.hasNext(); ) {
 
  123     STATUS(
"event: " << setw(10) << in.getCounter() << 
'\r'); 
DEBUG(endl);
 
  125     Evt* 
event = in.next();
 
  127     const int frame_index = 1;
 
  135     for (JDAQTimeslice::const_iterator super_frame = timeslice.begin(); super_frame != timeslice.end(); ++super_frame) {
 
  137       if (moduleRouter.hasModule(super_frame->getModuleID())) {
 
  141         const JModule& module = detector.getModule(moduleRouter.getAddress(super_frame->getModuleID()));
 
  143         buffer(*super_frame, module);
 
  147         buildL1(buffer, back_inserter(dataL1));
 
  149         if (!dataL1.empty()) {
 
  151           JBuildL2<hit_type> buildL2(1, Tmax_ns, -1.0);
 
  156           for (
int i = 1; i <= hn.GetNbinsX(); ++i) {
 
  158             buildL2.numberOfHits = (int) hn.GetBinCenter(i);
 
  162             buildL2(buffer, d1, back_inserter(d2)); 
 
  164             hn.Fill((
double) buildL2.numberOfHits, (
double) d2.size() / (double) dataL1.size());
 
  171         if (!dataL1.empty()) {
 
  173           JBuildL2<hit_type> buildL2(2, Tmax_ns, -1.0);
 
  178           for (
int i = 1; i <= hc.GetNbinsX(); ++i) {
 
  180             buildL2.ctMin = hc.GetBinCenter(i);
 
  184             buildL2(buffer, d1, back_inserter(d2)); 
 
  186             hc.Fill(buildL2.ctMin, (
double) d2.size() / (double) dataL1.size());
 
  193         if (!dataL1.empty()) {
 
  195           JBuildL2<hit_type> buildL2(2, 0.0, -1.0);
 
  200           for (
int i = ht.GetNbinsX(); i != 0; --i) {
 
  202             buildL2.TMaxLocal_ns = ht.GetBinCenter(i);
 
  206             buildL2(buffer, d1, back_inserter(d2)); 
 
  208             ht.Fill(buildL2.TMaxLocal_ns, (
double) d2.size() / (double) dataL1.size());
 
Utility class to parse command line options. 
 
Timeslice with Monte Carlo event. 
 
Structure to store the ToT mean and standard deviation of the hits produced by a nanobeacon in a sour...
 
Empty structure for specification of parser element that is initialised (i.e. 
 
JSuperFrame2D< hit_type > JSuperFrame2D_t
 
Data structure for UTC time. 
 
Data structure for detector geometry and calibration. 
 
double getTimeOfFrame(const int frame_index)
Get start time of frame in ns since start of run for a given frame index. 
 
Basic data structure for L0 hit. 
 
JLimit JLimit_t
Type definition of limit. 
 
JBuildL1< hit_type > JBuildL1_t
 
Basic data structure for time and time over threshold information of hit. 
 
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object 
 
double getFrameTime()
Get frame time duration. 
 
void load(const JString &file_name, JDetector &detector)
Load detector from input file. 
 
General purpose messaging. 
 
Scanning of objects from multiple files according a format that follows from the extension of each fi...
 
Direct access to module in detector data structure. 
 
vector< hit_type > JFrameL1_t
 
Utility class to parse command line options. 
 
ROOT TTree parameter settings. 
 
2-dimensional frame with time calibrated data from one optical module. 
 
const JLimit & getLimit() const 
Get limit. 
 
Basic data structure for L1 hit. 
 
#define DEBUG(A)
Message macros. 
 
int main(int argc, char *argv[])