Belle II Software  release-05-02-19
RemoveMCParticlesModule.h
1 /**************************************************************************
2  * Belle II detector background library *
3  * Copyright(C) 2011-2012 Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Martin Ritter, Marko Petric *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 
13 #include <framework/core/Module.h>
14 #include <mdst/dataobjects/MCParticleGraph.h>
15 #include <string>
16 
17 namespace Belle2 {
31  class RemoveMCParticlesModule : public Module {
32 
33  public:
34 
40 
42  virtual ~RemoveMCParticlesModule() {}
43 
45  virtual void initialize() override;
46 
48  virtual void event() override;
49 
51  virtual void terminate() override;
52 
57  void applyCuts(const MCParticle& particle, bool cut = false);
58 
59  protected:
60  //Parameters
61  std::string m_particleList;
62  double m_minZ;
63  double m_maxZ;
64  double m_minR;
65  double m_maxR;
66  double m_minTheta;
67  double m_maxTheta;
68  double m_minPt;
69  double m_maxPt;
71  std::vector<int> m_pdgCodes;
74  };
75 
76 
78 } // end namespace Belle2
79 
80 
Belle2::RemoveMCParticlesModule::m_alsoChildren
bool m_alsoChildren
If true, also remove all children of a particle if it fails any cut.
Definition: RemoveMCParticlesModule.h:78
Belle2::MCParticleGraph
Class to build, validate and sort a particle decay chain.
Definition: MCParticleGraph.h:48
Belle2::RemoveMCParticlesModule::~RemoveMCParticlesModule
virtual ~RemoveMCParticlesModule()
Destructor.
Definition: RemoveMCParticlesModule.h:50
Belle2::RemoveMCParticlesModule::m_minZ
double m_minZ
Minimum Z value of particles to keep.
Definition: RemoveMCParticlesModule.h:70
Belle2::RemoveMCParticlesModule::terminate
virtual void terminate() override
Terminates the module.
Definition: RemoveMCParticlesModule.cc:140
Belle2::RemoveMCParticlesModule::m_minPt
double m_minPt
Minimum Pt value of particles to keep.
Definition: RemoveMCParticlesModule.h:76
Belle2::RemoveMCParticlesModule::m_mpg
MCParticleGraph m_mpg
ParticleGraph used for reformatting MCParticle collection.
Definition: RemoveMCParticlesModule.h:81
Belle2::RemoveMCParticlesModule::event
virtual void event() override
Method is called for each event.
Definition: RemoveMCParticlesModule.cc:89
Belle2::RemoveMCParticlesModule::m_maxTheta
double m_maxTheta
Maximum Theta value of particles to keep.
Definition: RemoveMCParticlesModule.h:75
Belle2::RemoveMCParticlesModule::RemoveMCParticlesModule
RemoveMCParticlesModule()
Constructor.
Definition: RemoveMCParticlesModule.cc:42
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::RemoveMCParticlesModule::applyCuts
void applyCuts(const MCParticle &particle, bool cut=false)
Apply cuts on a Particle and call for all daugthers recursively.
Definition: RemoveMCParticlesModule.cc:118
Belle2::RemoveMCParticlesModule::m_maxZ
double m_maxZ
Maximum Z value of particles to keep.
Definition: RemoveMCParticlesModule.h:71
Belle2::RemoveMCParticlesModule::m_minTheta
double m_minTheta
Minimum Theta value of particles to keep.
Definition: RemoveMCParticlesModule.h:74
Belle2::RemoveMCParticlesModule::m_minR
double m_minR
Minimum Rphi value of particles to keep.
Definition: RemoveMCParticlesModule.h:72
Belle2::RemoveMCParticlesModule::initialize
virtual void initialize() override
Initializes the module.
Definition: RemoveMCParticlesModule.cc:79
Belle2::RemoveMCParticlesModule::m_maxR
double m_maxR
Maximum Rphi value of particles to keep.
Definition: RemoveMCParticlesModule.h:73
Belle2::MCParticle
A Class to store the Monte Carlo particle information.
Definition: MCParticle.h:43
Belle2::RemoveMCParticlesModule::m_maxPt
double m_maxPt
Maximum Pt value of particles to keep.
Definition: RemoveMCParticlesModule.h:77
Belle2::RemoveMCParticlesModule::m_pdgCodes
std::vector< int > m_pdgCodes
List of pdgCodes wo apply cuts on.
Definition: RemoveMCParticlesModule.h:79
Belle2::RemoveMCParticlesModule::m_particleList
std::string m_particleList
Name of the MCParticle collection to work on.
Definition: RemoveMCParticlesModule.h:69