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