42 return StatusCode::SUCCESS;
73 for(
const auto clusterAssociation : *clusterAssociations) {
74 std::vector<float> trackCellEta(0, 0.);
75 std::vector<float> trackCellPhi(0, 0.);
76 std::vector<float> trackCellR(0, 0.);
77 std::vector<float> trackCelldEta(0, 0.);
78 std::vector<float> trackCelldPhi(0, 0.);
79 std::vector<float> trackCelldR(0, 0.);
80 std::vector<float> trackCellX(0, 0.);
81 std::vector<float> trackCellY(0, 0.);
82 std::vector<float> trackCellZ(0, 0.);
83 std::vector<float> trackCelldX(0, 0.);
84 std::vector<float> trackCelldY(0, 0.);
85 std::vector<float> trackCelldZ(0, 0.);
86 std::vector<float> trackCellT(0, 0.);
87 std::vector<float> trackCellE(0, 0.);
88 std::vector<unsigned int> trackCellID(0, 0);
89 std::vector<int> trackCellSampling(0, 0);
90 std::vector<int> trackCellQuality(0, 0);
91 std::vector<int> trackCellProvenance(0, 0);
92 std::vector<int> trackCellGain(0, 0);
93 std::vector<float> trackCellEneDiff(0, 0);
94 std::vector<float> trackCellTimeDiff(0, 0);
97 if (clusterAssociation->trackParticleLink().isValid()) {
98 track = *(clusterAssociation->trackParticleLink());
104 for (
const auto& cluster : clusterAssociation->caloClusterLinks()) {
107 trackCellEta.clear();
108 trackCellPhi.clear();
110 trackCelldEta.clear();
111 trackCelldPhi.clear();
122 trackCellSampling.clear();
123 trackCellQuality.clear();
124 trackCellProvenance.clear();
125 trackCellGain.clear();
126 trackCellEneDiff.clear();
127 trackCellTimeDiff.clear();
134 for(
const auto cell : *cellLinks) {
139 trackCellEta.emplace_back(caloDDE->
eta());
140 trackCellPhi.emplace_back(caloDDE->
phi());
141 trackCellR.emplace_back(caloDDE->
r());
142 trackCelldEta.emplace_back(caloDDE->
deta());
143 trackCelldPhi.emplace_back(caloDDE->
dphi());
144 trackCelldR.emplace_back(caloDDE->
dr());
145 trackCellX.emplace_back(caloDDE->
x());
146 trackCellY.emplace_back(caloDDE->
y());
147 trackCellZ.emplace_back(caloDDE->
z());
148 trackCelldX.emplace_back(caloDDE->
dx());
149 trackCelldY.emplace_back(caloDDE->
dy());
150 trackCelldZ.emplace_back(caloDDE->
dz());
151 trackCellT.emplace_back(
cell->time());
152 trackCellE.emplace_back(
cell->e());
155 trackCellSampling.emplace_back(sampling);
156 trackCellQuality.emplace_back(
cell->quality());
157 trackCellProvenance.emplace_back(
cell->provenance());
158 trackCellGain.emplace_back(
cell->gain());
160 trackCellEneDiff.emplace_back(
static_cast<const TileCell*
>(
cell)->eneDiff());
161 trackCellTimeDiff.emplace_back(
static_cast<const TileCell*
>(
cell)->timeDiff());
164 trackCellEneDiff.emplace_back(0);
165 trackCellTimeDiff.emplace_back(0);
171 decCellEta(*
track) = trackCellEta;
172 decCellPhi(*
track) = trackCellPhi;
173 decCellR(*
track) = trackCellR;
174 decCelldEta(*
track) = trackCelldEta;
175 decCelldPhi(*
track) = trackCelldPhi;
176 decCelldR(*
track) = trackCelldR;
177 decCellX(*
track) = trackCellX;
178 decCellY(*
track) = trackCellY;
179 decCellZ(*
track) = trackCellZ;
180 decCelldX(*
track) = trackCelldX;
181 decCelldY(*
track) = trackCelldY;
182 decCelldZ(*
track) = trackCelldZ;
183 decCellT(*
track) = trackCellT;
184 decCellE(*
track) = trackCellE;
185 decCellID(*
track) = trackCellID;
186 decCellSampling(*
track) = trackCellSampling;
187 decCellQuality(*
track) = trackCellQuality;
188 decCellProvenance(*
track) = trackCellProvenance;
189 decCellGain(*
track) = trackCellGain;
190 decCellEneDiff(*
track) = trackCellEneDiff;
191 decCellTimeDiff(*
track) = trackCellTimeDiff;
195 return StatusCode::SUCCESS;