ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Simulation
Tools
RDOAnalysis
src
HGTD_RDOAnalysis.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef HGTD_RDO_ANALYSIS_H
6
#define HGTD_RDO_ANALYSIS_H
7
8
#include "
AthenaBaseComps/AthHistogramAlgorithm.h
"
9
#include "
StoreGate/ReadHandleKey.h
"
10
11
#include "
GeneratorObjects/McEventCollection.h
"
12
#include "
InDetSimData/InDetSimDataCollection.h
"
13
14
#include "
HGTD_ReadoutGeometry/HGTD_DetectorManager.h
"
15
#include "
HGTD_RawData/HGTD_RDO_Container.h
"
16
17
class
HGTD_ID
;
18
19
namespace
InDetDD
{
20
class
HGTD_DetectorManager;
21
}
22
23
class
HGTD_RDOAnalysis
:
public
AthHistogramAlgorithm
24
{
25
26
struct
SdoInfo
{
27
float
time
{0.f};
28
int
truth
= -1;
// signal=1, pileup=2, secondary=3
29
bool
operator<
(
const
SdoInfo
& rhs)
const
{
return
time
< rhs.
time
; }
30
};
31
32
public
:
33
using
AthHistogramAlgorithm::AthHistogramAlgorithm
;
34
35
virtual
StatusCode
initialize
() override final;
36
virtual StatusCode
execute
(
const
EventContext& ctx) override final;
37
38
private
:
39
40
bool
isHSGoodParticle
(
HepMC
::ConstGenParticlePtr particlePtr,
const
HepMC
::GenEvent* hardScatterEvent,
float
min_pt_cut = 1000.);
41
42
SG
::ReadHandleKey<
HGTD_RDO_Container
>
m_inputKey
{
this
,
"CollectionName"
,
"HGTD_RDOs"
,
"Input HGTD RDO collection name"
};
43
SG::ReadHandleKey<InDetSimDataCollection>
m_inputTruthKey
{
this
,
"SDOCollectionName"
,
"HGTD_SDO_Map"
,
"Input HGTD SDO collection name"
};
44
SG::ReadHandleKey<McEventCollection>
m_inputMcEventCollectionKey
{
this
,
"McEventCollectionName"
,
"TruthEvent"
,
"Input McEventCollection name"
};
45
46
const
HGTD_DetectorManager
*
m_HGTD_Manager
{};
47
Gaudi::Property<std::string>
m_HGTD_Name
{
this
,
"DetectorName"
,
"HGTD"
,
"HGTD detector name"
};
48
const
HGTD_ID
*
m_HGTD_ID
{};
49
Gaudi::Property<std::string>
m_HGTDID_Name
{
this
,
"PixelIDName"
,
"HGTD_ID"
,
"HGTD ID name"
};
50
51
Gaudi::Property<std::string>
m_histPath
{
this
,
"HistPath"
,
"/RDOAnalysis/HGTD/"
,
""
};
52
Gaudi::Property<std::string>
m_sharedHistPath
{
this
,
"SharedHistPath"
,
"/RDOAnalysis/histos/"
,
""
};
53
Gaudi::Property<std::string>
m_ntuplePath
{
this
,
"NtuplePath"
,
"/RDOAnalysis/ntuples/"
,
""
};
54
Gaudi::Property<std::string>
m_ntupleName
{
this
,
"NtupleName"
,
"HGTD"
,
""
};
55
Gaudi::Property<bool>
m_doPosition
{
this
,
"DoPosition"
,
true
,
""
};
56
57
58
TTree*
m_tree
{};
59
std::vector<int>
m_rdo_module_layer
{};
// 0, 1, 2, 3
60
std::vector<float>
m_rdo_module_x
{};
// global position in mm
61
std::vector<float>
m_rdo_module_y
{};
// global position in mm
62
std::vector<float>
m_rdo_module_z
{};
// global position in mm
63
std::vector<unsigned long long>
m_rdo_module_ID
{};
//module ID (get compact)
64
std::vector<float>
m_rdo_hit_x
{};
// global position in mm
65
std::vector<float>
m_rdo_hit_y
{};
// global position in mm
66
std::vector<float>
m_rdo_hit_z
{};
// global position in mm
67
std::vector<float>
m_rdo_hit_toa
{};
// in ns
68
std::vector<float>
m_rdo_hit_sdo_toa
{};
// in ns
69
std::vector<int>
m_rdo_hit_sdo_truth_category
{};
// signal=1, pileup=2, secondary=3
70
71
};
72
73
#endif
// HGTD_RDO_ANALYSIS_H
AthHistogramAlgorithm.h
HGTD_DetectorManager.h
HGTD_RDO_Container.h
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration.
InDetSimDataCollection.h
McEventCollection.h
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
AthHistogramAlgorithm::AthHistogramAlgorithm
AthHistogramAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
Definition
AthHistogramAlgorithm.cxx:31
HGTD_DetectorManager
The Detector manager has methods to retrieve the Identifier helper and methods to retrieve the detect...
Definition
HGTD_DetectorManager.h:33
HGTD_ID
This is an Identifier helper class for the HGTD subdetector.
Definition
HGTD_ID.h:47
HGTD_RDOAnalysis
Definition
HGTD_RDOAnalysis.h:24
HGTD_RDOAnalysis::m_rdo_module_x
std::vector< float > m_rdo_module_x
Definition
HGTD_RDOAnalysis.h:60
HGTD_RDOAnalysis::isHSGoodParticle
bool isHSGoodParticle(HepMC::ConstGenParticlePtr particlePtr, const HepMC::GenEvent *hardScatterEvent, float min_pt_cut=1000.)
Definition
HGTD_RDOAnalysis.cxx:178
HGTD_RDOAnalysis::m_rdo_module_ID
std::vector< unsigned long long > m_rdo_module_ID
Definition
HGTD_RDOAnalysis.h:63
HGTD_RDOAnalysis::m_rdo_hit_sdo_toa
std::vector< float > m_rdo_hit_sdo_toa
Definition
HGTD_RDOAnalysis.h:68
HGTD_RDOAnalysis::initialize
virtual StatusCode initialize() override final
Definition
HGTD_RDOAnalysis.cxx:22
HGTD_RDOAnalysis::m_rdo_hit_z
std::vector< float > m_rdo_hit_z
Definition
HGTD_RDOAnalysis.h:66
HGTD_RDOAnalysis::m_tree
TTree * m_tree
Definition
HGTD_RDOAnalysis.h:58
HGTD_RDOAnalysis::m_sharedHistPath
Gaudi::Property< std::string > m_sharedHistPath
Definition
HGTD_RDOAnalysis.h:52
HGTD_RDOAnalysis::m_ntupleName
Gaudi::Property< std::string > m_ntupleName
Definition
HGTD_RDOAnalysis.h:54
HGTD_RDOAnalysis::m_HGTD_ID
const HGTD_ID * m_HGTD_ID
Definition
HGTD_RDOAnalysis.h:48
HGTD_RDOAnalysis::m_doPosition
Gaudi::Property< bool > m_doPosition
Definition
HGTD_RDOAnalysis.h:55
HGTD_RDOAnalysis::m_rdo_hit_x
std::vector< float > m_rdo_hit_x
Definition
HGTD_RDOAnalysis.h:64
HGTD_RDOAnalysis::m_HGTDID_Name
Gaudi::Property< std::string > m_HGTDID_Name
Definition
HGTD_RDOAnalysis.h:49
HGTD_RDOAnalysis::m_inputKey
SG::ReadHandleKey< HGTD_RDO_Container > m_inputKey
Definition
HGTD_RDOAnalysis.h:42
HGTD_RDOAnalysis::m_histPath
Gaudi::Property< std::string > m_histPath
Definition
HGTD_RDOAnalysis.h:51
HGTD_RDOAnalysis::m_inputTruthKey
SG::ReadHandleKey< InDetSimDataCollection > m_inputTruthKey
Definition
HGTD_RDOAnalysis.h:43
HGTD_RDOAnalysis::execute
virtual StatusCode execute(const EventContext &ctx) override final
Execute method.
Definition
HGTD_RDOAnalysis.cxx:60
HGTD_RDOAnalysis::m_rdo_hit_sdo_truth_category
std::vector< int > m_rdo_hit_sdo_truth_category
Definition
HGTD_RDOAnalysis.h:69
HGTD_RDOAnalysis::m_rdo_hit_toa
std::vector< float > m_rdo_hit_toa
Definition
HGTD_RDOAnalysis.h:67
HGTD_RDOAnalysis::m_HGTD_Name
Gaudi::Property< std::string > m_HGTD_Name
Definition
HGTD_RDOAnalysis.h:47
HGTD_RDOAnalysis::m_rdo_hit_y
std::vector< float > m_rdo_hit_y
Definition
HGTD_RDOAnalysis.h:65
HGTD_RDOAnalysis::m_rdo_module_y
std::vector< float > m_rdo_module_y
Definition
HGTD_RDOAnalysis.h:61
HGTD_RDOAnalysis::m_rdo_module_layer
std::vector< int > m_rdo_module_layer
Definition
HGTD_RDOAnalysis.h:59
HGTD_RDOAnalysis::AthHistogramAlgorithm
AthHistogramAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
Definition
AthHistogramAlgorithm.cxx:31
HGTD_RDOAnalysis::m_inputMcEventCollectionKey
SG::ReadHandleKey< McEventCollection > m_inputMcEventCollectionKey
Definition
HGTD_RDOAnalysis.h:44
HGTD_RDOAnalysis::m_ntuplePath
Gaudi::Property< std::string > m_ntuplePath
Definition
HGTD_RDOAnalysis.h:53
HGTD_RDOAnalysis::m_rdo_module_z
std::vector< float > m_rdo_module_z
Definition
HGTD_RDOAnalysis.h:62
HGTD_RDOAnalysis::m_HGTD_Manager
const HGTD_DetectorManager * m_HGTD_Manager
Definition
HGTD_RDOAnalysis.h:46
HGTD_RDO_Container
Definition
HGTD_RDO_Container.h:18
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition
StoreGate/StoreGate/ReadHandleKey.h:40
const
HepMC
Definition
Barcode.h:13
InDetDD
Message Stream Member.
Definition
FakeTrackBuilder.h:8
SG
Forward declaration.
Definition
CaloCellPacker_400_500.h:32
HGTD_RDOAnalysis::SdoInfo
Definition
HGTD_RDOAnalysis.h:26
HGTD_RDOAnalysis::SdoInfo::operator<
bool operator<(const SdoInfo &rhs) const
Definition
HGTD_RDOAnalysis.h:29
HGTD_RDOAnalysis::SdoInfo::truth
int truth
Definition
HGTD_RDOAnalysis.h:28
HGTD_RDOAnalysis::SdoInfo::time
float time
Definition
HGTD_RDOAnalysis.h:27
private
#define private
Definition
testRead.cxx:27
Generated on
for ATLAS Offline Software by
1.17.0