ATLAS Offline Software
ChargeSelectorAlg.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 
7 #ifndef EVENT_SELECTOR_CHARGESELECTORALG_H
8 #define EVENT_SELECTOR_CHARGESELECTORALG_H
9 
10 // Algorithm includes
18 
19 // Framework includes
21 #include <xAODMuon/MuonContainer.h>
24 
25 namespace CP {
26 
29 
30  class ChargeSelectorAlg final : public EL::AnaAlgorithm {
31 
32  public:
34  ChargeSelectorAlg(const std::string &name, ISvcLocator *pSvcLocator);
35  virtual StatusCode initialize() override;
36  virtual StatusCode execute() override;
37 
38  private:
39 
41  Gaudi::Property<bool> m_OSmode {this, "OS", true, "whether to request 2 opposite-sign leptons"};
42 
45 
48  this, "electrons", "", "the electron container to use"
49  };
50 
53  this, "electronSelection", "", "the selection on the input electrons"
54  };
55 
58  this, "muons", "", "the muon container to use"
59  };
60 
63  this, "muonSelection", "", "the selection on the input muons"
64  };
65 
68  this, "truthElectrons", "", "the truth electron container to use"
69  };
70 
73  this, "truthElectronSelection", "", "the selection on the input truth electrons"
74  };
75 
78  this, "truthMuons", "", "the truth muon container to use"
79  };
80 
83  this, "truthMuonSelection", "", "the selection on the input muons"
84  };
85 
88  this, "eventInfo", "EventInfo", "the EventInfo container to read selection decisions from"
89  };
90 
93  this, "eventPreselection", "SetMe", "name of the preselection to check before applying this one"
94  };
95 
98  this, "decorationName", "SetMe", "decoration name for the MLL selector"
99  };
100 
101  }; // class
102 } // namespace CP
103 
104 #endif // EVENT_SELECTOR_CHARGESELECTORALG_H
CP::ChargeSelectorAlg::m_electronsHandle
CP::SysReadHandle< xAOD::ElectronContainer > m_electronsHandle
the electron input handle
Definition: ChargeSelectorAlg.h:47
PropertyWrapper.h
CP::SysListHandle
a class managing the property to configure the list of systematics to process
Definition: SysListHandle.h:33
SysWriteDecorHandle.h
SysWriteSelectionHandle.h
TruthParticleContainer.h
CP::ChargeSelectorAlg::initialize
virtual StatusCode initialize() override
Definition: ChargeSelectorAlg.cxx:15
CP::ChargeSelectorAlg::m_muonsTruthHandle
CP::SysReadHandle< xAOD::TruthParticleContainer > m_muonsTruthHandle
the truth muon input handle
Definition: ChargeSelectorAlg.h:77
CP::SysReadHandle< xAOD::ElectronContainer >
CP
Select isolated Photons, Electrons and Muons.
Definition: Control/xAODRootAccess/xAODRootAccess/TEvent.h:48
SysReadHandle.h
CP::ChargeSelectorAlg::m_electronSelection
CP::SysReadSelectionHandle m_electronSelection
the electron selection handle
Definition: ChargeSelectorAlg.h:52
CP::ChargeSelectorAlg::m_muonsHandle
CP::SysReadHandle< xAOD::MuonContainer > m_muonsHandle
the muon input handle
Definition: ChargeSelectorAlg.h:57
AnaAlgorithm.h
CP::ChargeSelectorAlg::m_preselection
CP::SysReadSelectionHandle m_preselection
the preselection
Definition: ChargeSelectorAlg.h:92
EL::AnaAlgorithm
the (new) base class for EventLoop algorithms
Definition: AnaAlgorithm.h:73
CP::ChargeSelectorAlg::ChargeSelectorAlg
ChargeSelectorAlg(const std::string &name, ISvcLocator *pSvcLocator)
the standard constructor
Definition: ChargeSelectorAlg.cxx:11
ElectronContainer.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
CP::ChargeSelectorAlg::execute
virtual StatusCode execute() override
Definition: ChargeSelectorAlg.cxx:33
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
SysReadSelectionHandle.h
CP::ChargeSelectorAlg::m_decoration
CP::SysWriteSelectionHandle m_decoration
the output decoration handle
Definition: ChargeSelectorAlg.h:97
EventInfo.h
MuonContainer.h
CP::ChargeSelectorAlg::m_eventInfoHandle
CP::SysReadHandle< xAOD::EventInfo > m_eventInfoHandle
the event info handle
Definition: ChargeSelectorAlg.h:87
CP::ChargeSelectorAlg::m_muonSelection
CP::SysReadSelectionHandle m_muonSelection
the muon selection handle
Definition: ChargeSelectorAlg.h:62
CP::ChargeSelectorAlg::m_OSmode
Gaudi::Property< bool > m_OSmode
whether or not to select 2 opposite-sign leptons
Definition: ChargeSelectorAlg.h:41
SysReadDecorHandle.h
CP::SysReadSelectionHandle
a data handle for reading systematically varied selection properties from objects
Definition: SysReadSelectionHandle.h:32
CP::ChargeSelectorAlg::m_electronTruthSelection
CP::SysReadSelectionHandle m_electronTruthSelection
the truth electron selection handle
Definition: ChargeSelectorAlg.h:72
CP::ChargeSelectorAlg::m_muonTruthSelection
CP::SysReadSelectionHandle m_muonTruthSelection
the truth muon selection handle
Definition: ChargeSelectorAlg.h:82
CP::ChargeSelectorAlg::m_electronsTruthHandle
CP::SysReadHandle< xAOD::TruthParticleContainer > m_electronsTruthHandle
the truth electron input handle
Definition: ChargeSelectorAlg.h:67
CP::ChargeSelectorAlg
an algorithm that selects an event if the event has leptons with opposite sign or same sign
Definition: ChargeSelectorAlg.h:30
CP::SysWriteSelectionHandle
a data handle for writing systematically varied selection properties from objects
Definition: SysWriteSelectionHandle.h:32
CP::ChargeSelectorAlg::m_systematicsList
CP::SysListHandle m_systematicsList
the systematics list
Definition: ChargeSelectorAlg.h:44