ATLAS Offline Software
MultiParticleFilter.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 // --------------------------------------------------
6 //
7 // File: GeneratorFilters/MultiParticleFilter.h
8 // Description:
9 // Allows the user to search for Np particles with multiple statuses passing pT and Eta cuts.
10 // The particles are required to be listed in the vectors particlePDG[] and particleStatus[].
11 // The filter will search for these particles and if Np particles are found which fulfil these requirements and the kinematic cuts, the filter returns success,
12 // e.g., setting Np = 2, particlePDG = [23,24] with particleStatus = [23] and ptMinParticle = 10 in the jobOptions,
13 // will accepts events with at least two W/Z bosons with status=23 and pT > 10 GeV.
14 //
15 // AuthorList:
16 // Orel Gueta March 2014
17 
18 
19 #ifndef GENERATORFILTERSMULTIPARTICLEFILTER_H
20 #define GENERATORFILTERSMULTIPARTICLEFILTER_H
21 
23 
25 
26 public:
27  MultiParticleFilter(const std::string& name, ISvcLocator* pSvcLocator);
28  virtual ~MultiParticleFilter();
29  virtual StatusCode filterInitialize();
30  virtual StatusCode filterFinalize();
31  virtual StatusCode filterEvent();
32 
33 private:
34  // Setable Properties:
35 
36  // Local Member Data:
37  std::vector<int> m_particlePDG;
38  std::vector<int> m_particleStatus;
42  unsigned int m_Np;
43 
44  long m_total; // Total number of events tested
45  long m_passed; // Number of events passing cuts
46 
47  // Private Methods:
48 
49 };
50 
51 #endif
MultiParticleFilter::m_particlePDG
std::vector< int > m_particlePDG
Definition: MultiParticleFilter.h:37
MultiParticleFilter::~MultiParticleFilter
virtual ~MultiParticleFilter()
Definition: MultiParticleFilter.cxx:47
GenFilter.h
MultiParticleFilter::m_ptMaxParticle
double m_ptMaxParticle
Definition: MultiParticleFilter.h:40
MultiParticleFilter::m_total
long m_total
Definition: MultiParticleFilter.h:44
MultiParticleFilter::filterInitialize
virtual StatusCode filterInitialize()
Definition: MultiParticleFilter.cxx:53
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
MultiParticleFilter::MultiParticleFilter
MultiParticleFilter(const std::string &name, ISvcLocator *pSvcLocator)
Definition: MultiParticleFilter.cxx:31
MultiParticleFilter::filterFinalize
virtual StatusCode filterFinalize()
Definition: MultiParticleFilter.cxx:78
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
MultiParticleFilter::m_particleStatus
std::vector< int > m_particleStatus
Definition: MultiParticleFilter.h:38
MultiParticleFilter
Definition: MultiParticleFilter.py:1
MultiParticleFilter::filterEvent
virtual StatusCode filterEvent()
Definition: MultiParticleFilter.cxx:86
MultiParticleFilter::m_ptMinParticle
double m_ptMinParticle
Definition: MultiParticleFilter.h:39
MultiParticleFilter::m_etaRangeParticle
double m_etaRangeParticle
Definition: MultiParticleFilter.h:41
MultiParticleFilter::m_passed
long m_passed
Definition: MultiParticleFilter.h:45
MultiParticleFilter::m_Np
unsigned int m_Np
Definition: MultiParticleFilter.h:42