83 const EventContext& ctx = Gaudi::Hive::currentContext();
85 ATH_CHECK( clusterAssociations.isValid() );
109 for(
const auto clusterAssociation : *clusterAssociations) {
110 std::vector<float> trackCellEta(0, 0.);
111 std::vector<float> trackCellPhi(0, 0.);
112 std::vector<float> trackCellR(0, 0.);
113 std::vector<float> trackCelldEta(0, 0.);
114 std::vector<float> trackCelldPhi(0, 0.);
115 std::vector<float> trackCelldR(0, 0.);
116 std::vector<float> trackCellX(0, 0.);
117 std::vector<float> trackCellY(0, 0.);
118 std::vector<float> trackCellZ(0, 0.);
119 std::vector<float> trackCelldX(0, 0.);
120 std::vector<float> trackCelldY(0, 0.);
121 std::vector<float> trackCelldZ(0, 0.);
122 std::vector<float> trackCellT(0, 0.);
123 std::vector<float> trackCellE(0, 0.);
124 std::vector<unsigned int> trackCellID(0, 0);
125 std::vector<int> trackCellSampling(0, 0);
126 std::vector<int> trackCellQuality(0, 0);
127 std::vector<int> trackCellProvenance(0, 0);
128 std::vector<int> trackCellGain(0, 0);
129 std::vector<float> trackCellEneDiff(0, 0);
130 std::vector<float> trackCellTimeDiff(0, 0);
133 if (clusterAssociation->trackParticleLink().isValid()) {
134 track = *(clusterAssociation->trackParticleLink());
140 for (
const auto& cluster : clusterAssociation->caloClusterLinks()) {
143 trackCellEta.
clear();
144 trackCellPhi.clear();
146 trackCelldEta.clear();
147 trackCelldPhi.clear();
158 trackCellSampling.clear();
159 trackCellQuality.clear();
160 trackCellProvenance.clear();
161 trackCellGain.clear();
162 trackCellEneDiff.clear();
163 trackCellTimeDiff.clear();
170 for(
const auto cell : *cellLinks) {
175 trackCellEta.emplace_back(caloDDE->
eta());
176 trackCellPhi.emplace_back(caloDDE->
phi());
177 trackCellR.emplace_back(caloDDE->
r());
178 trackCelldEta.emplace_back(caloDDE->
deta());
179 trackCelldPhi.emplace_back(caloDDE->
dphi());
180 trackCelldR.emplace_back(caloDDE->
dr());
181 trackCellX.emplace_back(caloDDE->
x());
182 trackCellY.emplace_back(caloDDE->
y());
183 trackCellZ.emplace_back(caloDDE->
z());
184 trackCelldX.emplace_back(caloDDE->
dx());
185 trackCelldY.emplace_back(caloDDE->
dy());
186 trackCelldZ.emplace_back(caloDDE->
dz());
187 trackCellT.emplace_back(
cell->time());
188 trackCellE.emplace_back(
cell->e());
191 trackCellSampling.emplace_back(sampling);
192 trackCellQuality.emplace_back(
cell->quality());
193 trackCellProvenance.emplace_back(
cell->provenance());
194 trackCellGain.emplace_back(
cell->gain());
196 trackCellEneDiff.emplace_back(
static_cast<const TileCell*
>(
cell)->eneDiff());
197 trackCellTimeDiff.emplace_back(
static_cast<const TileCell*
>(
cell)->timeDiff());
200 trackCellEneDiff.emplace_back(0);
201 trackCellTimeDiff.emplace_back(0);
207 decCellEta(*
track) = trackCellEta;
208 decCellPhi(*
track) = trackCellPhi;
209 decCellR(*
track) = trackCellR;
210 decCelldEta(*
track) = trackCelldEta;
211 decCelldPhi(*
track) = trackCelldPhi;
212 decCelldR(*
track) = trackCelldR;
213 decCellX(*
track) = trackCellX;
214 decCellY(*
track) = trackCellY;
215 decCellZ(*
track) = trackCellZ;
216 decCelldX(*
track) = trackCelldX;
217 decCelldY(*
track) = trackCelldY;
218 decCelldZ(*
track) = trackCelldZ;
219 decCellT(*
track) = trackCellT;
220 decCellE(*
track) = trackCellE;
221 decCellID(*
track) = trackCellID;
222 decCellSampling(*
track) = trackCellSampling;
223 decCellQuality(*
track) = trackCellQuality;
224 decCellProvenance(*
track) = trackCellProvenance;
225 decCellGain(*
track) = trackCellGain;
226 decCellEneDiff(*
track) = trackCellEneDiff;
227 decCellTimeDiff(*
track) = trackCellTimeDiff;
231 return StatusCode::SUCCESS;