Belle II Software  release-05-01-25
FitSegmentPairVarSet.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2015 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Oliver Frost *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 #pragma once
11 
12 #include <tracking/trackFindingCDC/varsets/VarSet.h>
13 #include <tracking/trackFindingCDC/varsets/VarNames.h>
14 
15 namespace Belle2 {
20  namespace TrackFindingCDC {
21  class CDCSegmentPair;
22 
24  constexpr
25  static char const* const fitSegmentPairVarNames[] = {
26  "ndf",
27  "chi2",
28  "p_value",
29  "curv",
30  "z0",
31  "tanl",
32  "curv_var",
33  "z0_var",
34  "tanl_var",
35  };
36 
38  struct FitSegmentPairVarNames : public VarNames<CDCSegmentPair> {
39 
41  static const size_t nVars = size(fitSegmentPairVarNames);
42 
44  static constexpr char const* getName(int iName)
45  {
46  return fitSegmentPairVarNames[iName];
47  }
48  };
49 
54  class FitSegmentPairVarSet : public VarSet<FitSegmentPairVarNames> {
55 
56  private:
59 
60  public:
62  explicit FitSegmentPairVarSet(bool preliminaryFit = false);
63 
65  bool extract(const CDCSegmentPair* ptrSegmentPair) final;
66 
68  std::vector<Named<Float_t*>> getNamedVariables(const std::string& prefix) final;
69 
70  private:
72  bool m_preliminaryFit = false;
73  };
74  }
76 }
Belle2::TrackFindingCDC::CDCSegmentPair
Class representing a pair of one reconstructed axial segement and one stereo segment in adjacent supe...
Definition: CDCSegmentPair.h:44
Belle2::TrackFindingCDC::FitSegmentPairVarNames::getName
static constexpr char const * getName(int iName)
Getter for the name at the given index.
Definition: FitSegmentPairVarSet.h:52
Belle2::TrackFindingCDC::FitSegmentPairVarSet
Class to compute floating point variables from an axial stereo segment pair which can be recorded as ...
Definition: FitSegmentPairVarSet.h:62
Belle2::TrackFindingCDC::FitSegmentPairVarSet::Super
VarSet< FitSegmentPairVarNames > Super
Type of the base class.
Definition: FitSegmentPairVarSet.h:66
Belle2::TrackFindingCDC::BaseVarSet< FitSegmentPairVarNames ::Object >::getNamedVariables
std::vector< Named< Float_t * > > getNamedVariables()
Getter for the named references to the individual variables.
Definition: BaseVarSet.h:80
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::TrackFindingCDC::FitSegmentPairVarSet::FitSegmentPairVarSet
FitSegmentPairVarSet(bool preliminaryFit=false)
Construct the varset with a switch to only do the prelimiary axial stereo fusion fit.
Definition: FitSegmentPairVarSet.cc:22
Belle2::TrackFindingCDC::FitSegmentPairVarNames::nVars
static const size_t nVars
Number of variables to be generated.
Definition: FitSegmentPairVarSet.h:49
Belle2::TrackFindingCDC::FitSegmentPairVarSet::m_preliminaryFit
bool m_preliminaryFit
Indicator that only the prelimiary fit should be used.
Definition: FitSegmentPairVarSet.h:80
Belle2::TrackFindingCDC::FitSegmentPairVarSet::extract
bool extract(const CDCSegmentPair *ptrSegmentPair) final
Generate and assign the contained variables.
Definition: FitSegmentPairVarSet.cc:28
Belle2::TrackFindingCDC::VarSet
Generic class that generates some named float values from a given object.
Definition: VarSet.h:46