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
178 const double QE = 1.0;
180 const size_t count = top.count(id);
181
182 buffer.push_back(
JPMTW0(dom.getPMT(i), QE, rate_Hz, count));
183 }
184 }
185 }
186
187 this->step.resize(2);
190
191 double f_h = 1 - 0.681 * (std::pow(shower->getE()/0.863, -0.207));
192
195 log10(sh.getE()),
196 log10(f_h*sh.getE()),
197 sh.getBjY()),
198 buffer.begin(), buffer.end());
199
200 double NDF =
getCount(buffer.begin(), buffer.end()) - this->step.size();
201
203 this->value.getDirection()),
204 correct(this->value.getEem() + this->value.getEh())),
205 this->value.getBy());
206
207 double y =
getFinalBjY(this->value.getEem(), this->value.getEh());
208
210
211 result.add(sh.getPosition());
212
214
215 out.rbegin()->setW(5, y);
216 out.rbegin()->setW(6, this->value.getEem());
217 out.rbegin()->setW(7, this->value.getEh());
218
219 }
220
221 return out;
222 }
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.
static 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
ile KM3NeT Data Definitions v3.6.2-4-g8b3df20 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]