14#include <Geant4/G4Transform3D.hh>
15#include <root/TMatrixD.h>
16#include <genfit/StateOnPlane.h>
17#include <root/TGeoMatrix.h>
20#include <framework/logging/Logger.h>
22#include <mdst/dbobjects/BeamSpot.h>
23#include <alignment/dbobjects/VXDAlignment.h>
24#include <alignment/dbobjects/CDCCalibration.h>
25#include <klm/dbobjects/bklm/BKLMAlignment.h>
26#include <klm/dbobjects/eklm/EKLMAlignment.h>
27#include <klm/dbobjects/eklm/EKLMSegmentAlignment.h>
29#include <cdc/dbobjects/CDCTimeZeros.h>
30#include <cdc/dbobjects/CDCTimeWalks.h>
31#include <cdc/dbobjects/CDCAlignment.h>
32#include <cdc/dbobjects/CDCXtRelations.h>
34#include <alignment/GlobalParam.h>
35#include <alignment/GlobalTimeLine.h>
36#include <alignment/Hierarchy.h>
62 if (lhs.
getRun() < rhs.getRun())
return true;
63 if (lhs.
getRun() > rhs.getRun())
return false;
65 if (lhs.
getEvent() < rhs.getEvent())
return true;
98 void initialize(
const std::vector<std::string>& components = {},
const std::vector<EventMetaData>& timeSlices = {});
Class to hold hierarchy of whole Belle2.
std::function< bool(const EventMetaData &, const EventMetaData &)> cmpEventMetaData
Comparison function for EventMetaData.
GlobalCalibrationManager & operator=(const GlobalCalibrationManager &)
Singleton class, hidden assignment operator.
Constraints & getConstraints()
Get the constraints collected so far.
bool m_initialized
Finished initialization?
~GlobalCalibrationManager()
Destructor.
LorentShiftHierarchy & getLorentzShiftHierarchy() const
Get the Lorentz shift hierarchy.
std::unique_ptr< RigidBodyHierarchy > m_alignment
The alignment hierarchy.
GlobalCalibrationManager()
Singleton class, hidden constructor.
void writeConstraints(std::string txtFilename)
Write-out complete hierarchy to a text file.
void initialize(const std::vector< std::string > &components={}, const std::vector< EventMetaData > &timeSlices={})
Initialize the manager with given configuration (from MillepedeCollector)
std::vector< EventMetaData > m_dbTimeSlicing
Vector of EventMetaData containing the time slicing of the calibration job.
std::unique_ptr< LorentShiftHierarchy > m_lorentzShift
Hierarchy for Lorentz shift corrections.
void sortUniqueVector(std::vector< EventMetaData > &vec)
Sort vector of EventMetaData and make it unique to process user defined time splittings of the consta...
std::unique_ptr< GlobalParamVector > m_globalVector
The global vector for unified access to DB constants.
std::map< long, Constraint > m_constraints
Map of constraints {unique label, labels and coefficients}.
int updateTimeDepGlobalLabels(const EventMetaData &event)
Update the current time ID in the GlobalLabel.
static void initGlobalVector(GlobalParamVector &vector)
Initialize a given GlobalParamVector with all DB objects and interfaces.
GlobalCalibrationManager(const GlobalCalibrationManager &)
Singleton class, hidden copy constructor.
RigidBodyHierarchy & getAlignmentHierarchy() const
Get the rigid body alignment hierarchy.
void preCollect(const EventMetaData &emd)
Notice manager of a comming event (from MillepedeCollector)
alignment::timeline::TimeTable m_iniTimeTable
The initial time table generated from time intervals in GlobalLabel used to check if payload (labels)...
static GlobalCalibrationManager & getInstance()
Get instance of the Manager auto& gcm = GlobalCalibrationManager::getInstance();.
The central user class to manipulate any global constant in any DB object Used to retrieve global par...
1D Hierarchy for Lorentz shift correction
6D Hierarchy of rigid bodies
Abstract base class for different kinds of events.