29 StatusCode TauTruthDecorationsAlg ::
89 return StatusCode::SUCCESS;
94 StatusCode TauTruthDecorationsAlg ::
95 execute (
const EventContext &ctx)
const
133 auto decorateWithNumber = [&truthParticle, &tau](
auto & writeHandles,
auto v)->
void{
134 for (
auto& [
acc, writeHandle] : writeHandles) {
135 if ((!truthParticle) or (!
acc->isAvailable(*truthParticle)) ) {
136 writeHandle(*tau) = v;
138 writeHandle(*tau) = (*acc)(*truthParticle);
142 decorateWithNumber(doubleWriteHandles, -999.f);
143 decorateWithNumber(floatWriteHandles, -999.f);
144 decorateWithNumber(intWriteHandles, 0);
145 decorateWithNumber(unsignedIntWriteHandles, 0);
146 decorateWithNumber(charWriteHandles, 0);
149 truthParticleTypeHandle(*tau) =
static_cast<int>(TauAnalysisTools::getTruthParticleType(*tau));
153 if (truthJet !=
nullptr) {
154 partonTruthLabelIDHandle(*tau) = acc_PartonTruthLabelID(*truthJet);
156 partonTruthLabelIDHandle(*tau) = -999;
160 return StatusCode::SUCCESS;