59   using namespace KM3NETDAQ;
 
   71     JParser<> zap(
"Example program to determine time slewing of L1 hits.");
 
   76     zap[
'n'] = 
make_field(numberOfEvents)      = JLimit::max();
 
   83   catch(
const exception& error) {
 
   84     FATAL(error.what() << endl);
 
  109   const double xmin = -25.0;   
 
  110   const double xmax = +25.0;   
 
  116     os << 
"M[" << setfill(
'0') << setw(2) << 
i << 
"]";
 
  118     H1D.push_back(
new TH1D(os.str().c_str(), NULL, nx, 
xmin, 
xmax));
 
  130   while (inputFile.hasNext()) {
 
  132     STATUS(
"event: " << setw(10) << inputFile.getCounter() << 
'\r'); 
DEBUG(endl);
 
  137     const Evt*       
event = ps;
 
  143     if (muon != event->mc_trks.end()) {
 
  152       buildL0(*tev, router, 
true, back_inserter(dataL0));
 
  153       buildL2(*tev, router, 
true, back_inserter(dataL2));
 
  157       sort(dataL2.begin(), dataL2.end(), timeSorter<JHitL2>);
 
  159       dataL2.erase(unique(dataL2.begin(), dataL2.end(), equal_to<JDAQModuleIdentifier>()), dataL2.end());
 
  161       for (JDataL0_t::const_iterator hit = dataL0.begin(); hit != dataL0.end(); ++hit) {
 
  163         const double t0    = trk.
getT(*hit);
 
  164         const double t1    = converter.getTime(hit->getT());
 
  166         H1D[1]->Fill(t1 - t0);
 
  170       for (JDataL2_t::const_iterator hit = dataL2.begin(); hit != dataL2.end(); ++hit) {
 
  172         const double t0    = trk.
getT(*hit);
 
  173         const double t1    = converter.getTime(hit->begin()->getT());
 
  174         const size_t index = min(hit->size(), H1D.size() - 1);
 
  176         H1D[index]->Fill(t1 - t0);
 
  183   TF1 
f1(
"f1", 
"[0]*exp(-0.5*(x-[1])*(x-[1])/([2]*[2])) + [3]");
 
  185   string option = 
"LL";
 
  198     Double_t 
sigma = 2.0;    
 
  201     for (
int i = 1; i != (*h1)->GetNbinsX(); ++
i) {
 
  203       const Double_t 
x = (*h1)->GetBinCenter (i);
 
  204       const Double_t 
y = (*h1)->GetBinContent(i);
 
  212     f1.SetParameter(0, ymax);
 
  213     f1.SetParameter(1, x0);
 
  214     f1.SetParameter(2, sigma);
 
  215     f1.FixParameter(3, ymin);
 
  217     for (Int_t i = 0; i != 
f1.GetNpar(); ++
i) {
 
  218       f1.SetParError(i, 0.0);
 
  224     (*h1)->Fit(&
f1, option.c_str(), 
"same", x0 - 3 * 
sigma, x0 + 3 * 
sigma);
 
  227     cout << 
"\tt0.push_back(" << showpos << 
FIXED(4,2) << 
f1.GetParameter(1) << 
");" << endl;
 
Utility class to parse command line options. 
Vec getOffset(const JHead &header)
Get offset. 
JTrack3E getTrack(const Trk &track)
Get track. 
Template specialisation of L0 builder for JHitL0 data type. 
bool is_muon(const Trk &track)
Test whether given track is a (anti-)muon. 
Router for direct addressing of module data in detector data structure. 
Auxiliary class to synchronously read DAQ events and Monte Carlo events (and optionally other events)...
Auxiliary class to convert DAQ hit time to/from Monte Carlo hit time. 
Auxiliary data structure for floating point format specification. 
Head getHeader(const JMultipleFileScanner_t &file_list)
Get Monte Carlo header. 
const JPolynome f1(1.0, 2.0, 3.0)
Function. 
Auxiliary class for defining the range of iterations of objects. 
The Vec class is a straightforward 3-d vector, which also works in pyroot. 
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object 
Template specialisation of L2 builder for JHitL2 data type. 
JPosition3D getPosition(const Vec &pos)
Get position. 
double getT(const JVector3D &pos) const 
Get arrival time of Cherenkov light at given position. 
Data structure for L2 parameters. 
void load(const std::string &file_name, JDetector &detector)
Load detector from input file. 
2-dimensional frame with time calibrated data from one optical module. 
const JLimit & getLimit() const 
Get limit. 
do set_variable DETECTOR_TXT $WORKDIR detector
static const int NUMBER_OF_PMTS
Total number of PMTs in module. 
General purpose class for multiple pointers. 
The Evt class respresent a Monte Carlo (MC) event as well as an offline event. 
#define DEBUG(A)
Message macros.