ATLAS Offline Software
Loading...
Searching...
No Matches
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
12
13/*
14This is a class for monitoring efficiency.
15Analyzers 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
Class that provides functionalities for searching for online muons close to a given offline muon and ...
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...
std::map< std::string, double > m_thresholds
Gaudi::Property< bool > m_doEFIso
std::map< std::string, std::string > m_l1seeds
TrigMuonEfficiencyMon(const std::string &name, ISvcLocator *pSvcLocator)
Gaudi::Property< std::vector< std::string > > m_monitored_chains_L1
Gaudi::Property< std::vector< double > > m_monitored_chains_threshold
StatusCode selectMuonsTagAndProbe(SG::ReadHandle< xAOD::MuonContainer > &muons, std::vector< const xAOD::Muon * > &probes) const
Gaudi::Property< std::string > m_tag_trig
Gaudi::Property< bool > m_doEFCBFS
Gaudi::Property< bool > m_doL1
virtual StatusCode initialize() override
initialize
Gaudi::Property< bool > m_doEFSAFS
Gaudi::Property< bool > m_doEFCB
Gaudi::Property< bool > m_doEFSA
Gaudi::Property< double > m_mass_lowlim
virtual bool selectEvents() const override
Function that defines the event selection for anlayses User should reimlement in a subclass if needed...
Gaudi::Property< bool > m_BarrelOnly
Gaudi::Property< double > m_mass_highlim
Gaudi::Property< std::string > m_eff_method
Gaudi::Property< bool > m_doL2SA
Gaudi::Property< std::string > m_event_trigger
Gaudi::Property< bool > m_use_extrapolator
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...
Gaudi::Property< bool > m_doL2CB
TrigMuonMonitorAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Muon_v1 Muon
Reference the current persistent version: