ATLAS Offline Software
ITruthNtupleTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // ITruthNtupleTool.h
7 // Header file for interface of TruthNtupleTools
9 // (c) ATLAS Detector software
11 // Sebastian.Fleischmann -at- cern.ch
13 
14 #ifndef TRK_ITRUTHNTUPLETOOL_H
15 #define TRK_ITRUTHNTUPLETOOL_H
16 
17 #include "GaudiKernel/IAlgTool.h"
18 #include <vector>
19 
21 //#include "TrkValInterfaces/ITrackTruthClassifier.h"
22 
24 namespace Trk {
25  class ITrackTruthClassifier;
26 
27 static const InterfaceID IID_ITruthNtupleTool("ITruthNtupleTool",1,0);
28 
37 public:
40  std::vector< std::vector<unsigned int> > truthToTrackIndices;
41  std::vector< std::vector<float> > truthToTrackMatchingProbabilities;
42  unsigned int truthToJetIndex;
43  std::vector<unsigned int> classifications;
44 
46  genParticle(0),
47  truthPerigee(0),
50  truthToJetIndex(0),
52  { }
53 };
54 
55 class ITruthNtupleTool : virtual public IAlgTool {
56 public:
58  static const InterfaceID& interfaceID();
59 
62  const std::vector< Trk::ValidationTrackTruthData >& ) = 0;
63 
64  virtual unsigned int getNumberOfTreeRecords() const = 0;
65 
66  virtual StatusCode initBranches(const std::vector<const Trk::ITrackTruthClassifier*>& classifiers,
67  bool,
68  const std::vector<std::string> trackCollectionNames) = 0;
69 };
70 
71 inline const InterfaceID& Trk::ITruthNtupleTool::interfaceID() {
72  return IID_ITruthNtupleTool;
73 }
74 
75 } // end of namespace
76 
77 #endif // TRK_ITRUTHNTUPLETOOL_H
TrackParameters.h
Trk::ValidationTrackTruthData::genParticle
HepMC::ConstGenParticlePtr genParticle
Definition: ITruthNtupleTool.h:38
Trk::ValidationTrackTruthData::truthToTrackIndices
std::vector< std::vector< unsigned int > > truthToTrackIndices
Definition: ITruthNtupleTool.h:40
GenParticle_fwd.h
Trk::ValidationTrackTruthData::truthToTrackMatchingProbabilities
std::vector< std::vector< float > > truthToTrackMatchingProbabilities
Definition: ITruthNtupleTool.h:41
Trk::ITruthNtupleTool::writeTruthData
virtual StatusCode writeTruthData(const std::vector< Trk::ValidationTrackTruthData > &)=0
fill ntuple data for a given vector of truth particle
Trk::ValidationTrackTruthData::truthToJetIndex
unsigned int truthToJetIndex
Definition: ITruthNtupleTool.h:42
Trk::ValidationTrackTruthData::ValidationTrackTruthData
ValidationTrackTruthData()
Definition: ITruthNtupleTool.h:45
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
Trk::ParametersBase
Definition: ParametersBase.h:55
HepMC::ConstGenParticlePtr
const GenParticle * ConstGenParticlePtr
Definition: GenParticle.h:38
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::ITruthNtupleTool::initBranches
virtual StatusCode initBranches(const std::vector< const Trk::ITrackTruthClassifier * > &classifiers, bool, const std::vector< std::string > trackCollectionNames)=0
Trk::ITruthNtupleTool::getNumberOfTreeRecords
virtual unsigned int getNumberOfTreeRecords() const =0
Trk::ITruthNtupleTool::interfaceID
static const InterfaceID & interfaceID()
Interface ID, declared here, and defined below.
Definition: ITruthNtupleTool.h:71
Trk::ValidationTrackTruthData::classifications
std::vector< unsigned int > classifications
Definition: ITruthNtupleTool.h:43
Trk::ValidationTrackTruthData::truthPerigee
const Trk::TrackParameters * truthPerigee
Definition: ITruthNtupleTool.h:39
Trk::ITruthNtupleTool
Definition: ITruthNtupleTool.h:55
Trk::ValidationTrackTruthData
Definition: ITruthNtupleTool.h:36