Algorithm execute method.
50 {
51 SG::WriteCondHandle<BunchCrossingAverageCondData> writeHdl(
m_outputKey, ctx);
52 if (writeHdl.isValid()) {
53
55 return StatusCode::SUCCESS;
56 }
57
58
59
60 EventIDRange infinite_range(infiniteIOVBegin(),infiniteIOVEend());
61 writeHdl.addDependency(infinite_range);
62
63
64 auto bccd=std::make_unique<BunchCrossingAverageCondData>();
65
66
68
69 }
70
72
73 }
74
76
77
78
80 writeHdl.addDependency(fillParamsHdl);
81
82
83 const CondAttrListCollection* attrList_link=*fillParamsHdl;
85
86
87 if (attrList.size() == 0 || attrList["Valid"].isNull()) {
89 return StatusCode::SUCCESS;
90 }
91
93
94 if (attrList_fBCT.size() == 0 || attrList_fBCT["Valid"].isNull()) {
96 return StatusCode::SUCCESS;
97 }
98
100
101 if (attrList_DCCT.size() == 0 || attrList_DCCT["Valid"].isNull()) {
103 return StatusCode::SUCCESS;
104 }
105
107
108 if (attrList_DCCT24.size() == 0 || attrList_DCCT24["Valid"].isNull()) {
110 return StatusCode::SUCCESS;
111 }
112
113
114
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());
121
122 }
123 else {
124
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>();
133
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>();
142
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>();
151
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>();
160
161 unsigned long long RunLB = attrList["RunLB"].data<unsigned long long >();
162
164 int lb = RunLB & 0xffffffff;
165
176
179
180 }
181 else {
182 bccd->SetRunLB(RunLB);
183
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);
192
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);
201
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);
210
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);
219
220
221
222 }
223
224
225 }
226 }
227
228 ATH_CHECK( writeHdl.record (std::move (bccd)) );
229 return StatusCode::SUCCESS;
230}
#define ATH_CHECK
Evaluate an expression and check for errors.
Gaudi::Property< unsigned long > m_fBCT
Gaudi::Property< bool > m_isRun1
SG::ReadCondHandleKey< CondAttrListCollection > m_fillParamsFolderKey
Input conditions object.
Gaudi::Property< unsigned long > m_DCCT24
Gaudi::Property< unsigned long > m_DCCT
Gaudi::Property< unsigned long > m_BPTX
SG::WriteCondHandleKey< BunchCrossingAverageCondData > m_outputKey
Output conditions object.
Gaudi::Property< int > m_mode
const AttributeList & attributeList(ChanNum chanNum) const
attribute list for a given channel number