189                                                                                                          {
  190 
  191    TH1D* h_tres = new TH1D("h_tres", ";Time residuals [ns]; Entries", 100, -50, 150);
  192    TH1D* h_likelihood = new TH1D ("h_likelihood", " ; Likelihood; Reconstructed Events ", 100, -1000, 1000);
  193    TH1D* h_beta0 = new TH1D("h_beta0", "; beta0; Reconstructed Events", 20, 0, 1);
  194    TH1D* h_energy = new TH1D ("h_energy", " ; Energy [GeV]; Reconstructed Events ", 65, 0, 9);
  196    TH1D* h_zenith = new TH1D("h_zenith", "; cosZenith; Reconstructed Events", 20, -1, 1);
  197    TH1D* h_azimuth = new TH1D("h_azimuth", "; cosAzimuth; Reconstructed Events", 20, -1, 1);
  198    TH1D* h_radial_position = new TH1D ("h_radial_position", "; Radial Position [m]; Reconstructed Events", 60, 0, 4.2);
  200    TH1D* h_z_position = new TH1D ("h_z_position", "; Z Position [m] ; Reconstructed Events", 50, 0, 3.2);
  202 
  204 
  206 
  209      
  210      if (!evt->empty()) {
  211 
  212        JEvt::iterator best = evt->begin();  
  213        h_energy -> Fill(best->getE());
  214        h_likelihood -> Fill(best->getQ());
  215        h_z_position -> Fill(best->getZ());
  216        h_radial_position -> Fill(sqrt(best->getX()*best->getX() + best->getY()*best->getY()));
  217        
  222 
  225        buildL0(
JDAQTimeslice(*event, 
false),  router, back_inserter(dataL0));
 
  226 
  227        for (std::vector<JHitL0>::const_iterator hit = dataL0.begin(); hit != dataL0.end(); ++hit) {
  228 
  229          h_tres -> Fill(hit->getT() - track.
getT(hit->getPosition()));
 
  230        }
  231      }
  232    }
  233 
  234    f.mkdir("Reco");                                                                                                          
  235    f.cd("Reco");                                                                                                            
  236 
  237    h_energy->Write();
  238    h_likelihood -> Write();
  239    h_z_position -> Write();
  240    h_radial_position -> Write();
  241    h_zenith -> Write();
  242    h_azimuth -> Write();
  243    h_beta0 -> Write();
  244    h_tres -> Write();
  245  }
double getT(const JVector3D &pos) const
Get arrival time of Cherenkov light at given position.
 
JVersor3D getDirection(const JVector3D &pos) const
Get photon direction of Cherenkov light on PMT.
 
double getTheta() const
Get theta angle.
 
double getPhi() const
Get phi angle.
 
General purpose class for parallel reading of objects from a single file or multiple files.
 
virtual const multi_pointer_type & next() override
Get next element.
 
virtual bool hasNext() override
Check availability of next element.
 
static const int JGANDALF_BETA0_RAD
KM3NeT Data Definitions v3.6.0 https://git.km3net.de/common/km3net-dataformat.
 
JTrack3E getTrack(const Trk &track)
Get track.
 
void setLogarithmicX(TList *list)
Make x-axis of objects in list logarithmic (e.g. after using log10()).