ATLAS Offline Software
IMETSignificance.h
Go to the documentation of this file.
1 /*
3  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
4 */
5 // IMETSignificance.h
6 // Header file for interface IMETSignificance
7 //
8 // This is the tool that builds the MET significance at analysis level
9 //
10 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
11 //
12 // Author: P Francavilla
14 
15 #ifndef METINTERFACE_IMETSIGNIFICANCE_H
16 #define METINTERFACE_IMETSIGNIFICANCE_H
17 
18 #include "AsgTools/IAsgTool.h"
22 #include "xAODJet/JetContainer.h"
23 
24 namespace met {
25  // Soft term parameterizations
27  Random = 0,
29  TSTParam = 2
30  };
32  ResoNone = 0,
33  ResoJet = 1,
34  ResoSoft = 2,
35  ResoEle = 3,
36  ResoMuo = 4,
37  ResoPho = 5,
38  ResoTau = 6
39  };
40 }
41 
42 class IMETSignificance : virtual public asg::IAsgTool {
44 
45 public:
46 
47 
49  // Variance MET rebuilding
51 
52  // Convenience methods that creates MET terms internally
53  // Version with single soft term
54  virtual StatusCode varianceMET(xAOD::MissingETContainer* metCont, float avgmu, const std::string& jetTermName, const std::string& softTermName, const std::string& totalMETName) = 0;
55 
56  // Rotates the phi direction of the object resolutions & recomputes the MET significance
57  virtual StatusCode RotateToPhi(float phi) = 0;
58 
59  // Subtracts the vector lambda from the MET & recomputes the MET signficance in new MET - lambda direction
60  virtual StatusCode SetLambda(const float px, const float py, const bool GeV=true) = 0;
61 
63  // Additional utility commands
65 
66  virtual double GetMETOverSqrtSumET() const = 0 ;
67  virtual double GetMETOverSqrtHT () const = 0 ;
68  virtual double GetSignificance() const = 0 ;
69  virtual double GetSigDirectional() const = 0 ;
70  virtual double GetRho() const = 0 ;
71  virtual double GetVarL() const = 0 ;
72  virtual double GetVarT() const = 0 ;
73  virtual double GetTermVarL(const int term) const = 0 ;
74  virtual double GetTermVarT(const int term) const = 0 ;
75 
76 };
77 
78 #endif
met::ResoPho
@ ResoPho
Definition: IMETSignificance.h:37
IMETSignificance::GetMETOverSqrtHT
virtual double GetMETOverSqrtHT() const =0
met::ResoNone
@ ResoNone
Definition: IMETSignificance.h:32
IMETSignificance::SetLambda
virtual StatusCode SetLambda(const float px, const float py, const bool GeV=true)=0
GeV
#define GeV
Definition: PhysicsAnalysis/TauID/TauAnalysisTools/Root/HelperFunctions.cxx:17
test_pyathena.px
px
Definition: test_pyathena.py:18
phi
Scalar phi() const
phi method
Definition: AmgMatrixBasePlugin.h:67
met::ResoEle
@ ResoEle
Definition: IMETSignificance.h:35
IMETSignificance::GetVarL
virtual double GetVarL() const =0
IMETSignificance::GetMETOverSqrtSumET
virtual double GetMETOverSqrtSumET() const =0
met::ResoSoft
@ ResoSoft
Definition: IMETSignificance.h:34
IMETSignificance::GetSigDirectional
virtual double GetSigDirectional() const =0
asg::IAsgTool
Base class for the dual-use tool interface classes.
Definition: IAsgTool.h:41
IMETSignificance::GetSignificance
virtual double GetSignificance() const =0
met::ResoTau
@ ResoTau
Definition: IMETSignificance.h:38
met
Definition: IMETSignificance.h:24
Random
Definition: TrigAnalysis/TrigInDetAnalysisUser/Resplot/src/Random.h:26
IMETSignificance::GetTermVarT
virtual double GetTermVarT(const int term) const =0
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
IMETSignificance
Definition: IMETSignificance.h:42
IParticleContainer.h
met::PthardParam
@ PthardParam
Definition: IMETSignificance.h:28
met::TSTParam
@ TSTParam
Definition: IMETSignificance.h:29
ASG_TOOL_INTERFACE
#define ASG_TOOL_INTERFACE(CLASSNAME)
Definition: AsgToolMacros.h:40
IAsgTool.h
met::ResoJet
@ ResoJet
Definition: IMETSignificance.h:33
xAOD::MissingETContainer_v1
Container for xAOD::MissingET_v1 objects.
Definition: MissingETContainer_v1.h:21
Amg::py
@ py
Definition: GeoPrimitives.h:39
met::METSignificanceResoTerms
METSignificanceResoTerms
Definition: IMETSignificance.h:31
JetContainer.h
met::ResoMuo
@ ResoMuo
Definition: IMETSignificance.h:36
met::SoftTermParams
SoftTermParams
Definition: IMETSignificance.h:26
IMETSignificance::GetVarT
virtual double GetVarT() const =0
MissingETAssociationMap.h
IMETSignificance::GetTermVarL
virtual double GetTermVarL(const int term) const =0
MissingETContainer.h
IMETSignificance::varianceMET
virtual StatusCode varianceMET(xAOD::MissingETContainer *metCont, float avgmu, const std::string &jetTermName, const std::string &softTermName, const std::string &totalMETName)=0
IMETSignificance::RotateToPhi
virtual StatusCode RotateToPhi(float phi)=0
IMETSignificance::GetRho
virtual double GetRho() const =0