67 int main(
int argc,
char **argv)
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
ROOT TTree parameter settings.
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.
Auxiliary method to locate start and end point of muon trajectory.
Regressor function object for JEnergy fit.
Recording of objects on file according a format that follows from the file name extension.
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.
T find(T __begin, T __end) const
Get start or end point of muon trajectory.
Basic data structure for time and time over threshold information of hit.
JFit & add(const int type)
Add event to history.
Data structure for detector geometry and calibration.
void transform(const JRotation3D &R, const JVector3D &pos)
Transform position.
Various implementations of functional maps.
static const int JSTART_NPE_MIP
number of photo-electrons up to the barycentre from JStart.cc
Scanning of objects from a single file according a format that follows from the extension of each fil...
Auxiliary class to extract a subset of optical modules from a detector.
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.
I/O formatting auxiliaries.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
Auxiliary class for start or end point evaluation.
Auxiliary class to test history.
Parallel scanning of objects from a single file or multiple files according a format that follows fro...
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
General purpose messaging.
Direct access to module in detector data structure.
Reduced data structure for L1 hit.
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.
Utility class to parse command line options.
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.
Data regression method for JFIT::JEnergy.
JPosition3D & rotate(const JRotation3D &R)
Rotate.
void select(const JSelector_t &selector)
Select fits.
Maximum likelihood estimator (M-estimators).
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.
int main(int argc, char *argv[])