 |
Belle II Software
release-05-01-25
|
12 #include <klm/calibration/KLMDatabaseImporter.h>
15 #include <framework/database/DBImportObjPtr.h>
16 #include <framework/database/IntervalOfValidity.h>
17 #include <framework/logging/Logger.h>
37 int experimentHigh,
int runHigh)
49 channelStatusImport.
construct(*channelStatus);
52 channelStatusImport.
import(iov);
59 digPar.construct(*digitizationParameters);
69 timeConversionImport.
construct(*timeConversion);
72 timeConversionImport.
import(iov);
81 timeWindowImport.
import(iov);
87 TFile* file = TFile::Open(fileName.c_str(),
"r");
89 B2ERROR(
"KLMDatabaseImporter: calibration file " << fileName <<
" *** failed to open");
91 TTree* tree = (TTree*)file->Get(
"tree");
93 B2ERROR(
"KLMDatabaseImporter: calibration file " << fileName <<
" *** no tree named 'tree' found");
97 tree->SetBranchAddress(
"isBarrel", &isBarrel);
99 tree->SetBranchAddress(
"isForward", §ion);
101 tree->SetBranchAddress(
"sector", §or);
103 tree->SetBranchAddress(
"layer", &layer);
105 tree->SetBranchAddress(
"plane", &plane);
107 tree->SetBranchAddress(
"strip", &strip);
108 float efficiency = 1.;
109 tree->SetBranchAddress(
"efficiency", &efficiency);
110 float efficiencyError = 0.;
111 tree->SetBranchAddress(
"efficiencyError", &efficiencyError);
113 for (
int i = 0; i < tree->GetEntries(); i++) {
116 stripEfficiency->setBarrelEfficiency(section, sector, layer, plane, strip, efficiency, efficiencyError);
118 stripEfficiency->setEndcapEfficiency(section, sector, layer, plane, strip, efficiency, efficiencyError);
129 stripEfficiencyImport.
construct(*stripEfficiency);
132 stripEfficiencyImport.
import(iov);
138 std::string payloadName;
140 payloadName =
"BKLMDisplacement";
142 payloadName =
"BKLMAlignment";
144 bklmAlignmentImport.
construct(*bklmAlignment);
147 bklmAlignmentImport.
import(iov);
153 std::string payloadName;
155 payloadName =
"EKLMDisplacement";
157 payloadName =
"EKLMAlignment";
159 eklmAlignmentImport.
construct(*eklmAlignment);
162 eklmAlignmentImport.
import(iov);
168 std::string payloadName;
170 payloadName =
"EKLMSegmentDisplacement";
172 payloadName =
"EKLMSegmentAlignment";
174 eklmSegmentAlignmentImport.
construct(*eklmSegmentAlignment);
177 eklmSegmentAlignmentImport.
import(iov);
A class that describes the interval of experiments/runs for which an object in the database is valid.
void setIOV(int experimentLow, int runLow, int experimentHigh, int runHigh)
Set interval of validity.
int m_ExperimentLow
Low experiment.
void importEKLMAlignment(const EKLMAlignment *eklmAlignment, bool displacement=false)
Import EKLM alignment.
void importStripEfficiency(const KLMStripEfficiency *stripEfficiency)
Import strip efficiencies.
void importTimeConversion(const KLMTimeConversion *timeConversion)
Import time conversion parameters.
void construct(Args &&... params)
Construct an object of type T in this DBImportObjPtr using the provided constructor arguments.
bool import(const IntervalOfValidity &iov)
Import the object to database.
DBObject containing KLM time window parameters used in KLMReconstructor module.
int m_ExperimentHigh
High experiment.
Class to store EKLM alignment data in the database.
DBObject used to store the efficiencies of KLM strips.
void importBKLMAlignment(const BKLMAlignment *bklmAlignment, bool displacement=false)
Import BKLM alignment.
void importTimeWindow(KLMTimeWindow *timeWindow)
Import KLM time window parameters.
KLMDatabaseImporter()
Constructor.
Abstract base class for different kinds of events.
Class to store KLM scintillator simulation parameters in the database.
Class for importing a single object to the database.
void importScintillatorDigitizationParameters(const KLMScintillatorDigitizationParameters *digitizationParameters)
Import scintillator simulation parameters.
void loadStripEfficiency(KLMStripEfficiency *stripEfficiency, std::string fileName)
Load strip efficiencies.
Class to store EKLM alignment data in the database.
void importChannelStatus(const KLMChannelStatus *channelStatus)
Import channel status.
Class to store BKLM alignment data in the database.
void importAlignment(const BKLMAlignment *bklmAlignment, const EKLMAlignment *eklmAlignment, const EKLMSegmentAlignment *eklmSegmentAlignment, bool displacement=false)
Import alignment.
~KLMDatabaseImporter()
Destructor.
void importEKLMSegmentAlignment(const EKLMSegmentAlignment *eklmSegmentAlignment, bool displacement=false)
Import EKLM segment alignment.