Declaration of the member function that actually performs the reconstruction.
120 {
123
126
128
130
131 JDataL0_t dataL0;
132
134
135 for (JEvt::const_iterator shower = in.begin(); shower != in.end(); ++shower) {
136
138
140
142
143 for (JDataL0_t::const_iterator i = dataL0.begin(); i != dataL0.end(); ++i) {
144
145 if (match(*i)) {
146 top.insert(i->getPMTIdentifier());
147 }
148 }
149
151
154
156
157 for (JDetectorSubset_t::iterator module = subdetector.begin();
158 module != subdetector.end(); ++module) {
159
161
163
164 dom.rotate(R);
165
166 for (unsigned int i = 0; i != dom.size(); ++i) {
167
172
174
175 const double QE = 1.0;
177 const size_t count = top.count(id);
178
179 buffer.push_back(
JPMTW0(dom.getPMT(i), QE, rate_Hz, count));
180 }
181 }
182 }
183
184 this->step.resize(2);
187
188 double f_h = 1 - 0.681 * (std::pow(shower->getE()/0.863, -0.207));
189
192 log10(sh.getE()),
193 log10(f_h*sh.getE()),
194 sh.getBjY()),
195 buffer.begin(), buffer.end());
196
197 double NDF =
getCount(buffer.begin(), buffer.end()) - this->step.size();
198
200 this->value.getDirection()),
201 correct(this->value.getEem() + this->value.getEh())),
202 this->value.getBy());
203
204 double y =
getFinalBjY(this->value.getEem(), this->value.getEh());
205
207
208 result.add(sh.getPosition());
209
211
212 out.rbegin()->setW(5, y);
213 out.rbegin()->setW(6, this->value.getEem());
214 out.rbegin()->setW(7, this->value.getEh());
215
216 }
217
218 return out;
219 }
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.3-10-g854d59a 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]