Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Public Types | Public Member Functions | Public Attributes | Private Attributes | List of all members
CP::TTVAClosureSysHandler Class Reference

Extra systematic assigned for the TTVA non-closure. More...

#include <KinematicSystHandler.h>

Inheritance diagram for CP::TTVAClosureSysHandler:
Collaboration diagram for CP::TTVAClosureSysHandler:

Public Types

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

Public Member Functions

 TTVAClosureSysHandler (std::unique_ptr< HistHandler > HistHandler)
 
void SetSystematicWeight (float SystWeight) override
 Set's the absolute scaling of the systematic. More...
 
bool initialize () override
 Initialize method to load the inputs and check that everything will work as expected. More...
 
CorrectionCode GetKineDependent (columnar::MuonId mu, float &Eff) const override
 Add an additional uncertainty to the muon depending on its kinematics. More...
 
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< float > ptAcc {*this, "pt"}
 
columnar::MuonAccessor< float > etaAcc {*this, "eta"}
 

Private Attributes

std::unique_ptr< HistHandlerm_Handler
 
float m_SystWeight
 

Detailed Description

Extra systematic assigned for the TTVA non-closure.

Definition at line 107 of file KinematicSystHandler.h.

Member Typedef Documentation

◆ KinVariable

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

Typedef to prepare function pointers to the muon.

Definition at line 50 of file KinematicSystHandler.h.

Constructor & Destructor Documentation

◆ TTVAClosureSysHandler()

CP::TTVAClosureSysHandler::TTVAClosureSysHandler ( std::unique_ptr< HistHandler HistHandler)

Definition at line 79 of file KinematicSystHandler.cxx.

79  :
80  m_Handler(),
81  m_SystWeight(0) {
82  m_Handler.swap(HistHandler);
83  }

Member Function Documentation

◆ AbsEta()

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

Definition at line 17 of file KinematicSystHandler.cxx.

17  {
18  return std::abs(mu(etaAcc));
19  }

◆ Eta()

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

Definition at line 8 of file KinematicSystHandler.cxx.

8  {
9  return mu(etaAcc);
10  }

◆ GetKineDependent()

CorrectionCode CP::TTVAClosureSysHandler::GetKineDependent ( columnar::MuonId  mu,
float &  Eff 
) const
overridevirtual

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

Implements CP::IKinematicSystHandler.

Definition at line 86 of file KinematicSystHandler.cxx.

86  {
87  int binsys = -1;
88  CorrectionCode cc = m_Handler->FindBin(mu, binsys);
89  if (cc != CorrectionCode::Ok) {
90  return cc;
91  }
92  Eff *= (1. + m_SystWeight * std::abs(m_Handler->GetBinContent(binsys)));
93  return CorrectionCode::Ok;
94  }

◆ GetMuonVariableToUse()

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

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  }

◆ initialize()

bool CP::TTVAClosureSysHandler::initialize ( )
overridevirtual

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

Implements CP::IKinematicSystHandler.

Definition at line 85 of file KinematicSystHandler.cxx.

85 { return m_Handler.get() != nullptr; }

◆ Pt()

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

Definition at line 11 of file KinematicSystHandler.cxx.

11  {
12  return mu(ptAcc);
13  }

◆ PtGeV()

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

Definition at line 14 of file KinematicSystHandler.cxx.

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

◆ SetSystematicWeight()

void CP::TTVAClosureSysHandler::SetSystematicWeight ( float  SystWeight)
overridevirtual

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.

Implements CP::IKinematicSystHandler.

Definition at line 84 of file KinematicSystHandler.cxx.

84 {m_SystWeight = SystWeight;}

Member Data Documentation

◆ etaAcc

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

Definition at line 60 of file KinematicSystHandler.h.

◆ m_Handler

std::unique_ptr<HistHandler> CP::TTVAClosureSysHandler::m_Handler
private

Definition at line 115 of file KinematicSystHandler.h.

◆ m_SystWeight

float CP::TTVAClosureSysHandler::m_SystWeight
private

Definition at line 116 of file KinematicSystHandler.h.

◆ muonsHandle

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

Definition at line 58 of file KinematicSystHandler.h.

◆ ptAcc

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

Definition at line 59 of file KinematicSystHandler.h.


The documentation for this class was generated from the following files:
CP::IKinematicSystHandler::AbsEta
float AbsEta(columnar::MuonId mu) const
Definition: KinematicSystHandler.cxx:17
CP::TTVAClosureSysHandler::m_SystWeight
float m_SystWeight
Definition: KinematicSystHandler.h:116
CP::IKinematicSystHandler::Eta
float Eta(columnar::MuonId mu) const
Definition: KinematicSystHandler.cxx:8
CP::IKinematicSystHandler::Pt
float Pt(columnar::MuonId mu) const
Definition: KinematicSystHandler.cxx:11
CP::TTVAClosureSysHandler::m_Handler
std::unique_ptr< HistHandler > m_Handler
Definition: KinematicSystHandler.h:115
CP::IKinematicSystHandler::ptAcc
columnar::MuonAccessor< float > ptAcc
Definition: KinematicSystHandler.h:59
HistHandler
utility class to avoid having to determine the input histo at every single call to the tool Remembers...
CP::IKinematicSystHandler::etaAcc
columnar::MuonAccessor< float > etaAcc
Definition: KinematicSystHandler.h:60
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
CP::CorrectionCode::Ok
@ Ok
The correction was done successfully.
Definition: CorrectionCode.h:38
CP::IKinematicSystHandler::PtGeV
float PtGeV(columnar::MuonId mu) const
Definition: KinematicSystHandler.cxx:14
CaloNoise_fillDB.mu
mu
Definition: CaloNoise_fillDB.py:53
python.handimod.cc
int cc
Definition: handimod.py:523