ATLAS Offline Software
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
19 #include <xAODMuon/MuonContainer.h>
20 #include <xAODJet/JetContainer.h>
24 
26 #include "Math/Vector4D.h"
27 
28 namespace CP {
29  using ROOT::Math::PtEtaPhiMVector;
30 
32  {
33 
34  public:
36  virtual StatusCode initialize() override;
37  virtual StatusCode execute() override;
38  virtual StatusCode finalize() override;
39 
40  private:
41  // configurable properties
42  Gaudi::Property<bool> m_doMAXW {this, "doMAXW", false, "save information about the reconstruction with the maximum-weight estimator"};
43  Gaudi::Property<bool> m_doMLNU3P {this, "doMLNU3P", false, "save information about the reconstruction with the best-fit neutrino kinematics"};
44 
45  // the MMC tool
46  ToolHandle<DiTauMassTools::MissingMassTool> m_mmc {this, "mmcTool", "DiTauMassTools::MissingMassTool", "the Missing Mass Calculator tool"};
47 
48  // systematics
50 
51  // inputs needed for reconstruction
52  SysReadHandle<xAOD::ElectronContainer> m_electronsHandle {this, "electrons", "", "the electron container to use"};
53  SysReadSelectionHandle m_electronSelection {this, "electronSelection", "", "the selection on the input electrons"};
54 
55  SysReadHandle<xAOD::MuonContainer> m_muonsHandle {this, "muons", "", "the muon container to use"};
56  SysReadSelectionHandle m_muonSelection {this, "muonSelection", "", "the selection on the input muons"};
57 
58  SysReadHandle<xAOD::JetContainer> m_jetsHandle {this, "jets", "", "the jet container to use"};
59  SysReadSelectionHandle m_jetSelection {this, "jetSelection", "", "the selection on the input jets"};
60 
61  SysReadHandle<xAOD::TauJetContainer> m_tausHandle {this, "taus", "", "the tau jet container to use"};
62  SysReadSelectionHandle m_tauSelection {this, "tauSelection", "", "the selection on the input tau jets"};
63 
64  SysReadHandle<xAOD::MissingETContainer> m_metHandle {this, "met", "", "the MET container to use"};
65 
66  SysReadHandle<xAOD::EventInfo> m_eventInfoHandle {this, "eventInfo", "EventInfo", "the EventInfo container to read selection decisions from"};
67 
68  SysReadSelectionHandle m_preselection {this, "eventSelection", "", "Name of the selection on which this MMC instance is allowed to run"};
69 
70  // output decorations
71  SysWriteDecorHandle<int> m_fitStatus_decor {this, "fitStatus", "mmc_fit_status_%SYS%", "Status of the MMC fit"};
72  SysWriteDecorHandle<double> m_maxw_mass_decor {this, "maxw_mass", "mmc_maxw_mass_%SYS%", "Mass of the resonance estimated by the MMC MaxW method"};
73  SysWriteDecorHandle<double> m_mlm_mass_decor {this, "mlm_mass", "mmc_mlm_mass_%SYS%", "Mass of the resonance estimated by the MMC MLM method"};
74  SysWriteDecorHandle<double> m_mlnu3p_mass_decor {this, "mlnu3p_mass", "mmc_mlnu3p_mass_%SYS%", "Mass of the resonance estimated by the MMC MLNU3P method"};
75  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"};
76  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"};
77  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"};
78  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"};
79  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"};
80  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"};
81  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"};
82  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"};
83  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"};
84  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"};
85 
86  };
87 
88 } // namespace
89 
90 #endif
CP::DiTauMassCalculatorAlg::m_jetsHandle
SysReadHandle< xAOD::JetContainer > m_jetsHandle
Definition: DiTauMassCalculatorAlg.h:58
CP::DiTauMassCalculatorAlg::m_maxw_nu2_4vect_decor
SysWriteDecorHandle< PtEtaPhiMVector > m_maxw_nu2_4vect_decor
Definition: DiTauMassCalculatorAlg.h:82
CP::DiTauMassCalculatorAlg::m_doMAXW
Gaudi::Property< bool > m_doMAXW
Definition: DiTauMassCalculatorAlg.h:42
PropertyWrapper.h
CP::SysListHandle
a class managing the property to configure the list of systematics to process
Definition: SysListHandle.h:33
SysWriteDecorHandle.h
CP::DiTauMassCalculatorAlg::m_maxw_tau2_4vect_decor
SysWriteDecorHandle< PtEtaPhiMVector > m_maxw_tau2_4vect_decor
Definition: DiTauMassCalculatorAlg.h:84
MissingMassTool.h
CP::DiTauMassCalculatorAlg::initialize
virtual StatusCode initialize() override
Definition: DiTauMassCalculatorAlg.cxx:13
CP::DiTauMassCalculatorAlg::m_mlnu3p_tau1_4vect_decor
SysWriteDecorHandle< PtEtaPhiMVector > m_mlnu3p_tau1_4vect_decor
Definition: DiTauMassCalculatorAlg.h:78
CP::DiTauMassCalculatorAlg::m_muonsHandle
SysReadHandle< xAOD::MuonContainer > m_muonsHandle
Definition: DiTauMassCalculatorAlg.h:55
CP::DiTauMassCalculatorAlg::m_metHandle
SysReadHandle< xAOD::MissingETContainer > m_metHandle
Definition: DiTauMassCalculatorAlg.h:64
CP::DiTauMassCalculatorAlg::m_fitStatus_decor
SysWriteDecorHandle< int > m_fitStatus_decor
Definition: DiTauMassCalculatorAlg.h:71
CP::DiTauMassCalculatorAlg::m_eventInfoHandle
SysReadHandle< xAOD::EventInfo > m_eventInfoHandle
Definition: DiTauMassCalculatorAlg.h:66
CP::DiTauMassCalculatorAlg::m_mlnu3p_nu1_4vect_decor
SysWriteDecorHandle< PtEtaPhiMVector > m_mlnu3p_nu1_4vect_decor
Definition: DiTauMassCalculatorAlg.h:76
CP::SysReadHandle< xAOD::ElectronContainer >
CP::DiTauMassCalculatorAlg::m_tausHandle
SysReadHandle< xAOD::TauJetContainer > m_tausHandle
Definition: DiTauMassCalculatorAlg.h:61
CP
Select isolated Photons, Electrons and Muons.
Definition: Control/xAODRootAccess/xAODRootAccess/TEvent.h:48
EL::AnaAlgorithm::AnaAlgorithm
AnaAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
constructor with parameters
Definition: AnaAlgorithm.cxx:40
SysReadHandle.h
CP::DiTauMassCalculatorAlg::m_maxw_res_4vect_decor
SysWriteDecorHandle< PtEtaPhiMVector > m_maxw_res_4vect_decor
Definition: DiTauMassCalculatorAlg.h:80
CP::DiTauMassCalculatorAlg::m_muonSelection
SysReadSelectionHandle m_muonSelection
Definition: DiTauMassCalculatorAlg.h:56
AnaAlgorithm.h
CP::DiTauMassCalculatorAlg::m_electronsHandle
SysReadHandle< xAOD::ElectronContainer > m_electronsHandle
Definition: DiTauMassCalculatorAlg.h:52
CP::DiTauMassCalculatorAlg::m_tauSelection
SysReadSelectionHandle m_tauSelection
Definition: DiTauMassCalculatorAlg.h:62
EL::AnaAlgorithm
the (new) base class for EventLoop algorithms
Definition: AnaAlgorithm.h:73
ElectronContainer.h
CP::DiTauMassCalculatorAlg::m_electronSelection
SysReadSelectionHandle m_electronSelection
Definition: DiTauMassCalculatorAlg.h:53
CP::DiTauMassCalculatorAlg
Definition: DiTauMassCalculatorAlg.h:32
CP::DiTauMassCalculatorAlg::m_mlnu3p_mass_decor
SysWriteDecorHandle< double > m_mlnu3p_mass_decor
Definition: DiTauMassCalculatorAlg.h:74
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
CP::DiTauMassCalculatorAlg::m_mmc
ToolHandle< DiTauMassTools::MissingMassTool > m_mmc
Definition: DiTauMassCalculatorAlg.h:46
TauJetContainer.h
CP::DiTauMassCalculatorAlg::m_maxw_nu1_4vect_decor
SysWriteDecorHandle< PtEtaPhiMVector > m_maxw_nu1_4vect_decor
Definition: DiTauMassCalculatorAlg.h:81
CP::DiTauMassCalculatorAlg::finalize
virtual StatusCode finalize() override
Definition: DiTauMassCalculatorAlg.cxx:200
CP::DiTauMassCalculatorAlg::m_doMLNU3P
Gaudi::Property< bool > m_doMLNU3P
Definition: DiTauMassCalculatorAlg.h:43
CP::DiTauMassCalculatorAlg::m_jetSelection
SysReadSelectionHandle m_jetSelection
Definition: DiTauMassCalculatorAlg.h:59
CP::DiTauMassCalculatorAlg::m_mlnu3p_nu2_4vect_decor
SysWriteDecorHandle< PtEtaPhiMVector > m_mlnu3p_nu2_4vect_decor
Definition: DiTauMassCalculatorAlg.h:77
CP::DiTauMassCalculatorAlg::m_preselection
SysReadSelectionHandle m_preselection
Definition: DiTauMassCalculatorAlg.h:68
CP::DiTauMassCalculatorAlg::m_mlnu3p_res_4vect_decor
SysWriteDecorHandle< PtEtaPhiMVector > m_mlnu3p_res_4vect_decor
Definition: DiTauMassCalculatorAlg.h:75
SysReadSelectionHandle.h
CP::DiTauMassCalculatorAlg::m_maxw_tau1_4vect_decor
SysWriteDecorHandle< PtEtaPhiMVector > m_maxw_tau1_4vect_decor
Definition: DiTauMassCalculatorAlg.h:83
EventInfo.h
CP::DiTauMassCalculatorAlg::execute
virtual StatusCode execute() override
Definition: DiTauMassCalculatorAlg.cxx:57
MuonContainer.h
CP::DiTauMassCalculatorAlg::m_maxw_mass_decor
SysWriteDecorHandle< double > m_maxw_mass_decor
Definition: DiTauMassCalculatorAlg.h:72
JetContainer.h
CP::SysReadSelectionHandle
a data handle for reading systematically varied selection properties from objects
Definition: SysReadSelectionHandle.h:32
CP::SysWriteDecorHandle< int >
CP::DiTauMassCalculatorAlg::m_systematicsList
SysListHandle m_systematicsList
Definition: DiTauMassCalculatorAlg.h:49
CP::DiTauMassCalculatorAlg::m_mlnu3p_tau2_4vect_decor
SysWriteDecorHandle< PtEtaPhiMVector > m_mlnu3p_tau2_4vect_decor
Definition: DiTauMassCalculatorAlg.h:79
CP::DiTauMassCalculatorAlg::m_mlm_mass_decor
SysWriteDecorHandle< double > m_mlm_mass_decor
Definition: DiTauMassCalculatorAlg.h:73
MissingETContainer.h