Belle II Software development
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
22namespace 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.