Belle II Software development
eclMergingCrystalTimingAlgorithm.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/**************************************************************************
10 * Description: *
11 * Take the previously created DBObjects for ECL crystal timing from *
12 * bhabha events for crystals inside the CDC acceptance and radiative *
13 * bhabha and/or cosmic muons for crystal near and outside the CDC *
14 * acceptance and merge them. Does not not explicitly check the *
15 * regions where the crystals are, it just prioritises certain *
16 * payloads over others. *
17 **************************************************************************/
18
19#pragma once
20
21/* ECL headers. */
22#include <ecl/dataobjects/ECLElementNumbers.h>
23#include <ecl/dbobjects/ECLCrystalCalib.h>
24#include <ecl/dbobjects/ECLReferenceCrystalPerCrateCalib.h>
25
26/* Basf2 headers. */
27#include <calibration/CalibrationAlgorithm.h>
28#include <framework/database/DBObjPtr.h>
29
30namespace Belle2 {
35 namespace ECL {
36
39 public:
40
43
46
47
48 /*** Parameters ***/
49
52
53 protected:
54
56 EResult calibrate() override;
57
58 private:
59
60 // Payloads to be merged
63
66
69
70 // Additional payloads
73
76
79
81 static constexpr int m_numCrates = 52;
82 };
83 }
85} // namespace Belle2
86
87
Base class for calibration algorithms.
EResult
The result of calibration.
Class for accessing objects in the database.
Definition: DBObjPtr.h:21
Calibrate ecl crystals using previously created payloads.
DBObjPtr< ECLCrystalCalib > m_ECLCrystalTimeOffsetBhabha
ECLCrystalTimeOffsetBhabha payload that we want to read from the DB.
DBObjPtr< ECLReferenceCrystalPerCrateCalib > m_ECLReferenceCrystalPerCrateCalib
ECLReferenceCrystalPerCrateCalib payload that we want to read from the DB.
static constexpr int m_numCrates
Number of Crates expected.
DBObjPtr< ECLCrystalCalib > m_ECLCrateTimeOffset
ECLCrateTimeOffset payload that we want to read from the DB.
static constexpr int m_numCrystals
Number of Crystals expected.
bool readPrevCrysPayload
< Read the previous crystal payload values for comparison
DBObjPtr< ECLCrystalCalib > m_ECLCrystalTimeOffsetCosmic
ECLCrystalTimeOffsetCosmic payload that we want to read from the DB.
DBObjPtr< ECLCrystalCalib > m_ECLCrystalTimeOffsetBhabhaGamma
ECLCrystalTimeOffsetBhabhaGamma payload that we want to read from the DB.
const int c_NCrystals
Number of crystals.
Abstract base class for different kinds of events.