ATLAS Offline Software
Loading...
Searching...
No Matches
CP::IKinematicSystHandler Class Referenceabstract

#include <KinematicSystHandler.h>

Inheritance diagram for CP::IKinematicSystHandler:
Collaboration diagram for CP::IKinematicSystHandler:

Public Types

typedef float(IKinematicSystHandler::* KinVariable) (columnar::MuonId mu) const
 Typedef to prepare function pointers to the muon.

Public Member Functions

virtual CorrectionCode GetKineDependent (columnar::MuonId mu, float &Eff) const =0
 Add an additional uncertainty to the muon depending on its kinematics.
virtual void SetSystematicWeight (float SystWeight)=0
 Set's the absolute scaling of the systematic.
virtual bool initialize ()=0
 Initialize method to load the inputs and check that everything will work as expected.
virtual ~IKinematicSystHandler ()=default
KinVariable GetMuonVariableToUse (const std::string &name)
float Eta (columnar::MuonId mu) const
float Pt (columnar::MuonId mu) const
float PtGeV (columnar::MuonId mu) const
float AbsEta (columnar::MuonId mu) const

Public Attributes

columnar::MuonAccessor< columnar::ObjectColumnmuonsHandle {*this, "Muons"}
columnar::MuonAccessor< floatptAcc {*this, "pt"}
columnar::MuonAccessor< floatetaAcc {*this, "eta"}

Detailed Description

Definition at line 37 of file KinematicSystHandler.h.

Member Typedef Documentation

◆ KinVariable

typedef float(IKinematicSystHandler::* CP::IKinematicSystHandler::KinVariable) (columnar::MuonId mu) const

Typedef to prepare function pointers to the muon.

Definition at line 50 of file KinematicSystHandler.h.

Constructor & Destructor Documentation

◆ ~IKinematicSystHandler()

virtual CP::IKinematicSystHandler::~IKinematicSystHandler ( )
virtualdefault

Member Function Documentation

◆ AbsEta()

float CP::IKinematicSystHandler::AbsEta ( columnar::MuonId mu) const

Definition at line 17 of file KinematicSystHandler.cxx.

17 {
18 return std::abs(mu(etaAcc));
19 }
columnar::MuonAccessor< float > etaAcc

◆ Eta()

float CP::IKinematicSystHandler::Eta ( columnar::MuonId mu) const

Definition at line 8 of file KinematicSystHandler.cxx.

8 {
9 return mu(etaAcc);
10 }

◆ GetKineDependent()

virtual CorrectionCode CP::IKinematicSystHandler::GetKineDependent ( columnar::MuonId mu,
float & Eff ) const
pure virtual

Add an additional uncertainty to the muon depending on its kinematics.

Implemented in CP::BadMuonVetoSystHandler, CP::PrimodialPtSystematic, CP::PtKinematicSystHandler, and CP::TTVAClosureSysHandler.

◆ GetMuonVariableToUse()

IKinematicSystHandler::KinVariable CP::IKinematicSystHandler::GetMuonVariableToUse ( const std::string & name)

Definition at line 21 of file KinematicSystHandler.cxx.

21 {
22 if (name == "pt") return &IKinematicSystHandler::Pt;
23 if (name == "ptGeV") return &IKinematicSystHandler::PtGeV;
24 if (name == "eta") return &IKinematicSystHandler::Eta;
25 if (name == "AbsEta") return &IKinematicSystHandler::AbsEta;
26 return nullptr;
27 }
float PtGeV(columnar::MuonId mu) const
float Pt(columnar::MuonId mu) const
float AbsEta(columnar::MuonId mu) const
float Eta(columnar::MuonId mu) const

◆ initialize()

virtual bool CP::IKinematicSystHandler::initialize ( )
pure virtual

Initialize method to load the inputs and check that everything will work as expected.

Implemented in CP::BadMuonVetoSystHandler, CP::PrimodialPtSystematic, CP::PtKinematicSystHandler, and CP::TTVAClosureSysHandler.

◆ Pt()

float CP::IKinematicSystHandler::Pt ( columnar::MuonId mu) const

Definition at line 11 of file KinematicSystHandler.cxx.

11 {
12 return mu(ptAcc);
13 }
columnar::MuonAccessor< float > ptAcc

◆ PtGeV()

float CP::IKinematicSystHandler::PtGeV ( columnar::MuonId mu) const

Definition at line 14 of file KinematicSystHandler.cxx.

14 {
15 return mu(ptAcc) / 1.e3;
16 }

◆ SetSystematicWeight()

virtual void CP::IKinematicSystHandler::SetSystematicWeight ( float SystWeight)
pure virtual

Set's the absolute scaling of the systematic.

For daily puposes it's usually either 1 or -1 indicating if the instance is an upwards or downwards variation.

Implemented in CP::BadMuonVetoSystHandler, CP::PrimodialPtSystematic, CP::PtKinematicSystHandler, and CP::TTVAClosureSysHandler.

Member Data Documentation

◆ etaAcc

columnar::MuonAccessor<float> CP::IKinematicSystHandler::etaAcc {*this, "eta"}

Definition at line 60 of file KinematicSystHandler.h.

60{*this, "eta"};

◆ muonsHandle

columnar::MuonAccessor<columnar::ObjectColumn> CP::IKinematicSystHandler::muonsHandle {*this, "Muons"}

Definition at line 58 of file KinematicSystHandler.h.

58{*this, "Muons"};

◆ ptAcc

columnar::MuonAccessor<float> CP::IKinematicSystHandler::ptAcc {*this, "pt"}

Definition at line 59 of file KinematicSystHandler.h.

59{*this, "pt"};

The documentation for this class was generated from the following files: