Belle II Software  release-05-01-25
MCSegmentTripleFilter.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2012 - 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 #pragma once
11 
12 #include <tracking/trackFindingCDC/filters/axialSegmentPair/MCAxialSegmentPairFilter.h>
13 
14 #include <tracking/trackFindingCDC/filters/base/MCSymmetricFilter.dcl.h>
15 
16 #include <tracking/trackFindingCDC/filters/segmentTriple/BaseSegmentTripleFilter.h>
17 
18 namespace Belle2 {
23  class ModuleParamList;
24 
25  namespace TrackFindingCDC {
26  class CDCSegmentTriple;
27 
29  class MCSegmentTripleFilter : public MCSymmetric<BaseSegmentTripleFilter> {
30 
31  private:
33  using Super = MCSymmetric<BaseSegmentTripleFilter>;
34 
35  public:
37  explicit MCSegmentTripleFilter(bool allowReverse = true);
38 
40  void exposeParameters(ModuleParamList* moduleParamList, const std::string& prefix) final;
41 
43  void initialize() final;
44 
45  public:
47  Weight operator()(const CDCSegmentTriple& segmentTriple) final;
48 
49  private:
51  void setTrajectoryOf(const CDCSegmentTriple& segmentTriple) const;
52 
53  public:
55  void setAllowReverse(bool allowReverse) override
56  {
57  Super::setAllowReverse(allowReverse);
59  }
60 
61  private:
64  };
65  }
67 }
Belle2::TrackFindingCDC::MCSegmentTripleFilter::Super
MCSymmetric< BaseSegmentTripleFilter > Super
Type of the super class.
Definition: MCSegmentTripleFilter.h:41
Belle2::TrackFindingCDC::MCAxialSegmentPairFilter
Filter for the constuction of axial to axial segment pairs based on simple criterions.
Definition: MCAxialSegmentPairFilter.h:34
Belle2::TrackFindingCDC::MCSegmentTripleFilter::setAllowReverse
void setAllowReverse(bool allowReverse) override
Setter for the allow reverse parameter.
Definition: MCSegmentTripleFilter.h:63
Belle2::TrackFindingCDC::MCSegmentTripleFilter::exposeParameters
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) final
Expose the parameters to a module.
Definition: MCSegmentTripleFilter.cc:37
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::TrackFindingCDC::MCSegmentTripleFilter::initialize
void initialize() final
Initialize the before event processing.
Definition: MCSegmentTripleFilter.cc:43
Belle2::ModuleParamList
The Module parameter list class.
Definition: ModuleParamList.h:46
Belle2::TrackFindingCDC::CDCSegmentTriple
Class representing a triple of reconstructed segements in adjacent superlayer.
Definition: CDCSegmentTriple.h:42
Belle2::TrackFindingCDC::MCSegmentTripleFilter::m_mcAxialSegmentPairFilter
MCAxialSegmentPairFilter m_mcAxialSegmentPairFilter
Instance of the cell filter to reject neighborhoods of false cells.
Definition: MCSegmentTripleFilter.h:71
Belle2::TrackFindingCDC::MCSegmentTripleFilter::setTrajectoryOf
void setTrajectoryOf(const CDCSegmentTriple &segmentTriple) const
Sets the trajectories of the segment triple from Monte Carlo information. Is executed for good segmen...
Definition: MCSegmentTripleFilter.cc:93
Belle2::TrackFindingCDC::MCSegmentTripleFilter::MCSegmentTripleFilter
MCSegmentTripleFilter(bool allowReverse=true)
Constructor initializing the symmetry flag.
Definition: MCSegmentTripleFilter.cc:30
Belle2::TrackFindingCDC::MCSymmetric< BaseSegmentTripleFilter >::setAllowReverse
virtual void setAllowReverse(bool allowReverse)
Setter for the allow reverse parameter.
Definition: MCSymmetricFilter.icc.h:79