![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
Go to the documentation of this file.
12 :
EL::AnaAlgorithm(
name, pSvcLocator)
30 return StatusCode::SUCCESS;
63 bool decision =
false;
67 for (
size_t i = 0;
i <
electrons->size() - 1 && !decision; ++
i) {
70 for (
size_t j =
i + 1; j <
electrons->size() && !decision; ++j) {
73 if (firstElectron->
charge() != secondElectron->
charge()){
74 float mll = (firstElectron->
p4() + secondElectron->
p4()).M();
75 decision |= (mll < m_mll_upper && mll >
m_mll_lower);
84 if (!decision && muons->
size() >= 2) {
85 for (
size_t i = 0;
i < muons->
size() - 1 && !decision; ++
i) {
88 for (
size_t j =
i + 1; j < muons->
size() && !decision; ++j) {
92 float mll = (firstMuon->
p4() + secondMuon->
p4()).M();
93 decision |= (mll < m_mll_upper && mll >
m_mll_lower);
102 if (truthElectrons->
size() >= 2) {
103 for (
size_t i = 0;
i < truthElectrons->
size() - 1 && !decision; ++
i) {
106 for (
size_t j =
i + 1; j < truthElectrons->
size() && !decision; ++j) {
109 if (firstElectron->
charge() != secondElectron->
charge()){
110 float mll = (firstElectron->
p4() + secondElectron->
p4()).M();
111 decision |= (mll < m_mll_upper && mll >
m_mll_lower);
120 if (!decision && truthMuons->
size() >= 2) {
121 for (
size_t i = 0;
i < truthMuons->
size() - 1 && !decision; ++
i) {
124 for (
size_t j =
i + 1; j < truthMuons->
size() && !decision; ++j) {
128 float mll = (firstMuon->
p4() + secondMuon->
p4()).M();
129 decision |= (mll < m_mll_upper && mll >
m_mll_lower);
138 if (
m_veto) decision = !decision;
142 return StatusCode::SUCCESS;
float charge() const
Obtain the charge of the object.
virtual FourMom_t p4() const
The full 4-momentum of the particle.
CP::SysReadSelectionHandle m_muonSelection
Gaudi::Property< bool > m_veto
whether to veto events instead of selecting them
virtual FourMom_t p4() const override final
The full 4-momentum of the particle as a TLoretzVector.
DileptonOSSFInvariantMassWindowSelectorAlg(const std::string &name, ISvcLocator *pSvcLocator)
the standard constructor
::StatusCode retrieve(const T *&object, const CP::SystematicSet &sys) const
retrieve the object for the given name
const std::vector< CP::SystematicSet > & systematicsVector() const
the list of systematics to loop over
CP::SysReadSelectionHandle m_muonTruthSelection
Select isolated Photons, Electrons and Muons.
void setBool(const SG::AuxElement &element, bool selection, const CP::SystematicSet &sys) const
set the selection decoration
CP::SysReadHandle< xAOD::MuonContainer > m_muonsHandle
CP::SysReadHandle< xAOD::TruthParticleContainer > m_muonsTruthHandle
CP::SysListHandle m_systematicsList
StatusCode initialize(SysListHandle &sysListHandle)
initialize this handle
CP::SysReadHandle< xAOD::ElectronContainer > m_electronsHandle
CP::SysReadSelectionHandle m_preselection
::StatusCode initialize()
intialize this property
bool getBool(const SG::AuxElement &element, const CP::SystematicSet &sys) const
get the selection as a bool
CP::SysReadSelectionHandle m_electronSelection
::StatusCode StatusCode
StatusCode definition for legacy code.
Class describing a truth particle in the MC record.
This module defines the arguments passed from the BATCH driver to the BATCH worker.
virtual StatusCode execute() override
CP::SysReadSelectionHandle m_electronTruthSelection
Gaudi::Property< float > m_mll_lower
Class describing the basic event information.
CP::SysReadHandle< xAOD::EventInfo > m_eventInfoHandle
StatusCode initialize(SysListHandle &sysListHandle, const ISysHandleBase &objectHandle)
initialize the accessor
virtual StatusCode initialize() override
CP::SysWriteSelectionHandle m_decoration
virtual FourMom_t p4() const override final
The full 4-momentum of the particle.
size_type size() const noexcept
Returns the number of elements in the collection.
CP::SysReadHandle< xAOD::TruthParticleContainer > m_electronsTruthHandle
double charge() const
Physical charge.
StatusCode initialize(SysListHandle &sysListHandle, const ISysHandleBase &objectHandle)
initialize the accessor