104 std::vector<int>
entries(toDecorate->size(), 1);
106 entries = m_parser->evaluateAsVector();
107 if (
entries.size() != toDecorate->size()) {
108 ATH_MSG_ERROR(
"Sizes incompatible! Are you sure your selection string used ID TrackParticles?");
109 return StatusCode::FAILURE;
114 std::vector<SG::WriteDecorHandle<xAOD::TrackParticleContainer, float>> ptconeDecorators;
118 std::vector<SG::WriteDecorHandle<xAOD::TrackParticleContainer, float>> ptvarconeDecorators;
122 std::vector<SG::WriteDecorHandle<xAOD::TrackParticleContainer, float>> topoetconeDecorators;
126 std::vector<SG::WriteDecorHandle<xAOD::TrackParticleContainer, float>> topoetconeNonCoreConeDecorators;
135 for(
auto particle : *toDecorate) {
139 if (!
entries[ipar++]) IsPassed=
false;
157 ptconeDecorators[i](*particle) = resultTrack.
ptcones[i];
166 std::vector<xAOD::Iso::IsolationType> ptconeTypes = {};
168 int iso_tmp =
static_cast<int>(isoType);
186 topoetconeDecorators[i](*particle) = resultCalo.
etcones[i];
194 topoetconeNonCoreConeDecorators[i](*particle) = resultCaloNonCoreCone.
etcones[i];
197 ATH_MSG_WARNING(
"Failed to apply the topo calo isolation for a particle ( non CoreCone )");
204 ptconeDecorators[i](*particle) = -999.e3;
207 ptvarconeDecorators[i](*particle) = -999.e3;
210 topoetconeDecorators[i](*particle) = -999.e3;
211 topoetconeNonCoreConeDecorators[i](*particle) = -999.e3;
217 return StatusCode::SUCCESS;