Belle II Software  release-08-01-10
KLMDatabaseImporter.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 #pragma once
10 
11 /* KLM headers. */
12 #include <klm/dbobjects/bklm/BKLMAlignment.h>
13 #include <klm/dbobjects/KLMChannelStatus.h>
14 #include <klm/dbobjects/KLMReconstructionParameters.h>
15 #include <klm/dbobjects/KLMScintillatorDigitizationParameters.h>
16 #include <klm/dbobjects/KLMStripEfficiency.h>
17 #include <klm/dbobjects/KLMTimeConversion.h>
18 #include <klm/dbobjects/KLMTimeWindow.h>
19 #include <klm/dbobjects/eklm/EKLMAlignment.h>
20 #include <klm/dbobjects/eklm/EKLMSegmentAlignment.h>
21 
22 namespace Belle2 {
32 
33  public:
34 
39 
44 
48  void setIOV(int experimentLow, int runLow, int experimentHigh, int runHigh);
49 
53  void importChannelStatus(const KLMChannelStatus* channelStatus);
54 
59  const KLMReconstructionParameters* digitizationParameters);
60 
65  const KLMScintillatorDigitizationParameters* digitizationParameters);
66 
71  void importTimeConversion(const KLMTimeConversion* timeConversion);
72 
77  void importTimeWindow(KLMTimeWindow* timeWindow);
78 
88  void loadStripEfficiency(KLMStripEfficiency* stripEfficiency,
89  std::string fileName);
90 
95  void importStripEfficiency(const KLMStripEfficiency* stripEfficiency);
96 
104  void importAlignment(const BKLMAlignment* bklmAlignment,
105  const EKLMAlignment* eklmAlignment,
106  const EKLMSegmentAlignment* eklmSegmentAlignment,
107  bool displacement = false);
108 
109  private:
110 
116  void importBKLMAlignment(const BKLMAlignment* bklmAlignment,
117  bool displacement = false);
118 
124  void importEKLMAlignment(const EKLMAlignment* eklmAlignment,
125  bool displacement = false);
126 
133  const EKLMSegmentAlignment* eklmSegmentAlignment,
134  bool displacement = false);
135 
138 
140  int m_RunLow = 0;
141 
144 
146  int m_RunHigh = -1;
147 
148  };
149 
151 }
Class to store BKLM alignment data in the database.
Definition: BKLMAlignment.h:30
Class to store EKLM alignment data in the database.
Definition: EKLMAlignment.h:30
Class to store EKLM alignment data in the database.
KLM channel status.
KLM database importer.
void importTimeWindow(KLMTimeWindow *timeWindow)
Import KLM time window parameters.
int m_ExperimentHigh
High experiment.
void importEKLMSegmentAlignment(const EKLMSegmentAlignment *eklmSegmentAlignment, bool displacement=false)
Import EKLM segment alignment.
void importReconstructionParameters(const KLMReconstructionParameters *digitizationParameters)
Import reconstruction parameters.
void importScintillatorDigitizationParameters(const KLMScintillatorDigitizationParameters *digitizationParameters)
Import scintillator simulation parameters.
int m_ExperimentLow
Low experiment.
void importChannelStatus(const KLMChannelStatus *channelStatus)
Import channel status.
void setIOV(int experimentLow, int runLow, int experimentHigh, int runHigh)
Set interval of validity.
void importTimeConversion(const KLMTimeConversion *timeConversion)
Import time conversion parameters.
void importStripEfficiency(const KLMStripEfficiency *stripEfficiency)
Import strip efficiencies.
void importEKLMAlignment(const EKLMAlignment *eklmAlignment, bool displacement=false)
Import EKLM alignment.
void importAlignment(const BKLMAlignment *bklmAlignment, const EKLMAlignment *eklmAlignment, const EKLMSegmentAlignment *eklmSegmentAlignment, bool displacement=false)
Import alignment.
void loadStripEfficiency(KLMStripEfficiency *stripEfficiency, std::string fileName)
Load strip efficiencies.
void importBKLMAlignment(const BKLMAlignment *bklmAlignment, bool displacement=false)
Import BKLM alignment.
Class to store KLM reconstruction parameters in the database.
Class to store KLM scintillator simulation parameters in the database.
DBObject used to store the efficiencies of KLM strips.
KLM time conversion.
DBObject containing KLM time window parameters used in KLMReconstructor module.
Definition: KLMTimeWindow.h:24
Abstract base class for different kinds of events.