Belle II Software
release-05-01-25
eclWriteWaveformParametersLocalDB.cc
1
#include <framework/database/DBImportObjPtr.h>
2
#include <ecl/dbobjects/ECLDigitWaveformParameters.h>
3
#include <iostream>
4
#include <TFile.h>
5
#include <TTree.h>
6
//
7
//See eclComputePulseTemplates_Step0.cc for README instructions.
9
int
main
()
10
{
11
//
12
TString FileName =
"DigitWaveformParameters.root"
;
13
//
14
TFile* WaveformParameterFileInput =
new
TFile(FileName,
"READ"
);
15
if
(!WaveformParameterFileInput or WaveformParameterFileInput->IsZombie()) {
16
std::cout <<
"Could not open file "
<< FileName << std::endl;;
17
}
18
WaveformParameterFileInput->cd();
19
TTree* WaveformParametersTree = (TTree*) WaveformParameterFileInput->Get(
"ParTree"
);
20
//
21
double
treePhotonPar11[11];
22
double
treeHadronPar11[11];
23
double
treeDiodePar11[11];
24
//
25
WaveformParametersTree->SetBranchAddress(
"PhotonPar"
, &treePhotonPar11);
26
WaveformParametersTree->SetBranchAddress(
"HadronPar"
, &treeHadronPar11);
27
WaveformParametersTree->SetBranchAddress(
"DiodePar"
, &treeDiodePar11);
28
//
29
30
//
31
Belle2::DBImportObjPtr<Belle2::ECLDigitWaveformParameters>
importer(
"ECLDigitWaveformParameters"
);
32
importer.construct();
33
for
(
int
ID = 0; ID < 8736; ID++) {
34
WaveformParametersTree->GetEntry(ID);
35
float
tempPhotonPar11[11];
36
float
tempHadronPar11[11];
37
float
tempDiodePar11[11];
38
for
(
unsigned
int
k = 0; k < 11; k++) {
39
tempPhotonPar11[k] = (float)treePhotonPar11[k];
40
tempHadronPar11[k] = (float)treeHadronPar11[k];
41
tempDiodePar11[k] = (float)treeDiodePar11[k];
42
}
43
std::cout <<
"cellID: "
<< ID + 1 <<
" "
<< tempPhotonPar11[0] <<
" "
<< tempHadronPar11[0] <<
" "
<< tempDiodePar11[0] <<
44
std::endl;
45
//
46
if
(tempPhotonPar11[0] == 0 || tempHadronPar11[0] == 0
47
|| tempDiodePar11[0] == 0) std::cout <<
"WARNING CELLID MISSING: "
<< ID + 1 << std::endl;
48
//
49
importer->setTemplateParameters(ID + 1, tempPhotonPar11, tempHadronPar11, tempDiodePar11);
50
}
51
importer.import(
Belle2::IntervalOfValidity::always
());
52
std::cout <<
"Successfully wrote payload ECLDigitWaveformParameters"
<< std::endl;
53
//
54
}
Belle2::IntervalOfValidity::always
static IntervalOfValidity always()
Function that returns an interval of validity that is always valid, c.f.
Definition:
IntervalOfValidity.h:72
main
int main(int argc, char **argv)
Run all tests.
Definition:
test_main.cc:77
Belle2::DBImportObjPtr
Class for importing a single object to the database.
Definition:
DBImportObjPtr.h:33
ecl
tools
eclWriteWaveformParametersLocalDB.cc
Generated on Fri Nov 5 2021 03:51:42 for Belle II Software by
1.8.17