Belle II Software development
SVDClusterPosition.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 <vxd/dataobjects/VxdID.h>
12#include <svd/reconstruction/RawCluster.h>
13#include <framework/dbobjects/HardwareClockSettings.h>
14#include <svd/calibration/SVDClustering.h>
15#include <svd/calibration/SVDCoGOnlyPositionError.h>
16#include <svd/calibration/SVDCoGOnlyErrorScaleFactors.h>
17#include <svd/calibration/SVDOldDefaultErrorScaleFactors.h>
18#include <svd/calibration/SVDNoiseCalibrations.h>
19
20#include <vector>
21
22namespace Belle2::SVD {
23
28
29 public:
30
35
39 virtual void computeClusterPosition(Belle2::SVD::RawCluster& rawCluster, double& position, double& positionError) = 0;
40
44 virtual ~SVDClusterPosition() {};
45
47 void applyCoGPosition(const Belle2::SVD::RawCluster& rawCluster, double& position, double& positionError);
48
50 void applyAHTPosition(const Belle2::SVD::RawCluster& rawCluster, double& position, double& positionError);
51
54
57
59 void set_stripChargeAlgo(const std::string& user_stripChargeAlgo) {m_stripChargeAlgo = user_stripChargeAlgo;}
60
62 void set_stripTimeAlgo(const std::string& user_stripTimeAlgo) {m_stripTimeAlgo = user_stripTimeAlgo;}
63
64 protected:
65
67 double getSumOfStripCharges(const Belle2::SVD::RawCluster& rawCluster);
69 double getClusterNoise(const Belle2::SVD::RawCluster& rawCluster);
70
72 double getAverageStripNoise(const Belle2::SVD::RawCluster& rawCluster);
73
80 private:
81
82 std::string m_stripChargeAlgo;
83 std::string m_stripTimeAlgo;
84 };
85
86}
87
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 methods to access the scaling factors for the CoGOnly positio...
This class defines the dbobject and the methods to access the SVD position error parameters and provi...
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...
Class representing a raw cluster candidate during clustering of the SVD.
Definition: RawCluster.h:33
Abstract Class representing the SVD cluster position.
SVDCoGOnlyErrorScaleFactors m_CoGOnlyCal
Scaling Factors for the CoGOnly algorithm.
void set_stripChargeAlgo(const std::string &user_stripChargeAlgo)
set which algorithm to use for strip charge in cluster position reconstruction
std::string m_stripTimeAlgo
algorithm used to reconstruct strip time for cluster position
virtual void computeClusterPosition(Belle2::SVD::RawCluster &rawCluster, double &position, double &positionError)=0
computes the cluster position and position error
SVDCoGOnlyPositionError m_CoGOnlyErr
CoGOnly Position Error.
virtual ~SVDClusterPosition()
virtual destructor
void applyUnfolding(Belle2::SVD::RawCluster &rawCluster)
Apply cluster charges unfolding.
void set_stripTimeAlgo(const std::string &user_stripTimeAlgo)
set which algorithm to use for strip time in cluster position reconstruction, 'dontdo' will skip it
SVDNoiseCalibrations m_NoiseCal
Noise calibrations for the position error.
void applyCoGPosition(const Belle2::SVD::RawCluster &rawCluster, double &position, double &positionError)
CoG Position Algorithm.
SVDClustering m_ClusterCal
SVD clustering parameters.
double getSumOfStripCharges(const Belle2::SVD::RawCluster &rawCluster)
helper, returns the sum of the strip charges
SVDOldDefaultErrorScaleFactors m_OldDefaultCal
Scaling Factors for the OldDefault algorithm.
double getClusterNoise(const Belle2::SVD::RawCluster &rawCluster)
helper, returns the sum in quadrature of the strip noise
void reconstructStrips(Belle2::SVD::RawCluster &rawCluster)
reconstruct strips
SVDClusterPosition()
Constructor to create an empty Cluster Position Object.
void applyAHTPosition(const Belle2::SVD::RawCluster &rawCluster, double &position, double &positionError)
AHT Position Algorithm.
double getAverageStripNoise(const Belle2::SVD::RawCluster &rawCluster)
helper, returns the average strip noise
std::string m_stripChargeAlgo
algorithm used to reconstruct strip charge for cluster position
Namespace to encapsulate code needed for simulation and reconstrucion of the SVD.
Definition: GeoSVDCreator.h:23