9 #include <pxd/modules/pxdReconstruction/PXDClusterPropFilterModule.h>
27 setDescription(
"The module produce a StoreArray of PXDClusters with specific cuts on properties.");
30 addParam(
"PXDClustersName", m_PXDClustersName,
"The name of the StoreArray of PXDClusters to be filtered", std::string(
""));
31 addParam(
"PXDClustersInsideCutsName", m_PXDClustersInsideCutsName,
"The name of the StoreArray of Filtered PXDClusters inside cuts",
32 std::string(
"PXDClustersIN"));
33 addParam(
"PXDClustersOutsideCutsName", m_PXDClustersOutsideCutsName,
34 "The name of the StoreArray of Filtered PXDClusters outside cuts",
35 std::string(
"PXDClustersOUT"));
36 addParam(
"CreateInside", m_CreateInside,
"Create the StoreArray of PXD clusters inside of cuts",
true);
37 addParam(
"CreateOutside", m_CreateOutside,
"Create the StoreArray of PXD clusters outside of cuts",
false);
39 addParam(
"minCharge", m_minCharge ,
"minimum charge, including value", 0.0);
40 addParam(
"maxCharge", m_maxCharge ,
"maximum charge, excluding value", 9999.0);
41 addParam(
"minSize", m_minSize ,
"minimum size, including value", 1);
42 addParam(
"maxSize", m_maxSize ,
"maximum size, excluding value", 99);
53 m_selectorIN.registerSubset(PXDClusters, m_PXDClustersInsideCutsName);
54 m_selectorIN.inheritAllRelations();
56 if (m_CreateOutside) {
57 m_selectorOUT.registerSubset(PXDClusters, m_PXDClustersOutsideCutsName);
58 m_selectorOUT.inheritAllRelations();
64 return cluster.getSize() >= m_minSize && cluster.getSize() < m_maxSize &&
65 cluster.getCharge() >= m_minCharge && cluster.getCharge() < m_maxCharge;
74 m_selectorIN.select([
this](
const PXDCluster * thePxdCluster) {
75 return CheckCuts(*thePxdCluster);
79 if (m_CreateOutside) {
80 m_selectorOUT.select([
this](
const PXDCluster * thePxdCluster) {
81 return ! CheckCuts(*thePxdCluster);
The module produce a StoreArray of PXDCluster with specific properties.
void initialize() override final
Initialize the Module.
bool CheckCuts(const PXDCluster &thePXDCluster)
the actual check for cluster properties
void event() override final
This method is the core of the module.
The PXD Cluster class This class stores all information about reconstructed PXD clusters The position...
bool isRequired(const std::string &name="")
Ensure this array/object has been registered previously.
#define REG_MODULE(moduleName)
Register the given module (without 'Module' suffix) with the framework.
Abstract base class for different kinds of events.