16#ifndef DQTGlobalWZFinderAlg_H
17#define DQTGlobalWZFinderAlg_H
19#include "GaudiKernel/ToolHandle.h"
50 virtual StatusCode
fillHistograms(
const EventContext& ctx)
const override;
56 Gaudi::Property<float_t>
m_zCutLow {
this,
"zCutLow", 66.0};
57 Gaudi::Property<float_t>
m_zCutHigh {
this,
"zCutHigh", 116.0};
60 Gaudi::Property<std::vector<std::string>>
m_Z_ee_trigger {
this,
"Z_ee_trigger", {
"HLT_e26_lhtight_ivarloose_L1EM22VHI",
"HLT_e60_lhmedium_L1EM22VHI"}};
61 Gaudi::Property<std::vector<std::string>>
m_Z_mm_trigger {
this,
"Z_mm_trigger", {
"HLT_mu24_ivarmedium_L1MU14FCH",
"HLT_mu50_L1MU14FCH"}};
70 void fillEleEffHistos(
bool tag_good,
bool probe_good,
bool probe_anti_good,
bool os,
double el_mass)
const;
72 void doEleTriggerTP(
const xAOD::Electron* el1,
const xAOD::Electron* el2,
const EventContext& ctx,
bool writeTTrees,
const float evtWeight,
bool osel,
bool ssel)
const;
73 void doEleTP(
const xAOD::Electron* leadingAllEle,
const xAOD::Electron* subleadingAllEle,
const xAOD::Vertex* pVtx,
const EventContext& ctx,
bool writeTTrees,
bool isSimulation,
const float evtWeight)
const;
74 void doEleContainerTP(std::vector<const xAOD::Electron*>& allElectrons, std::vector<const xAOD::Electron*>& goodelectrons,
const EventContext& ctx)
const;
76 void doMuonTriggerTP(
const xAOD::Muon* mu1,
const xAOD::Muon* mu2,
const EventContext& ctx,
bool isSimulation,
bool writeTTrees,
const float evtWeight)
const;
77 void doMuonTruthEff(std::vector<const xAOD::Muon*>& goodmuonsZ,
const EventContext& ctx)
const;
78 void doMuonLooseTP(std::vector<const xAOD::Muon*>& goodmuonsZ,
const xAOD::Vertex* pVtx,
const EventContext& ctx,
bool isSimulation,
bool writeTTrees,
const float evtWeight)
const;
79 void doMuonInDetTP(std::vector<const xAOD::Muon*>& goodmuonsZ,
const xAOD::Vertex* pVtx,
const EventContext& ctx,
bool isSimulation,
bool writeTTrees,
const float evtWeight)
const;
82 bool checkTruthMuon(
const xAOD::Muon* muon)
const;
85 ToolHandle<CP::IMuonSelectionTool>
m_muonSelectionTool{
this,
"MuonSelectionTool",
"CP::MuonSelectionTool/MuonSelectionTool",
"MuonSelectionTool"};
86 ToolHandle<Trig::R3MatchingTool>
m_r3MatchingTool{
this,
"R3MatchingTool",
"Trig::R3MatchingTool",
"R3MatchingTool"};
88 ToolHandle<IMCTruthClassifier>
m_truthClassifier{
this,
"MCTruthClassifier",
"MCTruthClassifier/MCTruthClassifier",
"MCTruthClassifier"};
91 {
this,
"ElectronContainerName",
"Electrons",
"" };
93 {
this,
"MuonContainerName",
"Muons",
"" };
95 {
this,
"PhotonContainerName",
"Photons",
""};
97 {
this,
"PrimaryVertexContainerName",
"PrimaryVertices" };
99 {
this,
"TruthParticleContainerName",
"TruthParticles",
"" };
101 {
this,
"MuonInDetTrackParticleContainerName",
"InDetTrackParticles",
""};
103 {
this,
"MuonExtrapolatedTrackParticleContainerName",
"ExtrapolatedMuonTrackParticles",
""};
106 {
this,
"IsoMuonVariableNames", {
"Muons.ptcone20"},
"Isolation decoration for muon container"};
108 {
this,
"IsoElectronVariableNames", {
"Electrons.ptcone20"},
"Isolation decoration for electron container"};
AthMonitorAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
Gaudi::Property< float_t > m_electronEtCut
Gaudi::Property< std::vector< std::string > > m_Z_mm_trigger
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_idTrackParticleContainerKey
SG::ReadHandleKey< xAOD::PhotonContainer > m_PhotonContainerKey
SG::ReadHandleKey< xAOD::VertexContainer > m_VertexContainerKey
SG::ReadDecorHandleKeyArray< xAOD::MuonContainer > m_isoMuonContainerKey
BooleanProperty m_doRunBeam
Gaudi::Property< float_t > m_muonMaxEta
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_msTrackParticleContainerKey
SG::ReadHandleKey< xAOD::ElectronContainer > m_ElectronContainerKey
SG::ReadHandleKey< xAOD::TruthParticleContainer > m_TruthParticleContainerKey
Gaudi::Property< float_t > m_zCutLow
BooleanProperty m_do_BCID
ToolHandle< Trig::R3MatchingTool > m_r3MatchingTool
Gaudi::Property< float_t > m_zCutHigh
BooleanProperty m_doTrigger
ToolHandle< CP::IMuonSelectionTool > m_muonSelectionTool
SG::ReadDecorHandleKeyArray< xAOD::ElectronContainer > m_isoElectronContainerKey
ToolHandle< IMCTruthClassifier > m_truthClassifier
Gaudi::Property< std::vector< std::string > > m_Z_ee_trigger
virtual StatusCode fillHistograms(const EventContext &ctx) const override
adds event to the monitoring histograms
SG::ReadHandleKey< xAOD::MuonContainer > m_MuonContainerKey
virtual ~DQTGlobalWZFinderAlg()=default
Gaudi::Property< float_t > m_muonPtCut
Property holding a SG store/key/clid from which a ReadHandle is made.
DecorHandleKeyArray< ReadDecorHandle< T, S >, ReadDecorHandleKey< T >, Gaudi::DataHandle::Reader > ReadDecorHandleKeyArray
TrackParticle_v1 TrackParticle
Reference the current persistent version:
Vertex_v1 Vertex
Define the latest version of the vertex class.
Egamma_v1 Egamma
Definition of the current "egamma version".
Muon_v1 Muon
Reference the current persistent version:
Electron_v1 Electron
Definition of the current "egamma version".