ATLAS Offline Software
PixelGangedAmbiguitiesFinder.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 //PixelGangedAmbiguitiesFinder.h
8 // (c) ATLAS Detector software
10 // Finds pixel clusters with a ganged pixel in common
12 //
14 // First version 28/01/2004 Tommaso Lari
15 //
17 
18 #ifndef SICLUSTERIZATIONTOOL_PIXELGANGEDAMBIGUITIESFINDER_H
19 #define SICLUSTERIZATIONTOOL_PIXELGANGEDAMBIGUITIESFINDER_H
20 
22 #include "Identifier/Identifier.h"
29 
30 namespace InDetDD {
31  class SiDetectorElement;
32 }
33 
34 
35 namespace InDet{
36 
37  static const InterfaceID IID_PixelGangedAmbiguitiesFinder("InDet::PixelGangedAmbiguitiesFinder", 1, 0);
38 
40 
42  // Public methods:
44  public:
45 
46  PixelGangedAmbiguitiesFinder(const std::string& type,
47  const std::string& name,
48  const IInterface* parent);
50 
51  static const InterfaceID& interfaceID() { return IID_PixelGangedAmbiguitiesFinder; };
52 
53  virtual StatusCode initialize();
54 
55  // Called by the PixelClusterization algorithms of InDetPrepRawDataFormation
56  // A map containing the pairs of Pixel Clusters which shares the same
57  // ganged pixel is created.
58  // Inputs are the cluster collection of a module, and the silicon
59  // detector manager, and the map to be filled.
60  void execute(PixelClusterCollection* collection,
61  PixelGangedClusterAmbiguities& map) const;
62 
63  private:
64 
67 
68  // If possibile, internally solve ganged pixel ambiguities
69  BooleanProperty m_internalSolving{this, "InternalSolving", false, "Standalone resolution of ganged pixel ambiguities"};
70 
71  SG::ReadCondHandleKey<InDetDD::SiDetectorElementCollection> m_pixelDetEleCollKey{this, "PixelDetEleCollKey", "PixelDetectorElementCollection", "Key of SiDetectorElementCollection for Pixel"};
72 
73  // Determines if a pixel cell (whose identifier is the first argument) is
74  // a ganged pixel. If this is the case, the last argument assumes the
75  // value of the identifier of the cell it is ganged with.
76  // The second argument is the pixel module the hit belongs to.
77 
78  static bool isGanged(const Identifier& rdoID,
79  const InDetDD::SiDetectorElement* element,
80  Identifier& gangedID) ;
81 
82  };
83 
84 }
85 
86 #endif // SICLUSTERIZATIONTOOL_PIXELGANGEDAMBIGUITIESFINDER_H
PixelID.h
This is an Identifier helper class for the Pixel subdetector. This class is a factory for creating co...
PixelCluster.h
InDet::PixelGangedClusterAmbiguities
std::multimap< const SiCluster *, const SiCluster *, ::InDet::compare_SiCluster > PixelGangedClusterAmbiguities
Definition: PixelGangedClusterAmbiguities.h:46
InDet
DUMMY Primary Vertex Finder.
Definition: VP1ErrorUtils.h:36
InDet::PixelGangedAmbiguitiesFinder::initialize
virtual StatusCode initialize()
Definition: PixelGangedAmbiguitiesFinder.cxx:41
InDet::PixelGangedAmbiguitiesFinder::m_internalSolving
BooleanProperty m_internalSolving
Definition: PixelGangedAmbiguitiesFinder.h:69
InDet::PixelGangedAmbiguitiesFinder::m_pixelDetEleCollKey
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollection > m_pixelDetEleCollKey
Definition: PixelGangedAmbiguitiesFinder.h:71
InDet::PixelGangedAmbiguitiesFinder::SiLocalPosition
InDetDD::SiLocalPosition SiLocalPosition
Definition: PixelGangedAmbiguitiesFinder.h:66
InDet::PixelGangedAmbiguitiesFinder::execute
void execute(PixelClusterCollection *collection, PixelGangedClusterAmbiguities &map) const
Definition: PixelGangedAmbiguitiesFinder.cxx:54
InDetDD::SiLocalPosition
Definition: SiLocalPosition.h:31
InDet::PixelGangedAmbiguitiesFinder::isGanged
static bool isGanged(const Identifier &rdoID, const InDetDD::SiDetectorElement *element, Identifier &gangedID)
Definition: PixelGangedAmbiguitiesFinder.cxx:323
PixelGangedClusterAmbiguities.h
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
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
PixelClusterCollection.h
InDet::PixelGangedAmbiguitiesFinder::PixelGangedAmbiguitiesFinder
PixelGangedAmbiguitiesFinder(const std::string &type, const std::string &name, const IInterface *parent)
Definition: PixelGangedAmbiguitiesFinder.cxx:32
InDet::PixelGangedAmbiguitiesFinder
Definition: PixelGangedAmbiguitiesFinder.h:39
ReadCondHandleKey.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
InDetDD::SiDetectorElement
Definition: SiDetectorElement.h:109
SiDetectorElementCollection.h
InDet::PixelGangedAmbiguitiesFinder::interfaceID
static const InterfaceID & interfaceID()
Definition: PixelGangedAmbiguitiesFinder.h:51
InDet::PixelGangedAmbiguitiesFinder::~PixelGangedAmbiguitiesFinder
~PixelGangedAmbiguitiesFinder()=default
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollection >
InDetDD
Message Stream Member.
Definition: FakeTrackBuilder.h:8
InDet::PixelGangedAmbiguitiesFinder::SiDetectorElement
InDetDD::SiDetectorElement SiDetectorElement
Definition: PixelGangedAmbiguitiesFinder.h:65
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
AthAlgTool
Definition: AthAlgTool.h:26
InDet::PixelClusterCollection
Trk::PrepRawDataCollection< PixelCluster > PixelClusterCollection
Definition: PixelClusterCollection.h:26