ATLAS Offline Software
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 
16 #include "AsgServices/AsgService.h"
18 
21 
23 #include <string>
24 #include <vector>
25 
27  public asg::AsgService,
28  virtual public ITrackAnalysisDefinitionSvc {
29 
30 public:
31 
32  TrackAnalysisDefinitionSvc( const std::string& name, ISvcLocator* pSvcLocator );
33 
35 
36  virtual StatusCode initialize() override final;
37 
38  virtual StatusCode finalize() override final;
39 
40  virtual const std::vector< std::string >& configuredChains() const override { return m_configuredChains; }
41  virtual const std::string& subFolder() const override { return m_subFolder; };
42  virtual const std::string& anaTag() const override { return m_trkAnaTag; };
43  virtual std::string plotsFullDir( std::string chain="" ) const override;
44 
45  virtual bool useTrigger() const override { return m_useTrigger; }
46  virtual bool useEFTrigger() const override { return m_useEFTrigger; }
47  virtual bool useTruth() const override { return m_useTruth; }
48  virtual bool useOffline() const override { return m_useOffline; }
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 
65  virtual bool plotTrackParameters() const override { return m_plotTrackParameters.value(); };
66  virtual bool plotEfficiencies() const override { return m_plotEfficiencies.value(); };
67  virtual bool plotResolutions() const override { return m_plotResolutions.value(); };
68  virtual bool plotOfflineElectrons() const override { return m_plotOfflineElectrons.value(); };
69 
70 private:
71 
72  StringArrayProperty m_chainNames { this, "ChainNames", {}, "Vector of trigger chain names to process" };
73  StringProperty m_dirName{ this, "DirName", "InDetTrackPerfMonPlots/", "Top level directory to write histograms into" };
74  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/" };
75  StringProperty m_trkAnaTag { this, "TrkAnaTag", "", "Track analysis tag name" };
76 
77  StringProperty m_testTypeStr { this, "TestType", "Offline", "Type of track collection to be used as test" };
78  StringProperty m_refTypeStr { this, "RefType", "Truth", "Type of track collection to be used as reference" };
82 
83  StringProperty m_testTag { this, "TestTag", "offl", "Short label for test track type, used in histo booking" };
84  StringProperty m_refTag { this, "RefTag", "truth", "Short label for reference track type, used in histo booking" };
85 
86  StringProperty m_matchingType { this, "MatchingType", "DeltaRMatch", "Type of test-reference matching performed" };
87 
88  std::vector< std::string > m_configuredChains;
89 
91  BooleanProperty m_sortPlotsByChain { this, "sortPlotsByChain", false, "Save plots in <mainDir>/<chain>/<subDir/TrkAnaName>/... instead of the default <mainDir>/<subDir/TrkAnaName>/<chain>/..." };
92  BooleanProperty m_plotTrackParameters { this, "plotTrackParameters", true, "Book/fill track parameters histograms" };
93  BooleanProperty m_plotEfficiencies { this, "plotEfficiencies", true, "Book/fill track parameters histograms" };
94  BooleanProperty m_plotResolutions { this, "plotResolutions", true, "Book/fill track resolutions histograms" };
95  BooleanProperty m_plotOfflineElectrons { this, "plotOfflineElectrons", false, "Book/fill reference offline electrons histograms" };
96 
97 };
98 
99 #endif // > !INDETTRACKPERFMON_TRACKANALYSISDEFINITIONSVC_H
TrackAnalysisDefinitionSvc::m_useTrigger
bool m_useTrigger
Definition: TrackAnalysisDefinitionSvc.h:79
TrackAnalysisDefinitionSvc::testType
virtual const std::string & testType() const override
Definition: TrackAnalysisDefinitionSvc.h:59
TrackAnalysisDefinitionSvc::isTestOffline
virtual bool isTestOffline() const override
Definition: TrackAnalysisDefinitionSvc.h:53
ITrackAnalysisDefinitionSvc.h
runLayerRecalibration.chain
chain
Definition: runLayerRecalibration.py:175
AsgService.h
ITrackAnalysisDefinitionSvc
Athena include(s).
Definition: ITrackAnalysisDefinitionSvc.h:26
TrackAnalysisDefinitionSvc::m_isTestTruth
bool m_isTestTruth
Definition: TrackAnalysisDefinitionSvc.h:80
TrackAnalysisDefinitionSvc::isTestTruth
virtual bool isTestTruth() const override
Definition: TrackAnalysisDefinitionSvc.h:52
TrackAnalysisDefinitionSvc::configuredChains
virtual const std::vector< std::string > & configuredChains() const override
Definition: TrackAnalysisDefinitionSvc.h:40
TrackAnalysisDefinitionSvc::m_isRefTrigger
bool m_isRefTrigger
Definition: TrackAnalysisDefinitionSvc.h:81
TrackAnalysisDefinitionSvc::m_dirName
StringProperty m_dirName
Definition: TrackAnalysisDefinitionSvc.h:73
TrackAnalysisDefinitionSvc::m_isRefTruth
bool m_isRefTruth
Definition: TrackAnalysisDefinitionSvc.h:81
TrackAnalysisDefinitionSvc::~TrackAnalysisDefinitionSvc
virtual ~TrackAnalysisDefinitionSvc()
TrackAnalysisDefinitionSvc::m_trkAnaTag
StringProperty m_trkAnaTag
Definition: TrackAnalysisDefinitionSvc.h:75
TrackAnalysisDefinitionSvc::isReferenceEFTrigger
virtual bool isReferenceEFTrigger() const override
Definition: TrackAnalysisDefinitionSvc.h:55
TrackAnalysisDefinitionSvc::finalize
virtual StatusCode finalize() override final
Definition: TrackAnalysisDefinitionSvc.cxx:83
TrackAnalysisDefinitionSvc::referenceTag
virtual const std::string & referenceTag() const override
Definition: TrackAnalysisDefinitionSvc.h:62
TrackAnalysisDefinitionSvc::plotOfflineElectrons
virtual bool plotOfflineElectrons() const override
Definition: TrackAnalysisDefinitionSvc.h:68
TrackAnalysisDefinitionSvc::m_useOffline
bool m_useOffline
Definition: TrackAnalysisDefinitionSvc.h:79
TrackAnalysisDefinitionSvc::plotResolutions
virtual bool plotResolutions() const override
Definition: TrackAnalysisDefinitionSvc.h:67
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:562
TrackAnalysisDefinitionSvc::m_plotResolutions
BooleanProperty m_plotResolutions
Definition: TrackAnalysisDefinitionSvc.h:94
TrackAnalysisDefinitionSvc::useTrigger
virtual bool useTrigger() const override
Definition: TrackAnalysisDefinitionSvc.h:45
TrackAnalysisDefinitionSvc::m_matchingType
StringProperty m_matchingType
Definition: TrackAnalysisDefinitionSvc.h:86
TrackAnalysisDefinitionSvc::plotsFullDir
virtual std::string plotsFullDir(std::string chain="") const override
Definition: TrackAnalysisDefinitionSvc.cxx:90
TrackAnalysisDefinitionSvc::m_isRefEFTrigger
bool m_isRefEFTrigger
Definition: TrackAnalysisDefinitionSvc.h:81
TrackAnalysisDefinitionSvc::subFolder
virtual const std::string & subFolder() const override
Definition: TrackAnalysisDefinitionSvc.h:41
TrackAnalysisDefinitionSvc::anaTag
virtual const std::string & anaTag() const override
Definition: TrackAnalysisDefinitionSvc.h:42
TrackAnalysisDefinitionSvc::m_plotOfflineElectrons
BooleanProperty m_plotOfflineElectrons
Definition: TrackAnalysisDefinitionSvc.h:95
TrackAnalysisDefinitionSvc::useOffline
virtual bool useOffline() const override
Definition: TrackAnalysisDefinitionSvc.h:48
TrackAnalysisDefinitionSvc::m_chainNames
StringArrayProperty m_chainNames
Definition: TrackAnalysisDefinitionSvc.h:72
TrackAnalysisDefinitionSvc::isReferenceTrigger
virtual bool isReferenceTrigger() const override
Definition: TrackAnalysisDefinitionSvc.h:54
TrackAnalysisDefinitionSvc::isReferenceTruth
virtual bool isReferenceTruth() const override
Definition: TrackAnalysisDefinitionSvc.h:56
asg::AsgService
Base class for the dual-use service implementation classes.
Definition: AsgService.h:43
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
TrackAnalysisDefinitionSvc::m_useEFTrigger
bool m_useEFTrigger
Definition: TrackAnalysisDefinitionSvc.h:79
vector
Definition: MultiHisto.h:13
TrackAnalysisDefinitionSvc::m_plotEfficiencies
BooleanProperty m_plotEfficiencies
Definition: TrackAnalysisDefinitionSvc.h:93
TrackAnalysisDefinitionSvc::m_subFolder
StringProperty m_subFolder
Definition: TrackAnalysisDefinitionSvc.h:74
TrackAnalysisDefinitionSvc::m_isTestOffline
bool m_isTestOffline
Definition: TrackAnalysisDefinitionSvc.h:80
TrackAnalysisDefinitionSvc::isTestTrigger
virtual bool isTestTrigger() const override
Definition: TrackAnalysisDefinitionSvc.h:50
TrackAnalysisDefinitionSvc::m_isTestTrigger
bool m_isTestTrigger
Definition: TrackAnalysisDefinitionSvc.h:80
TrackAnalysisDefinitionSvc::useTruth
virtual bool useTruth() const override
Definition: TrackAnalysisDefinitionSvc.h:47
TrackAnalysisDefinitionSvc::plotTrackParameters
virtual bool plotTrackParameters() const override
histogram properties
Definition: TrackAnalysisDefinitionSvc.h:65
TrackAnalysisDefinitionSvc::plotEfficiencies
virtual bool plotEfficiencies() const override
Definition: TrackAnalysisDefinitionSvc.h:66
TrackAnalysisDefinitionSvc::m_testTypeStr
StringProperty m_testTypeStr
Definition: TrackAnalysisDefinitionSvc.h:77
TrackAnalysisDefinitionSvc::m_isRefOffline
bool m_isRefOffline
Definition: TrackAnalysisDefinitionSvc.h:81
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
TrackAnalysisDefinitionSvc::m_isTestEFTrigger
bool m_isTestEFTrigger
Definition: TrackAnalysisDefinitionSvc.h:80
TrackAnalysisDefinitionSvc
Athena includes.
Definition: TrackAnalysisDefinitionSvc.h:28
TrackAnalysisDefinitionSvc::matchingType
virtual const std::string & matchingType() const override
Definition: TrackAnalysisDefinitionSvc.h:63
TrackAnalysisDefinitionSvc::m_sortPlotsByChain
BooleanProperty m_sortPlotsByChain
histogram properties
Definition: TrackAnalysisDefinitionSvc.h:91
TrackAnalysisDefinitionSvc::m_testTag
StringProperty m_testTag
Definition: TrackAnalysisDefinitionSvc.h:83
TrackAnalysisDefinitionSvc::m_useTruth
bool m_useTruth
Definition: TrackAnalysisDefinitionSvc.h:79
TrackAnalysisDefinitionSvc::m_configuredChains
std::vector< std::string > m_configuredChains
Definition: TrackAnalysisDefinitionSvc.h:88
TrackAnalysisDefinitionSvc::m_refTypeStr
StringProperty m_refTypeStr
Definition: TrackAnalysisDefinitionSvc.h:78
TrackAnalysisDefinitionSvc::TrackAnalysisDefinitionSvc
TrackAnalysisDefinitionSvc(const std::string &name, ISvcLocator *pSvcLocator)
local includes
Definition: TrackAnalysisDefinitionSvc.cxx:21
TrackAnalysisDefinitionSvc::m_refTag
StringProperty m_refTag
Definition: TrackAnalysisDefinitionSvc.h:84
TrackAnalysisDefinitionSvc::isReferenceOffline
virtual bool isReferenceOffline() const override
Definition: TrackAnalysisDefinitionSvc.h:57
TrackAnalysisDefinitionSvc::useEFTrigger
virtual bool useEFTrigger() const override
Definition: TrackAnalysisDefinitionSvc.h:46
TrackAnalysisDefinitionSvc::isTestEFTrigger
virtual bool isTestEFTrigger() const override
Definition: TrackAnalysisDefinitionSvc.h:51
TrackAnalysisDefinitionSvc::testTag
virtual const std::string & testTag() const override
Definition: TrackAnalysisDefinitionSvc.h:61
TrackAnalysisDefinitionSvc::referenceType
virtual const std::string & referenceType() const override
Definition: TrackAnalysisDefinitionSvc.h:60
TrackAnalysisDefinitionSvc::initialize
virtual StatusCode initialize() override final
Definition: TrackAnalysisDefinitionSvc.cxx:38
TrackAnalysisDefinitionSvc::m_plotTrackParameters
BooleanProperty m_plotTrackParameters
Definition: TrackAnalysisDefinitionSvc.h:92