Belle II Software  release-06-02-00
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 #include <framework/database/DBObjPtr.h>
21 #include <calibration/CalibrationAlgorithm.h>
22 #include <ecl/dbobjects/ECLCrystalCalib.h>
23 #include <ecl/dbobjects/ECLReferenceCrystalPerCrateCalib.h>
24 
25 namespace Belle2 {
30  namespace ECL {
31 
34  public:
35 
38 
41 
42 
43  /*** Parameters ***/
44 
47 
48  protected:
49 
51  EResult calibrate() override;
52 
53  private:
54 
55  // Payloads to be merged
58 
61 
64 
65  // Additional payloads
68 
71 
73  static constexpr int m_numCrystals = 8736;
74 
76  static constexpr int m_numCrates = 52;
77  };
78  }
80 } // namespace Belle2
81 
82 
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.
Abstract base class for different kinds of events.