PandaRoot
RecoTrack.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 // ******************************************************
14 // DecayTreeFitter Package
15 // We thank the original author Wouter Hulsbergen
16 // (BaBar, LHCb) for providing the sources.
17 // http://arxiv.org/abs/physics/0503191v1 (2005)
18 // Adaptation & Development for PANDA: Ralf Kliemt (2015)
19 // ******************************************************
20 #ifndef RECOTRACK_H
21 #define RECOTRACK_H 1
22 
23 //#include "GaudiKernel/Vector3DTypes.h"
24 #include "RecoParticle.h"
25 #include "Configuration.h"
26 #include "TVector3.h"
27 #include "LineTool.h"
28 #include "State.h"
29 #include "Rtypes.h"
30 
31 //#include "PndTrack.h"
32 #include "RecoTrackStateProvider.h"
33 
34 // class ITrackStateProvider ;
35 // namespace LHCb {
36 // class TrackTraj ;
37 //}
38 //
39 namespace DecayTreeFitter {
40 
41 class RecoTrack : public RecoParticle {
42  public:
43  RecoTrack(RhoCandidate *bc, const ParticleBase *mother, const Configuration &config);
44  virtual ~RecoTrack(){};
45 
46  virtual ErrCode initPar2(FitParams *);
47  virtual ErrCode initCov(FitParams *);
48  virtual int dimM() const { return 5; }
49  virtual int type() const { return kRecoTrack; }
50 
51  virtual ErrCode projectRecoConstraint(const FitParams *, Projection &) const;
52  ErrCode updCache(const FitParams *fitparams); //[R.K.'14] not't cache right now
53  // static void setApplyCovCorrection(bool b=true) { gApplyCovCorrection = b ; }
54  // static void correctCov(HepSymMatrix& V) ;
55 
56  virtual int nFinalChargedCandidates() const { return 1; }
57 
58  virtual void addToConstraintList(constraintlist &alist, int depth) const { alist.push_back(Constraint(this, Constraint::track, depth, dimM())); }
59  // ErrCode updFltToMother(const FitParams* fitparams) ;
60  void setFlightLength(double flt) { m_flt = flt; }
61  // const PndTrack& track() const { return *m_track ; }
62  // FIXME state needed?
63  const DecayTreeFitter::State &state() const { return m_state; }
65 
66  private:
67  const TVector3 m_bfield;
68  const RhoCandidate *m_candidate;
69  // const PndTrack* m_track ;
70  const RecoTrackStateProvider *m_stateprovider;
71  bool m_useTrackTraj;
72  // const LHCb::TrackTraj* m_tracktraj ;
73  bool m_cached;
74  double m_flt;
75  DecayTreeFitter::State m_state;
76  std::vector<DecayTreeFitter::State> m_StateCache;
77  // double m_bremEnergy ;
78  // double m_bremEnergyCov ;
79  ClassDef(RecoTrack, 1)
80 };
81 
82 } // namespace DecayTreeFitter
83 #endif
virtual int type() const
Definition: RecoTrack.h:49
std::vector< DecayTreeFitter::Constraint > constraintlist
Definition: ParticleBase.h:114
ErrCode updCache(const FitParams *fitparams)
const ParticleBase * mother() const
Definition: ParticleBase.h:64
virtual int dimM() const
Definition: RecoTrack.h:48
RecoTrack(RhoCandidate *bc, const ParticleBase *mother, const Configuration &config)
const DecayTreeFitter::State & closestCachedState(double z)
virtual ErrCode initCov(FitParams *)
virtual int nFinalChargedCandidates() const
Definition: RecoTrack.h:56
const DecayTreeFitter::State & state() const
Definition: RecoTrack.h:63
void setFlightLength(double flt)
Definition: RecoTrack.h:60
virtual void addToConstraintList(constraintlist &alist, int depth) const
Definition: RecoTrack.h:58
virtual ErrCode initPar2(FitParams *)
virtual ErrCode projectRecoConstraint(const FitParams *, Projection &) const