ATLAS Offline Software
TruthClusterizationFactory.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef SICLUSTERIZATIONTOOL_TruthClusterizationFactory_C
6 #define SICLUSTERIZATIONTOOL_TruthClusterizationFactory_C
7 
8 /******************************************************
9  @class TruthClusterizationFactory
10  @author Roland Jansky
11  Package : SiClusterizationTool
12  Created : April 2016
13  DESCRIPTION: Emulates NN evaluation from truth (for ITK studies)
14 ********************************************************/
15 
16 
18 
20 
21 #include "GaudiKernel/ToolHandle.h"
22 
23 #include <TString.h>
24 
25 #include <vector>
26 #include <string>
27 #include <map>
28 
29 //this is a typedef: no forward decl possible
33 #include "CLHEP/Random/RandomEngine.h"
37 
38 //class InDetSimDataCollection;
39 
40 namespace CLHEP{
41  class HepRandomEngine;
42 }
43 
44 namespace InDet {
45 
46  class PixelCluster;
47 
48  static const InterfaceID IID_TruthClusterizationFactory("InDet::NnClusterizationFactory", 1, 0);
49 
51 
52  public:
53 
55  static const InterfaceID& interfaceID() { return IID_TruthClusterizationFactory; };
56 
57  TruthClusterizationFactory(const std::string& name,
58  const std::string& n, const IInterface* p);
60 
61  virtual StatusCode initialize();
62  virtual StatusCode finalize() { return StatusCode::SUCCESS; };
63 
64  std::vector<double> estimateNumberOfParticles(const InDet::PixelCluster& pCluster) const;
65 
66  std::vector<Amg::Vector2D> estimatePositions(const InDet::PixelCluster&) const;
67 
68  private:
70  SG::ReadHandleKey<InDetSimDataCollection> m_simDataCollectionName {this, "InputSDOMap", "PixelSDO_Map", "sim data collection name"};
71 
72  protected:
73  ServiceHandle<IAthRNGSvc> m_rndmSvc{this, "RndmSvc", "AthRNGSvc", "Random Number Service used in TruthClusterizationFactory"};
74  Gaudi::Property<std::string> m_rndmEngineName {this, "RndmEngine", "TruthClustering", "Random Engine Name"};
76  Gaudi::Property<bool> m_discardPUHits{this, "discardPUHits", true, "Discard PU hits for NN emulation"};
77  Gaudi::Property<float> m_truthClusterSplittingEff{this, "truthClusterSplittingEff", 0.9, "Cluster splitting effeciency"};
78 
79  };
80 
81 }//end InDet namespace
82 
83  #endif
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
InDet::TruthClusterizationFactory::m_rndmSvc
ServiceHandle< IAthRNGSvc > m_rndmSvc
Definition: TruthClusterizationFactory.h:73
PixelCluster
Definition: Trigger/TrigAccel/TrigCudaFitter/src/PixelCluster.h:7
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
TrackParameters.h
InDet
DUMMY Primary Vertex Finder.
Definition: VP1ErrorUtils.h:36
InDet::TruthClusterizationFactory
Definition: TruthClusterizationFactory.h:50
InDet::TruthClusterizationFactory::m_rndmEngine
ATHRNG::RNGWrapper * m_rndmEngine
Definition: TruthClusterizationFactory.h:75
InDet::TruthClusterizationFactory::interfaceID
static const InterfaceID & interfaceID()
AlgTool interface methods.
Definition: TruthClusterizationFactory.h:55
SG::ReadHandleKey< InDetSimDataCollection >
InDet::TruthClusterizationFactory::~TruthClusterizationFactory
~TruthClusterizationFactory()=default
InDet::TruthClusterizationFactory::m_simDataCollectionName
SG::ReadHandleKey< InDetSimDataCollection > m_simDataCollectionName
IncidentSvc to catch begining of event and end of event.
Definition: TruthClusterizationFactory.h:70
GeoPrimitives.h
beamspotman.n
n
Definition: beamspotman.py:731
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
CLHEP
STD'S.
Definition: IAtRndmGenSvc.h:19
AthAlgTool.h
InDet::TruthClusterizationFactory::TruthClusterizationFactory
TruthClusterizationFactory(const std::string &name, const std::string &n, const IInterface *p)
Definition: TruthClusterizationFactory.cxx:37
InDet::TruthClusterizationFactory::finalize
virtual StatusCode finalize()
Definition: TruthClusterizationFactory.h:62
EventPrimitives.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
ATHRNG::RNGWrapper
A wrapper class for event-slot-local random engines.
Definition: RNGWrapper.h:56
InDet::TruthClusterizationFactory::initialize
virtual StatusCode initialize()
Definition: TruthClusterizationFactory.cxx:44
InDet::TruthClusterizationFactory::m_discardPUHits
Gaudi::Property< bool > m_discardPUHits
Definition: TruthClusterizationFactory.h:76
InDet::TruthClusterizationFactory::m_truthClusterSplittingEff
Gaudi::Property< float > m_truthClusterSplittingEff
Definition: TruthClusterizationFactory.h:77
InDet::PixelCluster
Definition: InnerDetector/InDetRecEvent/InDetPrepRawData/InDetPrepRawData/PixelCluster.h:49
InDet::TruthClusterizationFactory::estimateNumberOfParticles
std::vector< double > estimateNumberOfParticles(const InDet::PixelCluster &pCluster) const
Definition: TruthClusterizationFactory.cxx:69
InDetSimDataCollection.h
InDet::TruthClusterizationFactory::m_rndmEngineName
Gaudi::Property< std::string > m_rndmEngineName
Definition: TruthClusterizationFactory.h:74
IOVSvcDefs.h
defines and typedefs for IOVSvc
AthAlgTool
Definition: AthAlgTool.h:26
InDet::TruthClusterizationFactory::estimatePositions
std::vector< Amg::Vector2D > estimatePositions(const InDet::PixelCluster &) const
Definition: TruthClusterizationFactory.cxx:132
IAthRNGSvc.h
ServiceHandle< IAthRNGSvc >