Belle II Software development
VXDSimpleClusterizerModule.h
1/**************************************************************************
2 * basf2 (Belle II Analysis Software Framework) *
3 * Author: The Belle II Collaboration *
4 * *
5 * See git log for contributors and copyright holders. *
6 * This file is licensed under LGPL-3.0, see LICENSE.md. *
7 **************************************************************************/
8
9#pragma once
10
11
12#include <framework/core/Module.h>
13#include <framework/datastore/StoreArray.h>
14
15#include <mdst/dataobjects/MCParticle.h>
16
17#include <pxd/dataobjects/PXDTrueHit.h>
18#include <svd/dataobjects/SVDTrueHit.h>
19#include <pxd/dataobjects/PXDCluster.h>
20#include <svd/dataobjects/SVDCluster.h>
21
22namespace Belle2 {
33
34 public:
35
42
46 void initialize() override;
47
50 void beginRun() override;
51
55 void event() override;
56
59 void endRun() override;
60
63 {
68 }
69
70 protected:
71 std::string m_pxdTrueHitsName;
74 std::string m_svdTrueHitsName;
77 std::string m_mcParticlesName;
80 std::string m_pxdClustersName;
83 std::string m_svdClustersName;
91 double m_uniSigma;
98 };
100} // end namespace Belle2
Base class for Modules.
Definition: Module.h:72
Accessor to arrays stored in the data store.
Definition: StoreArray.h:113
Module to convert TrueHits into Clusters using a simplified process.
std::string m_svdTrueHitsName
SVDTrueHit collection name.
std::string m_svdClustersName
SVDCluster collection name.
int m_fakePXDHitCtr
counts PXDHits which were not caused by a primary partice
double m_energyThreshold
set energy threshold for PXDClusters in GeV (standard is 7E-6)
double m_energyThresholdV
set energy threshold for SVDClusters in v-direction in GeV (standard is 28.6E-6)
StoreArray< SVDTrueHit > m_svdTrueHits
the storeArray for svdTrueHits as member, is faster than recreating link for each event
StoreArray< PXDTrueHit > m_pxdTrueHits
the storeArray for pxdTrueHits as member, is faster than recreating link for each event
void initialize() override
Initialize the Module.
double m_uniSigma
you can define the sigma of the smearing.
std::string m_mcParticlesName
MCParticle collection name.
StoreArray< SVDCluster > m_svdClusters
the storeArray for svdClusters as member, is faster than recreating link for each event
void event() override
This method is the core of the module.
void endRun() override
This method is called if the current run ends.
int m_weakPXDHitCtr
counts PXDHits whose energy deposit is lower than energyThreshold
int m_weakSVDHitCtr
counts SVDHits whose energy deposit is lower than energyThreshold
std::string m_pxdClustersName
PXDCluster collection name.
double m_setMeasSigma
if positive value (in cm) is given it will be used as the sigma to smear the Clusters otherwise pitch...
void beginRun() override
Called when entering a new run.
void InitializeVariables()
initialize variables to avoid nondeterministic behavior
std::string m_pxdTrueHitsName
PXDTrueHit collection name.
StoreArray< PXDCluster > m_pxdClusters
the storeArray for pxdClusters as member, is faster than recreating link for each event
StoreArray< MCParticle > m_mcParticles
the storeArray for mcParticles as member, is faster than recreating link for each event
bool m_onlyPrimaries
set True if you do not want to have hits by secondary particles
VXDSimpleClusterizerModule()
Constructor of the module.
int m_fakeSVDHitCtr
counts SVDHits which were not caused by a primary partice
double m_energyThresholdU
set energy threshold for SVDClusters in u-direction in GeV (standard is 17.4E-6)
Abstract base class for different kinds of events.