An error occurred while fetching this tab.
Reduce processing time for the jet hypo in the presence of identical conditions
- Nov 24, 2020
-
-
Peter Sherwood authored
-
- Nov 21, 2020
-
-
Peter Sherwood authored
-
Peter Sherwood authored
-
- Nov 20, 2020
-
-
Peter Sherwood authored
-
Peter Sherwood authored
-
- Nov 18, 2020
-
-
Peter Sherwood authored
-
Peter Sherwood authored
-
- Nov 17, 2020
-
-
Peter Sherwood authored
Use CapacityCheckedConditoin for FastReducer. This class is used to replace mutiple identical CompoundConditions. It contains a single CompoundCondition object, and has multiplicity attribute. This contains a CompoundCondition. The CapacityCheckedCondition forwards isSatisfied to the contained CompoundCondition. When checking whether a Condition is satisfied FastReducer no longer requres that at least a single jet group satisfies the Condition. Instead it requires enough jet groups pass to satisfy the mutliplicity condition. The multiplicity for non-identical Conditions is set to 1. The IConditionMT interface was modied to remove the noexcept attribute for the toString() method. noaccept was not a valid attribite as the method consumes memory. The many implementation classes are affected.
-
- Nov 16, 2020
-
-
Peter Sherwood authored
-
Peter Sherwood authored
-
- Nov 13, 2020
-
-
Peter Sherwood authored
-
Peter Sherwood authored
-
- Nov 12, 2020
-
-
Peter Sherwood authored
Reduce the number of combinations to calculate in the jet hypo tree by replacing identical conditions by a single CapacityCheckedCondition
-
Peter Sherwood authored
-
- Nov 11, 2020
-
-
Peter Sherwood authored
-
Peter Sherwood authored
Keep track of how often a Condition is used (eg 10j40 uses the Et=40 threshold condition 10 times) For repeated identical coinditions, instantiate a C++ single CapapcityCheckedCondition with multiplicity n) rather than n CompoundCondiutions.
-
Peter Sherwood authored
-
- Nov 04, 2020
-
-
Peter Sherwood authored
-
Peter Sherwood authored
-
Peter Sherwood authored
-
- Nov 03, 2020
-
-
Peter Sherwood authored
-
Peter Sherwood authored
-
- Nov 02, 2020
-
-
Peter Sherwood authored
This check is used in particular to ensure that there are suficient jets to satisfy single Conditions wich represent multiple identical conditions. such single Conditions are part of an optimisation to reduce the computation time for identical Conditions. src/ICapacityCheckedCondition.h change the capacitySatisfied method to take a muliplicity (std::size_T) instead of a JetGroup. src/CapacityCheckedCondition.h adjust for interface change src/FastReducer.h,cxx add capacityCheck to findInitialJobGroups()
-
- Oct 30, 2020
-
-
Peter Sherwood authored
Job group propagation is correct but inefficient in the presence of identical conditions. Jet group propagation is currently handled in the following manner. Let a parent condition P have n siblings: S_1... S_n Let J_1... J_2 be the jet groups that pass each of the n siblings. JetGroupProduct finds all the distinct job groups formed by selecting one jet group from is taken fron each of the J_i. Only distinct jet groups are retained. Distinct job groups are those obtained by flattening the JobGroup calculated by the combination process, and discounting differences due to the order of the jets. When the siblings are identical Conditions, the same jets pass each of the conditions. The combination process can be optimized. The optimazation exploits the repetion that is _always_ present for identical Conditions. As an example, let J_1 = J_2 = J_3 = {1,2,3}. Then the combinations are - excluding repeated jets - {1,2,3}, {1,3,2}, {2, 1, 3}, {2, 3, 1}, {3, 1, 2}, {3, 2, 1}. After repetition removal, we are left with {1,2,3}. Further we only need to look at jets passing C_1. This optimatiztion replaces n repeated Conditions of capacity = 1 by a single Condition of capacity n. After initially allocating jets to Conditions, a further test needs now to be made: were there enough distinct jets to satisfy the n conditions - i.e. were there at least n jets fulfilling the condition. To this end, the IConditionMT interface is extended by ICheckedCapacityCondition. This PABC provides a checking function: bool capacitySatisfied(const HypoJetVector&,..) which will be passed the selected jets as an argument. Currently, the sole implementation is CheckedCapacityCondition. This commit uses this CheckedCapacityCondition. However the hypo trees remain as before, and no checks are made. It is therefor expected that they will be no visible effects at this stage.
-
Peter Sherwood authored
-
- Oct 28, 2020
-
-
Peter Sherwood authored
-
Peter Sherwood authored
-
- Oct 21, 2020
-
-
Peter Sherwood authored
-
- Oct 08, 2020
-
-
Peter Sherwood authored
-
- Aug 07, 2020
-
-
Peter Sherwood authored
-
- Jul 31, 2020
-
-
Peter Sherwood authored
-
- Jun 02, 2020
-
-
Peter Sherwood authored
-
Peter Sherwood authored
-