Belle II Software  release-08-01-10
ParticleSelectorModule.h
1 /**************************************************************************
2  * basf2 (Belle II Analysis Software Framework) *
3  * Author: The Belle II Collaboration *
4  * *
5  * See git log for contributors and copyright holders. *
6  * This file is licensed under LGPL-3.0, see LICENSE.md. *
7  **************************************************************************/
8 
9 #pragma once
10 
11 #include <analysis/VariableManager/Utility.h>
12 #include <analysis/DecayDescriptor/DecayDescriptor.h>
13 #include <analysis/dataobjects/ParticleList.h>
14 
15 #include <framework/core/Module.h>
16 
17 // framework - DataStore
18 #include <framework/datastore/StoreObjPtr.h>
19 
20 #include <string>
21 #include <memory>
22 
23 namespace Belle2 {
36  class ParticleSelectorModule : public Module {
37 
38  public:
39 
44 
49  virtual void initialize() override;
50 
54  virtual void event() override;
55 
56  private:
57 
60  std::string m_decayString;
63  std::string m_listName;
65  std::string m_cutParameter;
66  std::unique_ptr<Variable::Cut> m_cut;
68  bool m_exceptionForGammaAll = false;
69  };
70 
72 } // Belle2 namespace
73 
The DecayDescriptor stores information about a decay tree or parts of a decay tree.
Base class for Modules.
Definition: Module.h:72
Loops over all Particles in the ParticleList and removes those Particles from the ParticleList that d...
virtual void initialize() override
Initialize the Module.
virtual void event() override
Event processor.
std::string m_decayString
Input DecayString specifying the particle being selected.
std::string m_listName
output particle list name
std::unique_ptr< Variable::Cut > m_cut
cut object which performs the cuts
bool m_exceptionForGammaAll
true if the particleList is gamma:all and cut is isFromECL
std::string m_cutParameter
selection criteria
DecayDescriptor m_decaydescriptor
Decay descriptor of the particle being selected.
StoreObjPtr< ParticleList > m_particleList
particle list
Type-safe access to single objects in the data store.
Definition: StoreObjPtr.h:96
Abstract base class for different kinds of events.