Belle II Software  release-05-02-19
TOPAlignmentCollectorModule.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2019 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Marko Staric *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 
13 #include <calibration/CalibrationCollectorModule.h>
14 #include <top/utilities/TrackSelector.h>
15 #include <top/reconstruction/TOPalign.h>
16 
17 #include <framework/datastore/StoreArray.h>
18 #include <framework/datastore/StoreObjPtr.h>
19 #include <mdst/dataobjects/Track.h>
20 #include <tracking/dataobjects/ExtHit.h>
21 #include <top/dataobjects/TOPDigit.h>
22 #include <top/dataobjects/TOPRecBunch.h>
23 
24 #include <vector>
25 #include <string>
26 
27 
28 namespace Belle2 {
40  class TOPAlignmentCollectorModule : public CalibrationCollectorModule {
41 
42  public:
47 
48  private:
49 
53  virtual void prepare() final;
54 
58  virtual void collect() final;
59 
61  enum {c_numSets = 2,
62  };
63 
64  // steering parameters
65  double m_minBkgPerBar;
66  double m_scaleN0;
67  int m_targetMid;
68  int m_maxFails;
69  std::string m_sample;
70  double m_deltaEcms;
71  double m_dr;
72  double m_dz;
73  double m_minZ;
74  double m_maxZ;
75  double m_stepPosition;
76  double m_stepAngle;
77  double m_stepTime;
78  double m_stepRefind;
79  std::vector<int> m_gridSize;
80  std::vector<double> m_parInit;
81  std::vector<std::string> m_parFixed;
83  // alignment procedure
85  std::vector<TOP::TOPalign> m_align;
86  std::vector<int> m_countFails;
88  // collections
94  // tree variables
95  std::vector<std::string> m_treeNames;
96  int m_iter = 0;
97  int m_ntrk = 0;
98  int m_errorCode = 0;
99  std::vector<float> m_vAlignPars;
100  std::vector<float> m_vAlignParsErr;
101  bool m_valid = false;
102  int m_numPhot = 0;
103  float m_x = 0;
104  float m_y = 0;
105  float m_z = 0;
106  float m_p = 0;
107  float m_theta = 0;
108  float m_phi = 0;
109  float m_pocaR = 0;
110  float m_pocaZ = 0;
111  float m_pocaX = 0;
112  float m_pocaY = 0;
113  float m_cmsE = 0;
114  int m_charge = 0;
115  int m_PDG = 0;
117  };
118 
120 } // end namespace Belle2
Belle2::TOPAlignmentCollectorModule::m_ntrk
int m_ntrk
number of tracks used
Definition: TOPAlignmentCollectorModule.h:105
Belle2::TOPAlignmentCollectorModule::TOPAlignmentCollectorModule
TOPAlignmentCollectorModule()
Constructor.
Definition: TOPAlignmentCollectorModule.cc:45
Belle2::TOPAlignmentCollectorModule::m_valid
bool m_valid
true if alignment parameters are valid
Definition: TOPAlignmentCollectorModule.h:109
Belle2::TOPAlignmentCollectorModule::m_x
float m_x
track: extrapolated hit coordinate in local (module) frame
Definition: TOPAlignmentCollectorModule.h:111
Belle2::TOPAlignmentCollectorModule::m_charge
int m_charge
track charge
Definition: TOPAlignmentCollectorModule.h:122
Belle2::TOPAlignmentCollectorModule::m_selector
TOP::TrackSelector m_selector
track selection utility
Definition: TOPAlignmentCollectorModule.h:92
Belle2::TOPAlignmentCollectorModule::m_extHits
StoreArray< ExtHit > m_extHits
collection of extrapolated hits
Definition: TOPAlignmentCollectorModule.h:99
Belle2::TOPAlignmentCollectorModule::m_minBkgPerBar
double m_minBkgPerBar
minimal assumed background photons per module
Definition: TOPAlignmentCollectorModule.h:73
Belle2::TOPAlignmentCollectorModule::prepare
virtual void prepare() final
Replacement for initialize().
Definition: TOPAlignmentCollectorModule.cc:92
Belle2::TOPAlignmentCollectorModule::m_stepTime
double m_stepTime
step size for t0
Definition: TOPAlignmentCollectorModule.h:85
Belle2::TOPAlignmentCollectorModule::m_scaleN0
double m_scaleN0
scale factor for figure-of-merit N0
Definition: TOPAlignmentCollectorModule.h:74
Belle2::TOPAlignmentCollectorModule::m_deltaEcms
double m_deltaEcms
c.m.s energy window if sample is "dimuon" or "bhabha"
Definition: TOPAlignmentCollectorModule.h:78
Belle2::TOPAlignmentCollectorModule::m_parFixed
std::vector< std::string > m_parFixed
names of parameters to be fixed
Definition: TOPAlignmentCollectorModule.h:89
Belle2::TOPAlignmentCollectorModule::m_maxZ
double m_maxZ
maximal local z of extrapolated hit
Definition: TOPAlignmentCollectorModule.h:82
Belle2::TOPAlignmentCollectorModule::m_tracks
StoreArray< Track > m_tracks
collection of tracks
Definition: TOPAlignmentCollectorModule.h:98
Belle2::TOPAlignmentCollectorModule::m_recBunch
StoreObjPtr< TOPRecBunch > m_recBunch
reconstructed bunch
Definition: TOPAlignmentCollectorModule.h:100
Belle2::TOPAlignmentCollectorModule::m_errorCode
int m_errorCode
error code of the alignment procedure
Definition: TOPAlignmentCollectorModule.h:106
Belle2::TOPAlignmentCollectorModule::m_numPhot
int m_numPhot
number of photons used for log likelihood in this iteration
Definition: TOPAlignmentCollectorModule.h:110
Belle2::TOPAlignmentCollectorModule::m_countFails
std::vector< int > m_countFails
counters for failed iterations
Definition: TOPAlignmentCollectorModule.h:94
Belle2::TOPAlignmentCollectorModule::m_sample
std::string m_sample
sample type
Definition: TOPAlignmentCollectorModule.h:77
Belle2::TOPAlignmentCollectorModule::c_numSets
@ c_numSets
number of statistically independent subsamples
Definition: TOPAlignmentCollectorModule.h:69
Belle2::TOPAlignmentCollectorModule::m_y
float m_y
track: extrapolated hit coordinate in local (module) frame
Definition: TOPAlignmentCollectorModule.h:112
Belle2::TOPAlignmentCollectorModule::m_z
float m_z
track: extrapolated hit coordinate in local (module) frame
Definition: TOPAlignmentCollectorModule.h:113
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::TOPAlignmentCollectorModule::m_theta
float m_theta
track: extrapolated hit momentum in local (module) frame
Definition: TOPAlignmentCollectorModule.h:115
Belle2::StoreObjPtr
Type-safe access to single objects in the data store.
Definition: ParticleList.h:33
Belle2::TOPAlignmentCollectorModule::m_parInit
std::vector< double > m_parInit
initial parameter values
Definition: TOPAlignmentCollectorModule.h:88
Belle2::TOPAlignmentCollectorModule::m_dz
double m_dz
cut on POCA in z
Definition: TOPAlignmentCollectorModule.h:80
Belle2::TOPAlignmentCollectorModule::m_digits
StoreArray< TOPDigit > m_digits
collection of digits
Definition: TOPAlignmentCollectorModule.h:97
Belle2::TOPAlignmentCollectorModule::collect
virtual void collect() final
Replacement for event().
Definition: TOPAlignmentCollectorModule.cc:237
Belle2::TOPAlignmentCollectorModule::m_stepAngle
double m_stepAngle
step size for rotations
Definition: TOPAlignmentCollectorModule.h:84
Belle2::TOP::TrackSelector
Utility for the track selection - used in various calibration modules.
Definition: TrackSelector.h:37
Belle2::TOPAlignmentCollectorModule::m_stepPosition
double m_stepPosition
step size for translations
Definition: TOPAlignmentCollectorModule.h:83
Belle2::TOPAlignmentCollectorModule::m_pocaZ
float m_pocaZ
z of POCA
Definition: TOPAlignmentCollectorModule.h:118
Belle2::TOPAlignmentCollectorModule::m_gridSize
std::vector< int > m_gridSize
grid size
Definition: TOPAlignmentCollectorModule.h:87
Belle2::TOPAlignmentCollectorModule::m_cmsE
float m_cmsE
c.m.s.
Definition: TOPAlignmentCollectorModule.h:121
Belle2::TOPAlignmentCollectorModule::m_minZ
double m_minZ
minimal local z of extrapolated hit
Definition: TOPAlignmentCollectorModule.h:81
Belle2::TOPAlignmentCollectorModule::m_maxFails
int m_maxFails
maximum allowed number of failed iterations
Definition: TOPAlignmentCollectorModule.h:76
Belle2::TOPAlignmentCollectorModule::m_p
float m_p
track: extrapolated hit momentum in local (module) frame
Definition: TOPAlignmentCollectorModule.h:114
Belle2::TOPAlignmentCollectorModule::m_vAlignParsErr
std::vector< float > m_vAlignParsErr
error on alignment parameters
Definition: TOPAlignmentCollectorModule.h:108
Belle2::TOPAlignmentCollectorModule::m_vAlignPars
std::vector< float > m_vAlignPars
alignment parameters
Definition: TOPAlignmentCollectorModule.h:107
Belle2::TOPAlignmentCollectorModule::m_PDG
int m_PDG
track MC truth (simulated data only)
Definition: TOPAlignmentCollectorModule.h:123
Belle2::TOPAlignmentCollectorModule::m_targetMid
int m_targetMid
target module to align.
Definition: TOPAlignmentCollectorModule.h:75
Belle2::StoreArray
Accessor to arrays stored in the data store.
Definition: ECLMatchingPerformanceExpertModule.h:33
Belle2::TOPAlignmentCollectorModule::m_stepRefind
double m_stepRefind
step size for scaling of refractive index (dn/n)
Definition: TOPAlignmentCollectorModule.h:86
Belle2::TOPAlignmentCollectorModule::m_iter
int m_iter
iteration counter
Definition: TOPAlignmentCollectorModule.h:104
Belle2::TOPAlignmentCollectorModule::m_treeNames
std::vector< std::string > m_treeNames
tree names
Definition: TOPAlignmentCollectorModule.h:103
Belle2::TOPAlignmentCollectorModule::m_align
std::vector< TOP::TOPalign > m_align
alignment objects
Definition: TOPAlignmentCollectorModule.h:93
Belle2::TOPAlignmentCollectorModule::m_pocaX
float m_pocaX
x of POCA
Definition: TOPAlignmentCollectorModule.h:119
Belle2::TOPAlignmentCollectorModule::m_phi
float m_phi
track: extrapolated hit momentum in local (module) frame
Definition: TOPAlignmentCollectorModule.h:116
Belle2::TOPAlignmentCollectorModule::m_pocaY
float m_pocaY
y of POCA
Definition: TOPAlignmentCollectorModule.h:120
Belle2::TOPAlignmentCollectorModule::m_dr
double m_dr
cut on POCA in r
Definition: TOPAlignmentCollectorModule.h:79
Belle2::TOPAlignmentCollectorModule::m_pocaR
float m_pocaR
r of POCA
Definition: TOPAlignmentCollectorModule.h:117