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()) {
105 if ( !cluster.isValid() ) {
106 ATH_MSG_DEBUG(
"Invalid caloClusterLink on TrackParticleClusterAssociation - skipping");
111 trackCellEta.clear();
112 trackCellPhi.clear();
114 trackCelldEta.clear();
115 trackCelldPhi.clear();
126 trackCellSampling.clear();
127 trackCellQuality.clear();
128 trackCellProvenance.clear();
129 trackCellGain.clear();
130 trackCellEneDiff.clear();
131 trackCellTimeDiff.clear();
138 for(
const auto cell : *cellLinks) {
143 trackCellEta.emplace_back(caloDDE->
eta());
144 trackCellPhi.emplace_back(caloDDE->
phi());
145 trackCellR.emplace_back(caloDDE->
r());
146 trackCelldEta.emplace_back(caloDDE->
deta());
147 trackCelldPhi.emplace_back(caloDDE->
dphi());
148 trackCelldR.emplace_back(caloDDE->
dr());
149 trackCellX.emplace_back(caloDDE->
x());
150 trackCellY.emplace_back(caloDDE->
y());
151 trackCellZ.emplace_back(caloDDE->
z());
152 trackCelldX.emplace_back(caloDDE->
dx());
153 trackCelldY.emplace_back(caloDDE->
dy());
154 trackCelldZ.emplace_back(caloDDE->
dz());
155 trackCellT.emplace_back(cell->time());
156 trackCellE.emplace_back(cell->e());
159 trackCellSampling.emplace_back(sampling);
160 trackCellQuality.emplace_back(cell->quality());
161 trackCellProvenance.emplace_back(cell->provenance());
162 trackCellGain.emplace_back(cell->gain());
164 trackCellEneDiff.emplace_back(
static_cast<const TileCell*
>(cell)->eneDiff());
165 trackCellTimeDiff.emplace_back(
static_cast<const TileCell*
>(cell)->timeDiff());
168 trackCellEneDiff.emplace_back(0);
169 trackCellTimeDiff.emplace_back(0);
175 decCellEta(*track) = trackCellEta;
176 decCellPhi(*track) = trackCellPhi;
177 decCellR(*track) = trackCellR;
178 decCelldEta(*track) = trackCelldEta;
179 decCelldPhi(*track) = trackCelldPhi;
180 decCelldR(*track) = trackCelldR;
181 decCellX(*track) = trackCellX;
182 decCellY(*track) = trackCellY;
183 decCellZ(*track) = trackCellZ;
184 decCelldX(*track) = trackCelldX;
185 decCelldY(*track) = trackCelldY;
186 decCelldZ(*track) = trackCelldZ;
187 decCellT(*track) = trackCellT;
188 decCellE(*track) = trackCellE;
189 decCellID(*track) = trackCellID;
190 decCellSampling(*track) = trackCellSampling;
191 decCellQuality(*track) = trackCellQuality;
192 decCellProvenance(*track) = trackCellProvenance;
193 decCellGain(*track) = trackCellGain;
194 decCellEneDiff(*track) = trackCellEneDiff;
195 decCellTimeDiff(*track) = trackCellTimeDiff;
199 return StatusCode::SUCCESS;
SG::ReadHandleKey< xAOD::TrackParticleClusterAssociationContainer > m_trackContainerKey
virtual StatusCode addBranches(const EventContext &ctx) const override final