ATLAS Offline Software
Loading...
Searching...
No Matches
IMissingMassTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 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_IMISSINGMASSTOOL_H
8#define DITAUMASSTOOLS_IMISSINGMASSTOOL_H
9
10
12#include "AsgTools/IAsgTool.h"
13
14// ROOT includes
15#include "Math/Vector4D.h"
16#include "Math/Vector2D.h"
17
18// EDM Include
21#include "xAODBase/IParticle.h"
22
23class IMissingMassTool : public virtual asg::IAsgTool
24
25{
26
27 // Declare the interface that the class provides
29
30 public:
31 using PtEtaPhiMVector = ROOT::Math::PtEtaPhiMVector;
32 using XYVector = ROOT::Math::XYVector;
33
35 virtual ~IMissingMassTool() {};
36
37// generic method
41 const xAOD::MissingET* met,
42 const int & njets)=0;
43
44 virtual void calculate(const xAOD::EventInfo & ei,
45 const PtEtaPhiMVector & vis_tau1,
46 const PtEtaPhiMVector & vis_tau2,
47 const int & tau1_decay_type,
48 const int & tau2_decay_type,
49 const xAOD::MissingET & met,
50 const int & njets)=0;
51
52
53 virtual double GetFitStatus(const int method)=0;
54 virtual double GetFittedMass(const int method)=0;
55 virtual double GetFittedMassErrorUp(int method)=0;
56 virtual double GetFittedMassErrorLow(int method)=0;
57 virtual PtEtaPhiMVector GetResonanceVec(int method) = 0;
58 virtual XYVector GetFittedMetVec(int method) = 0;
59 virtual PtEtaPhiMVector GetNeutrino4vec(int method, int index) = 0;
60 virtual PtEtaPhiMVector GetTau4vec(int method, int index) = 0;
61 virtual int GetNNoSol()=0;
62 virtual int GetNMetroReject()=0;
63 virtual int GetNSol()=0;
64
65};
66#endif
#define ASG_TOOL_INTERFACE(CLASSNAME)
Return value from object correction CP tools.
virtual double GetFittedMassErrorLow(int method)=0
virtual XYVector GetFittedMetVec(int method)=0
virtual PtEtaPhiMVector GetTau4vec(int method, int index)=0
virtual double GetFittedMass(const int method)=0
virtual int GetNNoSol()=0
virtual ~IMissingMassTool()
virtual destructor
virtual PtEtaPhiMVector GetNeutrino4vec(int method, int index)=0
virtual CP::CorrectionCode apply(const xAOD::EventInfo &ei, const xAOD::IParticle *part1, const xAOD::IParticle *part2, const xAOD::MissingET *met, const int &njets)=0
virtual double GetFitStatus(const int method)=0
ROOT::Math::PtEtaPhiMVector PtEtaPhiMVector
virtual int GetNMetroReject()=0
virtual double GetFittedMassErrorUp(int method)=0
ROOT::Math::XYVector XYVector
virtual int GetNSol()=0
virtual PtEtaPhiMVector GetResonanceVec(int method)=0
virtual void calculate(const xAOD::EventInfo &ei, const PtEtaPhiMVector &vis_tau1, const PtEtaPhiMVector &vis_tau2, const int &tau1_decay_type, const int &tau2_decay_type, const xAOD::MissingET &met, const int &njets)=0
Base class for the dual-use tool interface classes.
Definition IAsgTool.h:41
Class providing the definition of the 4-vector interface.
Definition index.py:1
Definition part1.py:1
Definition part2.py:1
EventInfo_v1 EventInfo
Definition of the latest event info version.
MissingET_v1 MissingET
Version control by type defintion.