Skip to content

Commit f9103ce

Browse files
syano0822shahor02
authored andcommitted
Add the function to store ALPIDE information (MFTAlpideParam.roFrameLengthInBC) in CCDB.
1 parent 8d008de commit f9103ce

File tree

5 files changed

+54
-1
lines changed

5 files changed

+54
-1
lines changed

Detectors/ITSMFT/MFT/condition/include/MFTCondition/DCSConfigReader.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414

1515
#include "Rtypes.h"
1616
#include "DataFormatsITSMFT/NoiseMap.h"
17+
#include "ITSMFTBase/DPLAlpideParam.h"
1718
#include "MFTCondition/DCSConfigInfo.h"
1819
#include "MFTCondition/DCSConfigUtils.h"
1920
#include <gsl/span>
@@ -42,6 +43,7 @@ class DCSConfigReader
4243

4344
const std::vector<o2::mft::DCSConfigInfo>& getConfigInfo() const { return mDCSConfig; }
4445
const o2::itsmft::NoiseMap& getNoiseMap() const { return mNoiseMap; }
46+
const o2::itsmft::DPLAlpideParam<o2::detectors::DetID::MFT>& getAlpideInfo() const { return mAlpideInfo; }
4547

4648
private:
4749
void parseConfig();
@@ -51,6 +53,7 @@ class DCSConfigReader
5153

5254
std::vector<o2::mft::DCSConfigInfo> mDCSConfig;
5355
o2::itsmft::NoiseMap mNoiseMap{936};
56+
const o2::itsmft::DPLAlpideParam<o2::detectors::DetID::MFT>& mAlpideInfo = o2::itsmft::DPLAlpideParam<o2::detectors::DetID::MFT>::Instance();
5457

5558
DCSConfigUtils* mDCSUtils;
5659

Detectors/ITSMFT/MFT/condition/macros/CMakeLists.txt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,17 @@ o2_add_test_root_macro(
1717
readMFTDCSConfigEntries.C
1818
PUBLIC_LINK_LIBRARIES O2::DetectorsDCS O2::CCDB O2::MFTCondition)
1919

20-
2120
o2_add_test_root_macro(
2221
makeMFTCCDBEntryForDCS.C
2322
PUBLIC_LINK_LIBRARIES O2::DetectorsDCS O2::CCDB)
2423

24+
o2_add_test_root_macro(
25+
readAlpideCCDB.C
26+
PUBLIC_LINK_LIBRARIES O2::DetectorsDCS O2::CCDB)
27+
2528
install(
2629
FILES makeMFTCCDBEntryForDCS.C
2730
readMFTDCSentries.C
2831
readMFTDCSConfigEntries.C
32+
readAlpideCCDB.C
2933
DESTINATION share/macro/)
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
2+
// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
3+
// All rights not expressly granted are reserved.
4+
//
5+
// This software is distributed under the terms of the GNU General Public
6+
// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
7+
//
8+
// In applying this license CERN does not waive the privileges and immunities
9+
// granted to it by virtue of its status as an Intergovernmental Organization
10+
// or submit itself to any jurisdiction.
11+
12+
void readAlpideCCDB(long timestamp = -1, float thresh = 0)
13+
{
14+
o2::ccdb::CcdbApi api;
15+
// api.init("alice-ccdb.cern.ch");
16+
api.init("ccdb-test.cern.ch");
17+
map<string, string> headers;
18+
map<std::string, std::string> filter;
19+
auto calib = api.retrieveFromTFileAny<o2::itsmft::DPLAlpideParam<o2::detectors::DetID::MFT>>("MFT/Config/AlpideParam/", filter, timestamp, &headers);
20+
calib->printKeyValues();
21+
}

Detectors/ITSMFT/MFT/condition/src/DCSConfigReader.cxx

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,11 @@ void DCSConfigReader::parseConfig()
127127
conf.setType(0); // RU = 0
128128
conf.setVersion(verName);
129129
mDCSConfig.emplace_back(conf);
130+
if (arrRUAdd[iRUconf] == 4097) {
131+
const std::string& key = "MFTAlpideParam.roFrameLengthInBC";
132+
const std::string& keyval = Form("%d", arrRUVal[iRUconf]);
133+
mAlpideInfo.setValue(key, keyval);
134+
}
130135
}
131136

132137
if (mVerbose) {

Detectors/ITSMFT/MFT/condition/testWorkflow/MFTDCSConfigProcessorSpec.h

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,26 @@ class MFTDCSConfigProcessor : public o2::framework::Task
117117

118118
output.snapshot(Output{o2::calibration::Utils::gDataOriginCDBPayload, "DCS_CONFIG_FILE", 1}, *imageDeadMap.get()); // vector<char>
119119
output.snapshot(Output{o2::calibration::Utils::gDataOriginCDBWrapper, "DCS_CONFIG_FILE", 1}, infoDeadMap); // root-serialized
120+
121+
////////////////////////////////////////////////////////////////////////////////////////////////
122+
// Preparing the object for Alpide Configuration
123+
////////////////////////////////////////////////////////////////////////////////////////////////
124+
125+
const auto& payloadAlpideInfo = mReader.getAlpideInfo();
126+
auto clNameAlpideInfo = o2::utils::MemFileHelper::getClassName(payloadAlpideInfo);
127+
auto flNameAlpideInfo = o2::ccdb::CcdbApi::generateFileName(clNameAlpideInfo);
128+
std::map<std::string, std::string> mdAlpideInfo;
129+
mdAlpideInfo.emplace("created_by", "dpl");
130+
131+
o2::ccdb::CcdbObjectInfo infoAlpideInfo("MFT/Config/AlpideParam", clNameAlpideInfo, flNameAlpideInfo, mdAlpideInfo, tf, o2::ccdb::CcdbObjectInfo::INFINITE_TIMESTAMP);
132+
133+
auto imageAlpideInfo = o2::ccdb::CcdbApi::createObjectImage(&payloadAlpideInfo, &infoAlpideInfo);
134+
135+
LOG(info) << "Sending object " << infoAlpideInfo.getPath() << "/" << infoAlpideInfo.getFileName() << " of size " << imageAlpideInfo->size()
136+
<< " bytes, valid for " << infoAlpideInfo.getStartValidityTimestamp() << " : " << infoAlpideInfo.getEndValidityTimestamp();
137+
138+
output.snapshot(Output{o2::calibration::Utils::gDataOriginCDBPayload, "DCS_CONFIG_FILE", 3}, *imageAlpideInfo.get()); // vector<char>
139+
output.snapshot(Output{o2::calibration::Utils::gDataOriginCDBWrapper, "DCS_CONFIG_FILE", 3}, infoAlpideInfo); // root-serialized
120140
}
121141
//________________________________________________________________
122142

0 commit comments

Comments
 (0)