Go to the documentation of this file. 1 #ifndef DataFormats_Provenance_ThinnedAssociationsHelper_h
2 #define DataFormats_Provenance_ThinnedAssociationsHelper_h
16 class BranchDescription;
39 std::vector<ThinnedAssociationBranches>::const_iterator
begin()
const;
40 std::vector<ThinnedAssociationBranches>::const_iterator
end()
const;
43 std::vector<ThinnedAssociationBranches>::const_iterator
parentEnd(
BranchID const&)
const;
54 std::set<BranchID>
const& keptProductsInEvent,
55 std::map<BranchID, bool>& keepAssociation)
const;
64 std::vector<BranchID>
const& associationsFromSecondary);
68 std::map<BranchID, bool>
const& keepAssociation,
69 std::map<BranchID::value_type, BranchID::value_type>
const& droppedBranchIDToKeptBranchID);
77 std::set<BranchID>& branchesInRecursion,
78 std::set<BranchID>
const& keptProductsInEvent,
79 std::map<BranchID, bool>& keepAssociation)
const;
BranchID const & parent() const
static const std::string input
BranchID const & thinned() const
BranchID const & association() const
bool shouldKeepAssociation(BranchID const &association, std::vector< std::pair< BranchID, ThinnedAssociationBranches const * > > const &associationToBranches, std::set< BranchID > &branchesInRecursion, std::set< BranchID > const &keptProductsInEvent, std::map< BranchID, bool > &keepAssociation) const
std::vector< ThinnedAssociationBranches >::const_iterator parentEnd(BranchID const &) const
std::vector< ThinnedAssociationBranches > const & data() const
void updateFromPrimaryInput(ThinnedAssociationsHelper const &)
void selectAssociationProducts(std::vector< BranchDescription const * > const &associationDescriptions, std::set< BranchID > const &keptProductsInEvent, std::map< BranchID, bool > &keepAssociation) const
void requireMatch(ThinnedAssociationBranches const &input) const
std::vector< ThinnedAssociationBranches > vThinnedAssociationBranches_
void updateFromSecondaryInput(ThinnedAssociationsHelper const &, std::vector< BranchID > const &associationsFromSecondary)
std::vector< ThinnedAssociationBranches >::const_iterator end() const
ThinnedAssociationsHelper()
void updateFromParentProcess(ThinnedAssociationsHelper const &parentThinnedAssociationsHelper, std::map< BranchID, bool > const &keepAssociation, std::map< BranchID::value_type, BranchID::value_type > const &droppedBranchIDToKeptBranchID)
std::vector< ThinnedAssociationBranches >::const_iterator parentBegin(BranchID const &) const
void initAssociationsFromSecondary(std::vector< BranchID > const &, ThinnedAssociationsHelper const &)
bool operator<(ThinnedAssociationBranches const &rhs) const
std::vector< std::pair< BranchID, ThinnedAssociationBranches const * > > associationToBranches() const
ThinnedAssociationBranches()
std::vector< ThinnedAssociationBranches >::const_iterator begin() const
void addAssociation(BranchID const &, BranchID const &, BranchID const &)