ATLAS Offline Software
Loading...
Searching...
No Matches
SegmentDriftCircleAssValidation.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef SegmentDriftCircleAssValidation_H
6#define SegmentDriftCircleAssValidation_H
7
8
13
16
17//Drift circle
19
21#include <string>
22#include <map>
23#include <list>
24#include <iosfwd>
25
26namespace InDet {
27
28
29 // Class-algorithm for track cluster association validation
30 //
32 {
33
35 // Public methods:
37
38 public:
39
41 // Standard Algotithm methods
43
44 SegmentDriftCircleAssValidation(const std::string &name, ISvcLocator *pSvcLocator);
46 StatusCode initialize();
47 StatusCode execute(const EventContext& ctx);
48 StatusCode finalize();
49
51 // Print internal tool parameters and status
53
54 MsgStream& dump (MsgStream& out) const;
55 std::ostream& dump (std::ostream& out) const;
56
57 protected:
58
60 // Protected data
62
64 SG::ReadHandleKey<Trk::SegmentCollection> m_origtrackKey{ this, "OrigTracksLocation", "TRTSegments", "TRT Segments collection name" };
65 SG::ReadHandleKey<PRD_MultiTruthCollection> m_PRDTruthTRTKey{ this, "TruthNameTRT", "PRD_MultiTruthTRT", "PRD Multitruth collection name" };
66 SG::ReadHandleKey<TRT_DriftCircleContainer> m_circlesTRTKey{ this, "TRT_DriftCirclesName", "TRT_DriftCircles", "TRT Driftcircle container name" };
67 double m_pTmin ;
68 double m_tcut ;
69 double m_rapcut ;
70 int m_dccut ;
71 double m_rmin ;
72 double m_rmax ;
73
76 std::multimap<int,const Trk::PrepRawData*> m_kinecircle ;
77 std::list<int> m_allBarcodes ;
79 std::list<int> m_particles ;
80 std::multimap<int,int> m_allParticles ;
81 std::multimap<int,int> m_tracks ;
82 int m_efficiency[5]{} ;
83
85 // Protected methods
87
92
93 std::list<int> kine(const InDet::TRT_DriftCircle*, const PRD_MultiTruthCollection* prdCollection );
94 std::list<PRD_MultiTruthCollection::const_iterator>
96
98
99 std::list<PRD_MultiTruthCollection::const_iterator>
101
102 MsgStream& dumptools(MsgStream& out) const;
103 MsgStream& dumpevent(MsgStream& out) const;
104
105 };
106 MsgStream& operator << (MsgStream& ,const SegmentDriftCircleAssValidation&);
107 std::ostream& operator << (std::ostream&,const SegmentDriftCircleAssValidation&);
108}
109#endif // SegmentDriftCircleAssValidation_H
Property holding a SG store/key/clid from which a ReadHandle is made.
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
SG::ReadHandleKey< TRT_DriftCircleContainer > m_circlesTRTKey
SG::ReadHandleKey< Trk::SegmentCollection > m_origtrackKey
std::list< int > kine(const InDet::TRT_DriftCircle *, const PRD_MultiTruthCollection *prdCollection)
std::list< PRD_MultiTruthCollection::const_iterator > kinpart(const InDet::TRT_DriftCircle *, const PRD_MultiTruthCollection *)
std::multimap< int, const Trk::PrepRawData * > m_kinecircle
bool isTheSameStrawElement(int, const Trk::PrepRawData *)
StatusCode execute(const EventContext &ctx)
Execute method.
SegmentDriftCircleAssValidation(const std::string &name, ISvcLocator *pSvcLocator)
void tracksComparison(const Trk::SegmentCollection *, const PRD_MultiTruthCollection *)
std::list< PRD_MultiTruthCollection::const_iterator > findTruth(const InDet::TRT_DriftCircle *, bool &, const PRD_MultiTruthCollection *)
SG::ReadHandleKey< PRD_MultiTruthCollection > m_PRDTruthTRTKey
void newCirclesEvent(const PRD_MultiTruthCollection *)
A PRD is mapped onto all contributing particles.
Property holding a SG store/key/clid from which a ReadHandle is made.
Primary Vertex Finder.
MsgStream & operator<<(MsgStream &, const GNNTrackFinderTritonTool &)
DataVector< Trk::Segment > SegmentCollection
-event-from-file