6 #include "CoolKernel/IObject.h" 
    7 #include "CoralBase/Blob.h" 
   15 #include "CoralBase/AttributeListException.h" 
   20   EventIDBase infiniteIOVBegin() {
 
   21      return EventIDBase( 0, 
 
   22                         EventIDBase::UNDEFEVT,  
 
   29   EventIDBase infiniteIOVEend() {
 
   31                          EventIDBase::UNDEFEVT,  
 
   46   return StatusCode::SUCCESS;
 
   55     return StatusCode::SUCCESS;
 
   60   EventIDRange infinite_range(infiniteIOVBegin(),infiniteIOVEend());
 
   64   auto bccd=std::make_unique<BunchCrossingAverageCondData>();
 
   87     if (attrList.size() == 0 || attrList[
"Valid"].isNull()) {
 
   89       return StatusCode::SUCCESS;
 
   94     if (attrList_fBCT.size() == 0 || attrList_fBCT[
"Valid"].isNull()) {
 
   96       return StatusCode::SUCCESS;
 
  101     if (attrList_DCCT.size() == 0 || attrList_DCCT[
"Valid"].isNull()) {
 
  103       return StatusCode::SUCCESS;
 
  108     if (attrList_DCCT24.size() == 0 || attrList_DCCT24[
"Valid"].isNull()) {
 
  110       return StatusCode::SUCCESS;
 
  117       ATH_MSG_INFO(
"Got AttributeList with size " << attrList.size());
 
  118       ATH_MSG_INFO(
"Got AttributeList fBCT with size " << attrList_fBCT.size());
 
  119       ATH_MSG_INFO(
"Got AttributeList DCCT with size " << attrList_DCCT.size());
 
  120       ATH_MSG_INFO(
"Got AttributeList DCCT24 with size " << attrList_DCCT24.size());
 
  125       float nb1 = attrList[
"Beam1Intensity"].data<cool::Float>();
 
  126       float nb2 = attrList[
"Beam2Intensity"].data<cool::Float>();
 
  127       float nb1_fBCT = attrList_fBCT[
"Beam1Intensity"].data<cool::Float>();
 
  128       float nb2_fBCT = attrList_fBCT[
"Beam2Intensity"].data<cool::Float>();
 
  129       float nb1_DCCT = attrList_DCCT[
"Beam1Intensity"].data<cool::Float>();
 
  130       float nb2_DCCT = attrList_DCCT[
"Beam2Intensity"].data<cool::Float>();
 
  131       float nb1_DCCT24 = attrList_DCCT24[
"Beam1Intensity"].data<cool::Float>();
 
  132       float nb2_DCCT24 = attrList_DCCT24[
"Beam2Intensity"].data<cool::Float>();
 
  134       float nb1All = attrList[
"Beam1IntensityAll"].data<cool::Float>();
 
  135       float nb2All = attrList[
"Beam2IntensityAll"].data<cool::Float>();
 
  136       float nb1All_fBCT = attrList_fBCT[
"Beam1IntensityAll"].data<cool::Float>();
 
  137       float nb2All_fBCT = attrList_fBCT[
"Beam2IntensityAll"].data<cool::Float>();
 
  138       float nb1All_DCCT = attrList_DCCT[
"Beam1IntensityAll"].data<cool::Float>();
 
  139       float nb2All_DCCT = attrList_DCCT[
"Beam2IntensityAll"].data<cool::Float>();
 
  140       float nb1All_DCCT24 = attrList_DCCT24[
"Beam1IntensityAll"].data<cool::Float>();
 
  141       float nb2All_DCCT24 = attrList_DCCT24[
"Beam2IntensityAll"].data<cool::Float>();
 
  143       float enb1 = attrList[
"Beam1IntensityStd"].data<cool::Float>();
 
  144       float enb2 = attrList[
"Beam2IntensityStd"].data<cool::Float>();
 
  145       float enb1_fBCT = attrList_fBCT[
"Beam1IntensityStd"].data<cool::Float>();
 
  146       float enb2_fBCT = attrList_fBCT[
"Beam2IntensityStd"].data<cool::Float>();
 
  147       float enb1_DCCT = attrList_DCCT[
"Beam1IntensityStd"].data<cool::Float>();
 
  148       float enb2_DCCT = attrList_DCCT[
"Beam2IntensityStd"].data<cool::Float>();
 
  149       float enb1_DCCT24 = attrList_DCCT24[
"Beam1IntensityStd"].data<cool::Float>();
 
  150       float enb2_DCCT24 = attrList_DCCT24[
"Beam2IntensityStd"].data<cool::Float>();
 
  152       float enb1All = attrList[
"Beam1IntensityAllStd"].data<cool::Float>();
 
  153       float enb2All = attrList[
"Beam2IntensityAllStd"].data<cool::Float>();
 
  154       float enb1All_fBCT = attrList_fBCT[
"Beam1IntensityAllStd"].data<cool::Float>();
 
  155       float enb2All_fBCT = attrList_fBCT[
"Beam2IntensityAllStd"].data<cool::Float>();
 
  156       float enb1All_DCCT = attrList_DCCT[
"Beam1IntensityAllStd"].data<cool::Float>();
 
  157       float enb2All_DCCT = attrList_DCCT[
"Beam2IntensityAllStd"].data<cool::Float>();
 
  158       float enb1All_DCCT24 = attrList_DCCT24[
"Beam1IntensityAllStd"].data<cool::Float>();
 
  159       float enb2All_DCCT24 = attrList_DCCT24[
"Beam2IntensityAllStd"].data<cool::Float>();
 
  161       unsigned long long RunLB = attrList[
"RunLB"].data<
unsigned long long >();
 
  164       int lb = RunLB & 0xffffffff;
 
  182         bccd->SetRunLB(RunLB);
 
  184         bccd->SetBeam1Intensity(nb1,0);
 
  185         bccd->SetBeam2Intensity(nb2,0);
 
  186         bccd->SetBeam1Intensity(nb1_fBCT,1);
 
  187         bccd->SetBeam2Intensity(nb2_fBCT,1);
 
  188         bccd->SetBeam1Intensity(nb1_DCCT,2);
 
  189         bccd->SetBeam2Intensity(nb2_DCCT,2);
 
  190         bccd->SetBeam1Intensity(nb1_DCCT24,3);
 
  191         bccd->SetBeam2Intensity(nb2_DCCT24,3);
 
  193         bccd->SetBeam1IntensityAll(nb1All,0);
 
  194         bccd->SetBeam2IntensityAll(nb2All,0);
 
  195         bccd->SetBeam1IntensityAll(nb1All_fBCT,1);
 
  196         bccd->SetBeam2IntensityAll(nb2All_fBCT,1);
 
  197         bccd->SetBeam1IntensityAll(nb1All_DCCT,2);
 
  198         bccd->SetBeam2IntensityAll(nb2All_DCCT,2);
 
  199         bccd->SetBeam1IntensityAll(nb1All_DCCT24,3);
 
  200         bccd->SetBeam2IntensityAll(nb2All_DCCT24,3);
 
  202         bccd->SetBeam1IntensitySTD(enb1,0);
 
  203         bccd->SetBeam2IntensitySTD(enb2,0);
 
  204         bccd->SetBeam1IntensitySTD(enb1_fBCT,1);
 
  205         bccd->SetBeam2IntensitySTD(enb2_fBCT,1);
 
  206         bccd->SetBeam1IntensitySTD(enb1_DCCT,2);
 
  207         bccd->SetBeam2IntensitySTD(enb2_DCCT,2);
 
  208         bccd->SetBeam1IntensitySTD(enb1_DCCT24,3);
 
  209         bccd->SetBeam2IntensitySTD(enb2_DCCT24,3);
 
  211         bccd->SetBeam1IntensityAllSTD(enb1All,0);
 
  212         bccd->SetBeam2IntensityAllSTD(enb2All,0);
 
  213         bccd->SetBeam1IntensityAllSTD(enb1All_fBCT,1);
 
  214         bccd->SetBeam2IntensityAllSTD(enb2All_fBCT,1);
 
  215         bccd->SetBeam1IntensityAllSTD(enb1All_DCCT,2);
 
  216         bccd->SetBeam2IntensityAllSTD(enb2All_DCCT,2);
 
  217         bccd->SetBeam1IntensityAllSTD(enb1All_DCCT24,3);
 
  218         bccd->SetBeam2IntensityAllSTD(enb2All_DCCT24,3);
 
  229   return StatusCode::SUCCESS;
 
  244   std::vector< float > 
result;
 
  246   const char* cEnd= 
c + 
pattern.size();