 |
Belle II Software
release-05-02-19
|
11 #include <svd/modules/svdReconstruction/SVDMissingAPVsClusterCreatorModule.h>
13 #include <framework/datastore/DataStore.h>
14 #include <framework/logging/Logger.h>
16 #include <vxd/geometry/GeoCache.h>
17 #include <svd/geometry/SensorInfo.h>
35 SVDMissingAPVsClusterCreatorModule::SVDMissingAPVsClusterCreatorModule()
37 , m_mapping(m_xmlFileName)
40 setDescription(
"This module produces clusters in the middle of a region read by a disabled APV. It can be run only after the SVDSimpleClusterizer because it does not register the SVDClusters StoreArray in the DataStore, but only add clusters.");
44 "SVDCluster collection name",
string(
""));
53 addParam(
"nFakeClusters",
m_nFakeClusters,
"number of fake clusters equally distributed in the dead area",
int(4));
61 m_map->prepareListOfMissingAPVs();
62 B2DEBUG(29,
" found a total of " <<
m_map->getNumberOfMissingAPVs() <<
" missing APVs in the channel mapping");
77 B2DEBUG(1,
"SVDMissingAPVsClusterCreator Parameters (in default system unit, *=cannot be set directly):");
79 B2DEBUG(1,
" 1. COLLECTIONS:");
90 for (
int nAPV = 0; nAPV <
m_map->getNumberOfMissingAPVs(); nAPV++) {
100 double pitch = isU ? info.getUPitch(0) : info.getVPitch(0);
102 float halfChip_position = isU ? info.getUCellPosition(floatingStrip) : info.getVCellPosition(floatingStrip);
103 const int Nstrips = 128;
104 float positionError = Nstrips * pitch / sqrt(12);
118 float chip_halfWidth = pitch * Nstrips / 2;
119 float firstStrip_position = halfChip_position - chip_halfWidth;
122 float fakeCluster_position = firstStrip_position + fakeCluster_width / 2;
125 sensorID, isU, fakeCluster_position, positionError, time, timeError, charge, seedCharge, size, SNR,
m_firstFrame
129 fakeCluster_position = fakeCluster_position + fakeCluster_width;
131 sensorID, isU, fakeCluster_position, positionError, time, timeError, charge, seedCharge, size, SNR,
m_firstFrame
T * appendNew()
Construct a new T object at the end of the array.
bool hasChanged()
Check whether the object has changed since the last call to hasChanged of the accessor).
static std::string m_xmlFileName
< channel mapping xml filename
Class to uniquely identify a any structure of the PXD and SVD.
int m_size
size of the cluster
void setDescription(const std::string &description)
Sets the description of the module.
float m_timeError
time error of the cluster, in ns
#define REG_MODULE(moduleName)
Register the given module (without 'Module' suffix) with the framework.
@ c_ParallelProcessingCertified
This module can be run in parallel processing mode safely (All I/O must be done through the data stor...
std::string m_storeClustersName
name of the collection to use for the SVDClusters
float m_SNR
SNR of the cluster.
Base class to provide Sensor Information for PXD and SVD.
VxdID m_sensorID
Sensor ID.
bool m_isUSide
True if u-side of the sensor.
DBObjPtr< PayloadFile > m_mapping
channel mapping payload
float m_seedCharge
seed charge of the cluster, in e-
std::unique_ptr< SVDOnlineToOfflineMap > m_map
channel mapping map
float m_halfStrip
floating strip in the middle of the APV
void setPropertyFlags(unsigned int propertyFlags)
Sets the flags for the module properties.
struct to hold missing APVs informations
static GeoCache & getInstance()
Return a reference to the singleton instance.
Abstract base class for different kinds of events.
int m_firstFrame
first frame
Namespace to encapsulate code needed for simulation and reconstrucion of the SVD.
virtual void event() override
do the clustering
float m_charge
total charge of the cluster, in e-
float m_time
time of the cluster, in ns
StoreArray< SVDCluster > m_storeClusters
Collection of SVDClusters.
The SVD Cluster class This class stores all information about reconstructed SVD clusters.
void addParam(const std::string &name, T ¶mVariable, const std::string &description, const T &defaultValue)
Adds a new parameter to the module.
Class to faciliate easy access to sensor information of the VXD like coordinate transformations or pi...
const SensorInfoBase & getSensorInfo(Belle2::VxdID id) const
Return a referecne to the SensorInfo of a given SensorID.
virtual void initialize() override
Initialize the module.
virtual void beginRun() override
check if channel mapping is changed
int getEntries() const
Get the number of objects in the array.
int m_nFakeClusters
number of fake clusters