Class to hold hierarchy of whole Belle2. More...
#include <Manager.h>
Public Member Functions | |
~GlobalCalibrationManager () | |
Destructor. | |
void | sortUniqueVector (std::vector< EventMetaData > &vec) |
Sort vector of EventMetaData and make it unique to process user defined time splittings of the constants. | |
void | initialize (const std::vector< std::string > &components={}, const std::vector< EventMetaData > &timeSlices={}) |
Initialize the manager with given configuration (from MillepedeCollector) | |
void | preCollect (const EventMetaData &emd) |
Notice manager of a coming event (from MillepedeCollector) | |
RigidBodyHierarchy & | getAlignmentHierarchy () const |
Get the rigid body alignment hierarchy. | |
LorentShiftHierarchy & | getLorentzShiftHierarchy () const |
Get the Lorentz shift hierarchy. | |
Constraints & | getConstraints () |
Get the constraints collected so far. | |
void | writeConstraints (std::string txtFilename) |
Write-out complete hierarchy to a text file. | |
Static Public Member Functions | |
static GlobalCalibrationManager & | getInstance () |
Get instance of the Manager auto& gcm = GlobalCalibrationManager::getInstance();. | |
static void | initGlobalVector (GlobalParamVector &vector) |
Initialize a given GlobalParamVector with all DB objects and interfaces. | |
Public Attributes | |
std::function< bool(const EventMetaData &, const EventMetaData &)> | cmpEventMetaData |
Comparison function for EventMetaData. | |
Private Member Functions | |
GlobalCalibrationManager () | |
Singleton class, hidden constructor. | |
GlobalCalibrationManager (const GlobalCalibrationManager &) | |
Singleton class, hidden copy constructor. | |
GlobalCalibrationManager & | operator= (const GlobalCalibrationManager &) |
Singleton class, hidden assignment operator. | |
int | updateTimeDepGlobalLabels (const EventMetaData &event) |
Update the current time ID in the GlobalLabel. | |
Private Attributes | |
bool | m_initialized {false} |
Finished initialization? | |
std::unique_ptr< RigidBodyHierarchy > | m_alignment {new RigidBodyHierarchy()} |
The alignment hierarchy. | |
std::unique_ptr< LorentShiftHierarchy > | m_lorentzShift {new LorentShiftHierarchy()} |
Hierarchy for Lorentz shift corrections. | |
std::unique_ptr< GlobalParamVector > | m_globalVector {new GlobalParamVector()} |
The global vector for unified access to DB constants. | |
std::map< long, Constraint > | m_constraints {} |
Map of constraints {unique label, labels and coefficients}. | |
std::vector< EventMetaData > | m_dbTimeSlicing {} |
Vector of EventMetaData containing the time slicing of the calibration job. | |
alignment::timeline::TimeTable | m_iniTimeTable {} |
The initial time table generated from time intervals in GlobalLabel used to check if payload (labels) can change and update the hierarchy if so. | |
|
inline |
|
inlineprivate |
|
inline |
|
inline |
|
static |
Get instance of the Manager auto& gcm = GlobalCalibrationManager::getInstance();.
Note you actually initialize the Manager with your specific selection of DB objects to calibrate (or select all for global calibration -default) and other options.
Definition at line 27 of file Manager.cc.
|
inline |
|
static |
Initialize a given GlobalParamVector with all DB objects and interfaces.
auto gpv = GlobalParamVector({"BeamSpot"}); GlobalCalibrationManager::initGlobalVector(gpv);
This one central function should be used to prepare the global vectors even for local calibrations using Millepede. By setting the components argument of GlobalParamVector one can limit which addDBObj<>() calls are actually executed
Definition at line 33 of file Manager.cc.
void initialize | ( | const std::vector< std::string > & | components = {}, |
const std::vector< EventMetaData > & | timeSlices = {} ) |
Initialize the manager with given configuration (from MillepedeCollector)
To be used by MillepedeCollector
Definition at line 52 of file Manager.cc.
void preCollect | ( | const EventMetaData & | emd | ) |
Notice manager of a coming event (from MillepedeCollector)
Definition at line 98 of file Manager.cc.
void sortUniqueVector | ( | std::vector< EventMetaData > & | vec | ) |
Sort vector of EventMetaData and make it unique to process user defined time splittings of the constants.
Definition at line 190 of file Manager.cc.
|
private |
Update the current time ID in the GlobalLabel.
event | current event EventMetaData - generated time ID will be the index of the smallest slice larger than (or. equal) to EventMetaData |
Definition at line 196 of file Manager.cc.
void writeConstraints | ( | std::string | txtFilename | ) |
Write-out complete hierarchy to a text file.
Definition at line 169 of file Manager.cc.
std::function<bool(const EventMetaData&, const EventMetaData&)> cmpEventMetaData |
Comparison function for EventMetaData.
Definition at line 57 of file Manager.h.
|
private |
|
private |
|
private |
Vector of EventMetaData containing the time slicing of the calibration job.
Definition at line 142 of file Manager.h.
|
private |
|
private |
|
private |
The initial time table generated from time intervals in GlobalLabel used to check if payload (labels) can change and update the hierarchy if so.
Definition at line 146 of file Manager.h.
|
private |