Belle II Software  release-05-01-25
StateRejecter.icc.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2017 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Nils Braun *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 #pragma once
11 
12 #include <tracking/ckf/general/findlets/StateRejecter.dcl.h>
13 #include <tracking/trackFindingCDC/utilities/StringManipulation.h>
14 #include <framework/logging/Logger.h>
15 
16 
17 namespace Belle2 {
22  template <class AState, class AFindlet>
24  {
30  };
31 
33  template <class AState, class AFindlet>
34  void StateRejecter<AState, AFindlet>::exposeParameters(ModuleParamList* moduleParamList, const std::string& prefix)
35  {
36  m_firstFilter.exposeParameters(moduleParamList, TrackFindingCDC::prefixed("first", prefix));
37  m_advanceFilter.exposeParameters(moduleParamList, TrackFindingCDC::prefixed("advance", prefix));
38  m_secondFilter.exposeParameters(moduleParamList, TrackFindingCDC::prefixed("second", prefix));
39  m_updateFilter.exposeParameters(moduleParamList, TrackFindingCDC::prefixed("update", prefix));
40  m_thirdFilter.exposeParameters(moduleParamList, TrackFindingCDC::prefixed("third", prefix));
41  };
42 
43  template <class AState, class AFindlet>
45  std::vector<TrackFindingCDC::WithWeight<AState*>>& childStates)
46  {
47  B2DEBUG(100, "Starting with " << childStates.size() << " states.");
48  m_firstFilter.apply(currentPath, childStates);
49  B2DEBUG(100, "After first filter " << childStates.size() << " states.");
50  m_advanceFilter.apply(currentPath, childStates);
51  B2DEBUG(100, "After advance filter " << childStates.size() << " states.");
52  m_secondFilter.apply(currentPath, childStates);
53  B2DEBUG(100, "After second filter " << childStates.size() << " states.");
54  m_updateFilter.apply(currentPath, childStates);
55  B2DEBUG(100, "After update filter " << childStates.size() << " states.");
56  m_thirdFilter.apply(currentPath, childStates);
57  B2DEBUG(100, "After third filter " << childStates.size() << " states.");
58  };
60 }
Belle2::StateRejecter::m_advanceFilter
AFilter m_advanceFilter
State filter to advance all states.
Definition: StateRejecter.dcl.h:69
Belle2::StateRejecter::exposeParameters
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) final
Expose the parameters of the subfindlet.
Definition: StateRejecter.icc.h:42
Belle2::TrackFindingCDC::CompositeProcessingSignalListener::addProcessingSignalListener
void addProcessingSignalListener(ProcessingSignalListener *psl)
Register a processing signal listener to be notified.
Definition: CompositeProcessingSignalListener.cc:57
Belle2::StateRejecter::apply
void apply(const std::vector< TrackFindingCDC::WithWeight< const AState * >> &currentPath, std::vector< TrackFindingCDC::WithWeight< AState * >> &childStates) final
Apply all five filters to the child states.
Definition: StateRejecter.icc.h:52
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::StateRejecter::m_secondFilter
AFilter m_secondFilter
State filter to decide which available continuations should be traversed next.
Definition: StateRejecter.dcl.h:71
Belle2::TrackFindingCDC::WithWeight
A mixin class to attach a weight to an object.
Definition: WithWeight.h:34
Belle2::StateRejecter::m_firstFilter
AFilter m_firstFilter
State filter to decide which available continuations should be traversed next.
Definition: StateRejecter.dcl.h:67
Belle2::StateRejecter::m_thirdFilter
AFilter m_thirdFilter
State filter to decide which available continuations should be traversed next.
Definition: StateRejecter.dcl.h:75
Belle2::StateRejecter::StateRejecter
StateRejecter()
Construct this findlet and add the subfindlet as listener.
Definition: StateRejecter.icc.h:31
Belle2::StateRejecter::m_updateFilter
AFilter m_updateFilter
State filter to kalman update all states.
Definition: StateRejecter.dcl.h:73
Belle2::ModuleParamList
The Module parameter list class.
Definition: ModuleParamList.h:46