71 using namespace KM3NETDAQ;
74 typedef JParallelFileScanner_t::multi_pointer_type multi_pointer_type;
77 JParallelFileScanner_t inputFile;
87 JParser<> zap(
"Program to perform PDF fit of muon trajectory to data.");
92 zap[
'n'] =
make_field(numberOfEvents) = JLimit::max();
99 catch(
const exception& error) {
100 FATAL(error.what() << endl);
131 JRegressor_t fit(pdfFile);
142 while (inputFile.hasNext()) {
144 STATUS(
"event: " << setw(10) << inputFile.getCounter() <<
'\r');
DEBUG(endl);
146 multi_pointer_type ps = inputFile.next();
169 buildL0(*tev, router,
true, back_inserter(data));
172 for (JEvt::iterator track = cp.begin(); track != cp.end(); ++track) {
181 for (buffer_type::const_iterator i = data.begin(); i != data.end(); ++i) {
188 top.insert(hit.getModuleIdentifier());
194 for (JDetector::const_iterator i =
detector.begin(); i !=
detector.end(); ++i) {
196 const size_t count = top.count(i->getID());
219 double npe_total = 0.0;
229 if (track_start == data. end()) { track_start = data. begin(); }
230 if (track_end == data.rend()) { track_end = data.rbegin(); }
232 Zmin = track_start->getZ();
233 Zmax = track_end ->getZ();
237 if (i->getZ() <= 0.0) {
241 npe_total += i->getYA();
248 FIXED(6,4) << i->getY0() <<
' ' <<
249 FIXED(6,4) << i->getYA() <<
' ' <<
250 setw(1) << i->getN() <<
' ' <<
251 FIXED(6,4) << i->getP() << endl);
254 DEBUG(
" --> " <<
FIXED(6,1) << Zmin <<
' ' <<
FIXED(6,1) << Zmax << endl);
263 out.rbegin()->setW(track->getW());
273 copy(in->begin(), in->end(), back_inserter(out));
static const int JMUONSTART
Utility class to parse command line options.
static const int JSTART_NPE_MIP_TOTAL
number of photo-electrons along the whole track from JStart.cc
JComparator< JResult_t T::*, JComparison::lt > make_comparator(JResult_t T::*member)
Helper method to create comparator between values of data member.
Data structure for a composite optical module.
Regressor function object for JEnergy fit.
Router for direct addressing of module data in detector data structure.
esac print_variable DETECTOR INPUT_FILE OUTPUT_FILE CDF for TYPE in
*fatal Wrong number of arguments esac JCookie sh typeset Z DETECTOR typeset Z SOURCE_RUN typeset Z TARGET_RUN set_variable PARAMETERS_FILE $WORKDIR parameters
General purpose class for parallel reading of objects from a single file or multiple files...
Template specialisation of class JModel to match hit with muon trajectory along z-axis.
Auxiliary class to test history.
Empty structure for specification of parser element that is initialised (i.e. does not require input)...
Auxiliary data structure for floating point format specification.
JFit & add(const int type)
Add event to history.
void transform(const JRotation3D &R, const JVector3D &pos)
Transform position.
static const int JSTART_NPE_MIP
number of photo-electrons up to the barycentre from JStart.cc
Auxiliary class for defining the range of iterations of objects.
static const int JCOPY_Z_M
true vertex position along track [m] from JCopy.cc
Data structure for fit parameters.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
Auxiliary class for start or end point evaluation.
Auxiliary class to test history.
Auxiliary class for simultaneously handling light yields and response of PMT.
void load(const JString &file_name, JDetector &detector)
Load detector from input file.
then usage $script[distance] fi case set_variable R
static const int JSTART_LENGTH_METRES
distance between first and last hits in metres from JStart.cc
Data structure for set of track fit results.
void transform(const JRotation3D &R, const JVector3D &pos)
Transformation of geometry (see method JGEOMETRY3D::JPosition3D::transform(const JRotation3D&, const JVector3D&)).
Data structure for fit of straight line paralel to z-axis.
void copy(const Head &from, JHead &to)
Copy header from from to to.
Reduced data structure for L1 hit.
JDirection3D getDirection(const Vec &v)
Get direction.
Object reading from a list of files.
Data structure for position in three dimensions.
const JLimit & getLimit() const
Get limit.
JPosition3D & rotate(const JRotation3D &R)
Rotate.
void select(const JSelector_t &selector)
Select fits.
bool qualitySorter(const JRECONSTRUCTION::JFit &first, const JRECONSTRUCTION::JFit &second)
Comparison of fit results.
#define DEBUG(A)
Message macros.
JPosition3D getPosition(const Vec &v)
Get position.