ATLAS Offline Software
ElectronScaleFactorCalculator.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3  */
4 
5 // $Id: ElectronScaleFactorCalculator.h 799556 2017-03-05 19:46:03Z tpelzer $
6 #ifndef ANALYSISTOP_TOPCORRECTIONS_ELECTRONSCALEFACTORCALCULATOR_H
7 #define ANALYSISTOP_TOPCORRECTIONS_ELECTRONSCALEFACTORCALCULATOR_H
8 
20 // system include(s):
21 #include <memory>
22 #include <set>
23 
24 // Framework include(s):
25 #include "AsgTools/AsgTool.h"
26 #include "AsgTools/ToolHandle.h"
27 
28 // Systematic include(s):
31 
32 // CP Tool include(s):
35 
36 // Forward declaration(s):
37 namespace top {
38  class TopConfig;
39 }
40 
41 namespace top {
43  public:
44  explicit ElectronScaleFactorCalculator(const std::string& name);
46 
47  // Delete Standard constructors
51 
54  private:
55  std::shared_ptr<top::TopConfig> m_config;
56 
72 
73  std::vector<CP::SystematicSet> m_systTriggerCorrModel;
74  std::vector<CP::SystematicSet> m_systRecoCorrModel;
75  std::vector<CP::SystematicSet> m_systIDCorrModel;
76  std::vector<CP::SystematicSet> m_systIsoCorrModel;
77 
78  ToolHandle<IAsgElectronEfficiencyCorrectionTool> m_electronEffSFTrigger;
79  ToolHandle<IAsgElectronEfficiencyCorrectionTool> m_electronEffSFTriggerLoose;
80  ToolHandle<IAsgElectronEfficiencyCorrectionTool> m_electronEffTrigger;
81  ToolHandle<IAsgElectronEfficiencyCorrectionTool> m_electronEffTriggerLoose;
82  ToolHandle<IAsgElectronEfficiencyCorrectionTool> m_electronEffSFReco;
83  ToolHandle<IAsgElectronEfficiencyCorrectionTool> m_electronEffSFID;
84  ToolHandle<IAsgElectronEfficiencyCorrectionTool> m_electronEffSFIDLoose;
85 
88  ToolHandle<IAsgElectronEfficiencyCorrectionTool> m_electronEffSFIso;
89  ToolHandle<IAsgElectronEfficiencyCorrectionTool> m_electronEffSFIsoLoose;
90 
91 
96  ToolHandle<IAsgElectronEfficiencyCorrectionTool> m_electronEffSFChargeID;
97  ToolHandle<IAsgElectronEfficiencyCorrectionTool> m_electronEffSFChargeIDLoose;
98  ToolHandle<CP::ElectronChargeEfficiencyCorrectionTool> m_electronEffSFChargeMisID;
99  ToolHandle<CP::ElectronChargeEfficiencyCorrectionTool> m_electronEffSFChargeMisIDLoose;
100 
101  ToolHandle<IAsgElectronEfficiencyCorrectionTool> m_electronEffSFTriggerCorrModel;
102  ToolHandle<IAsgElectronEfficiencyCorrectionTool> m_electronEffSFTriggerLooseCorrModel;
103  ToolHandle<IAsgElectronEfficiencyCorrectionTool> m_electronEffTriggerCorrModel;
104  ToolHandle<IAsgElectronEfficiencyCorrectionTool> m_electronEffTriggerLooseCorrModel;
105  ToolHandle<IAsgElectronEfficiencyCorrectionTool> m_electronEffSFRecoCorrModel;
106  ToolHandle<IAsgElectronEfficiencyCorrectionTool> m_electronEffSFIDCorrModel;
107  ToolHandle<IAsgElectronEfficiencyCorrectionTool> m_electronEffSFIDLooseCorrModel;
108  ToolHandle<IAsgElectronEfficiencyCorrectionTool> m_electronEffSFIsoCorrModel;
109  ToolHandle<IAsgElectronEfficiencyCorrectionTool> m_electronEffSFIsoLooseCorrModel;
110 
111  std::string m_decor_triggerEff;
113  std::string m_decor_triggerSF;
115  std::string m_decor_recoSF;
116  std::string m_decor_idSF;
117  std::string m_decor_idSF_loose;
118  std::string m_decor_isoSF;
119  std::string m_decor_isoSF_loose;
120  std::string m_decor_chargeidSF;
124  };
125 } // namespace
126 #endif
top::ElectronScaleFactorCalculator::m_systReco_DOWN
CP::SystematicSet m_systReco_DOWN
Definition: ElectronScaleFactorCalculator.h:61
top::ElectronScaleFactorCalculator::m_electronEffTriggerCorrModel
ToolHandle< IAsgElectronEfficiencyCorrectionTool > m_electronEffTriggerCorrModel
Definition: ElectronScaleFactorCalculator.h:103
top::ElectronScaleFactorCalculator::m_systTrigger_UP
CP::SystematicSet m_systTrigger_UP
Definition: ElectronScaleFactorCalculator.h:58
top::ElectronScaleFactorCalculator::m_electronEffIsoLoose_exists
bool m_electronEffIsoLoose_exists
Definition: ElectronScaleFactorCalculator.h:87
top::ElectronScaleFactorCalculator::m_systRecoCorrModel
std::vector< CP::SystematicSet > m_systRecoCorrModel
Definition: ElectronScaleFactorCalculator.h:74
asg::AsgTool
Base class for the dual-use tool implementation classes.
Definition: AsgTool.h:47
top::ElectronScaleFactorCalculator::m_electronEffSFTrigger
ToolHandle< IAsgElectronEfficiencyCorrectionTool > m_electronEffSFTrigger
Definition: ElectronScaleFactorCalculator.h:78
top
TopConfig A simple configuration that is NOT a singleton.
Definition: AnalysisTrackingHelper.cxx:58
top::ElectronScaleFactorCalculator::m_electronEffSFIso
ToolHandle< IAsgElectronEfficiencyCorrectionTool > m_electronEffSFIso
Definition: ElectronScaleFactorCalculator.h:88
top::ElectronScaleFactorCalculator::m_electronEffSFIsoCorrModel
ToolHandle< IAsgElectronEfficiencyCorrectionTool > m_electronEffSFIsoCorrModel
Definition: ElectronScaleFactorCalculator.h:108
top::ElectronScaleFactorCalculator::m_electronEffTriggerLoose
ToolHandle< IAsgElectronEfficiencyCorrectionTool > m_electronEffTriggerLoose
Definition: ElectronScaleFactorCalculator.h:81
top::ElectronScaleFactorCalculator::m_electronEffSFID
ToolHandle< IAsgElectronEfficiencyCorrectionTool > m_electronEffSFID
Definition: ElectronScaleFactorCalculator.h:83
IAsgElectronEfficiencyCorrectionTool.h
top::ElectronScaleFactorCalculator::m_decor_isoSF_loose
std::string m_decor_isoSF_loose
Definition: ElectronScaleFactorCalculator.h:119
top::ElectronScaleFactorCalculator::m_electronEffIso_exists
bool m_electronEffIso_exists
Definition: ElectronScaleFactorCalculator.h:86
top::ElectronScaleFactorCalculator::m_electronEffTriggerLooseCorrModel
ToolHandle< IAsgElectronEfficiencyCorrectionTool > m_electronEffTriggerLooseCorrModel
Definition: ElectronScaleFactorCalculator.h:104
SystematicSet.h
CP::SystematicSet
Class to wrap a set of SystematicVariations.
Definition: SystematicSet.h:31
top::ElectronScaleFactorCalculator::m_systTriggerCorrModel
std::vector< CP::SystematicSet > m_systTriggerCorrModel
Definition: ElectronScaleFactorCalculator.h:73
top::ElectronScaleFactorCalculator::m_electronEffChargeIDLoose_exists
bool m_electronEffChargeIDLoose_exists
Definition: ElectronScaleFactorCalculator.h:93
ElectronChargeEfficiencyCorrectionTool.h
top::ElectronScaleFactorCalculator::m_systTrigger_DOWN
CP::SystematicSet m_systTrigger_DOWN
Definition: ElectronScaleFactorCalculator.h:59
top::ElectronScaleFactorCalculator::m_decor_chargeidSF_loose
std::string m_decor_chargeidSF_loose
Definition: ElectronScaleFactorCalculator.h:121
top::ElectronScaleFactorCalculator::m_electronEffSFTriggerLoose
ToolHandle< IAsgElectronEfficiencyCorrectionTool > m_electronEffSFTriggerLoose
Definition: ElectronScaleFactorCalculator.h:79
top::ElectronScaleFactorCalculator::m_decor_recoSF
std::string m_decor_recoSF
Definition: ElectronScaleFactorCalculator.h:115
top::ElectronScaleFactorCalculator::m_electronEffSFIsoLooseCorrModel
ToolHandle< IAsgElectronEfficiencyCorrectionTool > m_electronEffSFIsoLooseCorrModel
Definition: ElectronScaleFactorCalculator.h:109
top::ElectronScaleFactorCalculator::m_systID_DOWN
CP::SystematicSet m_systID_DOWN
Definition: ElectronScaleFactorCalculator.h:63
top::ElectronScaleFactorCalculator::m_decor_isoSF
std::string m_decor_isoSF
Definition: ElectronScaleFactorCalculator.h:118
top::ElectronScaleFactorCalculator::m_systChargeMisID_STAT_DOWN
CP::SystematicSet m_systChargeMisID_STAT_DOWN
Definition: ElectronScaleFactorCalculator.h:69
top::ElectronScaleFactorCalculator::m_electronEffSFChargeMisID
ToolHandle< CP::ElectronChargeEfficiencyCorrectionTool > m_electronEffSFChargeMisID
Definition: ElectronScaleFactorCalculator.h:98
top::ElectronScaleFactorCalculator::m_electronEffSFIDCorrModel
ToolHandle< IAsgElectronEfficiencyCorrectionTool > m_electronEffSFIDCorrModel
Definition: ElectronScaleFactorCalculator.h:106
top::ElectronScaleFactorCalculator::m_systChargeID_DOWN
CP::SystematicSet m_systChargeID_DOWN
Definition: ElectronScaleFactorCalculator.h:67
top::ElectronScaleFactorCalculator::operator=
ElectronScaleFactorCalculator & operator=(const ElectronScaleFactorCalculator &rhs)=delete
top::ElectronScaleFactorCalculator::m_electronEffSFRecoCorrModel
ToolHandle< IAsgElectronEfficiencyCorrectionTool > m_electronEffSFRecoCorrModel
Definition: ElectronScaleFactorCalculator.h:105
top::ElectronScaleFactorCalculator::ElectronScaleFactorCalculator
ElectronScaleFactorCalculator(ElectronScaleFactorCalculator &&rhs)=delete
top::ElectronScaleFactorCalculator::m_decor_chargemisidSF
std::string m_decor_chargemisidSF
Definition: ElectronScaleFactorCalculator.h:122
top::ElectronScaleFactorCalculator::m_systNominal
CP::SystematicSet m_systNominal
Definition: ElectronScaleFactorCalculator.h:57
top::ElectronScaleFactorCalculator::m_systChargeMisID_SYST_UP
CP::SystematicSet m_systChargeMisID_SYST_UP
Definition: ElectronScaleFactorCalculator.h:70
top::ElectronScaleFactorCalculator::m_systIso_DOWN
CP::SystematicSet m_systIso_DOWN
Definition: ElectronScaleFactorCalculator.h:65
top::ElectronScaleFactorCalculator::m_electronEffChargeMisIDLoose_exists
bool m_electronEffChargeMisIDLoose_exists
Definition: ElectronScaleFactorCalculator.h:95
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
top::ElectronScaleFactorCalculator::~ElectronScaleFactorCalculator
virtual ~ElectronScaleFactorCalculator()
Definition: ElectronScaleFactorCalculator.h:45
top::ElectronScaleFactorCalculator
Definition: ElectronScaleFactorCalculator.h:42
top::ElectronScaleFactorCalculator::m_decor_triggerEff
std::string m_decor_triggerEff
Definition: ElectronScaleFactorCalculator.h:111
top::ElectronScaleFactorCalculator::m_electronEffSFChargeMisIDLoose
ToolHandle< CP::ElectronChargeEfficiencyCorrectionTool > m_electronEffSFChargeMisIDLoose
Definition: ElectronScaleFactorCalculator.h:99
top::ElectronScaleFactorCalculator::m_electronEffSFChargeID
ToolHandle< IAsgElectronEfficiencyCorrectionTool > m_electronEffSFChargeID
Definition: ElectronScaleFactorCalculator.h:96
top::ElectronScaleFactorCalculator::m_systIsoCorrModel
std::vector< CP::SystematicSet > m_systIsoCorrModel
Definition: ElectronScaleFactorCalculator.h:76
top::ElectronScaleFactorCalculator::m_config
std::shared_ptr< top::TopConfig > m_config
Definition: ElectronScaleFactorCalculator.h:55
top::ElectronScaleFactorCalculator::m_systIso_UP
CP::SystematicSet m_systIso_UP
Definition: ElectronScaleFactorCalculator.h:64
top::ElectronScaleFactorCalculator::m_electronEffSFIDLoose
ToolHandle< IAsgElectronEfficiencyCorrectionTool > m_electronEffSFIDLoose
Definition: ElectronScaleFactorCalculator.h:84
top::ElectronScaleFactorCalculator::m_electronEffChargeID_exists
bool m_electronEffChargeID_exists
Definition: ElectronScaleFactorCalculator.h:92
top::ElectronScaleFactorCalculator::m_electronEffSFTriggerLooseCorrModel
ToolHandle< IAsgElectronEfficiencyCorrectionTool > m_electronEffSFTriggerLooseCorrModel
Definition: ElectronScaleFactorCalculator.h:102
top::ElectronScaleFactorCalculator::m_decor_chargemisidSF_loose
std::string m_decor_chargemisidSF_loose
Definition: ElectronScaleFactorCalculator.h:123
top::ElectronScaleFactorCalculator::m_decor_triggerSF_loose
std::string m_decor_triggerSF_loose
Definition: ElectronScaleFactorCalculator.h:114
top::ElectronScaleFactorCalculator::m_decor_triggerSF
std::string m_decor_triggerSF
Definition: ElectronScaleFactorCalculator.h:113
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
top::ElectronScaleFactorCalculator::m_systChargeMisID_STAT_UP
CP::SystematicSet m_systChargeMisID_STAT_UP
Definition: ElectronScaleFactorCalculator.h:68
top::ElectronScaleFactorCalculator::m_electronEffSFTriggerCorrModel
ToolHandle< IAsgElectronEfficiencyCorrectionTool > m_electronEffSFTriggerCorrModel
Definition: ElectronScaleFactorCalculator.h:101
top::ElectronScaleFactorCalculator::ElectronScaleFactorCalculator
ElectronScaleFactorCalculator(const std::string &name)
Definition: ElectronScaleFactorCalculator.cxx:15
top::ElectronScaleFactorCalculator::ElectronScaleFactorCalculator
ElectronScaleFactorCalculator(const ElectronScaleFactorCalculator &rhs)=delete
top::ElectronScaleFactorCalculator::m_decor_idSF
std::string m_decor_idSF
Definition: ElectronScaleFactorCalculator.h:116
top::ElectronScaleFactorCalculator::m_systIDCorrModel
std::vector< CP::SystematicSet > m_systIDCorrModel
Definition: ElectronScaleFactorCalculator.h:75
top::ElectronScaleFactorCalculator::m_systChargeMisID_SYST_DOWN
CP::SystematicSet m_systChargeMisID_SYST_DOWN
Definition: ElectronScaleFactorCalculator.h:71
top::ElectronScaleFactorCalculator::m_decor_idSF_loose
std::string m_decor_idSF_loose
Definition: ElectronScaleFactorCalculator.h:117
top::ElectronScaleFactorCalculator::m_electronEffSFIDLooseCorrModel
ToolHandle< IAsgElectronEfficiencyCorrectionTool > m_electronEffSFIDLooseCorrModel
Definition: ElectronScaleFactorCalculator.h:107
top::ElectronScaleFactorCalculator::m_systID_UP
CP::SystematicSet m_systID_UP
Definition: ElectronScaleFactorCalculator.h:62
top::ElectronScaleFactorCalculator::m_systReco_UP
CP::SystematicSet m_systReco_UP
Definition: ElectronScaleFactorCalculator.h:60
top::ElectronScaleFactorCalculator::m_systChargeID_UP
CP::SystematicSet m_systChargeID_UP
Definition: ElectronScaleFactorCalculator.h:66
ToolHandle.h
AsgTool.h
top::ElectronScaleFactorCalculator::m_decor_triggerEff_loose
std::string m_decor_triggerEff_loose
Definition: ElectronScaleFactorCalculator.h:112
top::ElectronScaleFactorCalculator::initialize
StatusCode initialize()
Dummy implementation of the initialisation function.
Definition: ElectronScaleFactorCalculator.cxx:81
top::ElectronScaleFactorCalculator::m_electronEffSFChargeIDLoose
ToolHandle< IAsgElectronEfficiencyCorrectionTool > m_electronEffSFChargeIDLoose
Definition: ElectronScaleFactorCalculator.h:97
top::ElectronScaleFactorCalculator::m_electronEffSFIsoLoose
ToolHandle< IAsgElectronEfficiencyCorrectionTool > m_electronEffSFIsoLoose
Definition: ElectronScaleFactorCalculator.h:89
top::ElectronScaleFactorCalculator::m_electronEffChargeMisID_exists
bool m_electronEffChargeMisID_exists
Definition: ElectronScaleFactorCalculator.h:94
top::ElectronScaleFactorCalculator::m_electronEffTrigger
ToolHandle< IAsgElectronEfficiencyCorrectionTool > m_electronEffTrigger
Definition: ElectronScaleFactorCalculator.h:80
top::ElectronScaleFactorCalculator::execute
StatusCode execute()
Definition: ElectronScaleFactorCalculator.cxx:352
top::ElectronScaleFactorCalculator::m_electronEffSFReco
ToolHandle< IAsgElectronEfficiencyCorrectionTool > m_electronEffSFReco
Definition: ElectronScaleFactorCalculator.h:82
SystematicsUtil.h
top::ElectronScaleFactorCalculator::m_decor_chargeidSF
std::string m_decor_chargeidSF
Definition: ElectronScaleFactorCalculator.h:120