Belle II Software  release-05-01-25
CKFToCDCFromEclFindlet.cc
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2019 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Simon Kurz, Nils Braun *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #include <tracking/ckf/cdc/findlets/CKFToCDCFromEclFindlet.h>
12 
13 #include <tracking/trackFindingCDC/utilities/Algorithms.h>
14 
15 #include <framework/core/ModuleParamList.h>
16 
17 #include <cdc/dataobjects/CDCRecoHit.h>
18 #include <cdc/translators/LinearGlobalADCCountTranslator.h>
19 #include <cdc/translators/RealisticCDCGeometryTranslator.h>
20 #include <cdc/translators/RealisticTDCCountTranslator.h>
21 
22 using namespace Belle2;
23 
25 
27 {
33 }
34 
35 void CKFToCDCFromEclFindlet::exposeParameters(ModuleParamList* moduleParamList, const std::string& prefix)
36 {
37  Super::exposeParameters(moduleParamList, prefix);
38 
39  m_seedCreator.exposeParameters(moduleParamList, prefix);
40  m_treeSearcher.exposeParameters(moduleParamList, prefix);
41  m_resultFinalizer.exposeParameters(moduleParamList, prefix);
42  m_resultStorer.exposeParameters(moduleParamList, prefix);
43  m_duplicateRemover.exposeParameters(moduleParamList, prefix);
44 
45  moduleParamList->getParameter<std::string>("statePreFilter").setDefaultValue("all");
46  moduleParamList->getParameter<std::string>("stateBasicFilter").setDefaultValue("rough_eclSeed");
47  moduleParamList->getParameter<std::string>("stateExtrapolationFilter").setDefaultValue("extrapolate_and_update");
48  moduleParamList->getParameter<std::string>("stateFinalFilter").setDefaultValue("distance");
49 
50  moduleParamList->getParameter<std::string>("badTracksFilter").setDefaultValue("seedCharge");
51  moduleParamList->getParameter<std::string>("duplicateTrackFilter").setDefaultValue("hitDistance");
52  moduleParamList->getParameter<std::string>("duplicateSeedFilter").setDefaultValue("duplicateHits");
53 }
54 
56 {
58 
59  // Prepare the Translators (necessary to create CDCRecoHits)
63  true);
64 
65  // Clear all vectors
66  m_paths.clear();
67  m_seeds.clear();
68  m_results.clear();
69 }
70 
71 void CKFToCDCFromEclFindlet::apply(const std::vector<TrackFindingCDC::CDCWireHit>& wireHits)
72 {
73  const auto& wireHitPtrs = TrackFindingCDC::as_pointers<const TrackFindingCDC::CDCWireHit>(wireHits);
74 
75  // create the seed objects
77 
78  // find the paths
79  for (const auto& seed : m_seeds) {
80  B2DEBUG(100, "Starting new seed");
81  m_paths.clear();
82  m_paths.push_back(seed);
83  m_treeSearcher.apply(m_paths, wireHitPtrs);
85  }
86 
87  // remove duplicate tracks (additional seeds from Bremsstrahlung)
89 
90  // and store output
92 }
93 
94 
Belle2::CKFToCDCFromEclFindlet::beginEvent
void beginEvent() override
Clear the object pools.
Definition: CKFToCDCFromEclFindlet.cc:55
Belle2::CDCCKFEclSeedCreator::exposeParameters
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) override
Expose the parameters of the sub findlets.
Definition: CDCCKFEclSeedCreator.cc:28
Belle2::CKFToCDCFromEclFindlet::m_paths
std::vector< CDCCKFPath > m_paths
Current list of paths.
Definition: CKFToCDCFromEclFindlet.h:77
Belle2::CDCCKFResultFinalizer::exposeParameters
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) override
Expose the parameters of the sub findlets.
Definition: CDCCKFResultFinalizer.h:48
Belle2::CDCCKFResultStorer::exposeParameters
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) override
Expose the parameters of the sub findlets.
Definition: CDCCKFResultStorer.cc:21
Belle2::CDC::RealisticTDCCountTranslator
Translator mirroring the realistic Digitization.
Definition: RealisticTDCCountTranslator.h:36
Belle2::StackTreeSearcher::apply
void apply(std::vector< CDCCKFPath > &paths, const std::vector< const TrackFindingCDC::CDCWireHit * > &wireHits) override
Main method to update the paths. Input: vector of the selected paths and a vector of CDC wirehits to ...
Definition: StackTreeSearcher.h:61
Belle2::CDC::LinearGlobalADCCountTranslator
This class simply assumes a linear translation through (0,0)
Definition: LinearGlobalADCCountTranslator.h:31
Belle2::ModuleParamList::getParameter
ModuleParam< T > & getParameter(const std::string &name) const
Returns a reference to a parameter.
Definition: ModuleParamList.templateDetails.h:90
Belle2::CKFToCDCFromEclFindlet::m_results
std::vector< CDCCKFResult > m_results
Current list of results.
Definition: CKFToCDCFromEclFindlet.h:81
Belle2::CDCCKFEclSeedCreator::apply
void apply(std::vector< CDCCKFPath > &seeds) override
Load in the reco tracks and the hits.
Definition: CDCCKFEclSeedCreator.cc:76
Belle2::CDCRecoHit::setTranslators
static void setTranslators(CDC::ADCCountTranslatorBase *const adcCountTranslator, CDC::CDCGeometryTranslatorBase *const cdcGeometryTranslator, CDC::TDCCountTranslatorBase *const tdcCountTranslator, bool useTrackTime=false, bool cosmics=false)
Setter for the Translators.
Definition: CDCRecoHit.cc:35
Belle2::CKFToCDCFromEclFindlet::m_resultFinalizer
CDCCKFResultFinalizer m_resultFinalizer
Result Finalizer.
Definition: CKFToCDCFromEclFindlet.h:69
Belle2::TrackFindingCDC::CompositeProcessingSignalListener::addProcessingSignalListener
void addProcessingSignalListener(ProcessingSignalListener *psl)
Register a processing signal listener to be notified.
Definition: CompositeProcessingSignalListener.cc:57
Belle2::CDCCKFResultStorer::apply
void apply(const std::vector< CDCCKFResult > &results) override
Do the track/hit finding/merging.
Definition: CDCCKFResultStorer.cc:89
Belle2::CDC::RealisticCDCGeometryTranslator
This class uses the realistic detector geometry (the one after alignment procedure) for the translati...
Definition: RealisticCDCGeometryTranslator.h:32
Belle2::CDCCKFResultFinalizer::apply
void apply(const std::vector< CDCCKFPath > &paths, std::vector< CDCCKFResult > &results) override
main method of the findlet, for a list of paths create a list of results.
Definition: CDCCKFResultFinalizer.h:54
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::TrackFindingCDC::Findlet< const TrackFindingCDC::CDCWireHit >::exposeParameters
virtual void exposeParameters(ModuleParamList *moduleParamList __attribute__((unused)), const std::string &prefix __attribute__((unused)))
Forward prefixed parameters of this findlet to the module parameter list.
Definition: Findlet.h:79
Belle2::CKFToCDCFromEclFindlet::~CKFToCDCFromEclFindlet
~CKFToCDCFromEclFindlet() override
Default desctructor.
Belle2::CKFToCDCFromEclFindlet::m_duplicateRemover
CDCCKFDuplicateRemover m_duplicateRemover
Showers from Bremsstrahlung might lead to duplicate tracks.
Definition: CKFToCDCFromEclFindlet.h:73
Belle2::CKFToCDCFromEclFindlet::m_seedCreator
CDCCKFEclSeedCreator m_seedCreator
Findlet for retrieving the ecl showers and creating recoTracks out of it.
Definition: CKFToCDCFromEclFindlet.h:65
Belle2::CKFToCDCFromEclFindlet::apply
void apply(const std::vector< TrackFindingCDC::CDCWireHit > &wireHits) override
Do the track/hit finding/merging.
Definition: CKFToCDCFromEclFindlet.cc:71
Belle2::TrackFindingCDC::CompositeProcessingSignalListener::beginEvent
void beginEvent() override
Receive and dispatch signal for the start of a new event.
Definition: CompositeProcessingSignalListener.cc:33
Belle2::CDCCKFDuplicateRemover::apply
void apply(std::vector< CDCCKFResult > &results) override
main method of the findlet, merges and filters paths
Definition: CDCCKFDuplicateRemover.h:67
Belle2::StackTreeSearcher::exposeParameters
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) override
Expose the parameters of the sub findlets.
Definition: StackTreeSearcher.h:52
Belle2::ModuleParamList
The Module parameter list class.
Definition: ModuleParamList.h:46
Belle2::CKFToCDCFromEclFindlet::exposeParameters
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) override
Expose the parameters of the sub findlets.
Definition: CKFToCDCFromEclFindlet.cc:35
Belle2::CKFToCDCFromEclFindlet::m_treeSearcher
StackTreeSearcher m_treeSearcher
Tree Searcher.
Definition: CKFToCDCFromEclFindlet.h:67
Belle2::CDCCKFDuplicateRemover::exposeParameters
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) override
Expose the parameters of the sub findlets.
Definition: CDCCKFDuplicateRemover.h:49
Belle2::CKFToCDCFromEclFindlet::m_resultStorer
CDCCKFResultStorer m_resultStorer
Result Storer.
Definition: CKFToCDCFromEclFindlet.h:71
Belle2::CKFToCDCFromEclFindlet::m_seeds
std::vector< CDCCKFPath > m_seeds
Current list of seeds.
Definition: CKFToCDCFromEclFindlet.h:79
Belle2::CKFToCDCFromEclFindlet::CKFToCDCFromEclFindlet
CKFToCDCFromEclFindlet()
Constructor, for setting module description and parameters.
Definition: CKFToCDCFromEclFindlet.cc:26