PandaRoot
Rho4CFitter.h
Go to the documentation of this file.
1 //****************************************************************************
2 //* This file is part of PandaRoot. *
3 //* *
4 //* PandaRoot is distributed under the terms of the *
5 //* GNU General Public License (GPL) version 3, *
6 //* copied verbatim in the file "LICENSE". *
7 //* *
8 //* Copyright (C) 2006 - 2024 FAIR GmbH and copyright holders of PandaRoot *
9 //* The copyright holders are listed in the file "COPYRIGHTHOLDERS". *
10 //* The authors are listed in the file "AUTHORS". *
11 //****************************************************************************
12 
13 #ifndef Rho4CFitter_H
14 #define Rho4CFitter_H
15 // //
17 // Rho4CFitter //
18 // //
19 // Author: K. Goetzen, GSI, 2008 //
20 // //
22 
23 #include "RhoFitterBase.h"
24 #include "TVector3.h"
25 #include "TMatrixDSym.h"
26 #include "TMatrixD.h"
27 #include "TLorentzVector.h"
28 #include "RhoCandList.h"
29 
30 class RhoCandidate;
31 
32 class Rho4CFitter : public RhoFitterBase {
33  public:
34  Rho4CFitter(RhoCandidate *b, TLorentzVector lv);
35  virtual ~Rho4CFitter(); // {if(fHeadOfTree) delete fHeadOfTree;}
36  Bool_t Fit(); // fits final state particles to initial state, States inbetween are modified.
37  Bool_t FitConserveMasses(); // fits final state particles threemomenta to initial state, States inbetween are modified.
38  Bool_t FitAll()
39  {
40  Fatal("Rho4CFitter::FitAll()", "Not applicable. Please use Fit() or FitConserveMasses().");
41  return kFALSE;
42  };
43  void PrintTree(RhoCandidate *c, int l = 0);
44  double Chi2Contribution(const RhoCandidate &) const
45  {
46  Error("Rho4CFitter::Chi2Contribution", "No chi2 contribution available.");
47  return -9999.;
48  };
49 
50  private:
51  Bool_t Do4CFit(); // Fit, can freely change energy
52  Bool_t Do4CFitWithMassConservation(); // Fit, conserving daughter masses
53 
54  TLorentzVector fLv4C;
55  int fNDau;
56  double fConserveDaughterMasses; // true = energy of daughters cannot be modified by fit
57 
58  ClassDef(Rho4CFitter, 1) // A 4c fitter
59 };
60 
61 #endif
Bool_t FitConserveMasses()
Bool_t FitAll()
Definition: Rho4CFitter.h:38
double Chi2Contribution(const RhoCandidate &) const
Definition: Rho4CFitter.h:44
Rho4CFitter(RhoCandidate *b, TLorentzVector lv)
virtual ~Rho4CFitter()
void PrintTree(RhoCandidate *c, int l=0)
Bool_t Fit()