62 JLimit_t& numberOfEvents = inputFile.getLimit();
71 JParser<> zap(
"Example program to determine time slewing of L1 hits.");
83 catch(
const exception& error) {
109 const double xmin = -25.0;
110 const double xmax = +25.0;
118 H1D.push_back(
new TH1D(os.str().c_str(),
NULL,
nx, xmin, xmax));
130 while (inputFile.hasNext()) {
137 const Evt*
event = ps;
143 if (muon != event->mc_trks.end()) {
161 for (JDataL0_t::const_iterator
hit = dataL0.begin();
hit != dataL0.end(); ++
hit) {
163 const double t0 =
trk.getT(*
hit);
166 H1D[1]->Fill(t1 - t0);
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";
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);
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.
Template definition of a multi-dimensional oscillation probability interpolation table.
Auxiliary class to convert DAQ hit time to/from Monte Carlo hit time.
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.
static counter_type max()
Get maximum counter value.
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.