Belle II Software development
TOPAlignmentCollectorModule.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 <calibration/CalibrationCollectorModule.h>
12#include <top/utilities/TrackSelector.h>
13#include <top/reconstruction_cpp/ModuleAlignment.h>
14
15#include <framework/datastore/StoreArray.h>
16#include <framework/datastore/StoreObjPtr.h>
17#include <mdst/dataobjects/Track.h>
18#include <tracking/dataobjects/ExtHit.h>
19#include <top/dataobjects/TOPDigit.h>
20#include <top/dataobjects/TOPRecBunch.h>
21
22#include <vector>
23#include <string>
24
25
26namespace Belle2 {
39
40 public:
45
46 private:
47
51 virtual void prepare() final;
52
56 virtual void collect() final;
57
59 enum {c_numSets = 2,
60 };
61
62 // steering parameters
65 std::string m_sample;
66 double m_deltaEcms;
67 double m_dr;
68 double m_dz;
69 double m_minZ;
70 double m_maxZ;
72 double m_stepAngle;
73 double m_stepTime;
74 std::vector<double> m_parInit;
75 std::vector<std::string> m_parFixed;
77 // alignment procedure
79 std::vector<TOP::ModuleAlignment> m_align;
80 std::vector<int> m_countFails;
82 // collections
88 // tree variables
89 std::vector<std::string> m_treeNames;
90 int m_iter = 0;
91 int m_ntrk = 0;
92 int m_errorCode = 0;
93 std::vector<float> m_vAlignPars;
94 std::vector<float> m_vAlignParsErr;
95 bool m_valid = false;
96 int m_numPhot = 0;
97 float m_x = 0;
98 float m_y = 0;
99 float m_z = 0;
100 float m_p = 0;
101 float m_theta = 0;
102 float m_phi = 0;
103 float m_pocaR = 0;
104 float m_pocaZ = 0;
105 float m_pocaX = 0;
106 float m_pocaY = 0;
107 float m_cmsE = 0;
108 int m_charge = 0;
109 int m_PDG = 0;
111 };
112
114} // end namespace Belle2
Calibration collector module base class.
Accessor to arrays stored in the data store.
Definition: StoreArray.h:113
Type-safe access to single objects in the data store.
Definition: StoreObjPtr.h:96
Collector for geometrical alignment of a TOP module with dimuons or Bhabhas.
std::vector< float > m_vAlignParsErr
error on alignment parameters
std::vector< TOP::ModuleAlignment > m_align
alignment objects
StoreObjPtr< TOPRecBunch > m_recBunch
reconstructed bunch
TOP::TrackSelector m_selector
track selection utility
int m_PDG
track MC truth (simulated data only)
float m_phi
track: extrapolated hit momentum in local (module) frame
std::vector< float > m_vAlignPars
alignment parameters
std::vector< std::string > m_parFixed
names of parameters to be fixed
std::vector< int > m_countFails
counters for failed iterations
std::vector< std::string > m_treeNames
tree names
double m_maxZ
maximal local z of extrapolated hit
double m_stepPosition
step size for translations
double m_minZ
minimal local z of extrapolated hit
float m_p
track: extrapolated hit momentum in local (module) frame
bool m_valid
true if alignment parameters are valid
StoreArray< Track > m_tracks
collection of tracks
@ c_numSets
number of statistically independent subsamples
int m_errorCode
error code of the alignment procedure
std::vector< double > m_parInit
initial parameter values
double m_deltaEcms
c.m.s energy window if sample is "dimuon" or "bhabha"
int m_maxFails
maximum allowed number of failed iterations
int m_numPhot
number of photons used for log likelihood in this iteration
float m_y
track: extrapolated hit coordinate in local (module) frame
StoreArray< TOPDigit > m_digits
collection of digits
StoreArray< ExtHit > m_extHits
collection of extrapolated hits
float m_z
track: extrapolated hit coordinate in local (module) frame
float m_x
track: extrapolated hit coordinate in local (module) frame
float m_theta
track: extrapolated hit momentum in local (module) frame
Utility for the track selection - used in various calibration modules.
Definition: TrackSelector.h:27
virtual void collect() final
Replacement for event().
virtual void prepare() final
Replacement for initialize().
Abstract base class for different kinds of events.