Belle II Software  release-08-01-10
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 
26 namespace 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
64  int m_maxFails;
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;
71  double m_stepPosition;
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
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
@ c_numSets
number of statistically independent subsamples
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.