Loading [MathJax]/extensions/tex2jax.js
 |
ATLAS Offline Software
|
Go to the documentation of this file.
4 #ifndef TRUTH_PARENT_DECORATOR_ALG
5 #define TRUTH_PARENT_DECORATOR_ALG
20 const std::vector<int>& pids);
22 const std::vector<MatchedParent>&
parents)
const;
35 using IPMap = std::map<int, std::set<const xAOD::TruthParticle*>>;
48 this,
"targetContainer",
"",
"target container to decorate"
51 this,
"decoratorPrefix",
"parentBoson",
"prefix for decorations"
54 this,
"parentPdgIds", {},
"PDGIDs of allowed parent particles"
57 this,
"cascadePdgIds", {},
"PDGIDs of particles in the decay chain"
60 this,
"addBsToCascade",
false,
"add all bhadrons to cascade"
63 this,
"addCsToCascade",
false,
"add all chadrons to cascade"
66 this,
"vetoSoftLeptonCascade",
false,
67 "veto soft lepton decays from cascade"
70 this,
"vetoSoftCharmCascade",
false,
71 "veto soft charm decays from cascade"
74 this,
"matchDeltaR", -1,
75 "width of delta R cone for matching (zero or less -> infinite)"
78 this,
"parents",
"",
"truth parent container"
81 this,
"cascades", {},
"truth hadron container"
94 this,
"countChildrenInCascadeWithPdgIds", {},
95 "Create one counter for each entry, named by key. Counts children "
96 "with at least one overlapping value in the cascade."
102 this,
"allowMissingChildrenPdgIds", {},
103 "Allow particles matching these PDG IDs to have missing children"
106 this,
"missingChildrenFractionWarningThreshold", 0.01,
107 "Turn the missing children info into a warning above this"
110 this,
"warnMissingChildrenPdgIds", {},
111 "Warn if particles matching these PDF IDs have missing children"
Gaudi::Property< std::vector< int > > m_parent_pdgids
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
SG::ReadHandleKeyArray< TPC > m_cascades_key
virtual StatusCode initialize() override
std::map< std::string, std::vector< int > > cascade_counter_property_t
Gaudi::Property< bool > m_veto_soft_lepton
void addTruthContainer(Barcodex &, IPMap &, const TPC &) const
CascadeCountDecorator(const std::string &name, const std::vector< int > &pids)
SG::WriteDecorHandleKey< JC > m_match_link_key
Base class for elements of a container that can have aux data.
parents
print ("==> buf:",buf)
virtual StatusCode finalize() override
DataVector< IParticle > IParticleContainer
Simple convenience declaration of IParticleContainer.
SG::ReadHandleKey< JC > m_target_container_key
Gaudi::Property< bool > m_add_b
Property holding a SG store/key/clid from which a ReadHandle is made.
Class providing the definition of the 4-vector interface.
std::vector< CascadeCountDecorator > m_cascade_count_decorators
TruthParentDecoratorAlg(const std::string &name, ISvcLocator *loc)
SG::ReadHandleKey< TPC > m_parents_key
SG::WriteDecorHandleKey< JC > m_target_pdgid_key
std::vector< int > m_pids
An algorithm that can be simultaneously executed in multiple threads.
Gaudi::Property< float > m_match_delta_r
SG::AuxElement::Decorator< unsigned char > m_dec
std::map< int, std::set< const xAOD::TruthParticle * > > IPMap
size_t auxid_t
Identifier for a particular aux data item.
Gaudi::Property< bool > m_add_c
Gaudi::Property< std::vector< int > > m_cascade_pdgids
Helper class to provide type-safe access to aux data.
std::atomic< unsigned long long > m_total_children
::StatusCode StatusCode
StatusCode definition for legacy code.
std::map< int, std::set< int > > Barcodex
Gaudi::Property< cascade_counter_property_t > m_counts_matching_cascade
SG::WriteDecorHandleKey< JC > m_match_children_key
SG::WriteDecorHandleKey< JC > m_target_n_matched_key
Gaudi::Property< std::unordered_set< int > > m_warn_missing_children_pdgids
std::atomic< unsigned long long > m_missing_n_ignored
SG::WriteDecorHandleKeyArray< JC > m_cascade_count_writer_keys
Gaudi::Property< std::string > m_prefix
void decorate(const SG::AuxElement &target, const std::vector< MatchedParent > &parents) const
ElementLink implementation for ROOT usage.
Gaudi::Property< float > m_missing_children_fraction_warning_threshold
SG::WriteDecorHandleKey< JC > m_target_index_key
virtual StatusCode execute(const EventContext &) const override
TruthParticleContainer_v1 TruthParticleContainer
Declare the latest version of the truth particle container.
SG::WriteDecorHandleKey< JC > m_target_dr_truth_key
Gaudi::Property< bool > m_veto_soft_charm
void decorateDefault(const SG::AuxElement &target) const
SG::WriteDecorHandleKey< JC > m_target_match_mask_key
Gaudi::Property< std::unordered_set< int > > m_allow_missing_children_pdgids
void lock(const xAOD::IParticleContainer *target) const
SG::WriteDecorHandleKey< JC > m_target_link_key
SG::WriteDecorHandleKey< JC > m_match_pdgid_key
std::atomic< unsigned long long > m_missing_n_warned