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
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
40namespace CLHEP{
41 class HepRandomEngine;
42}
43
44namespace 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
defines and typedefs for IOVSvc
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)