ATLAS Offline Software
Loading...
Searching...
No Matches
TrigTauMonitorSingleAlgorithm.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef TRIGTAUMONITORING_TRIGTAUMONITORSINGLEALGORITHM_H
6#define TRIGTAUMONITORING_TRIGTAUMONITORSINGLEALGORITHM_H
7
8#include "Gaudi/Parsers/Factory.h"
9
11
13public:
14 TrigTauMonitorSingleAlgorithm(const std::string& name, ISvcLocator* pSvcLocator);
15 virtual StatusCode initialize() override;
16
17private:
18 // Enable total efficiency histograms
19 // Note: Should only be used when reprocessing EB or MC data. Comparisons of total efficiencies between chains on normal data-taking
20 // conditions would be meaningless, since different L1/HLT items can have different prescales, and are not within a Coherent-Prescale-Set
21 Gaudi::Property<bool> m_doTotalEfficiency{this, "DoTotalEfficiency", false, "Do total efficiency histograms"};
22
23 // Require at least 1 offline Tau per event (will bias the variable distributions for background events)
24 Gaudi::Property<bool> m_requireOfflineTaus{this, "RequireOfflineTaus", true, "Require at leat 1 offline tau per event"};
25 Gaudi::Property<unsigned int> m_offline_tau_id{this, "OfflineTauID", TauID::RNN, "Offline TauID (1: RNN, 2: GNTau)"};
26
27 // Do offline taus variable distributions
28 Gaudi::Property<bool> m_doOfflineTausDistributions{this, "DoOfflineTausDistributions", true};
29
30 // HLT TauID score monitoring
31 Gaudi::Property<std::map<std::string, std::map<std::string, std::pair<std::string, std::string>>>> m_monitoredHLTIdScores {this, "HLTTauIDScores", {}, "Pairs of the TauID score and signal-transformed scores for each HLT TauID algorithm to be monitored, for each reconstruction sequence (type, e.g. tracktwoMVA, tracktwoLLP, etc...)"};
32 std::map<std::string, std::map<std::string, std::pair<SG::ReadDecorHandleKey<xAOD::TauJetContainer>, SG::ReadDecorHandleKey<xAOD::TauJetContainer>>>> m_monitoredHLTIdDecorHandleKeys;
33
34 // Offline TauID score monitoring
35 Gaudi::Property<std::map<std::string, std::pair<std::string, std::string>>> m_monitoredOfflineIdScores {this, "OfflineTauIDScores", {}, "Pairs of the TauID score and signal-transformed scores for each Offline TauID algorithm to be monitored"};
36 std::map<std::string, std::pair<SG::ReadDecorHandleKey<xAOD::TauJetContainer>, SG::ReadDecorHandleKey<xAOD::TauJetContainer>>> m_monitoredOfflineIdDecorHandleKeys;
37
38 virtual StatusCode processEvent(const EventContext& ctx) const override;
39
40 void fillHLTEfficiencies(const EventContext& ctx,const std::string& trigger, const bool l1_accept_flag, const std::vector<const xAOD::TauJet*>& offline_tau_vec, const std::vector<const xAOD::TauJet*>& online_tau_vec, const std::string& nProng) const;
41 void fillIDInputVars(const std::string& trigger, const std::vector<const xAOD::TauJet*>& tau_vec,const std::string& nProng, bool online) const;
42 void fillIDTrack(const std::string& trigger, const std::vector<const xAOD::TauJet*>& tau_vec, bool online) const;
43 void fillIDCluster(const std::string& trigger, const std::vector<const xAOD::TauJet*>& tau_vec, bool online) const;
44 void fillBasicVars(const EventContext& ctx, const std::string& trigger, const std::vector<const xAOD::TauJet*>& tau_vec, const std::string& nProng, bool online) const;
45 void fillIDScores(const EventContext& ctx, const std::string& trigger, const std::vector<const xAOD::TauJet*>& tau_vec, const std::string& nProng, bool online) const;
46
47 std::vector<TLorentzVector> getRoIsVector(const EventContext& ctx, const std::string& trigger) const;
48};
49
50#endif
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
TrigTauMonitorBaseAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
void fillIDScores(const EventContext &ctx, const std::string &trigger, const std::vector< const xAOD::TauJet * > &tau_vec, const std::string &nProng, bool online) const
virtual StatusCode initialize() override
initialize
std::map< std::string, std::map< std::string, std::pair< SG::ReadDecorHandleKey< xAOD::TauJetContainer >, SG::ReadDecorHandleKey< xAOD::TauJetContainer > > > > m_monitoredHLTIdDecorHandleKeys
Gaudi::Property< std::map< std::string, std::map< std::string, std::pair< std::string, std::string > > > > m_monitoredHLTIdScores
TrigTauMonitorSingleAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
void fillIDInputVars(const std::string &trigger, const std::vector< const xAOD::TauJet * > &tau_vec, const std::string &nProng, bool online) const
Gaudi::Property< std::map< std::string, std::pair< std::string, std::string > > > m_monitoredOfflineIdScores
virtual StatusCode processEvent(const EventContext &ctx) const override
void fillHLTEfficiencies(const EventContext &ctx, const std::string &trigger, const bool l1_accept_flag, const std::vector< const xAOD::TauJet * > &offline_tau_vec, const std::vector< const xAOD::TauJet * > &online_tau_vec, const std::string &nProng) const
Gaudi::Property< unsigned int > m_offline_tau_id
std::map< std::string, std::pair< SG::ReadDecorHandleKey< xAOD::TauJetContainer >, SG::ReadDecorHandleKey< xAOD::TauJetContainer > > > m_monitoredOfflineIdDecorHandleKeys
void fillIDCluster(const std::string &trigger, const std::vector< const xAOD::TauJet * > &tau_vec, bool online) const
Gaudi::Property< bool > m_doOfflineTausDistributions
void fillBasicVars(const EventContext &ctx, const std::string &trigger, const std::vector< const xAOD::TauJet * > &tau_vec, const std::string &nProng, bool online) const
void fillIDTrack(const std::string &trigger, const std::vector< const xAOD::TauJet * > &tau_vec, bool online) const
std::vector< TLorentzVector > getRoIsVector(const EventContext &ctx, const std::string &trigger) const