Jpp master_rocky-44-g75b7c4f75
the software that should make you happy
Loading...
Searching...
No Matches
JRECONSTRUCTION::JShowerPointSimplex Class Reference

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

#include <JShowerPointSimplex.hh>

Inheritance diagram for JRECONSTRUCTION::JShowerPointSimplex:
JRECONSTRUCTION::JShowerPointSimplexParameters_t JFIT::JRegressor< JModel_t, JMinimiser_t > TObject

Public Member Functions

 JShowerPointSimplex (const JShowerPointSimplexParameters_t &parameters, const JModuleRouter &router, const int debug=0)
 Parameterized constructor.
 
JEvt operator() (const KM3NETDAQ::JDAQEvent &event, const JFIT::JEvt &in)
 Declaration of the member function that actually performs the reconstruction.
 
void reset ()
 Reset fit parameters.
 
bool equals (const JShowerPointSimplexParameters_t &parameters) const
 Equality.
 
 ClassDef (JShowerPointSimplexParameters_t, 2)
 

Public Attributes

const JModuleRouterrouter
 
size_t numberOfPrefits
 number of prefits
 
double sigma_ns
 time resolution [ns]
 
double TMaxLocal_ns
 time window for local coincidences [ns]
 
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 ctMin
 minimal cosine space angle between PMT axes
 
int mestimator
 m-estimator
 
int NMax
 maximum number of iterations
 

Private Types

typedef JRegressor< JPoint4D, JGandalfJRegressor_t
 
typedef JTRIGGER::JHitR1 hit_type
 
typedef std::vector< hit_typebuffer_type
 

Detailed Description

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

Definition at line 68 of file JShowerPointSimplex.hh.

Member Typedef Documentation

◆ JRegressor_t

◆ hit_type

◆ buffer_type

Constructor & Destructor Documentation

◆ JShowerPointSimplex()

JRECONSTRUCTION::JShowerPointSimplex::JShowerPointSimplex ( const JShowerPointSimplexParameters_t & parameters,
const JModuleRouter & router,
const int debug = 0 )
inline

Parameterized constructor.

Parameters
parametersstruct that holds default-optimized parameters for the reconstruction.
routermodule router, this is built via detector file.
debugdebug

Definition at line 89 of file JShowerPointSimplex.hh.

91 :
93 JRegressor_t(parameters.sigma_ns),
95 {
96 using namespace JPP;
97
98 JRegressor_t::debug = debug;
99 JRegressor_t::MAXIMUM_ITERATIONS = NMax;
100 JRegressor_t::EPSILON = 1e-4;
101 //this->estimator.reset(new JMEstimatorTukey(tukey_std_dev));
102 this->estimator.reset(getMEstimator(parameters.mestimator));
103 this->parameters.resize(4);
104 this->parameters[0] = JPoint4D::pX();
105 this->parameters[1] = JPoint4D::pY();
106 this->parameters[2] = JPoint4D::pZ();
107 this->parameters[3] = JPoint4D::pT();
108 }
int debug
debug level
Definition JSirene.cc:69
static parameter_type pT()
Definition JPoint4D.hh:61
static parameter_type pZ()
Definition JPoint4D.hh:60
static parameter_type pX()
Definition JPoint4D.hh:58
static parameter_type pY()
Definition JPoint4D.hh:59
JRegressor< JPoint4D, JGandalf > JRegressor_t
JMEstimator * getMEstimator(const int type)
Get M-Estimator.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).

Member Function Documentation

◆ operator()()

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

Declaration of the member function that actually performs the reconstruction.

Parameters
eventwhich is a JDAQEvent
ininput fits

Definition at line 116 of file JShowerPointSimplex.hh.

117 {
118 using namespace std;
119 using namespace JPP;
120
121 const JBuildL0<hit_type> buildL0;
123
124 buffer_type dataL0;
125 buffer_type dataL1;
126
127 JEvt out;
128
129 buildL0(JDAQTimeslice(event, true), router, back_inserter(dataL0));
130 buildL2(JDAQTimeslice(event, false), router, back_inserter(dataL1)); // false = triggered
131
132 for (JEvt::const_iterator shower = in.begin(); shower != in.end(); ++shower) {
133
134 JPoint4D vx(getPosition(*shower), shower->getT());
135
136
139
140 data.reserve(dataL0.size() + dataL1.size());
141 for (buffer_type::const_iterator i = dataL1.begin(); i != dataL1.end(); ++i) {
142
143 if (match(*i)) {
144 data.push_back(*i);
145 }
146 }
147
148 buffer_type::iterator __end = data.end();
149
150 for (buffer_type::const_iterator i = dataL0.begin(); i != dataL0.end(); ++i) {
151 if (find_if(data.begin(), __end, make_predicate(&hit_type::getModuleID, i->getModuleID())) == __end) {
152 if (match(*i)) {
153 data.push_back(*i);
154 }
155 }
156 }
157
158 const int NDF = getCount(data.begin(), data.end()) - this->parameters.size();
159
160 if (NDF > 0) {
161
162 double chi2 = (*this)(vx, data.begin(), data.end());
163
164 JShower3E sh_fit(this->value.getPosition(),
165 JDirection3D(),
166 this->value.getT(),
167 shower->getE());
168 out.push_back(getFit(JHistory(shower->getHistory()).add(JSHOWERPOINTSIMPLEX), sh_fit, getQuality(chi2, NDF), NDF, sh_fit.getE()));
169 }
170 }
171
172
173 return out;
174 }
Data structure for vertex fit.
Definition JPoint4D.hh:24
Data structure for direction in three dimensions.
3D track with energy.
Definition JTrack3E.hh:32
Template L0 hit builder.
Definition JBuildL0.hh:38
Template L2 builder.
Definition JBuildL2.hh:49
int getModuleID() const
Get module identifier.
static const int JSHOWERPOINTSIMPLEX
JTOOLS::JRange< double > JTimeRange
Type definition for time range (unit [s]).
size_t getCount(const array_type< T > &buffer, const JCompare_t &compare)
Count number of unique values.
double getQuality(const double chi2, const int N, const int NDF)
Get quality of fit.
JPosition3D getPosition(const JFit &fit)
Get position.
JFIT::JHistory JHistory
Definition JHistory.hh:354
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.
Acoustic event fit.
JHistory & add(const int type)
Add event to history.
Definition JHistory.hh:295
Auxiliary class to match data points with given model.
double TMin_ns
minimum time for local coincidences [ns]
double TMaxLocal_ns
time window for local coincidences [ns]
double TMax_ns
maximum time for local coincidences [ns]
double ctMin
minimal cosine space angle between PMT axes
double DMax_m
maximal distance to optical module [m]
Data structure for L2 parameters.

◆ reset()

void JRECONSTRUCTION::JShowerPointSimplexParameters_t::reset ( )
inlineinherited

Reset fit parameters.

Definition at line 35 of file JShowerPointSimplexParameters_t.hh.

36 {
37 numberOfPrefits = 0; // 0 means process all inputs
38 sigma_ns = 1;
39 TMaxLocal_ns = 10;
40 TMax_ns = 60.0;
41 TMin_ns = -60.0;
42 DMax_m = 50.0;
43 ctMin = 0.2;
45 NMax = 1000;
46 }
@ EM_LORENTZIAN

◆ equals()

bool JRECONSTRUCTION::JShowerPointSimplexParameters_t::equals ( const JShowerPointSimplexParameters_t & parameters) const
inlineinherited

Equality.

Parameters
parametersfit parameters
Returns
true if equals; else false

Definition at line 54 of file JShowerPointSimplexParameters_t.hh.

55 {
56 return (this->numberOfPrefits == parameters.numberOfPrefits &&
57 this->sigma_ns == parameters.sigma_ns &&
58 this->TMaxLocal_ns == parameters.TMaxLocal_ns &&
59 this->TMax_ns == parameters.TMax_ns &&
60 this->TMin_ns == parameters.TMin_ns &&
61 this->DMax_m == parameters.DMax_m &&
62 this->ctMin == parameters.ctMin &&
63 this->mestimator == parameters.mestimator &&
64 this->NMax == parameters.NMax
65 );
66 }

◆ ClassDef()

JRECONSTRUCTION::JShowerPointSimplexParameters_t::ClassDef ( JShowerPointSimplexParameters_t ,
2  )
inherited

Member Data Documentation

◆ router

const JModuleRouter& JRECONSTRUCTION::JShowerPointSimplex::router

Definition at line 175 of file JShowerPointSimplex.hh.

◆ numberOfPrefits

size_t JRECONSTRUCTION::JShowerPointSimplexParameters_t::numberOfPrefits
inherited

number of prefits

Definition at line 70 of file JShowerPointSimplexParameters_t.hh.

◆ sigma_ns

double JRECONSTRUCTION::JShowerPointSimplexParameters_t::sigma_ns
inherited

time resolution [ns]

Definition at line 71 of file JShowerPointSimplexParameters_t.hh.

◆ TMaxLocal_ns

double JRECONSTRUCTION::JShowerPointSimplexParameters_t::TMaxLocal_ns
inherited

time window for local coincidences [ns]

Definition at line 72 of file JShowerPointSimplexParameters_t.hh.

◆ TMax_ns

double JRECONSTRUCTION::JShowerPointSimplexParameters_t::TMax_ns
inherited

maximum time for local coincidences [ns]

Definition at line 73 of file JShowerPointSimplexParameters_t.hh.

◆ TMin_ns

double JRECONSTRUCTION::JShowerPointSimplexParameters_t::TMin_ns
inherited

minimum time for local coincidences [ns]

Definition at line 74 of file JShowerPointSimplexParameters_t.hh.

◆ DMax_m

double JRECONSTRUCTION::JShowerPointSimplexParameters_t::DMax_m
inherited

maximal distance to optical module [m]

Definition at line 75 of file JShowerPointSimplexParameters_t.hh.

◆ ctMin

double JRECONSTRUCTION::JShowerPointSimplexParameters_t::ctMin
inherited

minimal cosine space angle between PMT axes

Definition at line 76 of file JShowerPointSimplexParameters_t.hh.

◆ mestimator

int JRECONSTRUCTION::JShowerPointSimplexParameters_t::mestimator
inherited

m-estimator

Definition at line 77 of file JShowerPointSimplexParameters_t.hh.

◆ NMax

int JRECONSTRUCTION::JShowerPointSimplexParameters_t::NMax
inherited

maximum number of iterations

Definition at line 78 of file JShowerPointSimplexParameters_t.hh.


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