ATLAS Offline Software
TrigMuonEfficiencyMon.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TRIGMUONMONITORING_TRIGMUONEFFICIENCYMON_H
6 #define TRIGMUONMONITORING_TRIGMUONEFFICIENCYMON_H
7 
10 
11 class MuonMatchingTool;
12 
13 /*
14 This is a class for monitoring efficiency.
15 Analyzers are supposed to create one instance for one monitored trigger chain and configure every instance.
16  */
18 
19  public:
20  TrigMuonEfficiencyMon(const std::string& name, ISvcLocator* pSvcLocator );
21 
22  virtual StatusCode initialize() override;
23 
24  protected:
25  // virtual method
26  virtual bool selectEvents() const override;
27  virtual StatusCode selectMuons(SG::ReadHandle<xAOD::MuonContainer> &muons, std::vector<const xAOD::Muon*> &probes) const override;
28  virtual StatusCode fillVariablesPerOfflineMuonPerChain(const EventContext &ctx, const xAOD::Muon* mu, const std::string &chain) const override;
29 
30 
31  StatusCode selectMuonsTagAndProbe(SG::ReadHandle<xAOD::MuonContainer> &muons, std::vector<const xAOD::Muon*> &probes) const ;
32 
33  // properties
34  Gaudi::Property<std::string> m_eff_method {this, "Method", "", "Method to measure efficiency e.g. \"TTbarTagAndProbe\", \"ZTagAndProbe\", \"Bootstrap\""};
35  Gaudi::Property<std::string> m_event_trigger {this, "EventTrigger", "", "Trigger used to select events"};
36  Gaudi::Property<std::string> m_tag_trig {this, "TagTrigger", "", "Trigger used to define tag muons"};
37  Gaudi::Property<std::vector<std::string> > m_monitored_chains_L1 {this, "L1Seeds", {}, "List of L1 seeds of measured trigger"};
38  Gaudi::Property<std::vector<double> > m_monitored_chains_threshold {this, "Thresholds", {}, "List of thresholds of measured trigger"};
39  Gaudi::Property<bool> m_doL1 {this, "doL1", true, "Flag to analyze L1"};
40  Gaudi::Property<bool> m_doL2SA {this, "doL2SA", true, "Flag to analyze L2MuonSA"};
41  Gaudi::Property<bool> m_doL2CB {this, "doL2CB", true, "Flag to analyze L2muComb"};
42  Gaudi::Property<bool> m_doEFSA {this, "doEFSA", true, "Flag to analyze EFSA"};
43  Gaudi::Property<bool> m_doEFCB {this, "doEFCB", true, "Flag to analyze EFCB"};
44  Gaudi::Property<bool> m_doEFIso {this, "doEFIso", true, "Flag to analyze EFIso"};
45  Gaudi::Property<bool> m_doEFSAFS {this, "doEFSAFS", true, "Flag to analyze EFSAFS"};
46  Gaudi::Property<bool> m_doEFCBFS {this, "doEFCBFS", true, "Flag to analyze EFCBFS"};
47  Gaudi::Property<bool> m_BarrelOnly {this, "BarrelOnly", false, "Flag to BarrelOnly"};
48  Gaudi::Property<bool> m_use_extrapolator {this, "UseExtrapolator", false, "Flag to activate the track extrapolator"};
49  Gaudi::Property<double> m_mass_lowlim {this, "MassLowLim", 81., "Lower mass limit for the tag and probe method"};
50  Gaudi::Property<double> m_mass_highlim {this, "MassHighLim", 101., "Higher mass limit for the tag and probe method"};
51 
52  // data
53  std::map<std::string, std::string> m_l1seeds {};
54  std::map<std::string, double> m_thresholds {};
55 
56 
57 
58 };
59 
60 #endif //TRIGMUONMONITORING_TRIGMUONEFFICIENCYMON_H
TrigMuonEfficiencyMon::m_monitored_chains_L1
Gaudi::Property< std::vector< std::string > > m_monitored_chains_L1
Definition: TrigMuonEfficiencyMon.h:37
TrigMuonMonitorAlgorithm.h
TrigMuonEfficiencyMon::m_doL2CB
Gaudi::Property< bool > m_doL2CB
Definition: TrigMuonEfficiencyMon.h:41
runLayerRecalibration.chain
chain
Definition: runLayerRecalibration.py:175
SG::ReadHandle
Definition: StoreGate/StoreGate/ReadHandle.h:70
MuonRoIContainer.h
TrigMuonEfficiencyMon::m_eff_method
Gaudi::Property< std::string > m_eff_method
Definition: TrigMuonEfficiencyMon.h:34
TrigMuonEfficiencyMon::m_doEFIso
Gaudi::Property< bool > m_doEFIso
Definition: TrigMuonEfficiencyMon.h:44
TrigMuonEfficiencyMon::m_mass_highlim
Gaudi::Property< double > m_mass_highlim
Definition: TrigMuonEfficiencyMon.h:50
TrigMuonEfficiencyMon
Definition: TrigMuonEfficiencyMon.h:17
TrigMuonEfficiencyMon::selectMuons
virtual StatusCode selectMuons(SG::ReadHandle< xAOD::MuonContainer > &muons, std::vector< const xAOD::Muon * > &probes) const override
Function that defines the event selection for anlayses Users should reimlement in a subclass if neede...
Definition: TrigMuonEfficiencyMon.cxx:40
TrigMuonEfficiencyMon::m_monitored_chains_threshold
Gaudi::Property< std::vector< double > > m_monitored_chains_threshold
Definition: TrigMuonEfficiencyMon.h:38
TrigMuonEfficiencyMon::TrigMuonEfficiencyMon
TrigMuonEfficiencyMon(const std::string &name, ISvcLocator *pSvcLocator)
Definition: TrigMuonEfficiencyMon.cxx:10
xAOD::Muon_v1
Class describing a Muon.
Definition: Muon_v1.h:38
TrigMuonEfficiencyMon::m_doEFCBFS
Gaudi::Property< bool > m_doEFCBFS
Definition: TrigMuonEfficiencyMon.h:46
TrigMuonEfficiencyMon::m_l1seeds
std::map< std::string, std::string > m_l1seeds
Definition: TrigMuonEfficiencyMon.h:53
TrigMuonEfficiencyMon::m_event_trigger
Gaudi::Property< std::string > m_event_trigger
Definition: TrigMuonEfficiencyMon.h:35
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
TrigMuonEfficiencyMon::m_doEFCB
Gaudi::Property< bool > m_doEFCB
Definition: TrigMuonEfficiencyMon.h:43
TrigMuonEfficiencyMon::initialize
virtual StatusCode initialize() override
initialize
Definition: TrigMuonEfficiencyMon.cxx:15
TrigMuonEfficiencyMon::m_mass_lowlim
Gaudi::Property< double > m_mass_lowlim
Definition: TrigMuonEfficiencyMon.h:49
TrigMuonEfficiencyMon::selectEvents
virtual bool selectEvents() const override
Function that defines the event selection for anlayses User should reimlement in a subclass if needed...
Definition: TrigMuonEfficiencyMon.cxx:33
TrigMuonMonitorAlgorithm
Base class from which analyzers can define a derived class to do specific analysis.
Definition: TrigMuonMonitorAlgorithm.h:22
TrigMuonEfficiencyMon::fillVariablesPerOfflineMuonPerChain
virtual StatusCode fillVariablesPerOfflineMuonPerChain(const EventContext &ctx, const xAOD::Muon *mu, const std::string &chain) const override
Function that fills variables of trigger objects associated to specified trigger chains comparing off...
Definition: TrigMuonEfficiencyMon.cxx:55
TrigMuonEfficiencyMon::selectMuonsTagAndProbe
StatusCode selectMuonsTagAndProbe(SG::ReadHandle< xAOD::MuonContainer > &muons, std::vector< const xAOD::Muon * > &probes) const
Definition: TrigMuonEfficiencyMon.cxx:180
MuonMatchingTool
Class that provides functionalities for searching for online muons close to a given offline muon and ...
Definition: MuonMatchingTool.h:28
TrigMuonEfficiencyMon::m_doL2SA
Gaudi::Property< bool > m_doL2SA
Definition: TrigMuonEfficiencyMon.h:40
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
TrigMuonEfficiencyMon::m_doEFSA
Gaudi::Property< bool > m_doEFSA
Definition: TrigMuonEfficiencyMon.h:42
TrigMuonEfficiencyMon::m_doEFSAFS
Gaudi::Property< bool > m_doEFSAFS
Definition: TrigMuonEfficiencyMon.h:45
TrigMuonEfficiencyMon::m_BarrelOnly
Gaudi::Property< bool > m_BarrelOnly
Definition: TrigMuonEfficiencyMon.h:47
TrigMuonEfficiencyMon::m_use_extrapolator
Gaudi::Property< bool > m_use_extrapolator
Definition: TrigMuonEfficiencyMon.h:48
TrigMuonEfficiencyMon::m_doL1
Gaudi::Property< bool > m_doL1
Definition: TrigMuonEfficiencyMon.h:39
TrigMuonEfficiencyMon::m_tag_trig
Gaudi::Property< std::string > m_tag_trig
Definition: TrigMuonEfficiencyMon.h:36
CaloNoise_fillDB.mu
mu
Definition: CaloNoise_fillDB.py:53
TrigMuonEfficiencyMon::m_thresholds
std::map< std::string, double > m_thresholds
Definition: TrigMuonEfficiencyMon.h:54