Belle II Software development
PXDClusterPositionCalibrationAlgorithm.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#include <calibration/CalibrationAlgorithm.h>
11#include <pxd/dbobjects/PXDClusterShapeIndexPar.h>
12#include <pxd/dbobjects/PXDClusterPositionEstimatorPar.h>
13
14#include <vector>
15#include <set>
16
17namespace Belle2 {
26 public:
27
30
33
36
39
41 std::vector<int> clusterKinds;
42
43 protected:
44
46 virtual EResult calibrate() override;
47
48 private:
49
51 void createShapeClassifier(std::string treename, PXDClusterShapeClassifierPar* shapeClassifier,
52 PXDClusterShapeIndexPar* shapeIndexer);
53
56 PXDClusterShapeIndexPar* shapeIndexer, int clusterKind);
57
60 PXDClusterShapeIndexPar* localShapeIndexer, PXDClusterShapeIndexPar* globalShapeIndexer);
61
64 std::string m_shapeName;
75
78 float m_pitchV;
81
82
84 std::map<int, float> m_pitchMap;
86 std::map<std::string, std::string> m_mirrorMap;
88 std::map<std::string, int> m_sizeMap;
90 std::set<std::string> m_shapeSet;
91 };
93} // namespace Belle2
94
95
Base class for calibration algorithms.
EResult
The result of calibration.
Class implementing the PXD cluster position calibration algorithm.
void createShapeClassifier(std::string treename, PXDClusterShapeClassifierPar *shapeClassifier, PXDClusterShapeIndexPar *shapeIndexer)
Returns a new classifier and index trained on cluster tree.
std::string m_mirroredShapeName
Name of mirrored cluster shape.
std::vector< int > clusterKinds
Vector of clusterkinds to calibrate.
PXDClusterShapeClassifierPar mirrorShapeClassifier(PXDClusterShapeClassifierPar *shapeClassifier, PXDClusterShapeIndexPar *shapeIndexer, int clusterKind)
Returns a mirrored version of shape classifier.
PXDClusterShapeClassifierPar localToGlobal(PXDClusterShapeClassifierPar *localShapeClassifier, PXDClusterShapeIndexPar *localShapeIndexer, PXDClusterShapeIndexPar *globalShapeIndexer)
Returns a shape classifier using global shape indices instead of local ones.
std::map< std::string, int > m_sizeMap
Helper needed to map the name of a shape to the V size of the cluster.
int maxEtaBins
Maximum number of eta bins for estimating cluster position offsets.
int minClusterForPositionOffset
Minimum number of collected clusters for estimating cluster position offsets.
int minClusterForShapeLikelyhood
Minimum number of collected clusters for estimating shape likelyhood.
PXDClusterPositionCalibrationAlgorithm()
Constructor set the prefix to PXDClusterPositionCalibrationAlgorithm.
std::map< int, float > m_pitchMap
Helper needed to map the clusterkind to the V pitch of the sensor.
std::set< std::string > m_shapeSet
Set of unique shape names.
std::map< std::string, std::string > m_mirrorMap
Helper needed to map the name of a shape to the name of the mirrored shape.
The class for PXD cluster shape classifier payload.
The class for PXD cluster shape index payload.
Abstract base class for different kinds of events.