Belle II Software  release-05-01-25
KLMDatabaseImporter.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2016 Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Kirill Chilikin, Giacomo De Pietro *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 
13 /* KLM headers. */
14 #include <klm/dbobjects/bklm/BKLMAlignment.h>
15 #include <klm/dbobjects/KLMChannelStatus.h>
16 #include <klm/dbobjects/KLMScintillatorDigitizationParameters.h>
17 #include <klm/dbobjects/KLMStripEfficiency.h>
18 #include <klm/dbobjects/KLMTimeConversion.h>
19 #include <klm/dbobjects/KLMTimeWindow.h>
20 #include <klm/dbobjects/eklm/EKLMAlignment.h>
21 #include <klm/dbobjects/eklm/EKLMSegmentAlignment.h>
22 
23 namespace Belle2 {
32  class KLMDatabaseImporter {
33 
34  public:
35 
40 
45 
49  void setIOV(int experimentLow, int runLow, int experimentHigh, int runHigh);
50 
54  void importChannelStatus(const KLMChannelStatus* channelStatus);
55 
60  const KLMScintillatorDigitizationParameters* digitizationParameters);
61 
66  void importTimeConversion(const KLMTimeConversion* timeConversion);
67 
72  void importTimeWindow(KLMTimeWindow* timeWindow);
73 
83  void loadStripEfficiency(KLMStripEfficiency* stripEfficiency,
84  std::string fileName);
85 
90  void importStripEfficiency(const KLMStripEfficiency* stripEfficiency);
91 
99  void importAlignment(const BKLMAlignment* bklmAlignment,
100  const EKLMAlignment* eklmAlignment,
101  const EKLMSegmentAlignment* eklmSegmentAlignment,
102  bool displacement = false);
103 
104  private:
105 
111  void importBKLMAlignment(const BKLMAlignment* bklmAlignment,
112  bool displacement = false);
113 
119  void importEKLMAlignment(const EKLMAlignment* eklmAlignment,
120  bool displacement = false);
121 
128  const EKLMSegmentAlignment* eklmSegmentAlignment,
129  bool displacement = false);
130 
132  int m_ExperimentLow = 0;
133 
135  int m_RunLow = 0;
136 
138  int m_ExperimentHigh = -1;
139 
141  int m_RunHigh = -1;
142 
143  };
144 
146 }
Belle2::KLMDatabaseImporter::setIOV
void setIOV(int experimentLow, int runLow, int experimentHigh, int runHigh)
Set interval of validity.
Definition: KLMDatabaseImporter.cc:36
Belle2::KLMDatabaseImporter::m_ExperimentLow
int m_ExperimentLow
Low experiment.
Definition: KLMDatabaseImporter.h:140
Belle2::KLMDatabaseImporter::importEKLMAlignment
void importEKLMAlignment(const EKLMAlignment *eklmAlignment, bool displacement=false)
Import EKLM alignment.
Definition: KLMDatabaseImporter.cc:150
Belle2::KLMChannelStatus
KLM channel status.
Definition: KLMChannelStatus.h:37
Belle2::KLMDatabaseImporter::importStripEfficiency
void importStripEfficiency(const KLMStripEfficiency *stripEfficiency)
Import strip efficiencies.
Definition: KLMDatabaseImporter.cc:125
Belle2::KLMDatabaseImporter::importTimeConversion
void importTimeConversion(const KLMTimeConversion *timeConversion)
Import time conversion parameters.
Definition: KLMDatabaseImporter.cc:65
Belle2::KLMTimeWindow
DBObject containing KLM time window parameters used in KLMReconstructor module.
Definition: KLMTimeWindow.h:34
Belle2::KLMDatabaseImporter::m_ExperimentHigh
int m_ExperimentHigh
High experiment.
Definition: KLMDatabaseImporter.h:146
Belle2::EKLMAlignment
Class to store EKLM alignment data in the database.
Definition: EKLMAlignment.h:40
Belle2::KLMStripEfficiency
DBObject used to store the efficiencies of KLM strips.
Definition: KLMStripEfficiency.h:41
Belle2::KLMDatabaseImporter::importBKLMAlignment
void importBKLMAlignment(const BKLMAlignment *bklmAlignment, bool displacement=false)
Import BKLM alignment.
Definition: KLMDatabaseImporter.cc:135
Belle2::KLMDatabaseImporter::importTimeWindow
void importTimeWindow(KLMTimeWindow *timeWindow)
Import KLM time window parameters.
Definition: KLMDatabaseImporter.cc:75
Belle2::KLMDatabaseImporter::KLMDatabaseImporter
KLMDatabaseImporter()
Constructor.
Definition: KLMDatabaseImporter.cc:28
Belle2::KLMDatabaseImporter::m_RunHigh
int m_RunHigh
High run.
Definition: KLMDatabaseImporter.h:149
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::KLMScintillatorDigitizationParameters
Class to store KLM scintillator simulation parameters in the database.
Definition: KLMScintillatorDigitizationParameters.h:33
Belle2::KLMTimeConversion
KLM time conversion.
Definition: KLMTimeConversion.h:33
Belle2::KLMDatabaseImporter::importScintillatorDigitizationParameters
void importScintillatorDigitizationParameters(const KLMScintillatorDigitizationParameters *digitizationParameters)
Import scintillator simulation parameters.
Definition: KLMDatabaseImporter.cc:55
Belle2::KLMDatabaseImporter::loadStripEfficiency
void loadStripEfficiency(KLMStripEfficiency *stripEfficiency, std::string fileName)
Load strip efficiencies.
Definition: KLMDatabaseImporter.cc:84
Belle2::KLMDatabaseImporter::m_RunLow
int m_RunLow
Low run.
Definition: KLMDatabaseImporter.h:143
Belle2::EKLMSegmentAlignment
Class to store EKLM alignment data in the database.
Definition: EKLMSegmentAlignment.h:40
Belle2::KLMDatabaseImporter::importChannelStatus
void importChannelStatus(const KLMChannelStatus *channelStatus)
Import channel status.
Definition: KLMDatabaseImporter.cc:45
Belle2::BKLMAlignment
Class to store BKLM alignment data in the database.
Definition: BKLMAlignment.h:40
Belle2::KLMDatabaseImporter::importAlignment
void importAlignment(const BKLMAlignment *bklmAlignment, const EKLMAlignment *eklmAlignment, const EKLMSegmentAlignment *eklmSegmentAlignment, bool displacement=false)
Import alignment.
Definition: KLMDatabaseImporter.cc:180
Belle2::KLMDatabaseImporter::~KLMDatabaseImporter
~KLMDatabaseImporter()
Destructor.
Definition: KLMDatabaseImporter.cc:32
Belle2::KLMDatabaseImporter::importEKLMSegmentAlignment
void importEKLMSegmentAlignment(const EKLMSegmentAlignment *eklmSegmentAlignment, bool displacement=false)
Import EKLM segment alignment.
Definition: KLMDatabaseImporter.cc:165