Belle II Software  release-05-02-19
ContinuumSuppressionBuilderModule.cc
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2013 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Pablo Goldenzweig *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #include <analysis/modules/ContinuumSuppressionBuilder/ContinuumSuppressionBuilderModule.h>
12 
13 #include <analysis/dataobjects/ParticleList.h>
14 #include <analysis/dataobjects/ContinuumSuppression.h>
15 
16 #include <framework/datastore/StoreArray.h>
17 #include <framework/datastore/StoreObjPtr.h>
18 
19 
20 #include <analysis/ContinuumSuppression/ContinuumSuppression.h>
21 
22 using namespace Belle2;
23 
24 //-----------------------------------------------------------------
25 // Register the Module
26 //-----------------------------------------------------------------
27 REG_MODULE(ContinuumSuppressionBuilder)
28 
29 //-----------------------------------------------------------------
30 // Implementation
31 //-----------------------------------------------------------------
32 
34 {
35  // Set module properties
36  setDescription("Creates for each Particle in the given ParticleLists a ContinuumSuppression dataobject and makes BASF2 relation between them.");
37 
38  // Parameter definitions
39  addParam("particleList", m_particleList, "Name of the ParticleList", std::string(""));
40 
41  addParam("ROEMask", m_ROEMask, "ROE mask", std::string(""));
42 
43 }
44 
46 {
47  // Input
49  StoreArray<Particle> particles;
50  particles.isRequired();
51 
52  // Output
54  csArray.registerInDataStore();
55  particles.registerRelationTo(csArray);
56 }
57 
59 {
60  // Input Particle
62 
63  for (unsigned i = 0; i < plist->getListSize(); i++) {
64  addContinuumSuppression(plist->getParticle(i), m_ROEMask); // pass the ROEMask to cs.cc here as a second argument.
65  }
66 }
67 
Belle2::ContinuumSuppressionBuilderModule::initialize
virtual void initialize() override
initialize the module (setup the data store)
Definition: ContinuumSuppressionBuilderModule.cc:45
REG_MODULE
#define REG_MODULE(moduleName)
Register the given module (without 'Module' suffix) with the framework.
Definition: Module.h:652
Belle2::Module
Base class for Modules.
Definition: Module.h:74
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::StoreObjPtr
Type-safe access to single objects in the data store.
Definition: ParticleList.h:33
Belle2::ContinuumSuppressionBuilderModule::m_particleList
std::string m_particleList
Name of the ParticleList.
Definition: ContinuumSuppressionBuilderModule.h:50
Belle2::StoreArray< Particle >
Belle2::ContinuumSuppressionBuilderModule::m_ROEMask
std::string m_ROEMask
ROE mask.
Definition: ContinuumSuppressionBuilderModule.h:51
Belle2::ContinuumSuppressionBuilderModule
Creates for each Particle in given ParticleList an ContinuumSuppression dataobject and makes BASF2 re...
Definition: ContinuumSuppressionBuilderModule.h:38
Belle2::ContinuumSuppressionBuilderModule::event
virtual void event() override
process event
Definition: ContinuumSuppressionBuilderModule.cc:58
Belle2::addContinuumSuppression
void addContinuumSuppression(const Particle *particle, const std::string &maskName)
Adds continuum suppression variables.
Definition: ContinuumSuppression.cc:33