ATLAS Offline Software
Loading...
Searching...
No Matches
IValidationNtupleTool.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// IValidationNtupleTool.h
7// Header file for interface of ValidationNtupleTools
9// (c) ATLAS Detector software
11// Sebastian.Fleischmann@cern.ch
13
14#ifndef TRK_IVALIDATIONNTUPLETOOL_H
15#define TRK_IVALIDATIONNTUPLETOOL_H
16
17#include "GaudiKernel/IAlgTool.h"
20//#include "GeneratorObjects/HepMcParticleLink.h"
21#include <vector>
22
23class TrackTruth;
24class TTree;
26
27namespace Trk {
28static const InterfaceID IID_IValidationNtupleTool("IValidationNtupleTool",1,0);
29
31class MeasurementBase;
32class Track;
34
35
40
41class IValidationNtupleTool : virtual public IAlgTool {
42public:
44 static const InterfaceID& interfaceID();
45
49 virtual StatusCode addNtupleItems (
50 TTree* tree ) = 0;
51
53 virtual StatusCode writeTrackData (
54 const Trk::Track&,
55 const int iterationIndex,
56 const unsigned int fitStatCode = 0 ) = 0;
57
59 virtual StatusCode writeTrackParticleData (
60 const Trk::TrackParticleBase& ) = 0;
61
64 virtual StatusCode fillTrackData (
65 const Trk::Track&,
66 const int iterationIndex,
67 const unsigned int fitStatCode = 0 ) = 0;
68
71 virtual StatusCode fillTrackParticleData (
72 const Trk::TrackParticleBase&) = 0;
73
76 virtual StatusCode fillTrackParameter (
78 const int iterationIndex ) = 0;
79
81 virtual StatusCode fillMeasurementData (
83 const Trk::TrackParameters* ) = 0;
84
88 virtual StatusCode fillOutlierData (
91 const Trk::FitQualityOnSurface* ) = 0;
92
94 virtual StatusCode fillHoleData (
95 const Trk::TrackStateOnSurface&) = 0;
96
97 virtual StatusCode fillTrackTruthData ( const TrackParameters*&,
98 const TrackTruth&,
99 const int truthIndex = -1 ) = 0;
100
102 virtual StatusCode writeRecord( TTree* tree ) = 0;
103};
104
105inline const InterfaceID& Trk::IValidationNtupleTool::interfaceID() {
107}
108
109} // end of namespace
110
111#endif // TRK_IVALIDATIONNTUPLETOOL_H
MC particle associated with a reco track + the quality of match.
Definition TrackTruth.h:14
provides the interface for validation tools which write special information about generated tracks in...
virtual StatusCode fillOutlierData(const Trk::MeasurementBase *, const Trk::TrackParameters *, const Trk::FitQualityOnSurface *)=0
fill ntuple data of an outlier measurement (without writing the record yet).
virtual StatusCode fillTrackData(const Trk::Track &, const int iterationIndex, const unsigned int fitStatCode=0)=0
fill ntuple data of a given track without writing the record.
virtual StatusCode fillTrackParameter(const Trk::TrackParameters *, const int iterationIndex)=0
fill ntuple data of a given track without writing the record.
virtual StatusCode fillHoleData(const Trk::TrackStateOnSurface &)=0
fill ntuple data of holes on track without writing the record
virtual StatusCode writeRecord(TTree *tree)=0
write the filled data into the ntuple
virtual StatusCode addNtupleItems(TTree *tree)=0
add branches to the tree Should be called once (per track collection and tree) dunring the initialisa...
virtual StatusCode fillTrackParticleData(const Trk::TrackParticleBase &)=0
fill ntuple data of a given track particle without writing the record.
virtual StatusCode writeTrackParticleData(const Trk::TrackParticleBase &)=0
fill AND write ntuple data of a given track particle
virtual StatusCode writeTrackData(const Trk::Track &, const int iterationIndex, const unsigned int fitStatCode=0)=0
fill AND write ntuple data of a given track
virtual StatusCode fillTrackTruthData(const TrackParameters *&, const TrackTruth &, const int truthIndex=-1)=0
virtual StatusCode fillMeasurementData(const Trk::MeasurementBase *, const Trk::TrackParameters *)=0
fill ntuple data of given measurement and track parameters without writing the record
static const InterfaceID & interfaceID()
Interface ID, declared here, and defined below.
This class is the pure abstract base class for all fittable tracking measurements.
represents the track state (measurement, material, fit parameters and quality) at a surface.
Ensure that the ATLAS eigen extensions are properly loaded.
static const InterfaceID IID_IValidationNtupleTool("IValidationNtupleTool", 1, 0)
ParametersBase< TrackParametersDim, Charged > TrackParameters
TChain * tree