35 std::cout <<
"Opening database '" << dbStr <<
"'...";
36 cool::IDatabaseSvc& dbSvc = this->databaseService();
37 std::cout <<
"done." << std::endl;
38 return dbSvc.openDatabase(dbStr.c_str(), readOnly);
40 catch (cool::DatabaseDoesNotExist&) {
41 std::cout <<
"Error! Database does not exist!" << std::endl;
50 cool::IFolderPtr folder =
m_coolDb->getFolder(folderStr.c_str());
54 catch (cool::FolderNotFound&) {
55 std::cout <<
"Error! Folder '" << folderStr <<
"' does not exist!" << std::endl;
80 setIOV(cool::Int64 runS, cool::Int64 lumiS, cool::Int64 runU, cool::Int64 lumiU) {
97 cool::Int64 runS =
m_since >> 32;
98 cool::Int64 lumiS =
m_since - (runS << 32);
99 cool::Int64 runU =
m_until >> 32;
100 cool::Int64 lumiU =
m_until - (runU << 32);
101 std::cout <<
"Using IOVrange [(" << runS <<
"," << lumiS <<
"),(" << runU <<
"," << lumiU <<
")] " <<
"[" <<
107 CoolOpen(
const std::string& dbStr) {
114 std::cout <<
"Cleared!" << std::endl;
117 cool::RecordSpecification
121 cool::RecordSpecification spec;
122 spec.extend(
"Chamber_Name", cool::StorageType::String255);
123 spec.extend(
"Dead_multilayer", cool::StorageType::String255);
124 spec.extend(
"Dead_tube", cool::StorageType::String4k);
128 std::cout <<
"ERROR Source and destination folder specifications differ." << std::endl;
137 const std::string& DeadMultilayer,
138 const std::string& DeadTube,
139 const cool::RecordSpecification& spec) {
142 coral::AttributeList payload = cool::Record(spec).attributeList();
144 payload[
"Chamber_Name"].data<cool::String255>() = ChamberName;
145 payload[
"Dead_multilayer"].data<cool::String255>() = DeadMultilayer;
146 payload[
"Dead_tube"].data<cool::String4k>() = DeadTube;
153 cool::RecordSpecification
157 cool::RecordSpecification spec;
158 spec.extend(
"Chamber_Name", cool::StorageType::String255);
159 spec.extend(
"Noisy_multilayer", cool::StorageType::String255);
160 spec.extend(
"Noisy_tube", cool::StorageType::String4k);
164 std::cout <<
"ERROR Source and destination folder specifications differ." << std::endl;
173 const std::string& NoisyMultilayer,
174 const std::string& NoisyTube,
175 const cool::RecordSpecification& spec) {
178 coral::AttributeList payload = cool::Record(spec).attributeList();
180 payload[
"Chamber_Name"].data<cool::String255>() = ChamberName;
181 payload[
"Noisy_multilayer"].data<cool::String255>() = NoisyMultilayer;
182 payload[
"Noisy_tube"].data<cool::String4k>() = NoisyTube;
195 while (objects->goToNext()) {
196 const cool::IObject& element = objects->currentRef();
197 std::cout << element << std::endl;
200 catch (cool::Exception& e) {
201 std::cout <<
"Unknown exception caught!" << e.what() << std::endl;
202 std::cout <<
" dentro create payload" << std::endl;
208 dumpField(cool::ChannelId channelId, std::string field) {
209 std::string result =
"";
211 cool::ChannelSelection
selection = cool::ChannelSelection(channelId);
213 while (objects->goToNext()) {
214 const cool::IObject& element = objects->currentRef();
215 result = element.payloadValue(field);
218 catch (cool::Exception& e) {
219 std::cout <<
"Unknown exception caught!" << e.what() << std::endl;
226 dumpCode(
const std::string& channelName) {
228 return atoi(result.c_str());
234 this->
dump(cool::ChannelSelection::all());
240 cool::ChannelId channelId,
241 const std::string& ChamberName,
242 const std::string& DeadMultilayer,
243 const std::string& DeadTube,
244 const std::string& cool_tag) {
247 coral::AttributeList payload = this->
createPayloadDataDead(ChamberName, DeadMultilayer, DeadTube, spec);
248 cool::ValidityKey since_u = (
run << 32);
249 cool::ValidityKey until_u = (
run + 1) << 32;
250 m_coolFolder->storeObject(since_u, until_u, cool::Record(
251 m_coolFolder->payloadSpecification(), payload), channelId, cool_tag);
252 std::cout <<
"stored! With Tag =" << cool_tag << std::endl;
254 catch (cool::Exception& e) {
255 std::cout <<
" dentro create insert" << std::endl;
256 std::cout <<
"Unknown exception caught!" << e.what() << std::endl;
263 cool::ChannelId channelId,
264 const std::string& ChamberName,
265 const std::string& DeadMultilayer,
266 const std::string& DeadTube) {
267 std::cout <<
"Trying to store payload [channel " << std::endl;
270 coral::AttributeList payload = this->
createPayloadDataDead(ChamberName, DeadMultilayer, DeadTube, spec);
271 cool::ValidityKey since_u = (
run << 32);
272 cool::ValidityKey until_u = (
run + 1) << 32;
275 std::cout <<
"stored! without Tag" << std::endl;
277 catch (cool::Exception& e) {
278 std::cout <<
" dentro create insert" << std::endl;
279 std::cout <<
"Unknown exception caught!" << e.what() << std::endl;
290 cool::ChannelId channelId,
291 const std::string& ChamberName,
292 const std::string& NoisyMultilayer,
293 const std::string& NoisyTube,
294 const std::string& cool_tag) {
297 coral::AttributeList payload = this->
createPayloadDataNoisy(ChamberName, NoisyMultilayer, NoisyTube, spec);
298 cool::ValidityKey since_u = (
run << 32);
299 cool::ValidityKey until_u = (
run + 1) << 32;
300 m_coolFolder->storeObject(since_u, until_u, cool::Record(
301 m_coolFolder->payloadSpecification(), payload), channelId, cool_tag);
302 std::cout <<
"stored! With Tag =" << cool_tag << std::endl;
304 catch (cool::Exception& e) {
305 std::cout <<
" dentro create insert" << std::endl;
306 std::cout <<
"Unknown exception caught!" << e.what() << std::endl;
313 cool::ChannelId channelId,
314 const std::string& ChamberName,
315 const std::string& NoisyMultilayer,
316 const std::string& NoisyTube) {
317 std::cout <<
"Trying to store payload [channel " << std::endl;
320 coral::AttributeList payload = this->
createPayloadDataNoisy(ChamberName, NoisyMultilayer, NoisyTube, spec);
321 cool::ValidityKey since_u = (
run << 32);
322 cool::ValidityKey until_u = (
run + 1) << 32;
325 std::cout <<
"stored! without Tag" << std::endl;
327 catch (cool::Exception& e) {
328 std::cout <<
" dentro create insert" << std::endl;
329 std::cout <<
"Unknown exception caught!" << e.what() << std::endl;