ATLAS Offline Software
TruthPixelClusterSplitter.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // TruthPixelClusterSplitter.h, (c) ATLAS Detector software
8 
9 #ifndef INDETRECTOOLS_TruthPixelClusterSplitter_H
10 #define INDETRECTOOLS_TruthPixelClusterSplitter_H
11 
12 
14 #include "GaudiKernel/ToolHandle.h"
15 
19 
20 namespace InDet
21 {
22 
23  class TruthClusterizationFactory;
24  class PixelCluster;
25 
29  class TruthPixelClusterSplitter final : public AthAlgTool, virtual public IPixelClusterSplitter {
30  public :
32  TruthPixelClusterSplitter(const std::string &type,
33  const std::string &name,
34  const IInterface *parent);
35 
38 
40  virtual StatusCode initialize() override;
41  virtual StatusCode finalize() override;
42 
44  virtual std::vector<InDet::PixelClusterParts> splitCluster(
45  const InDet::PixelCluster& origCluster) const override;
46 
48  virtual std::vector<InDet::PixelClusterParts> splitCluster(
49  const InDet::PixelCluster& origCluster,
50  const InDet::PixelClusterSplitProb& spo) const override;
51 
52  private:
53 
54  ToolHandle<TruthClusterizationFactory> m_truthClusterizationFactory{this, "NnClusterizationFactory", "InDet::NnClusterizationFactory/TruthClusterizationFactory"};
55 
56  DoubleProperty m_thresholdSplittingIntoTwoClusters{this, "ThresholdSplittingIntoTwoClusters", 0.95};
57  DoubleProperty m_thresholdSplittingIntoThreeClusters{this, "ThresholdSplittingIntoThreeClusters", 0.90};
58  BooleanProperty m_splitOnlyOnBLayer{this, "SplitOnlyOnBLayer", true};
59 
60  };
61 }
62 #endif
PixelClusterParts.h
PixelCluster
Definition: Trigger/TrigAccel/TrigCudaFitter/src/PixelCluster.h:8
InDet::PixelClusterSplitProb
Definition: PixelClusterSplitProb.h:25
InDet
Primary Vertex Finder.
Definition: VP1ErrorUtils.h:36
InDet::TruthPixelClusterSplitter::~TruthPixelClusterSplitter
~TruthPixelClusterSplitter()=default
Destructor.
InDet::TruthPixelClusterSplitter::finalize
virtual StatusCode finalize() override
Definition: TruthPixelClusterSplitter.cxx:44
InDet::IPixelClusterSplitter
Definition: IPixelClusterSplitter.h:30
PixelClusterSplitProb.h
InDet::TruthPixelClusterSplitter::splitCluster
virtual std::vector< InDet::PixelClusterParts > splitCluster(const InDet::PixelCluster &origCluster) const override
take one, give zero or many
Definition: TruthPixelClusterSplitter.cxx:49
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
test_pyathena.parent
parent
Definition: test_pyathena.py:15
IPixelClusterSplitter.h
InDet::TruthPixelClusterSplitter::m_thresholdSplittingIntoThreeClusters
DoubleProperty m_thresholdSplittingIntoThreeClusters
Definition: TruthPixelClusterSplitter.h:57
InDet::TruthPixelClusterSplitter::initialize
virtual StatusCode initialize() override
AthAlgTool interface methods.
Definition: TruthPixelClusterSplitter.cxx:32
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
InDet::TruthPixelClusterSplitter::m_thresholdSplittingIntoTwoClusters
DoubleProperty m_thresholdSplittingIntoTwoClusters
Definition: TruthPixelClusterSplitter.h:56
InDet::TruthPixelClusterSplitter
Definition: TruthPixelClusterSplitter.h:29
InDet::PixelCluster
Definition: InnerDetector/InDetRecEvent/InDetPrepRawData/InDetPrepRawData/PixelCluster.h:49
InDet::TruthPixelClusterSplitter::TruthPixelClusterSplitter
TruthPixelClusterSplitter(const std::string &type, const std::string &name, const IInterface *parent)
Constructor.
Definition: TruthPixelClusterSplitter.cxx:24
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
InDet::TruthPixelClusterSplitter::m_truthClusterizationFactory
ToolHandle< TruthClusterizationFactory > m_truthClusterizationFactory
Definition: TruthPixelClusterSplitter.h:54
AthAlgTool
Definition: AthAlgTool.h:26
InDet::TruthPixelClusterSplitter::m_splitOnlyOnBLayer
BooleanProperty m_splitOnlyOnBLayer
Definition: TruthPixelClusterSplitter.h:58