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 <TLorentzVector.h>
27 
28 namespace CP {
29 
31  {
32 
33  public:
35  virtual StatusCode initialize() override;
36  virtual StatusCode execute() override;
37  virtual StatusCode finalize() 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::MissingMassToolV2> m_mmc {this, "mmcTool", "DiTauMassTools::MissingMassToolV2", "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<TLorentzVector> 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<TLorentzVector> 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<TLorentzVector> 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<TLorentzVector> 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<TLorentzVector> 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<TLorentzVector> 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<TLorentzVector> 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<TLorentzVector> 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<TLorentzVector> 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<TLorentzVector> 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
CP::DiTauMassCalculatorAlg::m_jetsHandle
SysReadHandle< xAOD::JetContainer > m_jetsHandle
Definition: DiTauMassCalculatorAlg.h:57
CP::DiTauMassCalculatorAlg::m_doMAXW
Gaudi::Property< bool > m_doMAXW
Definition: DiTauMassCalculatorAlg.h:41
CP::DiTauMassCalculatorAlg::m_maxw_tau1_4vect_decor
SysWriteDecorHandle< TLorentzVector > m_maxw_tau1_4vect_decor
Definition: DiTauMassCalculatorAlg.h:82
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_nu1_4vect_decor
SysWriteDecorHandle< TLorentzVector > m_maxw_nu1_4vect_decor
Definition: DiTauMassCalculatorAlg.h:80
CP::DiTauMassCalculatorAlg::m_mlnu3p_tau2_4vect_decor
SysWriteDecorHandle< TLorentzVector > m_mlnu3p_tau2_4vect_decor
Definition: DiTauMassCalculatorAlg.h:78
CP::DiTauMassCalculatorAlg::m_mlnu3p_res_4vect_decor
SysWriteDecorHandle< TLorentzVector > m_mlnu3p_res_4vect_decor
Definition: DiTauMassCalculatorAlg.h:74
CP::DiTauMassCalculatorAlg::initialize
virtual StatusCode initialize() override
Definition: DiTauMassCalculatorAlg.cxx:12
CP::DiTauMassCalculatorAlg::m_muonsHandle
SysReadHandle< xAOD::MuonContainer > m_muonsHandle
Definition: DiTauMassCalculatorAlg.h:54
CP::DiTauMassCalculatorAlg::m_metHandle
SysReadHandle< xAOD::MissingETContainer > m_metHandle
Definition: DiTauMassCalculatorAlg.h:63
CP::DiTauMassCalculatorAlg::m_maxw_res_4vect_decor
SysWriteDecorHandle< TLorentzVector > m_maxw_res_4vect_decor
Definition: DiTauMassCalculatorAlg.h:79
CP::DiTauMassCalculatorAlg::m_fitStatus_decor
SysWriteDecorHandle< int > m_fitStatus_decor
Definition: DiTauMassCalculatorAlg.h:70
CP::DiTauMassCalculatorAlg::m_eventInfoHandle
SysReadHandle< xAOD::EventInfo > m_eventInfoHandle
Definition: DiTauMassCalculatorAlg.h:65
CP::DiTauMassCalculatorAlg::m_mmc
ToolHandle< DiTauMassTools::MissingMassToolV2 > m_mmc
Definition: DiTauMassCalculatorAlg.h:45
CP::SysReadHandle< xAOD::ElectronContainer >
CP::DiTauMassCalculatorAlg::m_tausHandle
SysReadHandle< xAOD::TauJetContainer > m_tausHandle
Definition: DiTauMassCalculatorAlg.h:60
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_muonSelection
SysReadSelectionHandle m_muonSelection
Definition: DiTauMassCalculatorAlg.h:55
AnaAlgorithm.h
CP::DiTauMassCalculatorAlg::m_electronsHandle
SysReadHandle< xAOD::ElectronContainer > m_electronsHandle
Definition: DiTauMassCalculatorAlg.h:51
CP::DiTauMassCalculatorAlg::m_tauSelection
SysReadSelectionHandle m_tauSelection
Definition: DiTauMassCalculatorAlg.h:61
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:52
CP::DiTauMassCalculatorAlg
Definition: DiTauMassCalculatorAlg.h:31
CP::DiTauMassCalculatorAlg::m_mlnu3p_mass_decor
SysWriteDecorHandle< double > m_mlnu3p_mass_decor
Definition: DiTauMassCalculatorAlg.h:73
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
CP::DiTauMassCalculatorAlg::m_mlnu3p_nu1_4vect_decor
SysWriteDecorHandle< TLorentzVector > m_mlnu3p_nu1_4vect_decor
Definition: DiTauMassCalculatorAlg.h:75
CP::DiTauMassCalculatorAlg::m_mlnu3p_nu2_4vect_decor
SysWriteDecorHandle< TLorentzVector > m_mlnu3p_nu2_4vect_decor
Definition: DiTauMassCalculatorAlg.h:76
CP::DiTauMassCalculatorAlg::m_maxw_tau2_4vect_decor
SysWriteDecorHandle< TLorentzVector > m_maxw_tau2_4vect_decor
Definition: DiTauMassCalculatorAlg.h:83
CP::DiTauMassCalculatorAlg::m_mlnu3p_tau1_4vect_decor
SysWriteDecorHandle< TLorentzVector > m_mlnu3p_tau1_4vect_decor
Definition: DiTauMassCalculatorAlg.h:77
TauJetContainer.h
CP::DiTauMassCalculatorAlg::finalize
virtual StatusCode finalize() override
Definition: DiTauMassCalculatorAlg.cxx:199
CP::DiTauMassCalculatorAlg::m_doMLNU3P
Gaudi::Property< bool > m_doMLNU3P
Definition: DiTauMassCalculatorAlg.h:42
CP::DiTauMassCalculatorAlg::m_jetSelection
SysReadSelectionHandle m_jetSelection
Definition: DiTauMassCalculatorAlg.h:58
CP::DiTauMassCalculatorAlg::m_preselection
SysReadSelectionHandle m_preselection
Definition: DiTauMassCalculatorAlg.h:67
SysReadSelectionHandle.h
MissingMassToolV2.h
EventInfo.h
CP::DiTauMassCalculatorAlg::execute
virtual StatusCode execute() override
Definition: DiTauMassCalculatorAlg.cxx:56
MuonContainer.h
CP::DiTauMassCalculatorAlg::m_maxw_mass_decor
SysWriteDecorHandle< double > m_maxw_mass_decor
Definition: DiTauMassCalculatorAlg.h:71
JetContainer.h
CP::SysReadSelectionHandle
a data handle for reading systematically varied selection properties from objects
Definition: SysReadSelectionHandle.h:32
CP::DiTauMassCalculatorAlg::m_maxw_nu2_4vect_decor
SysWriteDecorHandle< TLorentzVector > m_maxw_nu2_4vect_decor
Definition: DiTauMassCalculatorAlg.h:81
CP::SysWriteDecorHandle< int >
CP::DiTauMassCalculatorAlg::m_systematicsList
SysListHandle m_systematicsList
Definition: DiTauMassCalculatorAlg.h:48
CP::DiTauMassCalculatorAlg::m_mlm_mass_decor
SysWriteDecorHandle< double > m_mlm_mass_decor
Definition: DiTauMassCalculatorAlg.h:72
MissingETContainer.h