Belle II Software  release-05-01-25
AxialTrackHitMigrator.cc
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 #include <tracking/trackFindingCDC/findlets/minimal/AxialTrackHitMigrator.h>
11 
12 #include <tracking/trackFindingCDC/processing/AxialTrackUtil.h>
13 
14 #include <tracking/trackFindingCDC/eventdata/tracks/CDCTrack.h>
15 #include <tracking/trackFindingCDC/eventdata/hits/CDCWireHit.h>
16 
17 #include <tracking/trackFindingCDC/utilities/StringManipulation.h>
18 
19 #include <framework/core/ModuleParamList.templateDetails.h>
20 
21 using namespace Belle2;
22 using namespace TrackFindingCDC;
23 
25 {
26  return "Exchanges hits between axial tracks based on their distance to the respective "
27  "trajectory.";
28 }
29 
31  const std::string& prefix)
32 {
33  moduleParamList->addParameter(prefixed(prefix, "dropDistance"),
35  "Distance for a hit to be removed.",
37 
38  moduleParamList->addParameter(prefixed(prefix, "addDistance"),
40  "Distance for a hit to be added.",
42 }
43 
44 void AxialTrackHitMigrator::apply(const std::vector<const CDCWireHit*>& axialWireHits,
45  std::vector<CDCTrack>& axialTracks)
46 {
47  // First release some hits
48  for (CDCTrack& track : axialTracks) {
51  }
52 
53  // Now add new ones
54  for (CDCTrack& track : axialTracks) {
55  if (track.size() < 5) continue;
58 
61  }
62 }
Belle2::TrackFindingCDC::AxialTrackHitMigrator::m_param_addDistance
double m_param_addDistance
Parameter : Distance for a hit to be added.
Definition: AxialTrackHitMigrator.h:59
Belle2::TrackFindingCDC::CDCTrack
Class representing a sequence of three dimensional reconstructed hits.
Definition: CDCTrack.h:51
Belle2::TrackFindingCDC::AxialTrackUtil::splitBack2BackTrack
static std::vector< CDCRecoHit3D > splitBack2BackTrack(CDCTrack &track)
Tries to split back-to-back tracks into two different tracks.
Definition: AxialTrackUtil.cc:211
Belle2::TrackFindingCDC::AxialTrackHitMigrator::getDescription
std::string getDescription() final
Short description of the findlet.
Definition: AxialTrackHitMigrator.cc:24
Belle2::TrackFindingCDC::AxialTrackUtil::assignNewHitsToTrack
static void assignNewHitsToTrack(CDCTrack &track, const std::vector< const CDCWireHit * > &allAxialWireHits, double minimalDistance=0.2)
Assign new hits to the track basing on the distance from the hit to the track.
Definition: AxialTrackUtil.cc:177
Belle2::TrackFindingCDC::AxialTrackHitMigrator::exposeParameters
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) final
Expose the parameters to a module.
Definition: AxialTrackHitMigrator.cc:30
Belle2::TrackFindingCDC::AxialTrackHitMigrator::apply
void apply(const std::vector< const CDCWireHit * > &axialWireHits, std::vector< CDCTrack > &axialTracks) final
Do the hit migration.
Definition: AxialTrackHitMigrator.cc:44
Belle2::ModuleParamList::addParameter
void addParameter(const std::string &name, T &paramVariable, const std::string &description, const T &defaultValue)
Adds a new parameter to the module list.
Definition: ModuleParamList.templateDetails.h:38
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::TrackFindingCDC::AxialTrackHitMigrator::m_param_dropDistance
double m_param_dropDistance
Parameter : Distance for a hit to be removed.
Definition: AxialTrackHitMigrator.h:56
Belle2::TrackFindingCDC::AxialTrackUtil::deleteHitsFarAwayFromTrajectory
static void deleteHitsFarAwayFromTrajectory(CDCTrack &track, double maximumDistance=0.2)
Postprocessing: Delete axial hits that do not "match" to the given track.
Definition: AxialTrackUtil.cc:142
Belle2::ModuleParamList
The Module parameter list class.
Definition: ModuleParamList.h:46
Belle2::TrackFindingCDC::AxialTrackUtil::normalizeTrack
static void normalizeTrack(CDCTrack &track)
Refit and resort the track. Unmask all hits.
Definition: AxialTrackUtil.cc:95