SND@LHC Software
Loading...
Searching...
No Matches
GFGbl.h
Go to the documentation of this file.
1/* Copyright 2013
2 * Authors: Sergey Yashchenko and Tadeas Bilka
3 *
4 * This file is part of GENFIT.
5 *
6 * GENFIT is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU Lesser General Public License as published
8 * by the Free Software Foundation, either version 3 of the License, or
9 * (at your option) any later version.
10 *
11 * GENFIT is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General Public License
17 * along with GENFIT. If not, see <http://www.gnu.org/licenses/>.
18 */
23#ifndef GFGBL_H
24#define GFGBL_H
25
26#include "GblTrajectory.h"
27#include "AbsFitter.h"
28
29#include <map>
30#include <iostream>
31
32#include <TMatrixD.h>
33#include <assert.h>
34#include <sstream>
35
36#include <TMath.h>
37#include <TVector3.h>
38
39
40namespace genfit {
41
42
48 class GFGbl : public AbsFitter {
49
50 private:
51 GFGbl(const GFGbl&);
53
54 std::string m_milleFileName;
58 double m_chi2Cut;
61
62
63 public:
64
68 GFGbl();
69
73 virtual ~GFGbl() {;}
74
79 void beginRun();
80
86 void endRun();
87
88
94 void setGBLOptions(std::string internalIterations = "THC", bool enableScatterers = true, bool enableIntermediateScatterer = true) {
95 m_gblInternalIterations = internalIterations;
96 if (!enableScatterers)
97 enableIntermediateScatterer = false;
98 m_enableScatterers = enableScatterers;
99 m_enableIntermediateScatterer = enableIntermediateScatterer;
100 }
101
109 void setMP2Options(double pValueCut = 0., unsigned int minNdf = 1, std::string mille_file_name = "millefile.dat", double chi2Cut = 0.) {
110 m_pValueCut = pValueCut;
111 m_minNdf = minNdf;
112 m_milleFileName = mille_file_name;
113 m_chi2Cut = chi2Cut;
114 }
115
120 void processTrackWithRep(Track* trk, const AbsTrackRep* rep, bool resortHits = false);
121
122
123 public:
124
125 ClassDef(GFGbl, 1)
126
127 };
128
129} /* End of namespace genfit */
132#endif // GFGBL_H
133
Abstract base class for fitters.
Definition AbsFitter.h:35
Abstract base class for a track representation.
Definition AbsTrackRep.h:66
Generic GBL implementation.
Definition GFGbl.h:48
std::string m_gblInternalIterations
Definition GFGbl.h:55
GFGbl & operator=(GFGbl const &)
GFGbl(const GFGbl &)
double m_pValueCut
Definition GFGbl.h:56
void beginRun()
Definition GFGbl.cc:184
void endRun()
Definition GFGbl.cc:231
std::string m_milleFileName
Definition GFGbl.h:54
void setMP2Options(double pValueCut=0., unsigned int minNdf=1, std::string mille_file_name="millefile.dat", double chi2Cut=0.)
Sets GBL & Millepede settings.
Definition GFGbl.h:109
bool m_enableScatterers
Definition GFGbl.h:59
virtual ~GFGbl()
Definition GFGbl.h:73
double m_chi2Cut
Definition GFGbl.h:58
void processTrackWithRep(Track *trk, const AbsTrackRep *rep, bool resortHits=false)
Definition GFGbl.cc:325
bool m_enableIntermediateScatterer
Definition GFGbl.h:60
int m_minNdf
Definition GFGbl.h:57
void setGBLOptions(std::string internalIterations="THC", bool enableScatterers=true, bool enableIntermediateScatterer=true)
Sets internal GBL down-weighting.
Definition GFGbl.h:94
Collection of TrackPoint objects, AbsTrackRep objects and FitStatus objects.
Definition Track.h:71
Matrix inversion tools.
Definition AbsBField.h:29