ATLAS Offline Software
MuonFilter.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
7 MuonFilter::MuonFilter(const std::string& name, ISvcLocator* pSvcLocator)
8  : GenFilter(name,pSvcLocator)
9 {
10  declareProperty("Ptcut",m_Ptmin = 10000.);
11  declareProperty("Etacut",m_EtaRange = 10.0);
12 }
13 
14 
17  for (itr = events()->begin(); itr!=events()->end(); ++itr) {
18  const HepMC::GenEvent* genEvt = (*itr);
19  for (const auto& pitr: *genEvt){
20  if (!MC::isStable(pitr) || !MC::isMuon(pitr)) continue;
21  if (pitr->momentum().perp() < m_Ptmin || std::abs(pitr->momentum().pseudoRapidity()) > m_EtaRange) continue;
22  return StatusCode::SUCCESS;
23  }
24  }
25  setFilterPassed(false);
26  return StatusCode::SUCCESS;
27 }
DataModel_detail::const_iterator
Const iterator class for DataVector/DataList.
Definition: DVLIterator.h:82
MuonFilter::MuonFilter
MuonFilter(const std::string &name, ISvcLocator *pSvcLocator)
Definition: MuonFilter.cxx:7
AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
PlotCalibFromCool.begin
begin
Definition: PlotCalibFromCool.py:94
python.DataFormatRates.events
events
Definition: DataFormatRates.py:105
GenFilter
Base class for event generator filtering modules.
Definition: GenFilter.h:30
MuonFilter::filterEvent
virtual StatusCode filterEvent()
Definition: MuonFilter.cxx:15
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
MuonFilter::m_Ptmin
double m_Ptmin
Definition: MuonFilter.h:21
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
MC::isStable
bool isStable(const T &p)
Definition: HepMCHelpers.h:30
MuonFilter::m_EtaRange
double m_EtaRange
Definition: MuonFilter.h:22
MuonFilter.h
HepMCHelpers.h
isMuon
bool isMuon(const T &p)
Definition: AtlasPID.h:145