Declaration of the member function that actually performs the reconstruction.
123 {
126
129
131
133
134 JDataL0_t dataL0;
135
137
138 for (JEvt::const_iterator shower = in.begin(); shower != in.end(); ++shower) {
139
141
143
145
146 for (JDataL0_t::const_iterator i = dataL0.begin(); i != dataL0.end(); ++i) {
147
148 if (match(*i)) {
149 top.insert(i->getPMTIdentifier());
150 }
151 }
152
154
157
159
160 for (JDetectorSubset_t::iterator module = subdetector.begin();
161 module != subdetector.end(); ++module) {
162
164
166
167 dom.rotate(R);
168
169 for (unsigned int i = 0; i != dom.size(); ++i) {
170
175
177
179 const size_t count = top.count(id);
180
181 buffer.push_back(
JPMTW0(dom.getPMT(i), rate_Hz, count));
182 }
183 }
184 }
185
186 this->step.resize(2);
189
190 double f_h = 1 - 0.681 * (std::pow(shower->getE()/0.863, -0.207));
191
194 log10(sh.getE()),
195 log10(f_h*sh.getE()),
196 sh.getBjY()),
197 buffer.begin(), buffer.end());
198
199 double NDF =
getCount(buffer.begin(), buffer.end()) - this->step.size();
200
202 this->value.getDirection()),
203 correct(this->value.getEem() + this->value.getEh())),
204 this->value.getBy());
205
206 double y =
getFinalBjY(this->value.getEem(), this->value.getEh());
207
209
210 result.add(sh.getPosition());
211
213
214 out.rbegin()->setW(5, y);
215 out.rbegin()->setW(6, this->value.getEem());
216 out.rbegin()->setW(7, this->value.getEh());
217
218 }
219
220 return out;
221 }
Detector subset without binary search functionality.
Data structure for a composite optical module.
Data structure for vertex fit.
Data structure for fit of straight line in positive z-direction with energy.
Data structure for direction in three dimensions.
3D shower with energy and Bjorken-y.
Data structure for vector in three dimensions.
Data structure for normalised vector in positive z-direction.
const JClass_t & getReference() const
Get reference to object.
double getFinalBjY(double E_em, double E_h)
double getRate(const JDAQPMTIdentifier &id) const
Get rate.
const JDAQSummaryFrame & getSummaryFrame(const JDAQModuleIdentifier &module) const
Get summary frame.
Data storage class for rate measurements of all PMTs in one module.
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.
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.
JShower3E getShower(const JFit &fit)
Get shower.
bool is_valid(const json &js)
Check validity of JSon data.
bool getDAQStatus(const JDAQFrameStatus &frame, const JStatus &status)
Test status of DAQ.
bool getPMTStatus(const JStatus &status)
Test status of PMT.
static const int PMT_DISABLE
KM3NeT Data Definitions v3.6.1-2-g905a24d https://git.km3net.de/common/km3net-dataformat.
Model for fit to acoustics data.
JHistory & add(const int type)
Add event to history.
Auxiliary class for handling PMT geometry, rate and response.
double fit_step
simplex initial step
double roadWidth_m
road width [m]
double R_Hz
default rate [Hz]