Belle II Software  release-05-02-19
SVDSimpleClusterizerModule.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2010 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Giulia Casarosa *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 
13 #include <framework/core/Module.h>
14 #include <framework/datastore/StoreArray.h>
15 
16 #include <svd/reconstruction/SimpleClusterCandidate.h>
17 
18 #include <mdst/dataobjects/MCParticle.h>
19 #include <svd/dataobjects/SVDRecoDigit.h>
20 #include <svd/dataobjects/SVDCluster.h>
21 #include <svd/dataobjects/SVDTrueHit.h>
22 
23 #include <svd/calibration/SVDPulseShapeCalibrations.h>
24 #include <svd/calibration/SVDNoiseCalibrations.h>
25 #include <svd/calibration/SVDClusterCalibrations.h>
26 #include <svd/calibration/SVD3SampleCoGTimeCalibrations.h>
27 #include <svd/calibration/SVD3SampleELSTimeCalibrations.h>
28 
29 namespace Belle2 {
35  namespace SVD {
36 
44  class SVDSimpleClusterizerModule : public Module {
45 
46  public:
47 
50 
52  virtual void initialize() override;
53 
55  virtual void event() override;
56 
57  protected:
58 
59 
60  // Data members
61  //1. Collections and relations Names
63  std::string m_storeRecoDigitsName;
65  std::string m_storeClustersName;
67  std::string m_storeTrueHitsName;
69  std::string m_storeMCParticlesName;
82 
91 
92 
93 
94  // 2. Clustering
96  double m_cutSeed = 5;
98  double m_cutAdjacent = 3;
100  int m_sizeHeadTail = 3;
102  double m_cutCluster = 0;
104  bool m_useDB = true;
113 
114  //calibration objects
122  void writeClusters(SimpleClusterCandidate clusterCand);
123  };//end class declaration
124 
125 
126  } //end SVD namespace;
128 } // end namespace Belle2
Belle2::SVD::SVDSimpleClusterizerModule::event
virtual void event() override
do the clustering
Definition: SVDSimpleClusterizerModule.cc:130
Belle2::SVD::SVDSimpleClusterizerModule::m_storeShaperDigitsName
std::string m_storeShaperDigitsName
Name of the collection to use for the SVDShaperDigits.
Definition: SVDSimpleClusterizerModule.h:79
Belle2::SVD::SVDSimpleClusterizerModule::m_relClusterMCParticleName
std::string m_relClusterMCParticleName
Name of the relation between SVDClusters and MCParticles.
Definition: SVDSimpleClusterizerModule.h:83
Belle2::SVD::SVDSimpleClusterizerModule::m_storeClusters
StoreArray< SVDCluster > m_storeClusters
Collection of SVDClusters.
Definition: SVDSimpleClusterizerModule.h:92
Belle2::SVD::SVDSimpleClusterizerModule::m_storeMCParticles
StoreArray< MCParticle > m_storeMCParticles
Collection of MCParticles.
Definition: SVDSimpleClusterizerModule.h:98
Belle2::SVD::SVDSimpleClusterizerModule::initialize
virtual void initialize() override
Initialize the module.
Definition: SVDSimpleClusterizerModule.cc:76
Belle2::SVD::SVDSimpleClusterizerModule::m_storeClustersName
std::string m_storeClustersName
Name of the collection to use for the SVDClusters.
Definition: SVDSimpleClusterizerModule.h:73
Belle2::SVD::SVDSimpleClusterizerModule::m_relRecoDigitMCParticleName
std::string m_relRecoDigitMCParticleName
Name of the relation between SVDRecoDigits and MCParticles.
Definition: SVDSimpleClusterizerModule.h:81
Belle2::SVD::SimpleClusterCandidate
Class representing a cluster candidate during simple clustering of the SVD.
Definition: SimpleClusterCandidate.h:50
Belle2::SVD::SVDSimpleClusterizerModule::m_cutSeed
double m_cutSeed
Seed cut in units of noise.
Definition: SVDSimpleClusterizerModule.h:104
Belle2::SVD::SVDSimpleClusterizerModule::m_cutCluster
double m_cutCluster
Cluster cut in units of m_elNoise, not included (yet?)
Definition: SVDSimpleClusterizerModule.h:110
Belle2::SVD::SVDSimpleClusterizerModule::writeClusters
void writeClusters(SimpleClusterCandidate clusterCand)
write the cluster candidate to clusters
Definition: SVDSimpleClusterizerModule.cc:230
Belle2::SVD::SVDSimpleClusterizerModule::m_cutAdjacent
double m_cutAdjacent
Adjacent cut in units of noise.
Definition: SVDSimpleClusterizerModule.h:106
Belle2::SVD::SVDSimpleClusterizerModule::SVDSimpleClusterizerModule
SVDSimpleClusterizerModule()
Constructor defining the parameters.
Definition: SVDSimpleClusterizerModule.cc:35
Belle2::SVD3SampleCoGTimeCalibrations
This class defines the dbobject and the methods to access the SVD calibrations from the local runs pr...
Definition: SVD3SampleCoGTimeCalibrations.h:41
Belle2::SVD::SVDSimpleClusterizerModule::m_storeTrueHitsName
std::string m_storeTrueHitsName
Name of the collection to use for the SVDTrueHits.
Definition: SVDSimpleClusterizerModule.h:75
Belle2::SVD::SVDSimpleClusterizerModule::m_ClusterCal
SVDClusterCalibrations m_ClusterCal
SVDCluster calibrations db object.
Definition: SVDSimpleClusterizerModule.h:125
Belle2::SVD::SVDSimpleClusterizerModule::m_storeDigits
StoreArray< SVDRecoDigit > m_storeDigits
Collection of SVDRecoDigits.
Definition: SVDSimpleClusterizerModule.h:94
Belle2::SVDNoiseCalibrations
This class defines the dbobject and the method to access SVD calibrations from the noise local runs.
Definition: SVDNoiseCalibrations.h:46
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::SVD::SVDSimpleClusterizerModule::m_timeAlgorithm
int m_timeAlgorithm
selects the algorithm to compute the cluster time 0 = 6-sample CoG (default) 1 = 3-sample CoG (TO DO:...
Definition: SVDSimpleClusterizerModule.h:118
Belle2::SVD::SVDSimpleClusterizerModule::m_sizeHeadTail
int m_sizeHeadTail
Size of the cluster at which we switch from Center of Gravity to Analog Head Tail.
Definition: SVDSimpleClusterizerModule.h:108
Belle2::SVD::SVDSimpleClusterizerModule::m_relClusterTrueHitName
std::string m_relClusterTrueHitName
Name of the relation between SVDClusters and SVDTrueHits.
Definition: SVDSimpleClusterizerModule.h:89
Belle2::SVD::SVDSimpleClusterizerModule::m_calibrate3SampleWithEventT0
bool m_calibrate3SampleWithEventT0
if true returns the calibrated time instead of the raw time for 3-sample time algorithms
Definition: SVDSimpleClusterizerModule.h:120
Belle2::SVD::SVDSimpleClusterizerModule::m_useDB
bool m_useDB
if true takes the clusterizer cuts from the DB object
Definition: SVDSimpleClusterizerModule.h:112
Belle2::SVD::SVDSimpleClusterizerModule::m_storeRecoDigitsName
std::string m_storeRecoDigitsName
Name of the collection to use for the SVDRecoDigits.
Definition: SVDSimpleClusterizerModule.h:71
Belle2::SVD::SVDSimpleClusterizerModule::m_3ELSTimeCal
SVD3SampleELSTimeCalibrations m_3ELSTimeCal
SVD 3-sample ELS Time calibrations db object.
Definition: SVDSimpleClusterizerModule.h:128
Belle2::SVD::SVDSimpleClusterizerModule::m_3CoGTimeCal
SVD3SampleCoGTimeCalibrations m_3CoGTimeCal
SVD 3-sample CoG Time calibrations db object.
Definition: SVDSimpleClusterizerModule.h:127
Belle2::SVDClusterCalibrations
This class defines the dbobject and the methods to access the calibration of the cluster reconstructi...
Definition: SVDClusterCalibrations.h:40
Belle2::StoreArray< SVDCluster >
Belle2::SVD::SVDSimpleClusterizerModule::m_storeTrueHits
StoreArray< SVDTrueHit > m_storeTrueHits
Collection of SVDTrueHits.
Definition: SVDSimpleClusterizerModule.h:96
Belle2::SVD::SVDSimpleClusterizerModule::m_PulseShapeCal
SVDPulseShapeCalibrations m_PulseShapeCal
SVDPulseShape calibrations db object.
Definition: SVDSimpleClusterizerModule.h:123
Belle2::SVD::SVDSimpleClusterizerModule::m_NoiseCal
SVDNoiseCalibrations m_NoiseCal
SVDNoise calibrations db object.
Definition: SVDSimpleClusterizerModule.h:124
Belle2::SVD::SVDSimpleClusterizerModule::m_storeMCParticlesName
std::string m_storeMCParticlesName
Name of the collection to use for the MCParticles.
Definition: SVDSimpleClusterizerModule.h:77
Belle2::SVD::SVDSimpleClusterizerModule::m_relRecoDigitTrueHitName
std::string m_relRecoDigitTrueHitName
Name of the relation between SVDRecoDigits and SVDTrueHits.
Definition: SVDSimpleClusterizerModule.h:87
Belle2::SVD::SVDSimpleClusterizerModule::m_relClusterRecoDigitName
std::string m_relClusterRecoDigitName
Name of the relation between SVDClusters and SVDRecoDigits.
Definition: SVDSimpleClusterizerModule.h:85
Belle2::SVD3SampleELSTimeCalibrations
This class defines the dbobject and the methods to access the SVD calibrations from the local runs pr...
Definition: SVD3SampleELSTimeCalibrations.h:41
Belle2::SVDPulseShapeCalibrations
This class defines the dbobject and the methods to access the SVD calibrations from the local runs pr...
Definition: SVDPulseShapeCalibrations.h:46