Belle II Software development
|
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 comming 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 |
Get the rigid body alignment hierarchy.
Definition at line 106 of file Manager.h.
|
inline |
Get the constraints collected so far.
Definition at line 110 of file Manager.h.
|
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 |
Get the Lorentz shift hierarchy.
Definition at line 108 of file Manager.h.
|
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 comming 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.
|
private |
|
private |
|
private |
Vector of EventMetaData containing the time slicing of the calibration job.
|
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.
|
private |