Belle II Software development
MCSegmentTripleFilter.h
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#pragma once
9
10#include <tracking/trackFindingCDC/filters/axialSegmentPair/MCAxialSegmentPairFilter.h>
11
12#include <tracking/trackFindingCDC/filters/base/MCSymmetricFilter.dcl.h>
13
14#include <tracking/trackFindingCDC/filters/segmentTriple/BaseSegmentTripleFilter.h>
15
16namespace Belle2 {
21 class ModuleParamList;
22
23 namespace TrackingUtilities {
24 class CDCSegmentTriple;
25 }
26 namespace TrackFindingCDC {
27
29 class MCSegmentTripleFilter : public MCSymmetric<BaseSegmentTripleFilter> {
30
31 private:
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 TrackingUtilities::Weight operator()(const TrackingUtilities::CDCSegmentTriple& segmentTriple) final;
48
49 private:
51 void setTrajectoryOf(const TrackingUtilities::CDCSegmentTriple& segmentTriple) const;
52
53 public:
55 void setAllowReverse(bool allowReverse) override
56 {
57 Super::setAllowReverse(allowReverse);
58 m_mcAxialSegmentPairFilter.setAllowReverse(allowReverse);
59 }
60
61 private:
64 };
65 }
67}
The Module parameter list class.
Filter for the construction of axial to axial segment pairs based on simple criteria.
MCSymmetric< BaseSegmentTripleFilter > Super
Type of the super class.
MCAxialSegmentPairFilter m_mcAxialSegmentPairFilter
Instance of the cell filter to reject neighborhoods of false cells.
void initialize() final
Initialize the before event processing.
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) final
Expose the parameters to a module.
void setAllowReverse(bool allowReverse) override
Setter for the allow reverse parameter.
void setTrajectoryOf(const TrackingUtilities::CDCSegmentTriple &segmentTriple) const
Sets the trajectories of the segment triple from Monte Carlo information. Is executed for good segmen...
MCSegmentTripleFilter(bool allowReverse=true)
Constructor initializing the symmetry flag.
Class representing a triple of reconstructed segments in adjacent superlayer.
Abstract base class for different kinds of events.