Belle II Software  release-05-02-19
PXDClusterPositionCalibrationAlgorithm.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2010 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Benjamin Schwenker *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 #include <calibration/CalibrationAlgorithm.h>
13 #include <pxd/dbobjects/PXDClusterShapeIndexPar.h>
14 #include <pxd/dbobjects/PXDClusterPositionEstimatorPar.h>
15 
16 #include <vector>
17 #include <set>
18 
19 namespace Belle2 {
27  class PXDClusterPositionCalibrationAlgorithm : public CalibrationAlgorithm {
28  public:
29 
32 
35 
38 
40  int maxEtaBins;
41 
43  std::vector<int> clusterKinds;
44 
45  protected:
46 
48  virtual EResult calibrate() override;
49 
50  private:
51 
53  void createShapeClassifier(std::string treename, PXDClusterShapeClassifierPar* shapeClassifier,
54  PXDClusterShapeIndexPar* shapeIndexer);
55 
58  PXDClusterShapeIndexPar* shapeIndexer, int clusterKind);
59 
62  PXDClusterShapeIndexPar* localShapeIndexer, PXDClusterShapeIndexPar* globalShapeIndexer);
63 
66  std::string m_shapeName;
68  std::string m_mirroredShapeName;
70  float m_clusterEta;
72  float m_positionOffsetU;
76  int m_sizeV;
77 
80  float m_pitchV;
83 
84 
86  std::map<int, float> m_pitchMap;
88  std::map<std::string, std::string> m_mirrorMap;
90  std::map<std::string, int> m_sizeMap;
92  std::set<std::string> m_shapeSet;
93  };
95 } // namespace Belle2
96 
97 
Belle2::PXDClusterPositionCalibrationAlgorithm::localToGlobal
PXDClusterShapeClassifierPar localToGlobal(PXDClusterShapeClassifierPar *localShapeClassifier, PXDClusterShapeIndexPar *localShapeIndexer, PXDClusterShapeIndexPar *globalShapeIndexer)
Returns a shape classifier using global shape indices instead of local ones.
Definition: PXDClusterPositionCalibrationAlgorithm.cc:211
Belle2::PXDClusterPositionCalibrationAlgorithm::calibrate
virtual EResult calibrate() override
Run algo on data.
Definition: PXDClusterPositionCalibrationAlgorithm.cc:42
Belle2::PXDClusterShapeClassifierPar
The class for PXD cluster shape classifier payload.
Definition: PXDClusterShapeClassifierPar.h:36
Belle2::PXDClusterPositionCalibrationAlgorithm::m_clusterKind
int m_clusterKind
Pitch in V.
Definition: PXDClusterPositionCalibrationAlgorithm.h:90
Belle2::PXDClusterPositionCalibrationAlgorithm::m_clusterEta
float m_clusterEta
Eta value of cluster.
Definition: PXDClusterPositionCalibrationAlgorithm.h:78
Belle2::PXDClusterPositionCalibrationAlgorithm::m_shapeName
std::string m_shapeName
Branches for tree.
Definition: PXDClusterPositionCalibrationAlgorithm.h:74
Belle2::PXDClusterPositionCalibrationAlgorithm::m_mirrorMap
std::map< std::string, std::string > m_mirrorMap
Helper needed to map the name of a shape to the name of the mirrored shape.
Definition: PXDClusterPositionCalibrationAlgorithm.h:96
Belle2::PXDClusterPositionCalibrationAlgorithm::m_pitchMap
std::map< int, float > m_pitchMap
Helper needed to map the clusterkind to the V pitch of the sensor.
Definition: PXDClusterPositionCalibrationAlgorithm.h:94
Belle2::PXDClusterPositionCalibrationAlgorithm::mirrorShapeClassifier
PXDClusterShapeClassifierPar mirrorShapeClassifier(PXDClusterShapeClassifierPar *shapeClassifier, PXDClusterShapeIndexPar *shapeIndexer, int clusterKind)
Returns a mirrored version of shape classifier.
Definition: PXDClusterPositionCalibrationAlgorithm.cc:160
Belle2::PXDClusterShapeIndexPar
The class for PXD cluster shape index payload.
Definition: PXDClusterShapeIndexPar.h:34
Belle2::PXDClusterPositionCalibrationAlgorithm::m_positionOffsetU
float m_positionOffsetU
Position offset u of cluster.
Definition: PXDClusterPositionCalibrationAlgorithm.h:80
Belle2::PXDClusterPositionCalibrationAlgorithm::m_sizeV
int m_sizeV
Size in V.
Definition: PXDClusterPositionCalibrationAlgorithm.h:84
Belle2::PXDClusterPositionCalibrationAlgorithm::m_positionOffsetV
float m_positionOffsetV
Position offset v of cluster.
Definition: PXDClusterPositionCalibrationAlgorithm.h:82
Belle2::PXDClusterPositionCalibrationAlgorithm::maxEtaBins
int maxEtaBins
Maximum number of eta bins for estimating cluster position offsets.
Definition: PXDClusterPositionCalibrationAlgorithm.h:48
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::PXDClusterPositionCalibrationAlgorithm::PXDClusterPositionCalibrationAlgorithm
PXDClusterPositionCalibrationAlgorithm()
Constructor set the prefix to PXDClusterPositionCalibrationAlgorithm.
Definition: PXDClusterPositionCalibrationAlgorithm.cc:27
Belle2::PXDClusterPositionCalibrationAlgorithm::minClusterForShapeLikelyhood
int minClusterForShapeLikelyhood
Minimum number of collected clusters for estimating shape likelyhood.
Definition: PXDClusterPositionCalibrationAlgorithm.h:42
Belle2::CalibrationAlgorithm::EResult
EResult
The result of calibration.
Definition: CalibrationAlgorithm.h:50
Belle2::PXDClusterPositionCalibrationAlgorithm::m_mirroredShapeName
std::string m_mirroredShapeName
Name of mirrored cluster shape.
Definition: PXDClusterPositionCalibrationAlgorithm.h:76
Belle2::PXDClusterPositionCalibrationAlgorithm::m_sizeMap
std::map< std::string, int > m_sizeMap
Helper needed to map the name of a shape to the V size of the cluster.
Definition: PXDClusterPositionCalibrationAlgorithm.h:98
Belle2::PXDClusterPositionCalibrationAlgorithm::minClusterForPositionOffset
int minClusterForPositionOffset
Minimum number of collected clusters for estimating cluster position offsets.
Definition: PXDClusterPositionCalibrationAlgorithm.h:45
Belle2::PXDClusterPositionCalibrationAlgorithm::m_shapeSet
std::set< std::string > m_shapeSet
Set of unique shape names.
Definition: PXDClusterPositionCalibrationAlgorithm.h:100
Belle2::PXDClusterPositionCalibrationAlgorithm::clusterKinds
std::vector< int > clusterKinds
Vector of clusterkinds to calibrate.
Definition: PXDClusterPositionCalibrationAlgorithm.h:51
Belle2::PXDClusterPositionCalibrationAlgorithm::createShapeClassifier
void createShapeClassifier(std::string treename, PXDClusterShapeClassifierPar *shapeClassifier, PXDClusterShapeIndexPar *shapeIndexer)
Returns a new classifier and index trained on cluster tree.
Definition: PXDClusterPositionCalibrationAlgorithm.cc:256
Belle2::PXDClusterPositionCalibrationAlgorithm::m_pitchV
float m_pitchV
Branches for pitchtree.
Definition: PXDClusterPositionCalibrationAlgorithm.h:88