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 TrackFindingCDC {
24 class CDCSegmentTriple;
25
27 class MCSegmentTripleFilter : public MCSymmetric<BaseSegmentTripleFilter> {
28
29 private:
32
33 public:
35 explicit MCSegmentTripleFilter(bool allowReverse = true);
36
38 void exposeParameters(ModuleParamList* moduleParamList, const std::string& prefix) final;
39
41 void initialize() final;
42
43 public:
45 Weight operator()(const CDCSegmentTriple& segmentTriple) final;
46
47 private:
49 void setTrajectoryOf(const CDCSegmentTriple& segmentTriple) const;
50
51 public:
53 void setAllowReverse(bool allowReverse) override
54 {
55 Super::setAllowReverse(allowReverse);
56 m_mcAxialSegmentPairFilter.setAllowReverse(allowReverse);
57 }
58
59 private:
62 };
63 }
65}
The Module parameter list class.
Class representing a triple of reconstructed segments in adjacent superlayer.
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 setTrajectoryOf(const CDCSegmentTriple &segmentTriple) const
Sets the trajectories of the segment triple from Monte Carlo information. Is executed for good segmen...
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.
MCSegmentTripleFilter(bool allowReverse=true)
Constructor initializing the symmetry flag.
Abstract base class for different kinds of events.