1 #ifndef JSHOWERDIRECTIONPREFIT_INCLUDE 
    2 #define JSHOWERDIRECTIONPREFIT_INCLUDE 
   55 namespace JRECONSTRUCTION {}
 
   56 namespace JPP { 
using namespace JRECONSTRUCTION; }
 
   58 namespace JRECONSTRUCTION {
 
   77     using JRegressor_t::operator();
 
  107       this->parameters.resize(2);
 
  136       for (JEvt::const_iterator shower = in.begin(); shower != in.end(); ++shower) {
 
  146         if(sh.getE() > 
E_GeV) {
 
  156         for (JDataL0_t::const_iterator 
i = dataL0.begin(); 
i != dataL0.end(); ++
i) {
 
  160             top.insert(
i->getPMTIdentifier());
 
  171         JOmega3D scan_directions(sh.getDirection(), 
 
  173                                  scan_angle * 
PI/180.0);
 
  175         for (JOmega3D_t::const_iterator dir = scan_directions.begin(); dir != scan_directions.end(); ++dir) {
 
  182           for (JDetectorSubset_t::iterator module = subdetector.begin();
 
  183                module != subdetector.end(); ++module) {
 
  188             for (
unsigned int i = 0; 
i != dom.size(); ++
i) {
 
  194               buffer.push_back(
JPMTW0(dom.
getPMT(
i), rate_Hz, top.count(
id)));
 
  199                                            JEnergy(
log10(sh.getE()))), buffer.begin(), buffer.end());
 
  203           JShower3E sh_fit(this->value.getPosition(), this->value.getDirection(),
 
  204                            this->value.getT(), this->value.getE());
 
  208           sh_fit.
add(sh.getPosition());
 
  211                                NDF, sh_fit.getE())); 
 
static int debug
debug level (default is off). 
 
Template definition of a data regressor of given model. 
 
double TMax_ns
maximum time for local coincidences [ns] 
 
static parameter_type pDX()
 
JEvt operator()(const KM3NETDAQ::JDAQEvent &event, const JFIT::JEvt &in)
Declaration of the member function that actually performs the reconstruction. 
 
int NMax
maximum number of iterations 
 
Data structure for direction in three dimensions. 
 
class to handle the direction fit of the shower reconstruction, mainly dedicated for ORCA ...
 
Data structure for a composite optical module. 
 
double getQuality(const double chi2, const int NDF)
Get quality of fit. 
 
Algorithms for hit clustering and sorting. 
 
std::vector< T >::difference_type distance(typename std::vector< T >::const_iterator first, typename PhysicsEvent::const_iterator< T > second)
Specialisation of STL distance. 
 
Template specialisation of L0 builder for JHitL0 data type. 
 
Auxiliary class for handling PMT geometry, rate and response. 
 
Data structure for vertex fit. 
 
const JSummaryRouter & summary
 
Router for direct addressing of module data in detector data structure. 
 
Data structure for fit parameters. 
 
double getRate() const 
Get default rate. 
 
*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
 
Direction set covering (part of) solid angle. 
 
double MaxAngle_deg_lowE
maximum scanning angle in [deg] for low energy events 
 
std::pair< double, double > range_type
 
double roadWidth_m
road width [m] 
 
Basic data structure for time and time over threshold information of hit. 
 
Data structure for detector geometry and calibration. 
 
Basic data structure for L0 hit. 
 
double scanAngle_deg_highE
scanning angle step in [deg] for high energy events 
 
Auxiliary class to extract a subset of optical modules from a detector. 
 
double scanAngle_deg_lowE
scanning angle step in [deg] for low energy events 
 
double DMin_m
radius of the hit selection for high energy events (used to speedup the code) 
 
Data structure for fit of straight line in positive z-direction with energy. 
 
JRegressor< JShower3EZ, JGandalf > JRegressor_t
 
JDirection3D getDirection(const Vec &dir)
Get direction. 
 
Data structure for vector in three dimensions. 
 
double MaxAngle_deg_highE
maximum scanning angle in [deg] for high energy events 
 
set_variable E_E log10(E_{fit}/E_{#mu})"
 
static const int JSHOWERDIRECTIONPREFIT
 
int getID() const 
Get identifier. 
 
JShowerDirectionPrefit(const JShowerDirectionPrefitParameters_t ¶meters, const JModuleRouter &router, const JSummaryRouter &summary, const std::string pdfFile, const int debug=0)
Parameterized constructor. 
 
JPosition3D getPosition(const Vec &pos)
Get position. 
 
JAxis3D & rotate_back(const JRotation3D &R)
Rotate back axis. 
 
static const double PI
Mathematical constants. 
 
Router for fast addressing of summary data in KM3NETDAQ::JDAQSummaryslice data structure as a functio...
 
const JPMT & getPMT(const int index) const 
Get PMT. 
 
void rotate(const JRotation3D &R)
Rotate module. 
 
Detector subset without binary search functionality. 
 
Fit method based on the Levenberg-Marquardt method. 
 
Reduced data structure for L1 hit. 
 
Regressor function object for JShower3EZ fit using JGandalf minimiser. 
 
then JCookie sh JDataQuality D $DETECTOR_ID R
 
const JClass_t & getReference() const 
Get reference to object. 
 
Data structure for set of track fit results. 
 
JFit getFit(const int id, const JMODEL::JString &string)
Get fit parameters of string. 
 
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2] eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY JAcoustics sh $DETECTOR_ID source JAcousticsToolkit sh CHECK_EXIT_CODE typeset A EMITTERS get_tripods $WORKDIR tripod txt EMITTERS get_transmitters $WORKDIR transmitter txt EMITTERS for EMITTER in
 
Simple fit method based on Powell's algorithm, see reference: Numerical Recipes in C++...
 
double VMax_npe
maximum number of of photo-electrons 
 
static parameter_type pDY()
 
int mestimator
M-estimator. 
 
then if[[!-f $DETECTOR]] then JDetector sh $DETECTOR fi cat $WORKDIR trigger_parameters txt<< EOFtrigger3DMuon.enabled=1;trigger3DMuon.numberOfHits=5;trigger3DMuon.gridAngle_deg=1;ctMin=0.0;TMaxLocal_ns=15.0;EOF set_variable TRIGGEREFFICIENCY_TRIGGERED_EVENTS_ONLY INPUT_FILES=() for((i=1;$i<=$NUMBER_OF_RUNS;++i));do JSirene.sh $DETECTOR $JPP_DATA/genhen.km3net_wpd_V2_0.evt.gz $WORKDIR/sirene_ ${i}.root JTriggerEfficiency.sh $DETECTOR $DETECTOR $WORKDIR/sirene_ ${i}.root $WORKDIR/trigger_efficiency_ ${i}.root $WORKDIR/trigger_parameters.txt $JPP_DATA/PMT_parameters.txt INPUT_FILES+=($WORKDIR/trigger_efficiency_ ${i}.root) done for ANGLE_DEG in $ANGLES_DEG[*];do set_variable SIGMA_NS 3.0 set_variable OUTLIERS 3 set_variable OUTPUT_FILE $WORKDIR/matrix\[${ANGLE_DEG}\deg\].root $JPP_DIR/examples/JReconstruction-f"$INPUT_FILES[*]"-o $OUTPUT_FILE-S ${SIGMA_NS}-A ${ANGLE_DEG}-O ${OUTLIERS}-d ${DEBUG}--!fiif[[$OPTION=="plot"]];then if((0));then for H1 in h0 h1;do JPlot1D-f"$WORKDIR/matrix["${^ANGLES_DEG}" deg].root:${H1}"-y"1 2e3"-Y-L TR-T""-\^"number of events [a.u.]"-> o chi2
 
int getCount(const T &hit)
Get hit count. 
 
Data regression method for JFIT::JShower3EZ. 
 
const JModuleRouter & router
 
static double Vmax_npe
Maximal integral of PDF [npe]. 
 
Data structure for fit of energy. 
 
static JTimeRange T_ns
Time window with respect to Cherenkov hypothesis [ns]. 
 
static int MAXIMUM_ITERATIONS
maximal number of iterations 
 
JMEstimator * getMEstimator(const int type)
Get M-Estimator. 
 
Template specialisation of class JModel to match hit with bright point. 
 
Data structure for normalised vector in positive z-direction. 
 
double TMin_ns
minimum time for local coincidences [ns] 
 
JVector3D & add(const JVector3D &vector)
Add vector. 
 
Match operator for Cherenkov light from shower in any direction. 
 
Basic data structure for L1 hit.