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();