Fork me on GitHub

Changeset a3261d7 in git for modules


Ignore:
Timestamp:
Jul 22, 2020, 9:10:56 PM (4 years ago)
Author:
GitHub <noreply@…>
Branches:
master
Children:
13331dc
Parents:
4e5ed02
git-author:
Stephen Sekula <stephensekula@…> (07/22/20 21:10:56)
git-committer:
GitHub <noreply@…> (07/22/20 21:10:56)
Message:

Clone candidate before altering its PID property

Currently, if a particle is accepted for mapping onto a new particle ID (PID), the original copy of the candidate (which might be owned by a module upstream of the IdentificationMap instance) is altered. This may have unintended consequences. For example, what if the intent is not to alter the original particle, but rather to create a new list of particles with alternate PID settings? If one alters the original candidate's PID setting, then after-the-fact it's not possible to compare how the PID algorithm performed (e.g. you lose the ability to do efficiency and mis-identification studies to cross-check the implementation of the IdentificaionMap in the first place).

This change clones the candidate before then altering its PID variable and storing it in the output list.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • modules/IdentificationMap.cc

    r4e5ed02 ra3261d7  
    170170      {
    171171        // change PID of particle
     172        candidate = static_cast<Candidate *>(candidate->Clone());
    172173        if(pdgCodeOut != 0) candidate->PID = charge * pdgCodeOut;
    173174        fOutputArray->Add(candidate);
Note: See TracChangeset for help on using the changeset viewer.