ATLAS Offline Software
SegmentDriftCircleAssValidation.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef SegmentDriftCircleAssValidation_H
6 #define SegmentDriftCircleAssValidation_H
7 
8 #include <string>
9 #include <map>
12 #include "AtlasHepMC/GenParticle.h"
14 
17 
18 //Drift circle
20 
22 
23 namespace InDet {
24 
25 
26  // Class-algorithm for track cluster association validation
27  //
29  {
30 
32  // Public methods:
34 
35  public:
36 
38  // Standard Algotithm methods
40 
41  SegmentDriftCircleAssValidation(const std::string &name, ISvcLocator *pSvcLocator);
46 
48  // Print internal tool parameters and status
50 
51  MsgStream& dump (MsgStream& out) const;
52  std::ostream& dump (std::ostream& out) const;
53 
54  protected:
55 
57  // Protected data
59 
60  int m_nprint ;
61  SG::ReadHandleKey<Trk::SegmentCollection> m_origtrackKey{ this, "OrigTracksLocation", "TRTSegments", "TRT Segments collection name" };
62  SG::ReadHandleKey<PRD_MultiTruthCollection> m_PRDTruthTRTKey{ this, "TruthNameTRT", "PRD_MultiTruthTRT", "PRD Multitruth collection name" };
63  SG::ReadHandleKey<TRT_DriftCircleContainer> m_circlesTRTKey{ this, "TRT_DriftCirclesName", "TRT_DriftCircles", "TRT Driftcircle container name" };
64  double m_pTmin ;
65  double m_tcut ;
66  double m_rapcut ;
67  int m_dccut ;
68  double m_rmin ;
69  double m_rmax ;
70 
71  int m_events ;
72  int m_ncircles ;
73  std::multimap<int,const Trk::PrepRawData*> m_kinecircle ;
74  std::list<int> m_allBarcodes ;
76  std::list<int> m_particles ;
77  std::multimap<int,int> m_allParticles ;
78  std::multimap<int,int> m_tracks ;
79  int m_efficiency[5]{} ;
80 
82  // Protected methods
84 
89 
90  std::list<int> kine(const InDet::TRT_DriftCircle*, const PRD_MultiTruthCollection* prdCollection );
91  std::list<PRD_MultiTruthCollection::const_iterator>
93 
94  bool isTheSameStrawElement(int,const Trk::PrepRawData*);
95 
96  std::list<PRD_MultiTruthCollection::const_iterator>
98 
99  MsgStream& dumptools(MsgStream& out) const;
100  MsgStream& dumpevent(MsgStream& out) const;
101 
102  };
103  MsgStream& operator << (MsgStream& ,const SegmentDriftCircleAssValidation&);
104  std::ostream& operator << (std::ostream&,const SegmentDriftCircleAssValidation&);
105 }
106 #endif // SegmentDriftCircleAssValidation_H
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
InDet::SegmentDriftCircleAssValidation::m_ncircles
int m_ncircles
Definition: SegmentDriftCircleAssValidation.h:72
InDet::SegmentDriftCircleAssValidation::m_events
int m_events
Definition: SegmentDriftCircleAssValidation.h:71
InDet::SegmentDriftCircleAssValidation::m_rmax
double m_rmax
Definition: SegmentDriftCircleAssValidation.h:69
InDet::SegmentDriftCircleAssValidation::m_origtrackKey
SG::ReadHandleKey< Trk::SegmentCollection > m_origtrackKey
Definition: SegmentDriftCircleAssValidation.h:61
InDet::SegmentDriftCircleAssValidation::m_dccut
int m_dccut
Definition: SegmentDriftCircleAssValidation.h:67
InDet::SegmentDriftCircleAssValidation::m_rapcut
double m_rapcut
Definition: SegmentDriftCircleAssValidation.h:66
InDet::SegmentDriftCircleAssValidation::dumptools
MsgStream & dumptools(MsgStream &out) const
Definition: SegmentDriftCircleAssValidation.cxx:197
InDet::SegmentDriftCircleAssValidation::findTruth
std::list< PRD_MultiTruthCollection::const_iterator > findTruth(const InDet::TRT_DriftCircle *, bool &, const PRD_MultiTruthCollection *)
Definition: SegmentDriftCircleAssValidation.cxx:582
InDet
Primary Vertex Finder.
Definition: VP1ErrorUtils.h:36
PRD_MultiTruthCollection
A PRD is mapped onto all contributing particles.
Definition: PRD_MultiTruthCollection.h:24
python.AthDsoLogger.out
out
Definition: AthDsoLogger.py:70
InDet::SegmentDriftCircleAssValidation::dump
MsgStream & dump(MsgStream &out) const
Definition: SegmentDriftCircleAssValidation.cxx:186
InDet::SegmentDriftCircleAssValidation::m_pTmin
double m_pTmin
Definition: SegmentDriftCircleAssValidation.h:64
InDet::SegmentDriftCircleAssValidation::kine
std::list< int > kine(const InDet::TRT_DriftCircle *, const PRD_MultiTruthCollection *prdCollection)
Definition: SegmentDriftCircleAssValidation.cxx:467
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition: StoreGate/StoreGate/ReadHandleKey.h:39
InDet::SegmentDriftCircleAssValidation::isTheSameStrawElement
bool isTheSameStrawElement(int, const Trk::PrepRawData *)
Definition: SegmentDriftCircleAssValidation.cxx:567
InDet::SegmentDriftCircleAssValidation::dumpevent
MsgStream & dumpevent(MsgStream &out) const
Definition: SegmentDriftCircleAssValidation.cxx:248
GenParticle.h
InDet::TRT_DriftCircle
Definition: TRT_DriftCircle.h:32
InDet::SegmentDriftCircleAssValidation::SegmentDriftCircleAssValidation
SegmentDriftCircleAssValidation(const std::string &name, ISvcLocator *pSvcLocator)
Definition: SegmentDriftCircleAssValidation.cxx:31
InDet::SegmentDriftCircleAssValidation::m_tracks
std::multimap< int, int > m_tracks
Definition: SegmentDriftCircleAssValidation.h:78
InDet::SegmentDriftCircleAssValidation::newCirclesEvent
void newCirclesEvent(const PRD_MultiTruthCollection *)
Definition: SegmentDriftCircleAssValidation.cxx:280
InDet::SegmentDriftCircleAssValidation::QualityTracksSelection
int QualityTracksSelection()
Definition: SegmentDriftCircleAssValidation.cxx:329
InDet::SegmentDriftCircleAssValidation::m_nqsegments
int m_nqsegments
Definition: SegmentDriftCircleAssValidation.h:75
InDet::SegmentDriftCircleAssValidation::m_particles
std::list< int > m_particles
Definition: SegmentDriftCircleAssValidation.h:76
AthAlgorithm.h
InDet::SegmentDriftCircleAssValidation
Definition: SegmentDriftCircleAssValidation.h:29
InDet::SegmentDriftCircleAssValidation::m_nprint
int m_nprint
Definition: SegmentDriftCircleAssValidation.h:60
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
InDet::SegmentDriftCircleAssValidation::m_rmin
double m_rmin
Definition: SegmentDriftCircleAssValidation.h:68
DataVector< Trk::Segment >
InDet::SegmentDriftCircleAssValidation::efficiencyReconstruction
void efficiencyReconstruction()
Definition: SegmentDriftCircleAssValidation.cxx:435
AthAlgorithm
Definition: AthAlgorithm.h:47
TRT_DriftCircle.h
InDet::SegmentDriftCircleAssValidation::kinpart
std::list< PRD_MultiTruthCollection::const_iterator > kinpart(const InDet::TRT_DriftCircle *, const PRD_MultiTruthCollection *)
Definition: SegmentDriftCircleAssValidation.cxx:515
Trk::PrepRawData
Definition: PrepRawData.h:62
TRT_DriftCircleContainer.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
InDet::SegmentDriftCircleAssValidation::m_efficiency
int m_efficiency[5]
Definition: SegmentDriftCircleAssValidation.h:79
InDet::SegmentDriftCircleAssValidation::tracksComparison
void tracksComparison(const Trk::SegmentCollection *, const PRD_MultiTruthCollection *)
Definition: SegmentDriftCircleAssValidation.cxx:364
InDet::operator<<
MsgStream & operator<<(MsgStream &, const GNNTrackFinderTritonTool &)
InDet::SegmentDriftCircleAssValidation::m_kinecircle
std::multimap< int, const Trk::PrepRawData * > m_kinecircle
Definition: SegmentDriftCircleAssValidation.h:73
InDet::SegmentDriftCircleAssValidation::m_allBarcodes
std::list< int > m_allBarcodes
Definition: SegmentDriftCircleAssValidation.h:74
InDet::SegmentDriftCircleAssValidation::m_PRDTruthTRTKey
SG::ReadHandleKey< PRD_MultiTruthCollection > m_PRDTruthTRTKey
Definition: SegmentDriftCircleAssValidation.h:62
InDet::SegmentDriftCircleAssValidation::~SegmentDriftCircleAssValidation
virtual ~SegmentDriftCircleAssValidation()
Definition: SegmentDriftCircleAssValidation.h:42
InDet::SegmentDriftCircleAssValidation::m_circlesTRTKey
SG::ReadHandleKey< TRT_DriftCircleContainer > m_circlesTRTKey
Definition: SegmentDriftCircleAssValidation.h:63
InDet::SegmentDriftCircleAssValidation::finalize
StatusCode finalize()
Definition: SegmentDriftCircleAssValidation.cxx:130
PRD_MultiTruthCollection.h
InDet::SegmentDriftCircleAssValidation::initialize
StatusCode initialize()
Definition: SegmentDriftCircleAssValidation.cxx:59
InDet::SegmentDriftCircleAssValidation::m_tcut
double m_tcut
Definition: SegmentDriftCircleAssValidation.h:65
InDet::SegmentDriftCircleAssValidation::m_allParticles
std::multimap< int, int > m_allParticles
Definition: SegmentDriftCircleAssValidation.h:77
SegmentCollection.h
InDet::SegmentDriftCircleAssValidation::execute
StatusCode execute()
Definition: SegmentDriftCircleAssValidation.cxx:88