ATLAS Offline Software
InDetGlobalPrimaryVertexMonTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef InDetGlobalPrimaryVertexMonTool_H
6 #define InDetGlobalPrimaryVertexMonTool_H
7 
8 #include <string>
9 #include "GaudiKernel/StatusCode.h"
13 #include "xAODTracking/Vertex.h"
14 
15 class TH1F_LW;
16 class TH2F_LW;
17 class TProfile_LW;
18 
19 namespace Trk {
20  class VxCandidate;
21 }
22 
24 
25 public:
26  InDetGlobalPrimaryVertexMonTool( const std::string & type, const std::string & name, const IInterface* parent );
27 
29 
30  virtual StatusCode initialize();
32  virtual StatusCode fillHistograms();
33 
34 protected:
35  // basic monitoring
39 
41 
43 
51 
55 
56  // enhnaced monitoring
60 
64 
68 
72 
73  // reconstruction efficiency plots
80 
81 private:
82  TH1F_LW* makeAndRegisterTH1F(MonGroup& mon, const char* name, const std::string& title, int nBins, float minX, float maxX);
83  TH2F_LW* makeAndRegisterTH2F(MonGroup& mon, const char* hName, const std::string& hTitle,
84  int nBinsX, float minX, float maxX,
85  int nBinsY, float minY, float maxY);
86  TH2F_LW* makeAndRegisterTH2FVariableXBins(MonGroup& mon, const char* hName, const std::string& hTitle,
87  int nBinsX, double* xRange,
88  int nBinsY, float minY, float maxY);
89  // athena monitoring needs dummy registration of histos nad graphs which are created during post processing by a macro
90  void makeAndRegisterDummyTGraph(MonGroup& mon, const char* hName);
91 
92  // Properties
93  std::string m_histFolder;
94  SG::ReadHandleKey<xAOD::VertexContainer> m_vxContainerName{this,"vxContainerName","VxPrimaryCandidate","Primary Vertices for Global Monitoring"};
95  SG::ReadHandleKey<xAOD::VertexContainer> m_vxContainerNameWithoutBeamConstraint{this,"vxContainerNameWithOutBeamConstraint","VxCandidatesWithoutBeamConstraint","Vertices without beam constraint for Global Monitoring"};
96  SG::ReadHandleKey<xAOD::VertexContainer> m_vxContainerNameSplit{this,"vxContainerNameSplit","SplitVxCandidates","Split Vertices for Global Monitoring"};
99 
107  bool m_doEnhancedMonitoring; // trigger the enhanced monitoring (to be activated by InDetFlags.doMonitoringPrimaryVertexingEnhanced because split vertexing and vertexing with no beam constraint need to be run as well)
108  // Helper functions
114  double GetSplitMatchDistance(const xAOD::Vertex* splitVx, const xAOD::Vertex* originalVx);
115 
116 };
117 
118 #endif
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
InDetGlobalPrimaryVertexMonTool::makeAndRegisterTH2F
TH2F_LW * makeAndRegisterTH2F(MonGroup &mon, const char *hName, const std::string &hTitle, int nBinsX, float minX, float maxX, int nBinsY, float minY, float maxY)
Definition: InDetGlobalPrimaryVertexMonTool.cxx:437
InDetGlobalPrimaryVertexMonTool::m_hPvNaveMu
TH2F_LW * m_hPvNaveMu
Definition: InDetGlobalPrimaryVertexMonTool.h:42
InDetGlobalPrimaryVertexMonTool::m_distanceSplitVxMatch
float m_distanceSplitVxMatch
store maximum distance for matching split vertices to original non-BC vertex
Definition: InDetGlobalPrimaryVertexMonTool.h:98
InDetGlobalPrimaryVertexMonTool::m_hVrt_XpullVsPt2Average_split
TH2F_LW * m_hVrt_XpullVsPt2Average_split
Definition: InDetGlobalPrimaryVertexMonTool.h:61
InDetGlobalPrimaryVertexMonTool::m_hPvTrackPt
TH1F_LW * m_hPvTrackPt
Definition: InDetGlobalPrimaryVertexMonTool.h:53
InDetGlobalPrimaryVertexMonTool::m_vxContainerNameWithoutBeamConstraint
SG::ReadHandleKey< xAOD::VertexContainer > m_vxContainerNameWithoutBeamConstraint
Definition: InDetGlobalPrimaryVertexMonTool.h:95
InDetGlobalPrimaryVertexMonTool::initialize
virtual StatusCode initialize()
Definition: InDetGlobalPrimaryVertexMonTool.cxx:78
InDetGlobalPrimaryVertexMonTool::m_hVrt_YpullVsNtrkAverage_split
TH2F_LW * m_hVrt_YpullVsNtrkAverage_split
Definition: InDetGlobalPrimaryVertexMonTool.h:58
InDetGlobalPrimaryVertexMonTool::m_hVrt_Xerr_vs_pt2
TH2F_LW * m_hVrt_Xerr_vs_pt2
Definition: InDetGlobalPrimaryVertexMonTool.h:69
InDetGlobalPrimaryVertexMonTool::m_vxContainerName
SG::ReadHandleKey< xAOD::VertexContainer > m_vxContainerName
Definition: InDetGlobalPrimaryVertexMonTool.h:94
InDetGlobalPrimaryVertexMonTool::m_hPvY
TH1F_LW * m_hPvY
Definition: InDetGlobalPrimaryVertexMonTool.h:45
InDetGlobalPrimaryVertexMonTool::m_hPvNTracks
TH1F_LW * m_hPvNTracks
Definition: InDetGlobalPrimaryVertexMonTool.h:52
InDetGlobalPrimaryVertexMonTool::m_hPvErrY
TH1F_LW * m_hPvErrY
Definition: InDetGlobalPrimaryVertexMonTool.h:48
ManagedMonitorToolBase
Provides functionality for users to implement and save histograms, ntuples, and summary data,...
Definition: ManagedMonitorToolBase.h:74
InDetGlobalPrimaryVertexMonTool::m_splitMatchingMetric
int m_splitMatchingMetric
store metric to be used for split vertex matching in selection efficiency Values currently implemente...
Definition: InDetGlobalPrimaryVertexMonTool.h:106
InDetGlobalPrimaryVertexMonTool::m_vxContainerNameSplit
SG::ReadHandleKey< xAOD::VertexContainer > m_vxContainerNameSplit
Definition: InDetGlobalPrimaryVertexMonTool.h:96
InDetGlobalPrimaryVertexMonTool::m_hPvZ
TH1F_LW * m_hPvZ
Definition: InDetGlobalPrimaryVertexMonTool.h:46
InDetGlobalPrimaryVertexMonTool::m_hPvNPriVtx
TH1F_LW * m_hPvNPriVtx
Definition: InDetGlobalPrimaryVertexMonTool.h:37
InDetGlobalPrimaryVertexMonTool::m_hPvTrackEta
TH1F_LW * m_hPvTrackEta
Definition: InDetGlobalPrimaryVertexMonTool.h:54
InDetGlobalPrimaryVertexMonTool::m_hVrt_split_dist_probe
TH1F_LW * m_hVrt_split_dist_probe
Distance between probe-split and original non-BC vertex (used for selection efficiency)
Definition: InDetGlobalPrimaryVertexMonTool.h:79
InDetGlobalPrimaryVertexMonTool::m_hVrt_XpullVsNtrkAverage_split
TH2F_LW * m_hVrt_XpullVsNtrkAverage_split
Definition: InDetGlobalPrimaryVertexMonTool.h:57
InDetGlobalPrimaryVertexMonTool::m_hPvErrZ
TH1F_LW * m_hPvErrZ
Definition: InDetGlobalPrimaryVertexMonTool.h:49
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition: StoreGate/StoreGate/ReadHandleKey.h:39
InDetGlobalPrimaryVertexMonTool::m_hPvN_LB
TProfile_LW * m_hPvN_LB
Definition: InDetGlobalPrimaryVertexMonTool.h:40
TProfile_LW
Definition: TProfile_LW.h:24
InDetGlobalPrimaryVertexMonTool::m_hVrt_ZpullVsPt2Average_split
TH2F_LW * m_hVrt_ZpullVsPt2Average_split
Definition: InDetGlobalPrimaryVertexMonTool.h:63
InDetGlobalPrimaryVertexMonTool::m_hPvX
TH1F_LW * m_hPvX
Definition: InDetGlobalPrimaryVertexMonTool.h:44
InDetGlobalPrimaryVertexMonTool::m_hVrt_Zerr_vs_pt2
TH2F_LW * m_hVrt_Zerr_vs_pt2
Definition: InDetGlobalPrimaryVertexMonTool.h:71
ManagedMonitorToolBase.h
ManagedMonitorToolBase::MonGroup
A container of information describing a monitoring object.
Definition: ManagedMonitorToolBase.h:138
TH1F_LW
Definition: TH1F_LW.h:23
InDetGlobalPrimaryVertexMonTool::m_hVrt_split_probe_ntrk
TH1F_LW * m_hVrt_split_probe_ntrk
Number of probe and tag split vertices as fx of the number of tracks at probe (numerator)
Definition: InDetGlobalPrimaryVertexMonTool.h:75
InDetGlobalPrimaryVertexMonTool
Definition: InDetGlobalPrimaryVertexMonTool.h:23
InDetGlobalPrimaryVertexMonTool::m_hPvNPileupVtx
TH1F_LW * m_hPvNPileupVtx
Definition: InDetGlobalPrimaryVertexMonTool.h:38
InDetGlobalPrimaryVertexMonTool::GetSplitMatchDistance
double GetSplitMatchDistance(const xAOD::Vertex *splitVx, const xAOD::Vertex *originalVx)
Returns matching distance between split and original vertex.
Definition: InDetGlobalPrimaryVertexMonTool.cxx:473
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
InDetGlobalPrimaryVertexMonTool::fillHistograms
virtual StatusCode fillHistograms()
An inheriting class should either override this function or fillHists().
Definition: InDetGlobalPrimaryVertexMonTool.cxx:191
InDetGlobalPrimaryVertexMonTool::m_hVrt_split_matched_probe_ntrk
TH1F_LW * m_hVrt_split_matched_probe_ntrk
Number of probe and tag split vertices matched with original vertex as fx of the number of tracks at ...
Definition: InDetGlobalPrimaryVertexMonTool.h:77
covarianceTool.title
title
Definition: covarianceTool.py:542
InDetGlobalPrimaryVertexMonTool::makeAndRegisterDummyTGraph
void makeAndRegisterDummyTGraph(MonGroup &mon, const char *hName)
Definition: InDetGlobalPrimaryVertexMonTool.cxx:463
test_pyathena.parent
parent
Definition: test_pyathena.py:15
InDetGlobalPrimaryVertexMonTool::makeAndRegisterTH2FVariableXBins
TH2F_LW * makeAndRegisterTH2FVariableXBins(MonGroup &mon, const char *hName, const std::string &hTitle, int nBinsX, double *xRange, int nBinsY, float minY, float maxY)
Definition: InDetGlobalPrimaryVertexMonTool.cxx:450
InDetGlobalPrimaryVertexMonTool::InDetGlobalPrimaryVertexMonTool
InDetGlobalPrimaryVertexMonTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition: InDetGlobalPrimaryVertexMonTool.cxx:23
Vertex.h
InDetGlobalPrimaryVertexMonTool::m_hVrt_ZpullVsNtrkAverage_split
TH2F_LW * m_hVrt_ZpullVsNtrkAverage_split
Definition: InDetGlobalPrimaryVertexMonTool.h:59
InDetGlobalPrimaryVertexMonTool::m_hVrt_Xerr_vs_ntrk
TH2F_LW * m_hVrt_Xerr_vs_ntrk
Definition: InDetGlobalPrimaryVertexMonTool.h:65
InDetGlobalPrimaryVertexMonTool::bookHistogramsRecurrent
virtual StatusCode bookHistogramsRecurrent()
An inheriting class should either override this function, bookHists() or bookHistograms().
Definition: InDetGlobalPrimaryVertexMonTool.cxx:90
InDetGlobalPrimaryVertexMonTool::m_histFolder
std::string m_histFolder
Definition: InDetGlobalPrimaryVertexMonTool.h:93
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
dumpTgcDigiJitter.nBins
list nBins
Definition: dumpTgcDigiJitter.py:29
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
InDetGlobalPrimaryVertexMonTool::m_hVrt_split_tag_ntrk
TH1F_LW * m_hVrt_split_tag_ntrk
Number of tag split vertices as fx of the number of tracks at probe (denominator)
Definition: InDetGlobalPrimaryVertexMonTool.h:74
InDetGlobalPrimaryVertexMonTool::m_doEnhancedMonitoring
bool m_doEnhancedMonitoring
Definition: InDetGlobalPrimaryVertexMonTool.h:107
InDetGlobalPrimaryVertexMonTool::m_hVrt_Yerr_vs_ntrk
TH2F_LW * m_hVrt_Yerr_vs_ntrk
Definition: InDetGlobalPrimaryVertexMonTool.h:66
InDetGlobalPrimaryVertexMonTool::m_hVrt_YpullVsPt2Average_split
TH2F_LW * m_hVrt_YpullVsPt2Average_split
Definition: InDetGlobalPrimaryVertexMonTool.h:62
InDetGlobalPrimaryVertexMonTool::m_hPvErrX
TH1F_LW * m_hPvErrX
Definition: InDetGlobalPrimaryVertexMonTool.h:47
InDetGlobalPrimaryVertexMonTool::m_hVrt_Zerr_vs_ntrk
TH2F_LW * m_hVrt_Zerr_vs_ntrk
Definition: InDetGlobalPrimaryVertexMonTool.h:67
InDetGlobalPrimaryVertexMonTool::m_hVrt_split_matched_tag_ntrk
TH1F_LW * m_hVrt_split_matched_tag_ntrk
Number of tag split vertices matched with original vertex as fx of the number of tracks at probe (den...
Definition: InDetGlobalPrimaryVertexMonTool.h:76
VertexContainer.h
xAOD::Vertex_v1
Class describing a Vertex.
Definition: Vertex_v1.h:42
InDetGlobalPrimaryVertexMonTool::~InDetGlobalPrimaryVertexMonTool
virtual ~InDetGlobalPrimaryVertexMonTool()
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
plotBeamSpotMon.mon
mon
Definition: plotBeamSpotMon.py:67
InDetGlobalPrimaryVertexMonTool::m_hPvN
TH1F_LW * m_hPvN
Definition: InDetGlobalPrimaryVertexMonTool.h:36
TH2F_LW
Definition: TH2F_LW.h:23
InDetGlobalPrimaryVertexMonTool::m_splitVertexTrkInvFraction
int m_splitVertexTrkInvFraction
store inverse of the fraction of input tracks used for probe vertex (1:N)
Definition: InDetGlobalPrimaryVertexMonTool.h:97
InDetGlobalPrimaryVertexMonTool::m_hVrt_Yerr_vs_pt2
TH2F_LW * m_hVrt_Yerr_vs_pt2
Definition: InDetGlobalPrimaryVertexMonTool.h:70
InDetGlobalPrimaryVertexMonTool::m_hVrt_split_dist_tag
TH1F_LW * m_hVrt_split_dist_tag
Distance between tag-split and original non-BC vertex (used for selection efficiency)
Definition: InDetGlobalPrimaryVertexMonTool.h:78
InDetGlobalPrimaryVertexMonTool::m_hPvChiSqDoF
TH1F_LW * m_hPvChiSqDoF
Definition: InDetGlobalPrimaryVertexMonTool.h:50
InDetGlobalPrimaryVertexMonTool::makeAndRegisterTH1F
TH1F_LW * makeAndRegisterTH1F(MonGroup &mon, const char *name, const std::string &title, int nBins, float minX, float maxX)
Definition: InDetGlobalPrimaryVertexMonTool.cxx:422