ATLAS Offline Software
xAODMultiElectronFilter.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
9 
10 
11 
12 
13 xAODMultiElectronFilter::xAODMultiElectronFilter(const std::string& name, ISvcLocator* pSvcLocator)
14 : GenFilter(name,pSvcLocator)
15 {
16  declareProperty("Ptcut",m_ptmin = 10000.);
17  declareProperty("Etacut",m_etaRange = 10.0);
18  declareProperty("NElectrons",m_nElectrons = 2);
19 }
21  // Retrieve TruthElectron container
22  const xAOD::TruthParticleContainer* xTruthParticleContainer;
23  ATH_CHECK(evtStore()->retrieve(xTruthParticleContainer, "TruthElectrons"));
24  int numElectrons = 0;
25 
26  for (auto *part: *xTruthParticleContainer) {
27  if( part->pt()>= m_ptmin && part->abseta() <= m_etaRange )
28  {
29  numElectrons++;
30  if (numElectrons >= m_nElectrons)
31  {
32  setFilterPassed(true);
33  return StatusCode::SUCCESS;
34  }
35  }
36  }
37 
38 
39  setFilterPassed(false);
40  return StatusCode::SUCCESS;
41 }
LArG4FSStartPointFilter.part
part
Definition: LArG4FSStartPointFilter.py:21
python.PyKernel.retrieve
def retrieve(aClass, aKey=None)
Definition: PyKernel.py:110
xAODMultiElectronFilter::xAODMultiElectronFilter
xAODMultiElectronFilter(const std::string &name, ISvcLocator *pSvcLocator)
Definition: xAODMultiElectronFilter.cxx:13
AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
TruthParticleContainer.h
xAODMultiElectronFilter::m_ptmin
double m_ptmin
Definition: xAODMultiElectronFilter.h:18
TruthParticleAuxContainer.h
AthCommonDataStore< AthCommonMsg< Algorithm > >::evtStore
ServiceHandle< StoreGateSvc > & evtStore()
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
Definition: AthCommonDataStore.h:85
xAODMultiElectronFilter::m_etaRange
double m_etaRange
Definition: xAODMultiElectronFilter.h:19
GenFilter
Base class for event generator filtering modules.
Definition: GenFilter.h:30
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
xAODMultiElectronFilter::filterEvent
virtual StatusCode filterEvent()
Definition: xAODMultiElectronFilter.cxx:20
xAODMultiElectronFilter::m_nElectrons
int m_nElectrons
Definition: xAODMultiElectronFilter.h:20
TruthParticle.h
xAODMultiElectronFilter.h