MarlinKinfit  0.4.0
RootTracer.h
Go to the documentation of this file.
1 
21 #ifdef MARLIN_USE_ROOT
22 
23 #ifndef __ROOTTRACER_H
24 #define __ROOTTRACER_H
25 
26 #include <iostream>
27 #include "BaseTracer.h"
28 
29 class BaseFitter;
30 class TFile;
31 
32 #include <TROOT.h>
33 #include <TChain.h>
34 #include <TFile.h>
35 
36 // Class RootTracer:
38 
46 class BaseFitter;
47 
48 class RootTracer: public BaseTracer {
49  public:
50  RootTracer(const char* filename="trace.root", const char *option="RECREATE");
51  virtual ~RootTracer();
52 
54  virtual void initialize (BaseFitter& fitter);
56  virtual void step (BaseFitter& fitter);
58  virtual void substep (BaseFitter& fitter,
59  int flag
60  );
62  virtual void finish (BaseFitter& fitter);
63 
64  void printFitObjects (BaseFitter& fitter);
65  void printConstraints (BaseFitter& fitter);
66 
67  protected:
68  void SetBranchAddresses();
69  void CreateBranches();
70  void CreateEventBranches(BaseFitter& fitter);
71  void FillParameterValues(BaseFitter& fitter);
72 
73  TFile *file;
74  TTree *tree;
75  TTree *eventtree;
76 
77  int istep;
78  int isubstep;
79 
80  Int_t eventnumber;
81  Int_t stepnumber;
82  Int_t substepnumber;
83  Double_t chi2;
84 
85  enum {NPARMAX = 100};
86  Double_t parvalue[NPARMAX];
87 
88 };
89 
90 #endif // __ROOTTRACER_H
91 
92 #endif // MARLIN_USE_ROOT
Abstract base class for fitting engines of kinematic fits.
Definition: BaseFitter.h:63
virtual void substep(BaseFitter &fitter, int flag)
Called at intermediate points during a step.
Definition: BaseTracer.cc:30
virtual void step(BaseFitter &fitter)
Called at the end of each step.
Definition: BaseTracer.cc:26
virtual void initialize(BaseFitter &fitter)
Called at the start of a new fit (during initialization)
Definition: BaseTracer.cc:22
virtual void finish(BaseFitter &fitter)
Called at the end of a fit.
Definition: BaseTracer.cc:34
Abstract base class for trace objects of kinematic fits.
Definition: BaseTracer.h:45
Declares class BaseTracer.