Declaration of the member function that actually performs the reconstruction. 
  123    {
  126 
  129 
  131 
  133 
  134      JDataL0_t dataL0;
  136  
  137      for (JEvt::const_iterator shower = in.begin(); shower != in.end(); ++shower) {
  138        
  140                      shower->getE(), 0.0);
  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        
  193                                        log10(sh.getE()), log10(f_h*sh.getE()), sh.getBjY()),
  194                              buffer.begin(), buffer.end());
  195 
  196        double NDF = 
getCount(buffer.begin(), buffer.end()) - this->step.size(); 
 
  197        
  198        JShower3EY sh_fit(this->value.getPosition(), this->value.getDirection(),
 
  199                          this->value.getT(), 
correct(this->value.getEem() + this->value.getEh()), this->value.getBy());
 
  200 
  201        double y = 
getFinalBjY(this->value.getEem(), this->value.getEh());
 
  202        
  203        sh_fit.rotate_back(R);
  204        
  205        sh_fit.add(sh.getPosition());
  206          
  208                             NDF, sh_fit.getE()));
  209 
  210        out.rbegin()->setW(5, y);
  211        out.rbegin()->setW(6, this->value.getEem());
  212        out.rbegin()->setW(7, this->value.getEh());
  213 
  214      }
  215 
  216      return out;
  217    }
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 track 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 double rate_Hz) 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.
 
static const int JSHOWER_BJORKEN_Y
 
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 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.
 
JDirection3D getDirection(const JFit &fit)
Get direction.
 
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.0 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]