ATLAS Offline Software
SegmentDriftCircleAssValidation.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 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"
13 #include "HepPDT/ParticleDataTable.hh"
15 
18 
19 //Drift circle
21 
23 
24 namespace InDet {
25 
26 
27  // Class-algorithm for track cluster association validation
28  //
30  {
31 
33  // Public methods:
35 
36  public:
37 
39  // Standard Algotithm methods
41 
42  SegmentDriftCircleAssValidation(const std::string &name, ISvcLocator *pSvcLocator);
47 
49  // Print internal tool parameters and status
51 
52  MsgStream& dump (MsgStream& out) const;
53  std::ostream& dump (std::ostream& out) const;
54 
55  protected:
56 
58  // Protected data
60 
61  int m_nprint ;
62  SG::ReadHandleKey<Trk::SegmentCollection> m_origtrackKey{ this, "OrigTracksLocation", "TRTSegments", "TRT Segments collection name" };
63  const HepPDT::ParticleDataTable* m_particleDataTable ;
64  SG::ReadHandleKey<PRD_MultiTruthCollection> m_PRDTruthTRTKey{ this, "TruthNameTRT", "PRD_MultiTruthTRT", "PRD Multitruth collection name" };
65  SG::ReadHandleKey<TRT_DriftCircleContainer> m_circlesTRTKey{ this, "TRT_DriftCirclesName", "TRT_DriftCircles", "TRT Driftcircle container name" };
66  double m_pTmin ;
67  double m_tcut ;
68  double m_rapcut ;
69  int m_dccut ;
70  double m_rmin ;
71  double m_rmax ;
72 
73  int m_events ;
74  int m_ncircles ;
75  std::multimap<int,const Trk::PrepRawData*> m_kinecircle ;
76  std::list<int> m_allBarcodes ;
78  std::list<int> m_particles ;
79  std::multimap<int,int> m_allParticles ;
80  std::multimap<int,int> m_tracks ;
81  int m_efficiency[5]{} ;
82 
84  // Protected methods
86 
91 
92  std::list<int> kine(const InDet::TRT_DriftCircle*, const PRD_MultiTruthCollection* prdCollection );
93  std::list<PRD_MultiTruthCollection::const_iterator>
95 
96  bool isTheSameStrawElement(int,const Trk::PrepRawData*);
97 
98  std::list<PRD_MultiTruthCollection::const_iterator>
100 
101  MsgStream& dumptools(MsgStream& out) const;
102  MsgStream& dumpevent(MsgStream& out) const;
103 
104  };
105  MsgStream& operator << (MsgStream& ,const SegmentDriftCircleAssValidation&);
106  std::ostream& operator << (std::ostream&,const SegmentDriftCircleAssValidation&);
107 }
108 #endif // SegmentDriftCircleAssValidation_H
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
InDet::operator<<
MsgStream & operator<<(MsgStream &, const GNNTrackReaderTool &)
InDet::SegmentDriftCircleAssValidation::m_ncircles
int m_ncircles
Definition: SegmentDriftCircleAssValidation.h:74
InDet::SegmentDriftCircleAssValidation::m_events
int m_events
Definition: SegmentDriftCircleAssValidation.h:73
InDet::SegmentDriftCircleAssValidation::m_rmax
double m_rmax
Definition: SegmentDriftCircleAssValidation.h:71
InDet::SegmentDriftCircleAssValidation::m_origtrackKey
SG::ReadHandleKey< Trk::SegmentCollection > m_origtrackKey
Definition: SegmentDriftCircleAssValidation.h:62
InDet::SegmentDriftCircleAssValidation::m_dccut
int m_dccut
Definition: SegmentDriftCircleAssValidation.h:69
InDet::SegmentDriftCircleAssValidation::m_rapcut
double m_rapcut
Definition: SegmentDriftCircleAssValidation.h:68
InDet::SegmentDriftCircleAssValidation::dumptools
MsgStream & dumptools(MsgStream &out) const
Definition: SegmentDriftCircleAssValidation.cxx:214
InDet::SegmentDriftCircleAssValidation::findTruth
std::list< PRD_MultiTruthCollection::const_iterator > findTruth(const InDet::TRT_DriftCircle *, bool &, const PRD_MultiTruthCollection *)
Definition: SegmentDriftCircleAssValidation.cxx:599
InDet
DUMMY 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:71
InDet::SegmentDriftCircleAssValidation::dump
MsgStream & dump(MsgStream &out) const
Definition: SegmentDriftCircleAssValidation.cxx:203
InDet::SegmentDriftCircleAssValidation::m_pTmin
double m_pTmin
Definition: SegmentDriftCircleAssValidation.h:66
InDet::SegmentDriftCircleAssValidation::kine
std::list< int > kine(const InDet::TRT_DriftCircle *, const PRD_MultiTruthCollection *prdCollection)
Definition: SegmentDriftCircleAssValidation.cxx:484
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:584
InDet::SegmentDriftCircleAssValidation::dumpevent
MsgStream & dumpevent(MsgStream &out) const
Definition: SegmentDriftCircleAssValidation.cxx:265
GenParticle.h
InDet::TRT_DriftCircle
Definition: TRT_DriftCircle.h:32
InDet::SegmentDriftCircleAssValidation::SegmentDriftCircleAssValidation
SegmentDriftCircleAssValidation(const std::string &name, ISvcLocator *pSvcLocator)
Definition: SegmentDriftCircleAssValidation.cxx:30
InDet::SegmentDriftCircleAssValidation::m_particleDataTable
const HepPDT::ParticleDataTable * m_particleDataTable
Definition: SegmentDriftCircleAssValidation.h:63
InDet::SegmentDriftCircleAssValidation::m_tracks
std::multimap< int, int > m_tracks
Definition: SegmentDriftCircleAssValidation.h:80
InDet::SegmentDriftCircleAssValidation::newCirclesEvent
void newCirclesEvent(const PRD_MultiTruthCollection *)
Definition: SegmentDriftCircleAssValidation.cxx:297
InDet::SegmentDriftCircleAssValidation::QualityTracksSelection
int QualityTracksSelection()
Definition: SegmentDriftCircleAssValidation.cxx:346
InDet::SegmentDriftCircleAssValidation::m_nqsegments
int m_nqsegments
Definition: SegmentDriftCircleAssValidation.h:77
InDet::SegmentDriftCircleAssValidation::m_particles
std::list< int > m_particles
Definition: SegmentDriftCircleAssValidation.h:78
AthAlgorithm.h
InDet::SegmentDriftCircleAssValidation
Definition: SegmentDriftCircleAssValidation.h:30
InDet::SegmentDriftCircleAssValidation::m_nprint
int m_nprint
Definition: SegmentDriftCircleAssValidation.h:61
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:70
DataVector< Trk::Segment >
InDet::SegmentDriftCircleAssValidation::efficiencyReconstruction
void efficiencyReconstruction()
Definition: SegmentDriftCircleAssValidation.cxx:452
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:532
Trk::PrepRawData
Definition: PrepRawData.h:62
TRT_DriftCircleContainer.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
InDet::SegmentDriftCircleAssValidation::m_efficiency
int m_efficiency[5]
Definition: SegmentDriftCircleAssValidation.h:81
InDet::SegmentDriftCircleAssValidation::tracksComparison
void tracksComparison(const Trk::SegmentCollection *, const PRD_MultiTruthCollection *)
Definition: SegmentDriftCircleAssValidation.cxx:381
InDet::SegmentDriftCircleAssValidation::m_kinecircle
std::multimap< int, const Trk::PrepRawData * > m_kinecircle
Definition: SegmentDriftCircleAssValidation.h:75
InDet::SegmentDriftCircleAssValidation::m_allBarcodes
std::list< int > m_allBarcodes
Definition: SegmentDriftCircleAssValidation.h:76
InDet::SegmentDriftCircleAssValidation::m_PRDTruthTRTKey
SG::ReadHandleKey< PRD_MultiTruthCollection > m_PRDTruthTRTKey
Definition: SegmentDriftCircleAssValidation.h:64
InDet::SegmentDriftCircleAssValidation::~SegmentDriftCircleAssValidation
virtual ~SegmentDriftCircleAssValidation()
Definition: SegmentDriftCircleAssValidation.h:43
InDet::SegmentDriftCircleAssValidation::m_circlesTRTKey
SG::ReadHandleKey< TRT_DriftCircleContainer > m_circlesTRTKey
Definition: SegmentDriftCircleAssValidation.h:65
InDet::SegmentDriftCircleAssValidation::finalize
StatusCode finalize()
Definition: SegmentDriftCircleAssValidation.cxx:147
PRD_MultiTruthCollection.h
InDet::SegmentDriftCircleAssValidation::initialize
StatusCode initialize()
Definition: SegmentDriftCircleAssValidation.cxx:59
InDet::SegmentDriftCircleAssValidation::m_tcut
double m_tcut
Definition: SegmentDriftCircleAssValidation.h:67
InDet::SegmentDriftCircleAssValidation::m_allParticles
std::multimap< int, int > m_allParticles
Definition: SegmentDriftCircleAssValidation.h:79
SegmentCollection.h
InDet::SegmentDriftCircleAssValidation::execute
StatusCode execute()
Definition: SegmentDriftCircleAssValidation.cxx:105