ATLAS Offline Software
MissingMassToolV2.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 // Asg wrapper around the MissingMassCalculator
6 // author Quentin Buat <quentin.buat@no.spam.cern.ch>
7 #ifndef DITAUMASSTOOLS_MISSINGMASSTOOLV2_H
8 #define DITAUMASSTOOLS_MISSINGMASSTOOLV2_H
9 
10 // Framework include(s):
11 #include "AsgTools/AsgTool.h"
12 
13 //Local include(s):
17 
18 #include <string>
19 
20 namespace DiTauMassTools{
21 
22 class MissingMassToolV2 : virtual public IMissingMassTool, virtual public asg::AsgTool
23 {
24 
27 
28  public:
29 
31  MissingMassToolV2(const std::string& name);
34 
36  virtual ~MissingMassToolV2() { };
37 
39  virtual StatusCode initialize();
40 
42  virtual StatusCode finalize();
43 
44 
45  // generic method
46  virtual CP::CorrectionCode apply (const xAOD::EventInfo& ei,
47  const xAOD::IParticle* part1,
48  const xAOD::IParticle* part2,
49  const xAOD::MissingET* met,
50  const int & njets);
51 
52  virtual void calculate(const xAOD::EventInfo & ei,
53  const TLorentzVector & vis_tau1,
54  const TLorentzVector & vis_tau2,
55  const int & tau1_decay_type,
56  const int & tau2_decay_type,
57  const xAOD::MissingET & met,
58  const int & njets){
59  ignore(ei); ignore(vis_tau1); ignore(vis_tau2);
60  ignore(tau1_decay_type); ignore(tau2_decay_type);
61  ignore(met); ignore(njets);}
62 
63  virtual MissingMassCalculatorV2* get() {return m_MMC;}
64  virtual double GetFitStatus(int method) {(void) method; return m_MMC->OutputInfo.GetFitStatus();}
65  virtual double GetFittedMass(int method) {return m_MMC->OutputInfo.GetFittedMass(method);}
68  virtual TLorentzVector GetResonanceVec(int method) {return m_MMC->OutputInfo.GetResonanceVec(method);}
69  virtual TVector2 GetFittedMetVec(int method) {return m_MMC->OutputInfo.GetFittedMetVec(method);}
70  virtual TLorentzVector GetNeutrino4vec(int method, int index) {return m_MMC->OutputInfo.GetNeutrino4vec(method, index);}
71  virtual TLorentzVector GetTau4vec(int method, int index) {return m_MMC->OutputInfo.GetTau4vec(method, index);}
72  virtual int GetNNoSol() {return m_MMC->GetNNoSol();}
73  virtual int GetNMetroReject() {return m_MMC->GetNMetroReject();}
74  virtual int GetNSol() {return m_MMC->GetNSol();}
75 
76  private:
77 
79  double m_n_sigma_met;
87  std::string m_calib_set;
88  std::string m_lfv_mode;
89  bool m_decorate;
93  std::string m_param_file_path;
94  double m_beam_energy;
96 
97 };
98 } // namespace DiTauMassTools
99 
100 #endif
RunTileTBRec.method
method
Definition: RunTileTBRec.py:73
DiTauMassTools::MissingMassToolV2::GetFitStatus
virtual double GetFitStatus(int method)
Definition: MissingMassToolV2.h:64
DiTauMassTools::MissingMassToolV2::m_MMC
MissingMassCalculatorV2 * m_MMC
Definition: MissingMassToolV2.h:78
DiTauMassTools::MissingMassToolV2::GetFittedMassErrorUp
virtual double GetFittedMassErrorUp(int method)
Definition: MissingMassToolV2.h:66
asg::AsgTool
Base class for the dual-use tool implementation classes.
Definition: AsgTool.h:47
DiTauMassTools::MissingMassToolV2::m_use_met_param_dphiLL
bool m_use_met_param_dphiLL
Definition: MissingMassToolV2.h:92
DiTauMassTools::MissingMassToolV2::m_use_defaults
int m_use_defaults
Definition: MissingMassToolV2.h:85
DiTauMassTools::MissingMassToolV2::apply
virtual CP::CorrectionCode apply(const xAOD::EventInfo &ei, const xAOD::IParticle *part1, const xAOD::IParticle *part2, const xAOD::MissingET *met, const int &njets)
Definition: MissingMassToolV2.cxx:97
DiTauMassTools::MissingMassToolV2::GetFittedMassErrorLow
virtual double GetFittedMassErrorLow(int method)
Definition: MissingMassToolV2.h:67
DiTauMassTools::MissingMassToolV2::GetNeutrino4vec
virtual TLorentzVector GetNeutrino4vec(int method, int index)
Definition: MissingMassToolV2.h:70
DiTauMassTools::MissingMassToolV2::GetFittedMetVec
virtual TVector2 GetFittedMetVec(int method)
Definition: MissingMassToolV2.h:69
DiTauMassTools::MissingMassCalculatorV2::GetNSol
int GetNSol() const
Definition: MissingMassCalculatorV2.h:406
index
Definition: index.py:1
DiTauMassTools::MissingMassToolV2::m_niter_fit_3
int m_niter_fit_3
Definition: MissingMassToolV2.h:84
DiTauMassTools::MissingMassToolV2::GetNNoSol
virtual int GetNNoSol()
Definition: MissingMassToolV2.h:72
HelperFunctions.h
DiTauMassTools::MissingMassOutput::GetTau4vec
TLorentzVector GetTau4vec(int fitcode, int ind) const
Definition: MissingMassOutput.cxx:172
DiTauMassTools::MissingMassToolV2
Definition: MissingMassToolV2.h:23
DiTauMassTools::MissingMassCalculatorV2::GetNMetroReject
int GetNMetroReject() const
Definition: MissingMassCalculatorV2.h:405
xAOD::IParticle
Class providing the definition of the 4-vector interface.
Definition: Event/xAOD/xAODBase/xAODBase/IParticle.h:40
DiTauMassTools::MissingMassToolV2::m_use_tau_probability
int m_use_tau_probability
Definition: MissingMassToolV2.h:82
DiTauMassTools::MissingMassToolV2::m_param_file_path
std::string m_param_file_path
Definition: MissingMassToolV2.h:93
DiTauMassTools::MissingMassOutput::GetResonanceVec
TLorentzVector GetResonanceVec(int fitcode) const
Definition: MissingMassOutput.cxx:189
DiTauMassTools::MissingMassCalculatorV2::OutputInfo
MissingMassOutput OutputInfo
Definition: MissingMassCalculatorV2.h:339
DiTauMassTools::MissingMassOutput::GetFittedMassErrorLow
double GetFittedMassErrorLow(int fitcode) const
Definition: MissingMassOutput.cxx:102
IMissingMassTool
Definition: IMissingMassTool.h:30
DiTauMassTools::MissingMassToolV2::initialize
virtual StatusCode initialize()
Initialize the tool.
Definition: MissingMassToolV2.cxx:43
part1
Definition: part1.py:1
DiTauMassTools::ignore
void ignore(T &&)
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:54
DiTauMassTools
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:22
DiTauMassTools::MissingMassCalculatorV2::GetNNoSol
int GetNNoSol() const
Definition: MissingMassCalculatorV2.h:404
met
Definition: IMETSignificance.h:24
DiTauMassTools::MissingMassToolV2::m_n_sigma_met
double m_n_sigma_met
Definition: MissingMassToolV2.h:79
DiTauMassTools::MissingMassToolV2::m_decorate
bool m_decorate
Definition: MissingMassToolV2.h:89
DiTauMassTools::MissingMassToolV2::GetTau4vec
virtual TLorentzVector GetTau4vec(int method, int index)
Definition: MissingMassToolV2.h:71
DiTauMassTools::MissingMassToolV2::GetNMetroReject
virtual int GetNMetroReject()
Definition: MissingMassToolV2.h:73
DiTauMassTools::MissingMassToolV2::m_lfv_leplep_refit
bool m_lfv_leplep_refit
Definition: MissingMassToolV2.h:95
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
MissingMassCalculatorV2.h
xAOD::MissingET_v1
Principal data object for Missing ET.
Definition: MissingET_v1.h:25
DiTauMassTools::MissingMassToolV2::m_tail_cleanup
int m_tail_cleanup
Definition: MissingMassToolV2.h:80
DiTauMassTools::MissingMassToolV2::GetFittedMass
virtual double GetFittedMass(int method)
Definition: MissingMassToolV2.h:65
DiTauMassTools::MissingMassOutput::GetFittedMass
double GetFittedMass(int fitcode) const
Definition: MissingMassOutput.cxx:70
DiTauMassTools::MissingMassOutput::GetFittedMetVec
TVector2 GetFittedMetVec(int fitcode) const
Definition: MissingMassOutput.cxx:205
DiTauMassTools::MissingMassToolV2::MissingMassToolV2
MissingMassToolV2(const std::string &name)
Proper constructor for Athena.
Definition: MissingMassToolV2.cxx:15
DiTauMassTools::MissingMassToolV2::m_use_mnu_probability
bool m_use_mnu_probability
Definition: MissingMassToolV2.h:91
part2
Definition: part2.py:1
DiTauMassTools::MissingMassOutput::GetFittedMassErrorUp
double GetFittedMassErrorUp(int fitcode) const
Definition: MissingMassOutput.cxx:86
DiTauMassTools::MissingMassToolV2::m_use_verbose
int m_use_verbose
Definition: MissingMassToolV2.h:81
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
DiTauMassTools::MissingMassOutput::GetFitStatus
int GetFitStatus() const
Definition: MissingMassOutput.cxx:47
DiTauMassTools::MissingMassToolV2::~MissingMassToolV2
virtual ~MissingMassToolV2()
virtual destructor
Definition: MissingMassToolV2.h:36
DiTauMassTools::MissingMassToolV2::m_use_efficiency_recovery
int m_use_efficiency_recovery
Definition: MissingMassToolV2.h:86
DiTauMassTools::MissingMassOutput::GetNeutrino4vec
TLorentzVector GetNeutrino4vec(int fitcode, int ind) const
Definition: MissingMassOutput.cxx:155
DiTauMassTools::MissingMassToolV2::finalize
virtual StatusCode finalize()
Initialize the tool.
Definition: MissingMassToolV2.cxx:85
DiTauMassTools::MissingMassToolV2::m_lfv_mode
std::string m_lfv_mode
Definition: MissingMassToolV2.h:88
DiTauMassTools::MissingMassToolV2::m_beam_energy
double m_beam_energy
Definition: MissingMassToolV2.h:94
DiTauMassTools::MissingMassCalculatorV2
Definition: MissingMassCalculatorV2.h:45
DiTauMassTools::MissingMassToolV2::calculate
virtual void calculate(const xAOD::EventInfo &ei, const TLorentzVector &vis_tau1, const TLorentzVector &vis_tau2, const int &tau1_decay_type, const int &tau2_decay_type, const xAOD::MissingET &met, const int &njets)
Definition: MissingMassToolV2.h:52
xAOD::EventInfo_v1
Class describing the basic event information.
Definition: EventInfo_v1.h:43
InDetDD::other
@ other
Definition: InDetDD_Defs.h:16
DiTauMassTools::MissingMassToolV2::m_calib_set
std::string m_calib_set
Definition: MissingMassToolV2.h:87
ASG_TOOL_CLASS
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
Definition: AsgToolMacros.h:68
CP::CorrectionCode
Return value from object correction CP tools.
Definition: CorrectionCode.h:31
DiTauMassTools::MissingMassToolV2::get
virtual MissingMassCalculatorV2 * get()
Definition: MissingMassToolV2.h:63
DiTauMassTools::MissingMassToolV2::m_niter_fit_2
int m_niter_fit_2
Definition: MissingMassToolV2.h:83
DiTauMassTools::MissingMassToolV2::GetNSol
virtual int GetNSol()
Definition: MissingMassToolV2.h:74
AsgTool.h
DiTauMassTools::MissingMassToolV2::m_float_stop
bool m_float_stop
Definition: MissingMassToolV2.h:90
DiTauMassTools::MissingMassToolV2::GetResonanceVec
virtual TLorentzVector GetResonanceVec(int method)
Definition: MissingMassToolV2.h:68
IMissingMassTool.h