ATLAS Offline Software
TotPixelClusterSplitter.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 // TotPixelClusterSplitter.h, (c) ATLAS Detector software
8 
9 #ifndef INDETRECTOOLS_TOTPIXELCLUSTERSPLITTER_H
10 #define INDETRECTOOLS_TOTPIXELCLUSTERSPLITTER_H
11 
13 
21 
22 template <class T> class ServiceHandle;
23 
24 namespace InDet
25 {
26  class PixelCluster;
27 
33  class TotPixelClusterSplitter final : public extends<AthAlgTool, IPixelClusterSplitter>
34  {
35  public :
37  TotPixelClusterSplitter(const std::string & type,
38  const std::string & name,
39  const IInterface * parent);
40 
43 
45  virtual StatusCode initialize() override;
46  virtual StatusCode finalize() override;
47 
49  virtual std::vector<InDet::PixelClusterParts> splitCluster(
50  const InDet::PixelCluster& OrigCluster) const override;
51 
53  virtual std::vector<InDet::PixelClusterParts> splitCluster(
54  const InDet::PixelCluster& OrigCluster,
55  const InDet::PixelClusterSplitProb& spo) const override;
56 
58  inline void setMinPixels(unsigned int minPix);
59  inline void setMaxPixels(unsigned int maxPix);
60 
61  private:
77  static int pixelType(const int PhiIdx, const int EtaIdx) ;
78 
79  enum SplitType { PhiSplit = 0, EtaSplit = 1, NoSplit = 2 };
80 
82  {this, "PixelReadoutManager", "PixelReadoutManager", "Pixel readout manager" };
83 
85  {this, "PixelChargeCalibCondData", "PixelChargeCalibCondData", "Pixel charge calibration data"};
86 
88  unsigned int m_minPixels;
89 
91  unsigned int m_maxPixels;
92 
93  };
94 
95  inline void TotPixelClusterSplitter::setMinPixels(unsigned int minPix)
96  {
97  m_minPixels = minPix;
98  return;
99  }
100 
101  inline void TotPixelClusterSplitter::setMaxPixels(unsigned int maxPix)
102  {
103  m_maxPixels = maxPix;
104  return;
105  }
106 
107 }
108 
109 #endif
PixelID.h
This is an Identifier helper class for the Pixel subdetector. This class is a factory for creating co...
InDet::TotPixelClusterSplitter::~TotPixelClusterSplitter
~TotPixelClusterSplitter()=default
Destructor.
PixelClusterParts.h
InDet::TotPixelClusterSplitter::EtaSplit
@ EtaSplit
Definition: TotPixelClusterSplitter.h:79
PixelCluster
Definition: Trigger/TrigAccel/TrigCudaFitter/src/PixelCluster.h:7
InDet::PixelClusterSplitProb
Definition: PixelClusterSplitProb.h:25
InDet
DUMMY Primary Vertex Finder.
Definition: VP1ErrorUtils.h:36
InDet::TotPixelClusterSplitter::setMinPixels
void setMinPixels(unsigned int minPix)
Set the lower and upper bounds for the number of pixels in clusters to be considered.
Definition: TotPixelClusterSplitter.h:95
InDet::TotPixelClusterSplitter::NoSplit
@ NoSplit
Definition: TotPixelClusterSplitter.h:79
InDet::TotPixelClusterSplitter::pixelType
static int pixelType(const int PhiIdx, const int EtaIdx)
Determine a pixel's type.
Definition: TotPixelClusterSplitter.cxx:234
InDet::TotPixelClusterSplitter::finalize
virtual StatusCode finalize() override
Definition: TotPixelClusterSplitter.cxx:32
InDet::TotPixelClusterSplitter::initialize
virtual StatusCode initialize() override
AthAlgTool interface methods.
Definition: TotPixelClusterSplitter.cxx:24
InDet::TotPixelClusterSplitter::m_chargeDataKey
SG::ReadCondHandleKey< PixelChargeCalibCondData > m_chargeDataKey
Definition: TotPixelClusterSplitter.h:85
InDet::TotPixelClusterSplitter::splitCluster
virtual std::vector< InDet::PixelClusterParts > splitCluster(const InDet::PixelCluster &OrigCluster) const override
take one, give zero or many
Definition: TotPixelClusterSplitter.cxx:37
PixelClusterSplitProb.h
InDet::TotPixelClusterSplitter::m_pixelReadout
ServiceHandle< InDetDD::IPixelReadoutManager > m_pixelReadout
Definition: TotPixelClusterSplitter.h:82
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::TotPixelClusterSplitter::m_minPixels
unsigned int m_minPixels
Minimum number of pixels in cluster to consider splitting.
Definition: TotPixelClusterSplitter.h:88
IPixelReadoutManager.h
InDet::TotPixelClusterSplitter
Definition: TotPixelClusterSplitter.h:34
ReadCondHandleKey.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
InDet::TotPixelClusterSplitter::TotPixelClusterSplitter
TotPixelClusterSplitter(const std::string &type, const std::string &name, const IInterface *parent)
Constructor.
Definition: TotPixelClusterSplitter.cxx:17
InDet::PixelCluster
Definition: InnerDetector/InDetRecEvent/InDetPrepRawData/InDetPrepRawData/PixelCluster.h:49
InDet::TotPixelClusterSplitter::m_maxPixels
unsigned int m_maxPixels
Maximum size of cluster for which splitting will be attempted.
Definition: TotPixelClusterSplitter.h:91
SG::ReadCondHandleKey< PixelChargeCalibCondData >
InDet::TotPixelClusterSplitter::PhiSplit
@ PhiSplit
Definition: TotPixelClusterSplitter.h:79
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
PixelChargeCalibCondData.h
InDet::TotPixelClusterSplitter::setMaxPixels
void setMaxPixels(unsigned int maxPix)
Definition: TotPixelClusterSplitter.h:101
InDet::TotPixelClusterSplitter::SplitType
SplitType
Definition: TotPixelClusterSplitter.h:79
ServiceHandle
Definition: ClusterMakerTool.h:37