Belle II Software development
SVDSimpleClusterizerModule.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#include <framework/core/Module.h>
12#include <framework/datastore/StoreArray.h>
13
14#include <svd/reconstruction/SimpleClusterCandidate.h>
15
16#include <mdst/dataobjects/MCParticle.h>
17#include <svd/dataobjects/SVDRecoDigit.h>
18#include <svd/dataobjects/SVDCluster.h>
19#include <svd/dataobjects/SVDTrueHit.h>
20
21#include <svd/calibration/SVDPulseShapeCalibrations.h>
22#include <svd/calibration/SVDNoiseCalibrations.h>
23#include <svd/calibration/SVDClustering.h>
24#include <svd/calibration/SVDOldDefaultErrorScaleFactors.h>
25#include <svd/calibration/SVD3SampleCoGTimeCalibrations.h>
26#include <svd/calibration/SVD3SampleELSTimeCalibrations.h>
27
28namespace Belle2 {
34 namespace SVD {
35
41
42 public:
43
46
48 virtual void initialize() override;
49
51 virtual void event() override;
52
53 protected:
54
55
56 // Data members
57 //1. Collections and relations Names
78
87
88
89
90 // 2. Clustering
92 double m_cutSeed = 5;
94 double m_cutAdjacent = 3;
98 double m_cutCluster = 0;
100 bool m_useDB = true;
109 std::string m_svdEventInfoSet;
112
113 //calibration objects
122 void writeClusters(SimpleClusterCandidate clusterCand);
123 };//end class declaration
124
125
126 } //end SVD namespace;
128} // end namespace Belle2
Base class for Modules.
Definition: Module.h:72
This class defines the dbobject and the methods to access the SVD calibrations from the local runs pr...
This class defines the dbobject and the methods to access the SVD calibrations from the local runs pr...
This class defines the dbobject and the methods to access the calibration of the cluster reconstructi...
Definition: SVDClustering.h:29
This class defines the dbobject and the method to access SVD calibrations from the noise local runs.
This class defines the dbobject and the methods to access the scaling factors for the OldDefault posi...
This class defines the dbobject and the methods to access the SVD calibrations from the local runs pr...
SVDSimpleClusterizerModule: The SVD SimpleClusterizer.
std::string m_storeRecoDigitsName
Name of the collection to use for the SVDRecoDigits.
SVDOldDefaultErrorScaleFactors m_OldDefaultSF
SVDCluster calibrations db object.
StoreArray< SVDTrueHit > m_storeTrueHits
Collection of SVDTrueHits.
virtual void initialize() override
Initialize the module.
StoreArray< MCParticle > m_storeMCParticles
Collection of MCParticles.
std::string m_storeShaperDigitsName
Name of the collection to use for the SVDShaperDigits.
virtual void event() override
do the clustering
SVDSimpleClusterizerModule()
Constructor defining the parameters.
void writeClusters(SimpleClusterCandidate clusterCand)
write the cluster candidate to clusters
std::string m_relRecoDigitTrueHitName
Name of the relation between SVDRecoDigits and SVDTrueHits.
SVDNoiseCalibrations m_NoiseCal
SVDNoise calibrations db object.
double m_cutCluster
Cluster cut in units of m_elNoise, not included (yet?)
std::string m_storeTrueHitsName
Name of the collection to use for the SVDTrueHits.
SVD3SampleCoGTimeCalibrations m_3CoGTimeCal
SVD 3-sample CoG Time calibrations db object.
std::string m_relRecoDigitMCParticleName
Name of the relation between SVDRecoDigits and MCParticles.
std::string m_svdEventInfoSet
Name of the SVDEventInfo to be used instead of SVDEventInfo.
SVDClustering m_ClusterCal
SVDCluster calibrations db object.
SVD3SampleELSTimeCalibrations m_3ELSTimeCal
SVD 3-sample ELS Time calibrations db object.
std::string m_storeMCParticlesName
Name of the collection to use for the MCParticles.
StoreArray< SVDRecoDigit > m_storeDigits
Collection of SVDRecoDigits.
SVDPulseShapeCalibrations m_PulseShapeCal
SVDPulseShape calibrations db object.
int m_sizeHeadTail
Size of the cluster at which we switch from Center of Gravity to Analog Head Tail.
int m_timeAlgorithm
selects the algorithm to compute the cluster time 0 = 6-sample CoG (default) 1 = 3-sample CoG (TO DO:...
std::string m_storeClustersName
Name of the collection to use for the SVDClusters.
double m_cutSeed
Seed cut in units of noise.
std::string m_relClusterMCParticleName
Name of the relation between SVDClusters and MCParticles.
bool m_calibrate3SampleWithEventT0
if true returns the calibrated time instead of the raw time for 3-sample time algorithms
StoreArray< SVDCluster > m_storeClusters
Collection of SVDClusters.
std::string m_relClusterRecoDigitName
Name of the relation between SVDClusters and SVDRecoDigits.
bool m_useDB
if true takes the clusterizer cuts from the DB object
double m_cutAdjacent
Adjacent cut in units of noise.
std::string m_relClusterTrueHitName
Name of the relation between SVDClusters and SVDTrueHits.
Class representing a cluster candidate during simple clustering of the SVD.
Accessor to arrays stored in the data store.
Definition: StoreArray.h:113
Abstract base class for different kinds of events.