Belle II Software  release-05-02-19
TrackBase_t< TTrackCluster > Struct Template Reference

Struct to hold variables from a track which contains a vector of data type like TrackCluster. More...

#include <PXDPerformanceStructs.h>

Collaboration diagram for TrackBase_t< TTrackCluster >:

Public Member Functions

 TrackBase_t ()
 Default constructor.
 
void setValues (const RecoTrack &recoTrack, const TVector3 &ip=TVector3(0, 0, 0), const std::string recoTracksName="", const std::string pxdInterceptsName="", const std::string pxdTrackClustersName="PXDClustersFromTracks")
 Update values from a RecoTrack. More...
 

Public Attributes

float d0
 Impact parameter in r-phi.
 
float z0
 Impact parameter in z.
 
float phi0
 Track direction in r-phi.
 
float pt
 Transverse momentum.
 
float tanLambda
 Tangent of the dip angle.
 
float d0p
 Corrected impact parameter in r-phi.
 
float z0p
 Corrected impact parameter in z.
 
unsigned short nPXDHits
 Number of PXD Hits.
 
unsigned short nSVDHits
 Number of SVD Hits.
 
unsigned short nCDCHits
 Number of CDC Hits.
 
std::vector< TTrackCluster > trackClusters
 

Detailed Description

template<typename TTrackCluster>
struct Belle2::PXD::TrackBase_t< TTrackCluster >

Struct to hold variables from a track which contains a vector of data type like TrackCluster.

Definition at line 118 of file PXDPerformanceStructs.h.

Member Function Documentation

◆ setValues()

void setValues ( const RecoTrack recoTrack,
const TVector3 &  ip = TVector3(0, 0, 0),
const std::string  recoTracksName = "",
const std::string  pxdInterceptsName = "",
const std::string  pxdTrackClustersName = "PXDClustersFromTracks" 
)

Update values from a RecoTrack.

Template implementation.

Parameters
recoTrackA RecoTrack object.
ipThe interaction point for correcting d0 and z0

Definition at line 153 of file PXDPerformanceStructs.h.

154  {
155  B2ERROR("Expect a track for fitted recotracks. Found nothing!");
156  }
157 
158  // get trackFitResult pointer
159  auto tfrPtr = trackPtr->getTrackFitResultWithClosestMass(Const::pion);
160  if (!tfrPtr) {
161  B2ERROR("expect a track fit result for pion. Found Nothing!");
162  }
163  nCDCHits = tfrPtr->getHitPatternCDC().getNHits();
164  nSVDHits = tfrPtr->getHitPatternVXD().getNSVDHits();
165  nPXDHits = tfrPtr->getHitPatternVXD().getNPXDHits();
166  tanLambda = tfrPtr->getCotTheta();
167  pt = tfrPtr->getMomentum().Perp();
168  d0 = tfrPtr->getD0();
169  z0 = tfrPtr->getZ0();
170  phi0 = tfrPtr->getPhi0();
171  d0p = d0;
172  z0p = z0;
173  if (ip != TVector3(0, 0, 0)) {
174  // get a helix and change coordinate origin to ip
175  auto uHelix = tfrPtr->getUncertainHelix();
176  uHelix.passiveMoveBy(ip);
177  d0p = uHelix.getD0();
178  z0p = uHelix.getZ0();
179  }
180 
181  //RelationVector<PXDIntercept> pxdIntercepts = recoTrack.getRelationsTo<PXDIntercept>();
182  auto pxdIntercepts = recoTrack.getRelationsTo<PXDIntercept>(pxdInterceptsName);
183  for (auto& pxdIntercept : pxdIntercepts) {
184  TTrackCluster temp;
185  // Only push a TrackCluster when setValues succeeds
186  if (temp.setValues(pxdIntercept, recoTracksName, pxdTrackClustersName))
187  trackClusters.push_back(temp);
188  }
189  }
190 
191  //} // end namespace Tuple
192  } // end namespace PXD
194 } // end namespace Belle2

The documentation for this struct was generated from the following file:
Belle2::PXD::TrackBase_t::d0p
float d0p
Corrected impact parameter in r-phi.
Definition: PXDPerformanceStructs.h:138
Belle2::PXD::TrackBase_t::pt
float pt
Transverse momentum.
Definition: PXDPerformanceStructs.h:136
Belle2::PXD::TrackBase_t::nCDCHits
unsigned short nCDCHits
Number of CDC Hits.
Definition: PXDPerformanceStructs.h:142
Belle2::PXD::TrackBase_t::z0p
float z0p
Corrected impact parameter in z.
Definition: PXDPerformanceStructs.h:139
Belle2::PXD::TrackBase_t::z0
float z0
Impact parameter in z.
Definition: PXDPerformanceStructs.h:134
Belle2::Const::pion
static const ChargedStable pion
charged pion particle
Definition: Const.h:535
Belle2::PXD::TrackBase_t::phi0
float phi0
Track direction in r-phi.
Definition: PXDPerformanceStructs.h:135
Belle2::PXD::TrackBase_t::d0
float d0
Impact parameter in r-phi.
Definition: PXDPerformanceStructs.h:133
Belle2::PXD::TrackBase_t::tanLambda
float tanLambda
Tangent of the dip angle.
Definition: PXDPerformanceStructs.h:137
Belle2::PXD::TrackBase_t::nSVDHits
unsigned short nSVDHits
Number of SVD Hits.
Definition: PXDPerformanceStructs.h:141
Belle2::PXD::TrackBase_t::nPXDHits
unsigned short nPXDHits
Number of PXD Hits.
Definition: PXDPerformanceStructs.h:140