10#include <background/modules/BGOverlayExecutor/BGOverlayExecutorModule.h>
13#include <framework/datastore/StoreObjPtr.h>
16#include <framework/logging/Logger.h>
19#include <pxd/dataobjects/PXDDigit.h>
20#include <svd/dataobjects/SVDShaperDigit.h>
21#include <cdc/dataobjects/CDCHit.h>
22#include <top/dataobjects/TOPDigit.h>
23#include <arich/dataobjects/ARICHDigit.h>
24#include <klm/dataobjects/KLMDigit.h>
25#include <framework/dataobjects/BackgroundInfo.h>
44 setDescription(
"Overlay of measured background with simulated data");
50 "name of PXD collection to overlay with BG",
string(
""));
52 "name of SVD collection to overlay with BG",
string(
""));
54 "name of CDC collection to overlay with BG",
string(
""));
56 "name of TOP collection to overlay with BG",
string(
""));
58 "name of ARICH collection to overlay with BG",
string(
""));
60 "name of KLM collection to overlay with BG",
string(
""));
62 "Detector components to be included in overlay (empty list means all)",
m_components);
74 B2ERROR(
"BGOverlayExecutor: no BGOverlayInput module in the path");
77 B2ERROR(
"BGOverlayExecutor: no BGOverlayInput module in the path");
98 if (component ==
"PXD")
m_addPXD =
true;
99 else if (component ==
"SVD")
m_addSVD =
true;
100 else if (component ==
"CDC")
m_addCDC =
true;
101 else if (component ==
"TOP")
m_addTOP =
true;
102 else if (component ==
"ARICH")
m_addARICH =
true;
103 else if (component ==
"ECL")
continue;
104 else if (component ==
"KLM")
m_addKLM =
true;
105 else B2ERROR(
"Unknown detector component '" << component <<
"'");
std::string m_CDCHitsName
name of CDC collection to overlay with BG
std::string m_KLMDigitsName
name of KLM collection to overlay with BG
bool m_addCDC
if true add BG digits of CDC
std::vector< std::string > m_components
detector components included in overlay
std::string m_BackgroundInfoInstanceName
name BackgroundInfo name
bool m_addKLM
if true add BG digits of KLM
virtual void initialize() override
Initialize the Module.
virtual void event() override
Event processor.
bool m_addSVD
if true add BG digits of SVD
std::string m_ARICHDigitsName
name of ARICH collection to overlay with BG
bool m_addTOP
if true add BG digits of TOP
std::string m_extensionName
name added to default branch names
bool m_addPXD
if true add BG digits of PXD
BGOverlayExecutorModule()
Constructor.
std::string m_TOPDigitsName
name of TOP collection to overlay with BG
bool m_addARICH
if true add BG digits of ARICH
std::string m_PXDDigitsName
name of PXD collection to overlay with BG
std::string m_SVDShaperDigitsName
name of SVD collection to overlay with BG
@ c_Persistent
Object is available during entire execution time.
void setDescription(const std::string &description)
Sets the description of the module.
void setPropertyFlags(unsigned int propertyFlags)
Sets the flags for the module properties.
@ c_ParallelProcessingCertified
This module can be run in parallel processing mode safely (All I/O must be done through the data stor...
Type-safe access to single objects in the data store.
bool isValid() const
Check whether the object was created.
void addParam(const std::string &name, T ¶mVariable, const std::string &description, const T &defaultValue)
Adds a new parameter to the module.
#define REG_MODULE(moduleName)
Register the given module (without 'Module' suffix) with the framework.
Abstract base class for different kinds of events.