Belle II Software  release-08-01-10
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 
30 namespace 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.