ATLAS Offline Software
Loading...
Searching...
No Matches
TrackAnalysisDefinitionSvc.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 INDETTRACKPERFMON_TRACKANALYSISDEFINITIONSVC_H
6#define INDETTRACKPERFMON_TRACKANALYSISDEFINITIONSVC_H
7
15
18
21
23#include <string>
24#include <vector>
25
26namespace IDTPM {
27
29 public extends<asg::AsgService, ITrackAnalysisDefinitionSvc> {
30
31public:
32 using extends::extends; // base class constructor
33 virtual ~TrackAnalysisDefinitionSvc() = default;
34
35 virtual StatusCode initialize() override final;
36
37 virtual StatusCode finalize() override final;
38
39 virtual const std::vector< std::string >& configuredChains() const override { return m_configuredChains; }
40 virtual const std::string& subFolder() const override { return m_subFolder; };
41 virtual const std::string& anaTag() const override { return m_trkAnaTag; };
42 virtual std::string plotsFullDir( std::string chain="" ) const override;
43
44 virtual bool useTrigger() const override { return m_useTrigger; }
45 virtual bool useEFTrigger() const override { return m_useEFTrigger; }
46 virtual bool useTruth() const override { return m_useTruth; }
47 virtual bool useOffline() const override { return m_useOffline; }
48 virtual bool doTrigNavigation() const override { return m_doTrigNavigation; }
49
50 virtual bool isTestTrigger() const override { return m_isTestTrigger; }
51 virtual bool isTestEFTrigger() const override { return m_isTestEFTrigger; }
52 virtual bool isTestTruth() const override { return m_isTestTruth; }
53 virtual bool isTestOffline() const override { return m_isTestOffline; }
54 virtual bool isReferenceTrigger() const override { return m_isRefTrigger; }
55 virtual bool isReferenceEFTrigger() const override { return m_isRefEFTrigger; }
56 virtual bool isReferenceTruth() const override { return m_isRefTruth; }
57 virtual bool isReferenceOffline() const override { return m_isRefOffline; }
58
59 virtual const std::string& testType() const override { return m_testTypeStr.value(); };
60 virtual const std::string& referenceType() const override { return m_refTypeStr.value(); };
61 virtual const std::string& testTag() const override { return m_testTag.value(); };
62 virtual const std::string& referenceTag() const override { return m_refTag.value(); };
63 virtual const std::string& matchingType() const override { return m_matchingType.value(); };
64 virtual float truthProbCut() const override { return m_truthProbCut.value(); };
65
66 virtual const std::vector<float>& etaBins() const override { return m_etaBins; };
67 virtual const std::vector<unsigned int>& minSilHits() const override { return m_minSilHits; };
68 virtual const std::string& pileupSwitch() const override { return m_pileupSwitch; };
69 virtual bool hasFullPileupTruth() const override { return m_hasFullPileupTruth.value(); };
70
71 virtual bool plotTrackParameters() const override { return m_plotTrackParameters.value(); };
72 virtual bool plotTrackParametersErrors() const override { return m_plotTrackParametersErrors.value(); };
73 virtual bool plotTrackMultiplicities() const override { return m_plotTrackMultiplicities.value(); };
74 virtual bool plotEfficiencies() const override { return m_plotEfficiencies.value(); };
75 virtual bool plotTechnicalEfficiencies() const override { return m_plotTechnicalEfficiencies.value(); };
76 virtual bool plotResolutions() const override { return m_plotResolutions.value(); };
77 virtual bool plotFakeRates() const override { return m_plotFakeRates.value(); };
78 virtual bool unlinkedAsFakes() const override { return m_unlinkedAsFakes.value(); };
79 virtual bool plotDuplicateRates() const override { return m_plotDuplicateRates.value(); };
80 virtual bool plotHitsOnTracks() const override { return m_plotHitsOnTracks.value(); };
81 virtual bool plotHitsOnTracksExpert() const override { return m_plotHitsOnTracksExpert.value(); };
82 virtual bool plotHitsOnTracksReference() const override { return m_plotHitsOnTracksReference.value(); };
83 virtual bool plotHitsOnMatchedTracks() const override { return m_plotHitsOnMatchedTracks.value(); };
84 virtual bool plotHitsOnFakeTracks() const override { return m_plotHitsOnFakeTracks.value(); };
85 virtual bool plotVertexParameters() const override { return m_plotVertexParameters.value(); };
86 virtual bool useSelectedVertexTracks() const override { return m_useSelectedVertexTracks.value(); };
87 virtual bool plotOfflineElectrons() const override { return m_plotOfflineElectrons.value(); };
88 virtual bool plotTracksInJets() const override { return m_plotTracksInJets.value(); };
89 virtual unsigned int resolutionMethod() const override;
90 virtual bool isITk() const override { return m_isITk.value(); };
91
92private:
93
94 StringArrayProperty m_chainNames { this, "ChainNames", {}, "Vector of trigger chain names to process" };
95 StringProperty m_dirName{ this, "DirName", "InDetTrackPerfMonPlots/", "Top level directory to write histograms into" };
96 StringProperty m_subFolder { this, "SubFolder", "", "Subfolder to add for plots in. Used when working with multiple IDTPM tool instances and initialised by default to TrkAnaName/" };
97 StringProperty m_trkAnaTag { this, "TrkAnaTag", "", "Track analysis tag name" };
98
99 StringProperty m_testTypeStr { this, "TestType", "Offline", "Type of track collection to be used as test" };
100 StringProperty m_refTypeStr { this, "RefType", "Truth", "Type of track collection to be used as reference" };
101 BooleanProperty m_doTrigNavigation { this, "doTrigNavigation", false, "Run Trigger Navigation monitoring" };
102
106
107 StringProperty m_testTag { this, "TestTag", "offl", "Short label for test track type, used in histo booking" };
108 StringProperty m_refTag { this, "RefTag", "truth", "Short label for reference track type, used in histo booking" };
109
110 StringProperty m_matchingType { this, "MatchingType", "DeltaRMatch", "Type of test-reference matching performed" };
111 FloatProperty m_truthProbCut { this, "MatchingTruthProb", 0.5, "Minimal truthProbability for valid matching" };
112
113 std::vector< std::string > m_configuredChains;
114
115 FloatArrayProperty m_etaBins { this, "EtaBins", {}, "Eta bins for determination of reconstructable particle" };
116 UnsignedIntegerArrayProperty m_minSilHits { this, "MinSilHits", {}, "Minimum number of Si hits for determination of reconstructable particle" };
117 StringProperty m_pileupSwitch { this, "pileupSwitch", "HardScatter", "Type of truth particles to consider (HardScatter, PileUp, All)" };
118 BooleanProperty m_hasFullPileupTruth { this, "hasFullPileupTruth", false, "Is full PileUp truth information available" };
119
121 BooleanProperty m_sortPlotsByChain { this, "sortPlotsByChain", false, "Save plots in <mainDir>/<chain>/<subDir/TrkAnaName>/... instead of the default <mainDir>/<subDir/TrkAnaName>/<chain>/..." };
122 BooleanProperty m_plotTrackParameters { this, "plotTrackParameters", true, "Book/fill track parameters histograms" };
123 BooleanProperty m_plotTrackParametersErrors { this, "plotTrackParametersErrors", false, "Book/fill track parameters errors histograms" };
124 BooleanProperty m_plotTrackMultiplicities { this, "plotTrackMultiplicities", true, "Book/fill track multiplicities histograms" };
125 BooleanProperty m_plotEfficiencies { this, "plotEfficiencies", true, "Book/fill track efficiencies histograms" };
126 BooleanProperty m_plotTechnicalEfficiencies { this, "plotTechnicalEfficiencies", true, "Book/fill track technical efficiencies histograms" };
127 BooleanProperty m_plotResolutions { this, "plotResolutions", true, "Book/fill track resolutions histograms" };
128 BooleanProperty m_plotFakeRates { this, "plotFakeRates", true, "Book/fill fake rate histograms" };
129 BooleanProperty m_unlinkedAsFakes { this, "unlinkedAsFakes", false, "Consider non-truth-linked tracks as fakes" };
130 BooleanProperty m_plotDuplicateRates { this, "plotDuplicateRates", false, "Book/fill duplicate rate histograms" };
131 BooleanProperty m_plotHitsOnTracks { this, "plotHitsOnTracks", true, "Book/fill hits on tracks histograms" };
132 BooleanProperty m_plotHitsOnTracksExpert { this, "plotHitsOnTracksExpert", true, "Book/fill hits on tracks detailed histograms" };
133 BooleanProperty m_plotHitsOnTracksReference { this, "plotHitsOnTracksReference", false, "Book/fill hits on reference tracks histograms" };
134 BooleanProperty m_plotHitsOnMatchedTracks { this, "plotHitsOnMatchedTracks", false, "Book/fill hits on matched tracks histograms" };
135 BooleanProperty m_plotHitsOnFakeTracks { this, "plotHitsOnFakeTracks", false, "Book/fill hits on fake and unlinked tracks histograms" };
136 BooleanProperty m_plotVertexParameters { this, "plotVertexParameters", true, "Book/fill vertex parameters histograms" };
137 BooleanProperty m_useSelectedVertexTracks { this, "useSelectedVertexTracks", false, "Get only vertex-associated tracks which pass the track selection" };
138 BooleanProperty m_plotOfflineElectrons { this, "plotOfflineElectrons", false, "Book/fill reference offline electrons histograms" };
139 BooleanProperty m_plotTracksInJets { this, "plotTracksInJets", false, "plot tracks in jets" };
140 StringProperty m_resolMethod { this, "ResolutionMethod", "iterRMS", "Type of computation method for resolutions" };
141 BooleanProperty m_isITk { this, "isITk", true, "Use ITk configuration for plots, etc." };
142};
143
144}
145
146#endif // > !INDETTRACKPERFMON_TRACKANALYSISDEFINITIONSVC_H
Service interface to hold (and propagate) the basic properties of each defined TrackAnalysis and of t...
virtual bool plotHitsOnTracks() const override
virtual bool plotVertexParameters() const override
virtual bool unlinkedAsFakes() const override
virtual bool isReferenceTruth() const override
virtual unsigned int resolutionMethod() const override
virtual bool plotHitsOnMatchedTracks() const override
virtual const std::string & pileupSwitch() const override
virtual bool isTestTrigger() const override
virtual const std::string & referenceTag() const override
virtual const std::vector< unsigned int > & minSilHits() const override
virtual bool isReferenceEFTrigger() const override
virtual std::string plotsFullDir(std::string chain="") const override
virtual const std::string & testTag() const override
virtual bool plotResolutions() const override
virtual bool isTestTruth() const override
virtual bool plotTrackMultiplicities() const override
virtual const std::vector< float > & etaBins() const override
virtual bool plotDuplicateRates() const override
virtual const std::string & referenceType() const override
virtual bool plotTrackParameters() const override
virtual const std::string & matchingType() const override
virtual bool doTrigNavigation() const override
virtual bool plotTracksInJets() const override
virtual bool plotHitsOnTracksReference() const override
virtual bool isTestEFTrigger() const override
virtual bool isTestOffline() const override
virtual bool plotEfficiencies() const override
virtual float truthProbCut() const override
virtual StatusCode initialize() override final
local includes
virtual const std::string & testType() const override
virtual bool useOffline() const override
virtual const std::vector< std::string > & configuredChains() const override
virtual bool useTrigger() const override
BooleanProperty m_sortPlotsByChain
histogram properties
virtual bool plotHitsOnFakeTracks() const override
virtual bool useSelectedVertexTracks() const override
virtual bool plotFakeRates() const override
virtual bool plotTechnicalEfficiencies() const override
virtual bool useEFTrigger() const override
virtual bool plotOfflineElectrons() const override
virtual bool isReferenceTrigger() const override
virtual bool plotHitsOnTracksExpert() const override
virtual ~TrackAnalysisDefinitionSvc()=default
virtual bool plotTrackParametersErrors() const override
virtual StatusCode finalize() override final
virtual bool hasFullPileupTruth() const override
virtual bool isReferenceOffline() const override
virtual const std::string & anaTag() const override
virtual const std::string & subFolder() const override
Athena include(s).
STL namespace.