45{
46 const EventContext& ctx = Gaudi::Hive::currentContext();
47 EventIDBase
t( getContext().eventID() );
48
49
50 ATH_MSG_INFO(
"execute: "<<getContext().eventID().event_number()<<
" , before CaloLocalHadCoeff");
51 SG::ReadCondHandle<CaloLocalHadCoeff> rch(
m_key, ctx);
52 const CaloLocalHadCoeff* condObject = *rch;
53 if(condObject==nullptr) {
54 ATH_MSG_ERROR(
"Unable to access conditions object CaloLocalHadCoeff");
55 return StatusCode::FAILURE;
56 }
57
58
59 ATH_MSG_INFO(
"execute: "<<getContext().eventID().event_number()<<
" , before beam pos");
60 SG::ReadCondHandle<AthenaAttributeList> readHandle{
m_readKey, ctx };
61 const AthenaAttributeList* raw { *readHandle };
62 if ( raw == nullptr )
63 {
65 return StatusCode::FAILURE;
66 }
67 float beamposX { (*raw)["posX"].data<float>() };
68 ATH_MSG_INFO(
"execute: "<<getContext().eventID().event_number()<<
" , beam pos X = "<<beamposX);
69
70
71 ATH_MSG_INFO(
"execute: "<<getContext().eventID().event_number()<<
" , before loc shiftX");
72 SG::ReadCondHandle<CondAttrListCollection> ch_locshiftX(
m_rch_locshiftX, ctx );
73 const CondAttrListCollection* attrLocList { *ch_locshiftX };
74 if ( attrLocList == nullptr )
75 {
77 return StatusCode::FAILURE;
78 }
79
82 for (itr = attrLocList->
begin(); itr != attrLocList->
end(); ++itr) {
83 if(counter>1)
ATH_MSG_INFO(
"there should be only one real channel in /FWD/AFP/Align/Local, this is real channel nr. "<<counter);
84
85 const coral::AttributeList &atr = itr->second;
86 std::string
data = *(
static_cast<const std::string *
>((atr[
"data"]).addressOfData()));
87
88 nlohmann::json jsondata = nlohmann::json::parse(
data);
89 int nchannels=jsondata["nchannels"];
90 nlohmann::json channeldata=jsondata["data"];
91 for(auto& chan : channeldata.items())
92 {
93
95 nlohmann::json aligndata=
chan.value();
96
98 int layerID=aligndata["layerID"];
99 float shiftX=aligndata["shiftX"];
100
101 ATH_MSG_INFO(
"execute: run "<<getContext().eventID().
run_number()<<
", lb "<<getContext().eventID().lumi_block()<<
", evnt "<<getContext().eventID().event_number()<<
", channel "<<channel<<
"/"<<nchannels<<
", layerID "<<layerID<<
", shiftX = "<<shiftX);
102 }
103
105 }
106
107
108
109 ATH_MSG_INFO(
"test: "<<getContext().eventID().event_number()<<
" , before glob shiftX");
110 SG::ReadCondHandle<CondAttrListCollection> ch_globshiftX(
m_rch_globshiftX, ctx );
111 const CondAttrListCollection* attrGlobList { *ch_globshiftX };
112 if ( attrGlobList == nullptr )
113 {
115 return StatusCode::FAILURE;
116 }
117
120 for (itr2 = attrGlobList->
begin(); itr2 != attrGlobList->
end(); ++itr2) {
121 if(counter>1)
ATH_MSG_INFO(
"there should be only one real channel in /FWD/AFP/Align/Global, this is real channel nr. "<<counter);
122
123 const coral::AttributeList &atr = itr2->second;
124 std::string
data = *(
static_cast<const std::string *
>((atr[
"data"]).addressOfData()));
125
126 nlohmann::json jsondata = nlohmann::json::parse(
data);
127 int nchannels=jsondata["nchannels"];
128 nlohmann::json channeldata=jsondata["data"];
129 for(auto& chan : channeldata.items())
130 {
131
133 nlohmann::json aligndata=
chan.value();
134
136 std::string alignType=aligndata["alignType"];
137 float shiftX=aligndata["shiftX"];
138
139 ATH_MSG_INFO(
"execute: run "<<getContext().eventID().
run_number()<<
", lb "<<getContext().eventID().lumi_block()<<
", evnt "<<getContext().eventID().event_number()<<
", channel "<<channel<<
"/"<<nchannels<<
", alignType "<<alignType<<
", shiftX = "<<shiftX);
140 }
141
143 }
144
145
146
147 ATH_MSG_INFO(
"execute: "<<getContext().eventID().event_number()<<
" , before loc tof");
148 SG::ReadCondHandle<CondAttrListCollection> ch_loctof(
m_rch_loctof, ctx );
149 const CondAttrListCollection* attrLocToFList { *ch_loctof };
150 if ( attrLocToFList == nullptr )
151 {
153 return StatusCode::FAILURE;
154 }
155
158 for (itr3 = attrLocToFList->
begin(); itr3 != attrLocToFList->
end(); ++itr3) {
159 if(counter>1)
ATH_MSG_INFO(
"there should be only one real channel in /FWD/AFP/ToFParameters/Local, this is real channel nr. "<<counter);
160
161 const coral::AttributeList &atr = itr3->second;
162 std::string
data = *(
static_cast<const std::string *
>((atr[
"data"]).addressOfData()));
163
164 nlohmann::json jsondata = nlohmann::json::parse(
data);
165 int nchannels=jsondata["nchannels"];
166 nlohmann::json channeldata=jsondata["data"];
167 for(auto& chan : channeldata.items())
168 {
169
171 nlohmann::json paramdata=
chan.value();
172
174 int trainID=paramdata["trainID"];
175 float barWeight=paramdata["barWeight"];
176
177 ATH_MSG_INFO(
"execute: run "<<getContext().eventID().
run_number()<<
", lb "<<getContext().eventID().lumi_block()<<
", evnt "<<getContext().eventID().event_number()<<
", channel "<<channel<<
"/"<<nchannels<<
", trainID "<<trainID<<
", barWeight = "<<barWeight);
178 }
179
181 }
182
183
184 ATH_MSG_INFO(
"execute: "<<getContext().eventID().event_number()<<
" , before vtx tof");
185 SG::ReadCondHandle<CondAttrListCollection> ch_vtxtof(
m_rch_vtxtof, ctx );
186 const CondAttrListCollection* attrVtxToFList { *ch_vtxtof };
187 if ( attrVtxToFList == nullptr )
188 {
190 return StatusCode::FAILURE;
191 }
192
195 for (itr4 = attrVtxToFList->
begin(); itr4 != attrVtxToFList->
end(); ++itr4) {
196 if(counter>1)
ATH_MSG_INFO(
"there should be only one real channel in /FWD/AFP/ToFParameters/Vertex, this is real channel nr. "<<counter);
197
198 const coral::AttributeList &atr = itr4->second;
199 std::string
data = *(
static_cast<const std::string *
>((atr[
"data"]).addressOfData()));
200
201 nlohmann::json jsondata = nlohmann::json::parse(
data);
202 int nchannels=jsondata["nchannels"];
203 nlohmann::json channeldata=jsondata["data"];
204 for(auto& chan : channeldata.items())
205 {
206
208 nlohmann::json paramdata=
chan.value();
209
212 float timeGlobalOffset=paramdata["timeGlobalOffset"];
213 std::vector<float> trainEdge=paramdata["trainEdge"];
214
215 ATH_MSG_INFO(
"execute: run "<<getContext().eventID().
run_number()<<
", lb "<<getContext().eventID().lumi_block()<<
", evnt "<<getContext().eventID().event_number()<<
", channel "<<channel<<
"/"<<nchannels<<
", stationID "<<stationID<<
", timeGlobalOffset = "<<timeGlobalOffset<<
", trainEdge = ("<<trainEdge.at(0)<<
", "<<trainEdge.at(1)<<
", ... "<<trainEdge.at(4)<<
")");
216 }
217
219 }
220
221 return StatusCode::SUCCESS;
222}
char data[hepevt_bytes_allocation_ATLAS]
SG::ReadCondHandleKey< CondAttrListCollection > m_rch_globshiftX
SG::ReadCondHandleKey< AthenaAttributeList > m_readKey
SG::ReadCondHandleKey< CondAttrListCollection > m_rch_locshiftX
SG::ReadCondHandleKey< CondAttrListCollection > m_rch_loctof
SG::ReadCondHandleKey< CondAttrListCollection > m_rch_vtxtof
const_iterator end() const
const_iterator begin() const
Access to Chan/AttributeList pairs via iterators.
ChanAttrListMap::const_iterator const_iterator
constexpr uint8_t stationID
Large or Small wedge.