Belle II Software release-09-00-14
CombinedWireHitFilter.cc
1/**************************************************************************
2 * basf2 (Belle II Analysis Software Framework) *
3 * Author: The Belle II Collaboration *
4 * *
5 * See git log for contributors and copyright holders. *
6 * This file is licensed under LGPL-3.0, see LICENSE.md. *
7 **************************************************************************/
8#include <tracking/trackFindingCDC/filters/wireHit/CombinedWireHitFilter.h>
9#include <tracking/trackFindingCDC/eventdata/hits/CDCWireHit.h>
10#include <cdc/dataobjects/CDCHit.h>
11
12using namespace Belle2;
13using namespace TrackFindingCDC;
14
15
17{
20}
21
22void CombinedWireHitFilter::exposeParameters(ModuleParamList* moduleParamList, const std::string& prefix)
23{
24 m_mvaFilter.exposeParameters(moduleParamList, prefix);
25 m_cutsFromDBFilter.exposeParameters(moduleParamList, prefix);
26}
27
28
30{
31 if (not m_WireHitFilterSettings.isValid()) {
32 B2FATAL("WireHitFilterSetting DB object is invalid");
33 }
34 const int switchSLayer = m_WireHitFilterSettings->getMVASwitchSuperLayer();
35 const auto* cdcHit = wireHit.getHit();
36 const auto sl = cdcHit->getISuperLayer();
37
38 if (sl < switchSLayer) {
39 return m_cutsFromDBFilter(wireHit);
40 } else {
41 return m_mvaFilter(wireHit);
42 }
43}
unsigned short getISuperLayer() const
Getter for iSuperLayer.
Definition: CDCHit.h:184
The Module parameter list class.
Class representing a hit wire in the central drift chamber.
Definition: CDCWireHit.h:55
const CDCHit * getHit() const
Getter for the CDCHit pointer into the StoreArray.
Definition: CDCWireHit.h:159
TrackFindingCDC::MVAFilter< CDCWireHitVarSet > m_mvaFilter
MVA filter.
TrackFindingCDC::Weight operator()(const TrackFindingCDC::CDCWireHit &wireHit) final
Basic filter method to override.
CutsFromDBWireHitFilter m_cutsFromDBFilter
Cuts from DB filter.
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) final
Expose the parameters to a module.
DBObjPtr< WireHitFilterSettings > m_WireHitFilterSettings
Switch to MVA super layer from database.
void addProcessingSignalListener(ProcessingSignalListener *psl)
Register a processing signal listener to be notified.
virtual void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix)
Expose the set of parameters of the filter to the module parameter list.
Definition: Filter.icc.h:40
Abstract base class for different kinds of events.