Jpp  18.6.0-rc.1
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Public Attributes | Private Types | List of all members
JRECONSTRUCTION::JShowerFit Class Reference

class to handle the direction fit of the shower reconstruction, mainly dedicated for ORCA More...

#include <JShowerFit.hh>

Inheritance diagram for JRECONSTRUCTION::JShowerFit:
JRECONSTRUCTION::JShowerFitParameters_t JFIT::JRegressor< JModel_t, JMinimiser_t > TObject

Public Member Functions

 JShowerFit (const JShowerFitParameters_t &parameters, const JModuleRouter &router, const JSummaryRouter &summary, const std::string pdfFile, const JShowerEnergyCorrection &correct, const int debug=0)
 Parameterized constructor. More...
 
JEvt operator() (const KM3NETDAQ::JDAQEvent &event, const JFIT::JEvt &in)
 Declaration of the member function that actually performs the reconstruction. More...
 
void reset ()
 Reset fit parameters. More...
 
bool equals (const JShowerFitParameters_t &parameters) const
 Equality. More...
 
 ClassDef (JShowerFitParameters_t, 1)
 

Public Attributes

const JModuleRouterrouter
 
const JSummaryRoutersummary
 
const JShowerEnergyCorrectioncorrect
 
size_t numberOfPrefits
 number of prefits More...
 
double TMax_ns
 maximum time for local coincidences [ns] More...
 
double TMin_ns
 minimum time for local coincidences [ns] More...
 
double DStep_m
 step increase for the distance to optical module [m] More...
 
double R_Hz
 default rate [Hz] More...
 
int mestimator
 M-estimator. More...
 
double Vmax_npe
 maximum number of of photo-electrons More...
 
double DMax_m
 maximal distance to optical module [m] More...
 
double epsilon
 tolerance for minimisation More...
 

Private Types

typedef JRegressor< JShower3EZ,
JGandalf
JRegressor_t
 

Detailed Description

class to handle the direction fit of the shower reconstruction, mainly dedicated for ORCA

Definition at line 72 of file JShowerFit.hh.

Member Typedef Documentation

Definition at line 77 of file JShowerFit.hh.

Constructor & Destructor Documentation

JRECONSTRUCTION::JShowerFit::JShowerFit ( const JShowerFitParameters_t parameters,
const JModuleRouter router,
const JSummaryRouter summary,
const std::string  pdfFile,
const JShowerEnergyCorrection correct,
const int  debug = 0 
)
inline

Parameterized constructor.

Parameters
parametersstruct that holds default-optimized parameters for the reconstruction, available in $JPP_DATA.
routermodule router, this is built via detector file.
summarysummary router
pdfFilePDF file
correctenergy correction
debugdebug

Definition at line 92 of file JShowerFit.hh.

97  :
98  JShowerFitParameters_t(parameters),
99  JRegressor_t(pdfFile),
100  router(router),
101  summary(summary),
102  correct(correct)
103  {
104  using namespace JPP;
105 
107  JRegressor_t::T_ns.setRange(parameters.TMin_ns, parameters.TMax_ns);
108  JRegressor_t::Vmax_npe = parameters.Vmax_npe;
110  JRegressor_t::EPSILON = parameters.epsilon;
111  this->parameters.resize(3);
112 
113  this->parameters[0] = JShower3EZ::pDX();
114  this->parameters[1] = JShower3EZ::pDY();
115  this->parameters[2] = JShower3EZ::pE();
116 
117  this->estimator.reset(getMEstimator(parameters.mestimator));
118  }
static int debug
debug level (default is off).
Definition: JMessage.hh:45
double TMax_ns
maximum time for local coincidences [ns]
static parameter_type pDX()
Definition: JShower3Z.hh:171
static double EPSILON
maximal distance to minimum
Definition: JGandalf.hh:323
double TMin_ns
minimum time for local coincidences [ns]
const JModuleRouter & router
Definition: JShowerFit.hh:210
const JShowerEnergyCorrection & correct
Definition: JShowerFit.hh:212
const JSummaryRouter & summary
Definition: JShowerFit.hh:211
double epsilon
tolerance for minimisation
static parameter_type pE()
Definition: JShower3EZ.hh:205
JRegressor< JShower3EZ, JGandalf > JRegressor_t
Definition: JShowerFit.hh:77
static parameter_type pDY()
Definition: JShower3Z.hh:172
static double Vmax_npe
Maximal integral of PDF [npe].
static JTimeRange T_ns
Time window with respect to Cherenkov hypothesis [ns].
static int MAXIMUM_ITERATIONS
maximal number of iterations
Definition: JGandalf.hh:322
double Vmax_npe
maximum number of of photo-electrons
JMEstimator * getMEstimator(const int type)
Get M-Estimator.
Definition: JMEstimator.hh:203
int debug
debug level

Member Function Documentation

JEvt JRECONSTRUCTION::JShowerFit::operator() ( const KM3NETDAQ::JDAQEvent event,
const JFIT::JEvt in 
)
inline

Declaration of the member function that actually performs the reconstruction.

Parameters
event= JDAQEvent
in= input fits

Definition at line 126 of file JShowerFit.hh.

127  {
128  using namespace std;
129  using namespace JPP;
130 
131  typedef vector<JHitL0> JDataL0_t;
132  JBuildL0<JHitL0> buildL0;
133 
134  JEvt out;
135 
137 
138  JDataL0_t dataL0;
139 
140  buildL0(JDAQTimeslice(event, true), router, back_inserter(dataL0));
141 
142  for (JEvt::const_iterator shower = in.begin(); shower != in.end(); ++shower) {
143 
144  const JVertex3D Vertex(getPosition(*shower), shower->getT());
145 
147 
148  const double distance = DMax_m + DStep_m * log10(shower->getE());
149 
150  const JFIT::JModel<JPoint4D> match(Vertex, distance, JRegressor_t::T_ns);
151 
152  for (JDataL0_t::const_iterator i = dataL0.begin(); i != dataL0.end(); ++i) {
153  if (match(*i)) {
154  top.insert(i->getPMTIdentifier());
155  }
156  }
157 
158  const JDetectorSubset_t subdetector(detector, Vertex.getPosition(), distance);
159 
160  const JRotation3D R(getDirection(*shower));
161 
162  vector<JPMTW0> buffer;
163 
164  for (JDetectorSubset_t::const_iterator module = subdetector.begin();
165  module != subdetector.end(); ++module) {
166 
167  const JDAQSummaryFrame& frame = summary.getSummaryFrame(module->getID());
168 
169  JModule dom(*module);
170 
171  dom.rotate(R);
172 
173  for (size_t i = 0; i != dom.size(); ++i) {
174 
175  if (getDAQStatus(frame, *module, i) &&
176  getPMTStatus(frame, *module, i) &&
177  frame[i].is_valid() &&
178  !module->getPMT(i).has(PMT_DISABLE)) {
179  const JDAQPMTIdentifier id(module->getID(), i);
180 
181  const double rate_Hz = summary.getRate(id);
182  const size_t count = top.count(id);
183 
184  buffer.push_back(JPMTW0(dom.getPMT(i), rate_Hz, count));
185  }
186  }
187  }
188 
189  double chi2 = (*this)(JShower3EZ(JVertex3D(JVector3D(0,0,0), shower->getT()), JVersor3Z(),
190  shower->getE()), buffer.begin(), buffer.end());
191 
192  double NDF = getCount(buffer.begin(), buffer.end()) - this->parameters.size();
193 
194  JShower3E sh_fit(this->value.getPosition(), this->value.getDirection(),
195  this->value.getT(), correct(this->value.getE()));
196 
197  sh_fit.rotate_back(R);
198 
199  sh_fit.add(Vertex.getPosition());
200 
201  out.push_back(getFit(JHistory(shower->getHistory()).add(JSHOWERCOMPLETEFIT), sh_fit, getQuality(chi2),
202  NDF, sh_fit.getE()));
203 
204  out.rbegin()->setW(JSHOWERFIT_ENERGY, this->value.getE()); // Uncorrected Energy
205  }
206 
207  return out;
208  }
Data structure for a composite optical module.
Definition: JModule.hh:67
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.
Definition: JBuildL0.hh:102
Auxiliary class for handling PMT geometry, rate and response.
Definition: JPMTW0.hh:22
Detector data structure.
Definition: JDetector.hh:89
double DMax_m
maximal distance to optical module [m]
Rotation matrix.
Definition: JRotation3D.hh:111
double getRate() const
Get default rate.
then usage $script< input file >[option] nPossible options count
Definition: JVolume1D.sh:31
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.
*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
Definition: diff-Tuna.sh:38
const JModuleRouter & router
Definition: JShowerFit.hh:210
const JDAQSummaryFrame & getSummaryFrame() const
Get default summary frame.
3D track with energy.
Definition: JTrack3E.hh:30
double getQuality(const double chi2, const int N, const int NDF)
Get quality of fit.
const JShowerEnergyCorrection & correct
Definition: JShowerFit.hh:212
const JSummaryRouter & summary
Definition: JShowerFit.hh:211
static const int JSHOWERFIT_ENERGY
uncorrected energy [GeV] from JShowerFit.cc
Data structure for fit of straight line in positive z-direction with energy.
Definition: JShower3EZ.hh:27
Detector file.
Definition: JHead.hh:226
Data structure for vector in three dimensions.
Definition: JVector3D.hh:34
Acoustic event fit.
set_variable E_E log10(E_{fit}/E_{#mu})"
Data storage class for rate measurements of all PMTs in one module.
static const int PMT_DISABLE
KM3NeT Data Definitions v3.3.0-2-g5cc95cf https://git.km3net.de/common/km3net-dataformat.
Definition: pmt_status.hh:12
JDirection3D getDirection(const JFit &fit)
Get direction.
Data time slice.
Detector subset without binary search functionality.
static const int JSHOWERCOMPLETEFIT
then JCookie sh JDataQuality D $DETECTOR_ID R
Definition: JDataQuality.sh:41
bool getPMTStatus(const JStatus &status)
Test status of PMT.
JFIT::JHistory JHistory
Definition: JHistory.hh:354
const JClass_t & getReference() const
Get reference to object.
Definition: JReference.hh:38
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
Definition: JMatrixNZ.sh:106
int getCount(const T &hit)
Get hit count.
JPosition3D getPosition(const JFit &fit)
Get position.
static JTimeRange T_ns
Time window with respect to Cherenkov hypothesis [ns].
bool getDAQStatus(const JDAQFrameStatus &frame, const JStatus &status)
Test status of DAQ.
Template specialisation of class JModel to match hit with bright point.
Definition: JFit/JModel.hh:121
Data structure for normalised vector in positive z-direction.
Definition: JVersor3Z.hh:39
double DStep_m
step increase for the distance to optical module [m]
void JRECONSTRUCTION::JShowerFitParameters_t::reset ( )
inlineinherited

Reset fit parameters.

Definition at line 35 of file JShowerFitParameters_t.hh.

36  {
37  numberOfPrefits = 4;
38  TMax_ns = 30;
39  TMin_ns = -30;
40  DStep_m = 5;
41  DMax_m = 60;
42  R_Hz = 10.0e3;
44  Vmax_npe = 20;
45  epsilon = 0.001;
46  }
double TMax_ns
maximum time for local coincidences [ns]
double TMin_ns
minimum time for local coincidences [ns]
double DMax_m
maximal distance to optical module [m]
double epsilon
tolerance for minimisation
double Vmax_npe
maximum number of of photo-electrons
double DStep_m
step increase for the distance to optical module [m]
bool JRECONSTRUCTION::JShowerFitParameters_t::equals ( const JShowerFitParameters_t parameters) const
inlineinherited

Equality.

Parameters
parametersfit parameters
Returns
true if equals; else false

Definition at line 54 of file JShowerFitParameters_t.hh.

55  {
56  return (this->TMax_ns == parameters.TMax_ns &&
57  this->TMin_ns == parameters.TMin_ns &&
58  this->numberOfPrefits == parameters.numberOfPrefits &&
59  this->DStep_m == parameters.DStep_m &&
60  this->DMax_m == parameters.DMax_m &&
61  this->R_Hz == parameters.R_Hz &&
62  this->mestimator == parameters.mestimator &&
63  this->Vmax_npe == parameters.Vmax_npe &&
64  this->epsilon == parameters.epsilon);
65  }
double TMax_ns
maximum time for local coincidences [ns]
*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
Definition: diff-Tuna.sh:38
then usage $script< detector file >< detectorfile > nIf the range of floors is the first detector file is aligned to the second before the comparison nIn this
JRECONSTRUCTION::JShowerFitParameters_t::ClassDef ( JShowerFitParameters_t  ,
 
)
inherited

Member Data Documentation

const JModuleRouter& JRECONSTRUCTION::JShowerFit::router

Definition at line 210 of file JShowerFit.hh.

const JSummaryRouter& JRECONSTRUCTION::JShowerFit::summary

Definition at line 211 of file JShowerFit.hh.

const JShowerEnergyCorrection& JRECONSTRUCTION::JShowerFit::correct

Definition at line 212 of file JShowerFit.hh.

size_t JRECONSTRUCTION::JShowerFitParameters_t::numberOfPrefits
inherited

number of prefits

Definition at line 70 of file JShowerFitParameters_t.hh.

double JRECONSTRUCTION::JShowerFitParameters_t::TMax_ns
inherited

maximum time for local coincidences [ns]

Definition at line 71 of file JShowerFitParameters_t.hh.

double JRECONSTRUCTION::JShowerFitParameters_t::TMin_ns
inherited

minimum time for local coincidences [ns]

Definition at line 72 of file JShowerFitParameters_t.hh.

double JRECONSTRUCTION::JShowerFitParameters_t::DStep_m
inherited

step increase for the distance to optical module [m]

Definition at line 73 of file JShowerFitParameters_t.hh.

double JRECONSTRUCTION::JShowerFitParameters_t::R_Hz
inherited

default rate [Hz]

Definition at line 74 of file JShowerFitParameters_t.hh.

int JRECONSTRUCTION::JShowerFitParameters_t::mestimator
inherited

M-estimator.

Definition at line 75 of file JShowerFitParameters_t.hh.

double JRECONSTRUCTION::JShowerFitParameters_t::Vmax_npe
inherited

maximum number of of photo-electrons

Definition at line 76 of file JShowerFitParameters_t.hh.

double JRECONSTRUCTION::JShowerFitParameters_t::DMax_m
inherited

maximal distance to optical module [m]

Definition at line 77 of file JShowerFitParameters_t.hh.

double JRECONSTRUCTION::JShowerFitParameters_t::epsilon
inherited

tolerance for minimisation

Definition at line 78 of file JShowerFitParameters_t.hh.


The documentation for this class was generated from the following file: