Declaration of the member function that actually performs the reconstruction.
166 for (JEvt::const_iterator shower = in.begin(); shower != in.end(); ++shower) {
177 for (JDataL0_t::const_iterator
i = dataL0.begin();
i != dataL0.end(); ++
i) {
180 top.insert(
i->getPMTIdentifier());
186 for (JDetector::const_iterator module = subdetector.begin(); module != subdetector.end(); ++module) {
188 for (
size_t i = 0;
i != module->size(); ++
i) {
198 const int NDF = data.size() - 1;
207 for (
int i = 0;
i !=
N; ++
i) {
217 for (
int i = 0;
i !=
N; ++
i) {
221 result[
i].chi2 = (*this)(result[
i].x, data.begin(), data.end());
225 if (result[i].
chi2 < result[j].
chi2) {
235 result[4] = result[1];
236 result[2] = JResult(0.5 * (result[0].
x + result[4].
x));
240 result[4] = result[2];
241 result[2] = result[1];
245 result[0] = result[1];
246 result[4] = result[3];
250 result[0] = result[2];
251 result[2] = result[3];
255 result[0] = result[3];
256 result[2] = JResult(0.5 * (result[0].
x + result[4].
x));
260 result[1] = JResult(0.5 * (result[0].
x + result[2].
x));
261 result[3] = JResult(0.5 * (result[2].
x + result[4].
x));
266 if (result[1].
chi2 != result[3].
chi2) {
268 result[2].x += 0.25 * (result[3].x - result[1].x) * (result[1].chi2 - result[3].chi2) / (result[1].chi2 + result[3].chi2 - 2*result[2].chi2);
270 result[2].chi2 = (*this)(result[2].x, data.begin(), data.end());
275 const double E = result[2].x.getE();
277 JShower3E sh_fit(sh.getPosition(), sh.getDirection(), sh.getT(),
E);
282 shower->getNDF(), sh_fit.getE()));
double roadWidth_m
road width [m]
then usage $script< input file >[option[primary[working directory]]] nWhere option can be E
Template specialisation of L0 builder for JHitL0 data type.
const JSummaryRouter & summary
Data structure for vertex fit.
double getRate() const
Get default rate.
double resolution
energy resolution [log10(GeV)]
JFit getFit(const JHistory &history, const JTrack3D &track, const double Q, const int NDF, const double energy=0.0, const int status=SINGLE_STAGE)
Get fit.
static const int JSHOWERENERGYPREFIT
set_variable E_E log10(E_{fit}/E_{#mu})"
double Emax_GeV
maximum energy [GeV]
JDirection3D getDirection(const JFit &fit)
Get direction.
static JTimeRange T_ns
Time window with respect to Cherenkov hypothesis [ns].
Detector subset without binary search functionality.
then usage $script< input file >[option[primary[working directory]]] nWhere option can be N
const JClass_t & getReference() const
Get reference to object.
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
Auxiliary class for simultaneously handling light yields and response of PMT.
JPosition3D getPosition(const JFit &fit)
Get position.
double getNPE(const Hit &hit)
Get true charge of hit.
Template specialisation of class JModel to match hit with bright point.
const JModuleRouter & router
double Emin_GeV
minimum energy [GeV]