ATLAS Offline Software
Loading...
Searching...
No Matches
DiTauMassCalculatorAlg.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
6
7#ifndef DI_TAU_MASS_CALCULATOR_ALG_H
8#define DI_TAU_MASS_CALCULATOR_ALG_H
9
10// Algorithm includes
16
17// Framework includes
24
26#include "Math/Vector4D.h"
27
28namespace CP {
29 using ROOT::Math::PtEtaPhiMVector;
30
32 {
33
34 public:
36 virtual StatusCode initialize() override;
37 virtual StatusCode execute() override;
38
39 private:
40 // configurable properties
41 Gaudi::Property<bool> m_doMAXW {this, "doMAXW", false, "save information about the reconstruction with the maximum-weight estimator"};
42 Gaudi::Property<bool> m_doMLNU3P {this, "doMLNU3P", false, "save information about the reconstruction with the best-fit neutrino kinematics"};
43
44 // the MMC tool
45 ToolHandle<DiTauMassTools::MissingMassTool> m_mmc {this, "mmcTool", "DiTauMassTools::MissingMassTool", "the Missing Mass Calculator tool"};
46
47 // systematics
49
50 // inputs needed for reconstruction
51 SysReadHandle<xAOD::ElectronContainer> m_electronsHandle {this, "electrons", "", "the electron container to use"};
52 SysReadSelectionHandle m_electronSelection {this, "electronSelection", "", "the selection on the input electrons"};
53
54 SysReadHandle<xAOD::MuonContainer> m_muonsHandle {this, "muons", "", "the muon container to use"};
55 SysReadSelectionHandle m_muonSelection {this, "muonSelection", "", "the selection on the input muons"};
56
57 SysReadHandle<xAOD::JetContainer> m_jetsHandle {this, "jets", "", "the jet container to use"};
58 SysReadSelectionHandle m_jetSelection {this, "jetSelection", "", "the selection on the input jets"};
59
60 SysReadHandle<xAOD::TauJetContainer> m_tausHandle {this, "taus", "", "the tau jet container to use"};
61 SysReadSelectionHandle m_tauSelection {this, "tauSelection", "", "the selection on the input tau jets"};
62
63 SysReadHandle<xAOD::MissingETContainer> m_metHandle {this, "met", "", "the MET container to use"};
64
65 SysReadHandle<xAOD::EventInfo> m_eventInfoHandle {this, "eventInfo", "EventInfo", "the EventInfo container to read selection decisions from"};
66
67 SysReadSelectionHandle m_preselection {this, "eventSelection", "", "Name of the selection on which this MMC instance is allowed to run"};
68
69 // output decorations
70 SysWriteDecorHandle<int> m_fitStatus_decor {this, "fitStatus", "mmc_fit_status_%SYS%", "Status of the MMC fit"};
71 SysWriteDecorHandle<double> m_maxw_mass_decor {this, "maxw_mass", "mmc_maxw_mass_%SYS%", "Mass of the resonance estimated by the MMC MaxW method"};
72 SysWriteDecorHandle<double> m_mlm_mass_decor {this, "mlm_mass", "mmc_mlm_mass_%SYS%", "Mass of the resonance estimated by the MMC MLM method"};
73 SysWriteDecorHandle<double> m_mlnu3p_mass_decor {this, "mlnu3p_mass", "mmc_mlnu3p_mass_%SYS%", "Mass of the resonance estimated by the MMC MLNU3P method"};
74 SysWriteDecorHandle<PtEtaPhiMVector> m_mlnu3p_res_4vect_decor {this, "mlnu3p_res_4vect", "mmc_mlnu3p_res_4vect_%SYS%", "Four-momentum of the resonance estimated by the MMC MLNU3P method"};
75 SysWriteDecorHandle<PtEtaPhiMVector> m_mlnu3p_nu1_4vect_decor {this, "mlnu3p_nu1_4vect", "mmc_mlnu3p_nu1_4vect_%SYS%", "Four-momentum of the leading pt neutrino estimated by the MMC MLNU3P method"};
76 SysWriteDecorHandle<PtEtaPhiMVector> m_mlnu3p_nu2_4vect_decor {this, "mlnu3p_nu2_4vect", "mmc_mlnu3p_nu2_4vect_%SYS%", "Four-momentum of the subleading pt neutrino estimated by the MMC MLNU3P method"};
77 SysWriteDecorHandle<PtEtaPhiMVector> m_mlnu3p_tau1_4vect_decor {this, "mlnu3p_tau1_4vect", "mmc_mlnu3p_tau1_4vect_%SYS%", "Four-momentum of the leading lepton estimated by the MMC MLNU3P method"};
78 SysWriteDecorHandle<PtEtaPhiMVector> m_mlnu3p_tau2_4vect_decor {this, "mlnu3p_tau2_4vect", "mmc_mlnu3p_tau2_4vect_%SYS%", "Four-momentum of the subleading lepton estimated by the MMC MLNU3P method"};
79 SysWriteDecorHandle<PtEtaPhiMVector> m_maxw_res_4vect_decor {this, "maxw_res_4vect", "mmc_maxw_res_4vect_%SYS%", "Mass of the resonance estimated by the MMC MaxW method"};
80 SysWriteDecorHandle<PtEtaPhiMVector> m_maxw_nu1_4vect_decor {this, "maxw_nu1_4vect", "mmc_maxw_nu1_4vect_%SYS%", "Four-momentum of the leading pt neutrino estimated by the MMC MaxW method"};
81 SysWriteDecorHandle<PtEtaPhiMVector> m_maxw_nu2_4vect_decor {this, "maxw_nu2_4vect", "mmc_maxw_nu2_4vect_%SYS%", "Four-momentum of the subleading pt neutrino estimated by the MMC MaxW method"};
82 SysWriteDecorHandle<PtEtaPhiMVector> m_maxw_tau1_4vect_decor {this, "maxw_tau1_4vect", "mmc_maxw_tau1_4vect_%SYS%", "Four-momentum of the leading lepton estimated by the MMC MaxW method"};
83 SysWriteDecorHandle<PtEtaPhiMVector> m_maxw_tau2_4vect_decor {this, "maxw_tau2_4vect", "mmc_maxw_tau2_4vect_%SYS%", "Four-momentum of the subleading lepton estimated by the MMC MaxW method"};
84
85 };
86
87} // namespace
88
89#endif
SysWriteDecorHandle< PtEtaPhiMVector > m_maxw_res_4vect_decor
SysWriteDecorHandle< int > m_fitStatus_decor
SysReadSelectionHandle m_preselection
SysWriteDecorHandle< PtEtaPhiMVector > m_mlnu3p_tau2_4vect_decor
SysWriteDecorHandle< PtEtaPhiMVector > m_mlnu3p_nu2_4vect_decor
SysWriteDecorHandle< PtEtaPhiMVector > m_maxw_tau1_4vect_decor
SysWriteDecorHandle< PtEtaPhiMVector > m_maxw_tau2_4vect_decor
SysReadSelectionHandle m_muonSelection
SysWriteDecorHandle< PtEtaPhiMVector > m_mlnu3p_tau1_4vect_decor
Gaudi::Property< bool > m_doMAXW
SysWriteDecorHandle< double > m_mlnu3p_mass_decor
SysWriteDecorHandle< PtEtaPhiMVector > m_mlnu3p_nu1_4vect_decor
SysReadHandle< xAOD::MuonContainer > m_muonsHandle
Gaudi::Property< bool > m_doMLNU3P
SysReadHandle< xAOD::TauJetContainer > m_tausHandle
SysReadSelectionHandle m_electronSelection
SysWriteDecorHandle< PtEtaPhiMVector > m_maxw_nu1_4vect_decor
virtual StatusCode initialize() override
SysReadSelectionHandle m_tauSelection
ToolHandle< DiTauMassTools::MissingMassTool > m_mmc
SysWriteDecorHandle< double > m_maxw_mass_decor
SysReadHandle< xAOD::MissingETContainer > m_metHandle
SysReadHandle< xAOD::JetContainer > m_jetsHandle
SysReadHandle< xAOD::EventInfo > m_eventInfoHandle
virtual StatusCode execute() override
SysWriteDecorHandle< double > m_mlm_mass_decor
SysWriteDecorHandle< PtEtaPhiMVector > m_maxw_nu2_4vect_decor
SysWriteDecorHandle< PtEtaPhiMVector > m_mlnu3p_res_4vect_decor
SysReadHandle< xAOD::ElectronContainer > m_electronsHandle
SysReadSelectionHandle m_jetSelection
a class managing the property to configure the list of systematics to process
a data handle for reading systematics varied input data
a data handle for reading systematically varied selection properties from objects
a data handle for reading systematics varied input data
the (new) base class for EventLoop algorithms
AnaAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
constructor with parameters
Select isolated Photons, Electrons and Muons.