5#ifndef INDETPHYSVALMONITORING_INDETPHYSVALMONITORINGTOOL_H
6#define INDETPHYSVALMONITORING_INDETPHYSVALMONITORINGTOOL_H
30#include "GaudiKernel/ToolHandle.h"
86 const std::vector<const xAOD::TruthParticle *>
getTruthParticles(
const EventContext& ctx)
const;
87 std::pair<const std::vector<const xAOD::TruthVertex*>,
const std::vector<const xAOD::TruthVertex*>>
getTruthVertices(
const EventContext& ctx)
const;
100 const std::vector<const xAOD::TruthParticle*>& truthParticles,
103 float beamSpotWeight);
134 {
this,
"TrackParticleContainerName",
"InDetTrackParticles"};
138 {
this,
"TruthParticleContainerName",
"TruthParticles",
""};
142 {
this,
"VertexContainerName",
"PrimaryVertices",
""};
146 {
this,
"TruthVertexContainerName",
"TruthVertices",
""};
150 {
this,
"EventInfoContainerName",
"EventInfo",
""};
153 {
this,
"TruthEvents",
"TruthEvents",
"Name of the truth events container probably either TruthEvent or TruthEvents"};
156 {
this,
"TruthPileupEvents",
"TruthPileupEvents",
"Name of the truth pileup events container probably TruthPileupEvent(s)"};
159 {
this,
"JetContainerName",
"AntiKt4LCTopoJets" ,
""};
164 std::vector<SG::ReadDecorHandleKey<xAOD::TrackParticleContainer> >
m_intTrkDecor;
168 std::vector<SG::ReadDecorHandleKey<xAOD::TrackParticleContainer> >
m_linkTrkDecor;
174 BooleanProperty
m_useTrackSelection {
this,
"useTrackSelection",
false,
"plot only tracks accepted by selection tool"};
175 BooleanProperty
m_doTruthOriginPlots {
this,
"doTruthOriginPlots",
false,
"do plots split by track truth origin"};
176 BooleanProperty
m_doDuplicatePlots {
this,
"doDuplicatePlots",
false,
"Fill duplicate=multi-track per particle plots"};
177 BooleanProperty
m_doPerAuthorPlots {
this,
"doPerAuthorPlots",
false,
"do plots split by track author"};
179 BooleanProperty
m_doHitLevelPlots {
this,
"doHitLevelPlots",
false,
"Fill hit efficiency and residual plots"};
180 BooleanProperty
m_doBjetPlots {
this,
"FillTrackInBJetPlots",
false,
"Fill plots for tracks in truth-b-tagged jets"};
181 BooleanProperty
m_fillTruthToRecoNtuple {
this,
"FillTruthToRecoNtuple",
false,
"Fill an ntuple with truth and matching reco info for more detailed stuidies"};
183 BooleanProperty
m_onlyFillMatched {
this,
"onlyFillTruthMatched",
false,
"Only fill truth-to-reco (eff, reso, matched hit) plots"};
185 BooleanProperty
m_useGRL {
this,
"useGRL",
false,
"Apply GRL selection or not when running on data"};
186 BooleanProperty
m_doIDTIDEPlots{
this,
"doIDTIDEPlots",
false,
"do ID TIDE derivation plots"};
187 BooleanProperty
m_fillTechnicalEfficiency{
this,
"fillTechnicalEfficiency",
false,
"Fill the technical efficiency plot. Requires additional sihit information in input file"};
188 BooleanProperty
m_doPRW{
this,
"doPRW",
false,
"apply pileup reweight"};
190 FloatProperty
m_maxTrkJetDR{
this,
"maxTrkJetDR",0.4,
"the maximum dR to jets to allow for track-in-jet plots"};
191 StringProperty
m_dirName {
this,
"DirName",
"SquirrelPlots/",
"Top level directory to write histograms into"};
192 StringProperty
m_folder {
this,
"SubFolder",
"",
"Subfolder to add for plots if desired. Used when working with multiple IDPVM tool instances."};
193 StringProperty
m_pileupSwitch {
this,
"PileupSwitch",
"HardScatter",
"Pileup truth strategy to use. May be \"All\", \"HardScatter\", or \"PileUp\""};
194 StringProperty
m_setCSVName {
this,
"setCSVName",
"",
"convert AOD to a scv file"};
195 FloatProperty
m_lowProb{
this,
"LowProb",0.5,
"Truth match prob. cutoff for efficiency (lower bound) and fake (upper bound) classification."};
196 FloatProperty
m_highProb{
this,
"HighProb",0.8,
"Truth match prob. cutoff - currently unused"};
198 IntegerArrayProperty
m_minHits{
this,
"MinNumberClusters", {}};
200 FloatProperty
m_jetAbsEtaMin{
this,
"JetAbsEtaMin", 0.f,
"Minimum Eta value for jet selection"};
201 FloatProperty
m_jetAbsEtaMax{
this,
"JetAbsEtaMax", 2.5f,
"Maximum Eta value for jet selection"};
202 FloatProperty
m_jetPtMin{
this,
"JetPtMin", 100.0f,
"Minimum Jet pT for jet selection in GeV"};
203 FloatProperty
m_jetPtMax{
this,
"JetPtMax", 5000.0f,
"Maximum Jet pT for jet selection in GeV"};
205 BooleanProperty
m_isITk{
this,
"isITk",
false,
"Whether config is set for ITk, to enable/disable some plots"};
207 ToolHandle<InDet::IInDetTrackSelectionTool>
m_trackSelectionTool{
this,
"TrackSelectionTool",
"InDet::InDetTrackSelectionTool/TrackSelectionTool",
"Track selection tool to use"};
208 ToolHandle<IInDetVertexTruthMatchTool>
m_vtxValidTool{
this,
"VertexTruthMatchTool",
"InDetVertexTruthMatchTool/VtxTruthMatchTool",
"Vertex truth matching tool to use"};
209 ToolHandle<IAthSelectionTool>
m_truthSelectionTool{
this,
"TruthSelectionTool",
"AthTruthSelectionTool",
"Truth selection tool (for efficiencies and resolutions)"};
210 ToolHandle<InDet::IInDetTrackTruthOriginTool>
m_trackTruthOriginTool{
this,
"trackTruthOriginTool",
"InDet::InDetTrackTruthOriginTool",
"truth track origin tool"};
211 ToolHandle<InDet::IInDetHardScatterSelectionTool>
m_hardScatterSelectionTool{
this,
"hardScatterSelectionTool",
"InDet::InDetHardScatterSelectionTool",
"tool to select the hard scatter reco vertex"};
212 ToolHandle<IGoodRunsListSelectionTool>
m_grlTool{
this,
"GoodRunsListSelectionTool",
"GoodRunsListSelectionTool/GoodRunsListSelectionTool",
"GRL selection tool"};
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
This is an Identifier helper class for the Pixel subdetector.
This is an Identifier helper class for the SCT subdetector.
This is an Identifier helper class for the TRT subdetector.
Define macros for attributes used to control the static checker.
class holding all plots for Inner Detector RTT Validation and implementing fill methods
SG::Decorator< T, ALLOC > Decorator
SG::Accessor< T, ALLOC > Accessor
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
Property holding a SG store/key/clid from which a ReadHandle is made.
This class is the pure abstract base class for all fittable tracking measurements.
Class to retrieve associated truth from a track, implementing a cached response.
ParametersBase< TrackParametersDim, Charged > TrackParameters
Jet_v1 Jet
Definition of the current "jet version".
TrackParticle_v1 TrackParticle
Reference the current persistent version:
Vertex_v1 Vertex
Define the latest version of the vertex class.
TruthParticle_v1 TruthParticle
Typedef to implementation.
TrackParticleContainer_v1 TrackParticleContainer
Definition of the current "TrackParticle container version".
helper struct - steer the configuration from the parent tool's side