Belle II Software  release-08-01-10
TextTracer.h
1 /**************************************************************************
2  * basf2 (Belle II Analysis Software Framework) *
3  * Author: The Belle II Collaboration *
4  * *
5  * Forked from https://github.com/iLCSoft/MarlinKinfit *
6  * *
7  * Further information about the fit engine and the user interface *
8  * provided in MarlinKinfit can be found at *
9  * https://www.desy.de/~blist/kinfit/doc/html/ *
10  * and in the LCNotes LC-TOOL-2009-001 and LC-TOOL-2009-004 available *
11  * from http://www-flc.desy.de/lcnotes/ *
12  * *
13  * See git log for contributors and copyright holders. *
14  * This file is licensed under LGPL-3.0, see LICENSE.md. *
15  **************************************************************************/
16 
17 #ifndef __TEXTTRACER_H
18 #define __TEXTTRACER_H
19 
20 #include <iostream>
21 #include "analysis/OrcaKinFit/BaseTracer.h"
22 
23 namespace Belle2 {
29  namespace OrcaKinFit {
30 
31  class BaseFitter;
32 
33 // Class TextTracer:
35 
43  class BaseFitter;
44 
45  class TextTracer: public BaseTracer {
46  public:
47  explicit TextTracer(std::ostream& os_);
48  virtual ~TextTracer();
49 
51  virtual void initialize(BaseFitter& fitter) override;
53  virtual void step(BaseFitter& fitter) override;
55  virtual void substep(BaseFitter& fitter,
56  int flag
57  ) override;
59  virtual void finish(BaseFitter& fitter) override;
60 
61  void printFitObjects(BaseFitter& fitter);
62  void printConstraints(BaseFitter& fitter);
63  void printTraceValues(const BaseFitter& fitter);
64  void printSums(BaseFitter& fitter);
65 
66  protected:
67  std::ostream& os;
68 
69  int istep;
70  int isubstep;
71  double chi2fo;
72  double chi2sc;
73  double sumhc;
74  double sumhcscal;
75  };
76 
77  }// end OrcaKinFit namespace
79 } // end Belle2 namespace
80 
81 #endif // __TEXTTRACER_H
Abstract base class for fitting engines of kinematic fits.
Definition: BaseFitter.h:47
Abstract base class for trace objects of kinematic fits.
Definition: BaseTracer.h:70
virtual void step(BaseFitter &fitter) override
Called at the end of each step.
Definition: TextTracer.cc:58
virtual void finish(BaseFitter &fitter) override
Called at the end of a fit.
Definition: TextTracer.cc:85
virtual void substep(BaseFitter &fitter, int flag) override
Called at intermediate points during a step.
Definition: TextTracer.cc:72
virtual void initialize(BaseFitter &fitter) override
Called at the start of a new fit (during initialization)
Definition: TextTracer.cc:43
Abstract base class for different kinds of events.