|
ATLAS Offline Software
|
Go to the documentation of this file.
16 #ifndef DQTGlobalWZFinderAlg_H
17 #define DQTGlobalWZFinderAlg_H
19 #include "GaudiKernel/ToolHandle.h"
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;
74 void doEleContainerTP(std::vector<const xAOD::Electron*>& allElectrons, std::vector<const xAOD::Electron*>& goodelectrons,
const EventContext& ctx)
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;
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"};
void doMuonTruthEff(std::vector< const xAOD::Muon * > &goodmuonsZ, const EventContext &ctx) const
constexpr ParticleHypothesis particle[PARTICLEHYPOTHESES]
the array of masses
SG::ReadHandleKey< xAOD::MuonContainer > m_MuonContainerKey
void fillEleEffHistos(bool tag_good, bool probe_good, bool probe_anti_good, bool os, double el_mass) const
void doMuonLooseTP(std::vector< const xAOD::Muon * > &goodmuonsZ, const xAOD::Vertex *pVtx, const EventContext &ctx, bool isSimulation, bool writeTTrees, const float evtWeight) const
virtual StatusCode fillHistograms(const EventContext &ctx) const override
adds event to the monitoring histograms
Gaudi::Property< float_t > m_zCutLow
Gaudi::Property< std::vector< std::string > > m_Z_mm_trigger
void doMuonTriggerTP(const xAOD::Muon *mu1, const xAOD::Muon *mu2, const EventContext &ctx, bool isSimulation, bool writeTTrees, const float evtWeight) const
bool checkTruthElectron(const xAOD::Electron *electron) const
Gaudi::Property< std::vector< std::string > > m_Z_ee_trigger
bool kinematicCuts(const xAOD::Egamma *particle) const
virtual StatusCode initialize() override
initialize
Gaudi::Property< float_t > m_electronEtCut
BooleanProperty m_doRunBeam
SG::ReadDecorHandleKeyArray< xAOD::MuonContainer > m_isoMuonContainerKey
virtual ~DQTGlobalWZFinderAlg()=default
Base class for Athena Monitoring Algorithms.
BooleanProperty m_do_BCID
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
SG::ReadHandleKey< xAOD::TruthParticleContainer > m_TruthParticleContainerKey
bool checkTruthMuon(const xAOD::Muon *muon) const
void doMuonInDetTP(std::vector< const xAOD::Muon * > &goodmuonsZ, const xAOD::Vertex *pVtx, const EventContext &ctx, bool isSimulation, bool writeTTrees, const float evtWeight) const
ToolHandle< IMCTruthClassifier > m_truthClassifier
bool antiGoodElectrons(const xAOD::Electron *electron_itr, const xAOD::Vertex *pVtx, const EventContext &ctx) const
void doEleContainerTP(std::vector< const xAOD::Electron * > &allElectrons, std::vector< const xAOD::Electron * > &goodelectrons, const EventContext &ctx) const
::StatusCode StatusCode
StatusCode definition for legacy code.
ToolHandle< CP::IMuonSelectionTool > m_muonSelectionTool
void doEleTriggerTP(const xAOD::Electron *el1, const xAOD::Electron *el2, const EventContext &ctx, bool writeTTrees, const float evtWeight, bool osel, bool ssel) const
Gaudi::Property< float_t > m_zCutHigh
SG::ReadHandleKey< xAOD::PhotonContainer > m_PhotonContainerKey
SG::ReadHandleKey< xAOD::ElectronContainer > m_ElectronContainerKey
ToolHandle< Trig::R3MatchingTool > m_r3MatchingTool
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_idTrackParticleContainerKey
Gaudi::Property< float_t > m_muonPtCut
bool checkTruthTrack(const xAOD::TrackParticle *trk) const
SG::ReadDecorHandleKeyArray< xAOD::ElectronContainer > m_isoElectronContainerKey
Class describing a Vertex.
BooleanProperty m_doTrigger
DQTGlobalWZFinderAlg(const std::string &name, ISvcLocator *pSvcLocator)
Gaudi::Property< float_t > m_muonMaxEta
Class describing a TrackParticle.
bool goodElectrons(const xAOD::Electron *electron_itr, const xAOD::Vertex *pVtx, const EventContext &ctx) const
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_msTrackParticleContainerKey
SG::ReadHandleKey< xAOD::VertexContainer > m_VertexContainerKey