Belle II Software development
SVDClustering.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/dbobjects/SVDCalibrationsBase.h>
13#include <svd/dbobjects/SVDCalibrationsScalar.h>
14#include <svd/dbobjects/SVDClusterCuts.h>
15#include <framework/database/DBObjPtr.h>
16#include <framework/logging/Logger.h>
17#include <string>
18
19namespace Belle2 {
30 public:
31 static std::string name;
38 {
39 m_aDBObjPtr.addCallback([ this ](const std::string&) -> void {
40 B2DEBUG(20, "SVDClustering: from now on we are using " <<
41 this->m_aDBObjPtr -> get_uniqueID()); });
42
43 }
44
45
54 inline double getMinSeedSNR(
55 const Belle2::VxdID& sensorID,
56 const bool& isU
57 ) const
58 {
59 return m_aDBObjPtr->getReference(sensorID.getLayerNumber(),
60 sensorID.getLadderNumber(),
61 sensorID.getSensorNumber(),
62 m_aDBObjPtr->sideIndex(isU),
63 0).minSeedSNR;
64
65 }
66
75 inline double getMinAdjSNR(
76 const Belle2::VxdID& sensorID,
77 const bool& isU
78 ) const
79 {
80 return m_aDBObjPtr->getReference(sensorID.getLayerNumber(),
81 sensorID.getLadderNumber(),
82 sensorID.getSensorNumber(),
83 m_aDBObjPtr->sideIndex(isU),
84 0 //strip not relevant
85 ).minAdjSNR;
86
87 }
88
97 inline double getUnfoldingCoeff(
98 const Belle2::VxdID& sensorID,
99 const bool& isU
100 ) const
101 {
102 return m_aDBObjPtr->getReference(sensorID.getLayerNumber(),
103 sensorID.getLadderNumber(),
104 sensorID.getSensorNumber(),
105 m_aDBObjPtr->sideIndex(isU),
106 0 //strip not relevant
107 ).UnfoldingCoeff;
108
109 }
110
119 inline double getMinClusterSNR(
120 const Belle2::VxdID& sensorID,
121 const bool& isU
122 ) const
123 {
124 return m_aDBObjPtr->getReference(sensorID.getLayerNumber(),
125 sensorID.getLadderNumber(),
126 sensorID.getSensorNumber(),
127 m_aDBObjPtr->sideIndex(isU),
128 0 // strip not relevant
129 ).minClusterSNR;
130
131 }
132
133
135 TString getUniqueID() { return m_aDBObjPtr->get_uniqueID(); }
136
138 bool isValid() { return m_aDBObjPtr.isValid(); }
139
140
141 private:
142
144 };
146}
Class for accessing objects in the database.
Definition: DBObjPtr.h:21
base class for calibrations classes
This class defines the dbobject and the methods to access the calibration of the cluster reconstructi...
Definition: SVDClustering.h:29
SVDClustering()
Constructor, no input argument is required.
Definition: SVDClustering.h:36
static std::string name
name of SVDClusterCuts payload
Definition: SVDClustering.h:31
double getUnfoldingCoeff(const Belle2::VxdID &sensorID, const bool &isU) const
Return the unfolding coefficient for the strip charge.
Definition: SVDClustering.h:97
double getMinClusterSNR(const Belle2::VxdID &sensorID, const bool &isU) const
Return the minimum SNR for the cluster.
double getMinSeedSNR(const Belle2::VxdID &sensorID, const bool &isU) const
Return the minimum SNR for the seed.
Definition: SVDClustering.h:54
SVDCalibrationsBase< SVDCalibrationsScalar< SVDClusterCuts > > t_payload
typedef for the of SVDClusterCuts payload of all SVD sensors
Definition: SVDClustering.h:33
double getMinAdjSNR(const Belle2::VxdID &sensorID, const bool &isU) const
Return the minimum SNR for the adjacent.
Definition: SVDClustering.h:75
TString getUniqueID()
returns the unique ID of the payload
DBObjPtr< t_payload > m_aDBObjPtr
SVDClusterCuts payload.
bool isValid()
returns true if the m_aDBObtPtr is valid in the requested IoV
Class to uniquely identify a any structure of the PXD and SVD.
Definition: VxdID.h:33
baseType getSensorNumber() const
Get the sensor id.
Definition: VxdID.h:100
baseType getLadderNumber() const
Get the ladder id.
Definition: VxdID.h:98
baseType getLayerNumber() const
Get the layer id.
Definition: VxdID.h:96
Abstract base class for different kinds of events.