55 int main(
int argc, 
char **argv)
 
   62   JLimit_t&      numberOfEvents = inputFile.getLimit();
 
   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));
 
  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);
 
  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;
 
Algorithms for hit clustering and sorting.
 
Data structure for detector geometry and calibration.
 
Basic data structure for L0 hit.
 
int main(int argc, char **argv)
 
Basic data structure for L1 hit.
 
General purpose messaging.
 
#define DEBUG(A)
Message macros.
 
Direct access to module in detector data structure.
 
Utility class to parse command line options.
 
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
 
I/O formatting auxiliaries.
 
ROOT TTree parameter settings of various packages.
 
Basic data structure for time and time over threshold information of hit.
 
Synchronously read DAQ events and Monte Carlo events (and optionally other events).
 
Router for direct addressing of module data in detector data structure.
 
double getT(const JVector3D &pos) const
Get arrival time of Cherenkov light at given position.
 
Utility class to parse command line options.
 
counter_type getCounter() const
Get counter.
 
Template specialisation of L0 builder for JHitL0 data type.
 
Template specialisation of L2 builder for JHitL2 data type.
 
2-dimensional frame with time calibrated data from one optical module.
 
Auxiliary class to convert DAQ hit time to/from Monte Carlo hit time.
 
double getTime() const
Get DAQ/trigger time minus Monte Carlo time.
 
const JPolynome f1(1.0, 2.0, 3.0)
Function.
 
JTrack3E getTrack(const Trk &track)
Get track.
 
JPosition3D getPosition(const Vec &pos)
Get position.
 
bool is_muon(const Trk &track)
Test whether given track is a (anti-)muon.
 
Vec getOffset(const JHead &header)
Get offset.
 
void load(const std::string &file_name, JDetector &detector)
Load detector from input file.
 
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
 
Head getHeader(const JMultipleFileScanner_t &file_list)
Get Monte Carlo header.
 
KM3NeT DAQ data structures and auxiliaries.
 
static const int NUMBER_OF_PMTS
Total number of PMTs in module.
 
The Evt class respresent a Monte Carlo (MC) event as well as an offline event.
 
Auxiliary data structure for floating point format specification.
 
General purpose class for multiple pointers.
 
Auxiliary class for defining the range of iterations of objects.
 
Auxiliary class to synchronously read DAQ events and Monte Carlo events (and optionally other events)...
 
virtual bool hasNext() override
Check availability of next element.
 
virtual const multi_pointer_type & next() override
Get next element.
 
Data structure for L2 parameters.
 
The Vec class is a straightforward 3-d vector, which also works in pyroot.
 
Auxiliary include file for time conversion between DAQ/trigger hit and Monte Carlo hit.