ATLAS Offline Software
Loading...
Searching...
No Matches
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
19
20#include "GaudiKernel/ToolHandle.h"
21
22#include <TString.h>
23
24#include <vector>
25#include <string>
26#include <map>
27
28//this is a typedef: no forward decl possible
32#include "CLHEP/Random/RandomEngine.h"
36
37//class InDetSimDataCollection;
38
39namespace CLHEP{
40 class HepRandomEngine;
41}
42
43namespace InDet {
44
45 class PixelCluster;
46
47 static const InterfaceID IID_TruthClusterizationFactory("InDet::NnClusterizationFactory", 1, 0);
48
50
51 public:
52
54 static const InterfaceID& interfaceID() { return IID_TruthClusterizationFactory; };
55
56 TruthClusterizationFactory(const std::string& name,
57 const std::string& n, const IInterface* p);
59
60 virtual StatusCode initialize();
61 virtual StatusCode finalize() { return StatusCode::SUCCESS; };
62
63 std::vector<double> estimateNumberOfParticles(const InDet::PixelCluster& pCluster) const;
64
65 std::vector<Amg::Vector2D> estimatePositions(const InDet::PixelCluster&) const;
66
67 private:
69 SG::ReadHandleKey<InDetSimDataCollection> m_simDataCollectionName {this, "InputSDOMap", "PixelSDO_Map", "sim data collection name"};
70
71 protected:
72 ServiceHandle<IAthRNGSvc> m_rndmSvc{this, "RndmSvc", "AthRNGSvc", "Random Number Service used in TruthClusterizationFactory"};
73 Gaudi::Property<std::string> m_rndmEngineName {this, "RndmEngine", "TruthClustering", "Random Engine Name"};
75 Gaudi::Property<bool> m_discardPUHits{this, "discardPUHits", true, "Discard PU hits for NN emulation"};
76 Gaudi::Property<float> m_truthClusterSplittingEff{this, "truthClusterSplittingEff", 0.9, "Cluster splitting effeciency"};
77
78 };
79
80}//end InDet namespace
81
82 #endif
Property holding a SG store/key/clid from which a ReadHandle is made.
A wrapper class for event-slot-local random engines.
Definition RNGWrapper.h:56
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
Gaudi::Property< float > m_truthClusterSplittingEff
TruthClusterizationFactory(const std::string &name, const std::string &n, const IInterface *p)
Gaudi::Property< std::string > m_rndmEngineName
std::vector< Amg::Vector2D > estimatePositions(const InDet::PixelCluster &) const
std::vector< double > estimateNumberOfParticles(const InDet::PixelCluster &pCluster) const
static const InterfaceID & interfaceID()
AlgTool interface methods.
SG::ReadHandleKey< InDetSimDataCollection > m_simDataCollectionName
IncidentSvc to catch begining of event and end of event.
Property holding a SG store/key/clid from which a ReadHandle is made.
Primary Vertex Finder.
static const InterfaceID IID_TruthClusterizationFactory("InDet::NnClusterizationFactory", 1, 0)