5#ifndef INDETTRACKPERFMON_TRACKANALYSISDEFINITIONSVC_H
6#define INDETTRACKPERFMON_TRACKANALYSISDEFINITIONSVC_H
27 public extends<asg::AsgService, ITrackAnalysisDefinitionSvc> {
30 using extends::extends;
33 virtual StatusCode
initialize() override final;
35 virtual StatusCode
finalize() override final;
40 virtual std::string
plotsFullDir( std::string chain=
"" )
const override;
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" };
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" };
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" };
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" };
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" };
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" };
123 BooleanProperty
m_plotEfficiencies {
this,
"plotEfficiencies",
true,
"Book/fill track 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" };
133 BooleanProperty
m_plotHitsOnFakeTracks {
this,
"plotHitsOnFakeTracks",
false,
"Book/fill hits on fake and unlinked tracks 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" };
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." };
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
BooleanProperty m_plotResolutions
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
BooleanProperty m_plotHitsOnTracksReference
BooleanProperty m_plotTechnicalEfficiencies
StringProperty m_testTypeStr
BooleanProperty m_plotTrackParameters
virtual const std::string & referenceType() const override
virtual const std::vector< unsigned int > & minSilHits() const override
virtual bool plotResolutions() const override
BooleanProperty m_plotTracksInJets
BooleanProperty m_doTrigNavigation
BooleanProperty m_plotFakeRates
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
BooleanProperty m_plotEfficiencies
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
BooleanProperty m_plotHitsOnMatchedTracks
virtual const std::vector< float > & etaBins() const override
BooleanProperty m_plotDuplicateRates
StringProperty m_matchingType
BooleanProperty m_plotTrackMultiplicities
virtual bool isReferenceTruth() const override
virtual const std::vector< std::string > & configuredChains() const override
BooleanProperty m_unlinkedAsFakes
std::vector< std::string > m_configuredChains
UnsignedIntegerArrayProperty m_minSilHits
BooleanProperty m_plotHitsOnTracksExpert
virtual float truthProbCut() const override
virtual bool doTrigNavigation() const override
virtual StatusCode finalize() override final
StringProperty m_resolMethod
StringProperty m_subFolder
virtual bool plotTracksInJets() const override
virtual bool useEFTrigger() const override
BooleanProperty m_sortPlotsByChain
histogram properties
FloatArrayProperty m_etaBins
StringArrayProperty m_chainNames
virtual const std::string & matchingType() const override
BooleanProperty m_plotHitsOnFakeTracks
BooleanProperty m_plotVertexParameters
virtual const std::string & subFolder() const override
virtual bool useSelectedVertexTracks() const override
virtual const std::string & anaTag() const override
BooleanProperty m_plotTrackParametersErrors
virtual bool isReferenceTrigger() const override
StringProperty m_trkAnaTag
virtual const std::string & referenceTag() const override
virtual bool plotHitsOnTracks() const override
virtual std::string plotsFullDir(std::string chain="") const override
BooleanProperty m_plotHitsOnTracks
virtual const std::string & testType() const override
StringProperty m_refTypeStr
virtual bool isTestOffline() const override
virtual bool useTrigger() const override
BooleanProperty m_useSelectedVertexTracks
BooleanProperty m_hasFullPileupTruth
virtual ~TrackAnalysisDefinitionSvc()=default
virtual bool isITk() const override
virtual bool plotFakeRates() const override
StringProperty m_pileupSwitch
virtual const std::string & testTag() const override
FloatProperty m_truthProbCut
virtual bool plotDuplicateRates() const override
virtual bool plotTechnicalEfficiencies() const override
virtual StatusCode initialize() override final
local includes
virtual bool useOffline() const override
BooleanProperty m_plotOfflineElectrons