 |
Belle II Software
release-05-02-19
|
11 #include <svd/modules/svdPerformance/SVDClusterFilterModule.h>
12 #include <vxd/geometry/GeoCache.h>
13 #include <vxd/geometry/SensorInfoBase.h>
15 #include <framework/datastore/StoreArray.h>
31 B2DEBUG(1,
"Constructor");
33 setDescription(
"generates a new StoreArray from the input StoreArray which has all specified Clusters removed");
36 addParam(
"inputArrayName", m_inputArrayName,
"StoreArray with the input clusters", std::string(
"SVDClusters"));
37 addParam(
"outputINArrayName", m_outputINArrayName,
"StoreArray with the output clusters", std::string(
""));
38 addParam(
"outputOUTArrayName", m_outputOUTArrayName,
"StoreArray with the output clusters", std::string(
""));
39 addParam(
"layerNum", m_layerNum,
"layer number (0 -> no selection)",
int(0));
40 addParam(
"XShell", m_xShell,
"X-Shell ID (+1 -> +X, -1 -> -X, 0 -> both)",
int(0));
41 addParam(
"YShell", m_yShell,
"Y-Shell ID (+1 -> +Y, -1 -> -Y, 0 -> both)",
int(0));
42 addParam(
"minSNR", m_minClSNR,
"minimum cluster SNR",
float(0));
48 B2DEBUG(1,
"Destructor");
65 inputArray.isRequired();
84 B2DEBUG(1, std::endl <<
"NEW EVENT: " <<
m_layerNum << std::endl);
99 B2DEBUG(10,
"below SNR (OUT):" << aCluster->
getSNR());
101 if (aboveSNR && inVxdID)
105 return (inVxdID && aboveSNR);
120 B2DEBUG(10,
"above SNR (IN):" << aCluster->
getSNR());
122 if (!(aboveSNR && inVxdID))
124 " SNR = " << aCluster->
getSNR());
126 return (!(inVxdID && aboveSNR));
138 int currentLayer = layer.getLayerNumber();
140 bool layer_IN =
true;
145 for (
auto ladder : geoCache.getLadders(layer))
148 bool xShell_IN =
true;
149 bool yShell_IN =
true;
152 const TVector3 globPos = theSensorInfo.
pointToGlobal(TVector3(0, 0, 0));
159 if (!(layer_IN && xShell_IN && yShell_IN))
165 B2DEBUG(10,
"list of VxdID OUT:");
167 B2DEBUG(10, it->getLayerNumber() <<
"." << it->getLadderNumber() <<
"." << it->getSensorNumber());
virtual ~SVDClusterFilterModule()
if required
Class to uniquely identify a any structure of the PXD and SVD.
SelectSubset< SVDCluster > m_notSelectedClusters
all clusters on the layer with m_layerNum
virtual void event() override
processes the event
#define REG_MODULE(moduleName)
Register the given module (without 'Module' suffix) with the framework.
std::string m_inputArrayName
StoreArray with the input clusters.
int m_xShell
X shell identificator: +1(+X), -1 (-X), 0(both)
virtual void initialize() override
init the module
virtual void terminate() override
terminates the module
float m_minClSNR
minimum cluster SNR
baseType getLadderNumber() const
Get the ladder id.
Base class to provide Sensor Information for PXD and SVD.
float getSNR() const
Get cluster SNR.
std::set< VxdID > m_outVxdID
set containing the VxdID of the DUT sensors
generates a new StoreArray from the input StoreArray which has all specified Clusters removed
static GeoCache & getInstance()
Return a reference to the singleton instance.
Abstract base class for different kinds of events.
SelectSubset< SVDCluster > m_selectedClusters
all clusters NOT on the layer with m_layerNum
TVector3 pointToGlobal(const TVector3 &local, bool reco=false) const
Convert a point from local to global coordinates.
VxdID getSensorID() const
Get the sensor ID.
The SVD Cluster class This class stores all information about reconstructed SVD clusters.
Class to faciliate easy access to sensor information of the VXD like coordinate transformations or pi...
virtual void endRun() override
end the run
virtual void beginRun() override
initializes the module
baseType getLayerNumber() const
Get the layer id.
void create_outVxdID_set()
creates the set containing the VxdID of the DUT sensors
std::string m_outputOUTArrayName
StoreArray with the NOT selected output clusters.
int m_layerNum
the layer number from which the clusters should be excluded m_sensorID
std::string m_outputINArrayName
StoreArray with the selectd output clusters.
int m_yShell
Y shell identificator: +1(+Y), -1 (-Y), 0(both)