7#ifndef PROMPT_DECORATEPLIT_H
8#define PROMPT_DECORATEPLIT_H
20#include "GaudiKernel/ToolHandle.h"
37 DecoratePLIT(
const std::string &name, ISvcLocator *pSvcLocator);
40 virtual StatusCode
execute (
const EventContext&)
const override;
43 std::shared_ptr<const FlavorTagInference::SaltModel>
m_saltModel{};
59 const EventContext& ctx)
const;
68 const EventContext& ctx)
const;
78 bool isUsedForElectron,
86 std::vector<const xAOD::IParticle *> &parts,
90 const EventContext& ctx)
const;
94 this,
"LeptonContainerName",
"",
95 "Container's name of the lepton that you want to decorate. Also need to set ElectronContainerKey or MuonContainerKey accordingly"
97 Gaudi::Property<std::string>
m_configPath {
this,
"ConfigPath",
"",
"Path of the directory containing the onnx files"};
98 Gaudi::Property<std::string>
m_configFileVersion {
this,
"ConfigFileVersion",
"",
"Vector of tagger score files"};
99 Gaudi::Property<std::string>
m_configFileVersion_endcap {
this,
"ConfigFileVersion_endcap",
"",
"Vector of tagger score files for endcap"};
100 Gaudi::Property<std::string>
m_TaggerName {
this,
"TaggerName",
"",
"Tagger name"};
102 this,
"maxLepTrackdR", 0.4,
"Maximum distance between lepton and track"};
104 this,
"lepCalErelConeSize", 0.15,
"Cone size for relative calo cluster energy sum"};
106 this,
"btagIp_prefix",
"btagIp_",
"Prefix of b-tagging impact parameter variables (w.r.t. primary vertex)"};
110 this,
"ElectronContainerKey",
"Electrons",
111 "Electron container name"
114 this,
"MuonContainerKey",
"Muons",
115 "Muon container name"
118 this,
"TrackJetContainerKey",
"AntiKtVR30Rmax4Rmin02PV0TrackJets",
119 "VR track jet container name"
122 this,
"TracksContainerKey",
"InDetTrackParticles",
123 "Tracks container name"
126 this,
"CaloClusterContainerKey",
"egammaClusters",
127 "Calo cluster container name"
Helper class to provide type-safe access to aux data.
An algorithm that can be simultaneously executed in multiple threads.
int m_num_lepton_features
SG::ReadHandleKey< xAOD::JetContainer > m_trackjetsKey
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_dec_trk_dr_leptontrack
StatusCode initializeAccessors()
SG::ReadDecorHandleKey< xAOD::ElectronContainer > m_acc_el_ptvarcone30
Gaudi::Property< std::string > m_leptonsName
StatusCode decorateTrack(SG::WriteDecorHandle< xAOD::TrackParticleContainer, float > &dec_trk_dr_lepton, SG::WriteDecorHandle< xAOD::TrackParticleContainer, float > &dec_trk_dr_leptontrack, SG::WriteDecorHandle< xAOD::TrackParticleContainer, char > &dec_trk_electron_track, SG::WriteDecorHandle< xAOD::TrackParticleContainer, char > &dec_trk_muon_track, const xAOD::TrackParticle &track, float dr_lepton, bool isUsedForElectron, bool isUsedForMuon, const xAOD::TrackParticle *trackLep) const
SG::ReadDecorHandleKey< xAOD::TrackParticleContainer > m_acc_trk_d0
SG::ReadHandleKey< xAOD::CaloClusterContainer > m_caloclustersKey
std::shared_ptr< const FlavorTagInference::SaltModel > m_saltModel_endcap
SG::WriteDecorHandleKeyArray< xAOD::ElectronContainer > m_dec_el_plit_output
Gaudi::Property< float > m_lepCalErelConeSize
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_tracksKey
bool passed_r22tracking_cuts(const xAOD::TrackParticle &tp, const EventContext &ctx) const
SG::ReadDecorHandleKey< xAOD::MuonContainer > m_acc_mu_topoetcone30
SG::ReadDecorHandleKey< xAOD::MuonContainer > m_acc_mu_ptvarcone30TTVA
SG::ReadDecorHandleKey< xAOD::ElectronContainer > m_acc_el_topoetcone30
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_dec_trk_muon_track
Gaudi::Property< std::string > m_configPath
SG::ReadDecorHandleKey< xAOD::TrackParticleContainer > m_acc_trk_z0SinThetaUncertainty
SG::ReadDecorHandleKey< xAOD::TrackParticleContainer > m_acc_trk_d0Uncertainty
std::shared_ptr< const FlavorTagInference::SaltModel > m_saltModel
Gaudi::Property< float > m_maxLepTrackdR
StatusCode predictElec(SG::WriteDecorHandle< xAOD::TrackParticleContainer, float > &dec_trk_dr_lepton, SG::WriteDecorHandle< xAOD::TrackParticleContainer, float > &dec_trk_dr_leptontrack, SG::WriteDecorHandle< xAOD::TrackParticleContainer, char > &dec_trk_electron_track, SG::WriteDecorHandle< xAOD::TrackParticleContainer, char > &dec_trk_muon_track, const xAOD::Electron &electron, const xAOD::TrackParticleContainer &tracks, const xAOD::CaloClusterContainer &caloclusters, std::vector< SG::WriteDecorHandle< xAOD::ElectronContainer, float > > &dec_el_plit_output, const EventContext &ctx) const
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_dec_trk_dr_lepton
SG::WriteDecorHandleKeyArray< xAOD::MuonContainer > m_dec_mu_plit_output
DecoratePLIT(const std::string &name, ISvcLocator *pSvcLocator)
SG::ReadDecorHandleKey< xAOD::TrackParticleContainer > m_acc_trk_z0SinTheta
StatusCode fillParticles(SG::WriteDecorHandle< xAOD::TrackParticleContainer, float > &dec_trk_dr_lepton, SG::WriteDecorHandle< xAOD::TrackParticleContainer, float > &dec_trk_dr_leptontrack, SG::WriteDecorHandle< xAOD::TrackParticleContainer, char > &dec_trk_electron_track, SG::WriteDecorHandle< xAOD::TrackParticleContainer, char > &dec_trk_muon_track, std::vector< const xAOD::IParticle * > &parts, const xAOD::IParticle &lepton, const xAOD::TrackParticle *trackLep, const xAOD::TrackParticleContainer &trackContainer, const EventContext &ctx) const
SG::ReadDecorHandleKey< xAOD::TrackParticleContainer > m_acc_trk_dr_lepton
SG::ReadDecorHandleKey< xAOD::TrackParticleContainer > m_acc_trk_electron_track
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_dec_trk_electron_track
SG::ReadHandleKey< xAOD::ElectronContainer > m_electronsKey
StatusCode predictMuon(SG::WriteDecorHandle< xAOD::TrackParticleContainer, float > &dec_trk_dr_lepton, SG::WriteDecorHandle< xAOD::TrackParticleContainer, float > &dec_trk_dr_leptontrack, SG::WriteDecorHandle< xAOD::TrackParticleContainer, char > &dec_trk_electron_track, SG::WriteDecorHandle< xAOD::TrackParticleContainer, char > &dec_trk_muon_track, const xAOD::Muon &muon, const xAOD::TrackParticleContainer &tracks, std::vector< SG::WriteDecorHandle< xAOD::MuonContainer, float > > &dec_mu_plit_output, const EventContext &ctx) const
Gaudi::Property< std::string > m_TaggerName
Gaudi::Property< std::string > m_configFileVersion_endcap
SG::ReadDecorHandleKey< xAOD::TrackParticleContainer > m_acc_trk_dr_leptontrack
Gaudi::Property< std::string > m_btagIp_prefix
SG::ReadDecorHandleKey< xAOD::TrackParticleContainer > m_acc_trk_muon_track
virtual StatusCode execute(const EventContext &) const override
virtual StatusCode initialize() override
SG::ReadHandleKey< xAOD::MuonContainer > m_muonsKey
Gaudi::Property< std::string > m_configFileVersion
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.
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
Handle class for adding a decoration to an object.
Class providing the definition of the 4-vector interface.
DecorHandleKeyArray< WriteDecorHandle< T, S >, WriteDecorHandleKey< T >, Gaudi::DataHandle::Writer > WriteDecorHandleKeyArray
TrackParticle_v1 TrackParticle
Reference the current persistent version:
TrackParticleContainer_v1 TrackParticleContainer
Definition of the current "TrackParticle container version".
Muon_v1 Muon
Reference the current persistent version:
CaloClusterContainer_v1 CaloClusterContainer
Define the latest version of the calorimeter cluster container.
Electron_v1 Electron
Definition of the current "egamma version".