ATLAS Offline Software
IMuonTriggerScaleFactors.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3  */
4 
5 #ifndef IMUONTRIGGERSCALEFACTORS_H_
6 #define IMUONTRIGGERSCALEFACTORS_H_
7 
8 #include <map>
9 #include <string>
10 #include <vector>
11 
12 #include "AsgTools/IAsgTool.h"
15 #include "xAODMuon/Muon.h"
16 #include "xAODMuon/MuonContainer.h"
17 
18 namespace TrigMuonEff {
19 
23  struct Configuration {
24  bool isData;
27  Configuration(const bool isData_ = true, const int replicaIndex_ = -1) : isData(isData_), replicaIndex(replicaIndex_) {}
28  };
29 } // namespace TrigMuonEff
30 
35 namespace CP {
36 
37  class IMuonTriggerScaleFactors : public virtual asg::IAsgTool, virtual public CP::ISystematicsTool {
39 
40  public:
41  virtual StatusCode initialize(void) = 0;
42 
43  virtual CorrectionCode getTriggerScaleFactor(const xAOD::MuonContainer& mucont, Double_t& triggersf,
44  const std::string& trigger) const = 0;
45 
46  virtual CorrectionCode getTriggerScaleFactor(const xAOD::Muon& muon, Double_t& triggersf, const std::string& trigger) const = 0;
47 
48  virtual CorrectionCode getTriggerEfficiency(const xAOD::Muon& mu, Double_t& efficiency, const std::string& trigger,
49  Bool_t dataType) const = 0;
50 
51  virtual int getBinNumber(const xAOD::Muon& muon, const std::string& trigger) const = 0;
53  virtual bool isTriggerSupported(const std::string& trigger) const = 0;
54  };
55  // class IMuonEfficiencyTool
56 
57 } // namespace CP
58 
59 #endif /* IMUONTRIGGERSCALEFACTORS_H_ */
xAOD::muon
@ muon
Definition: TrackingPrimitives.h:195
TrigMuonEff
Definition: IMuonTriggerScaleFactors.h:18
CP::IMuonTriggerScaleFactors::getTriggerEfficiency
virtual CorrectionCode getTriggerEfficiency(const xAOD::Muon &mu, Double_t &efficiency, const std::string &trigger, Bool_t dataType) const =0
TrigMuonEff::Configuration::isData
bool isData
Definition: IMuonTriggerScaleFactors.h:24
Muon.h
asg::IAsgTool
Base class for the dual-use tool interface classes.
Definition: IAsgTool.h:41
downloadSingle.dataType
string dataType
Definition: downloadSingle.py:18
TrigMuonEff::Configuration::Configuration
Configuration(const bool isData_=true, const int replicaIndex_=-1)
Definition: IMuonTriggerScaleFactors.h:27
CP
Select isolated Photons, Electrons and Muons.
Definition: Control/xAODRootAccess/xAODRootAccess/TEvent.h:48
xAOD::Muon_v1
Class describing a Muon.
Definition: Muon_v1.h:38
ISystematicsTool.h
TrigMuonEff::Configuration
structure to hold variables to configure behaviour of the tool
Definition: IMuonTriggerScaleFactors.h:23
CP::IMuonTriggerScaleFactors::getTriggerScaleFactor
virtual CorrectionCode getTriggerScaleFactor(const xAOD::MuonContainer &mucont, Double_t &triggersf, const std::string &trigger) const =0
efficiency
void efficiency(std::vector< double > &bins, std::vector< double > &values, const std::vector< std::string > &files, const std::string &histname, const std::string &tplotname, const std::string &label="")
Definition: dependence.cxx:128
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
CP::IMuonTriggerScaleFactors
Definition: IMuonTriggerScaleFactors.h:37
ASG_TOOL_INTERFACE
#define ASG_TOOL_INTERFACE(CLASSNAME)
Definition: AsgToolMacros.h:40
IAsgTool.h
TrigMuonEff::Configuration::replicaIndex
int replicaIndex
index of replicated histograms to access
Definition: IMuonTriggerScaleFactors.h:25
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
CP::IMuonTriggerScaleFactors::getBinNumber
virtual int getBinNumber(const xAOD::Muon &muon, const std::string &trigger) const =0
MuonContainer.h
CP::ISystematicsTool
Interface for all CP tools supporting systematic variations.
Definition: ISystematicsTool.h:32
CP::CorrectionCode
Return value from object correction CP tools.
Definition: CorrectionCode.h:31
CP::IMuonTriggerScaleFactors::initialize
virtual StatusCode initialize(void)=0
CorrectionCode.h
CaloNoise_fillDB.mu
mu
Definition: CaloNoise_fillDB.py:53
PhysDESDM_Quirks.trigger
trigger
Definition: PhysDESDM_Quirks.py:27
CP::IMuonTriggerScaleFactors::isTriggerSupported
virtual bool isTriggerSupported(const std::string &trigger) const =0
Returns whether the trigger is supported in the current data-period.
CP::IMuonTriggerScaleFactors::getTriggerScaleFactor
virtual CorrectionCode getTriggerScaleFactor(const xAOD::Muon &muon, Double_t &triggersf, const std::string &trigger) const =0