Migrate CaloSinglePhotonAlg to ScalarTransformer
NOTE: Rebased on top of !169 (merged) -- please make sure !169 (merged) is merged first, so this will be a single-commit instead of fifty commits... (and then delete this NOTE)
Use the scalar-to-vector adaptor of ScalarTransformer to do the loop over CaloClusters to create CaloHypos, only provide the scalar transform of CaloCluster to (optional) CaloHypo explicitly.
Merge request reports
Activity
Validation started with lhcb-future#101
Validation started with lhcb-future#102
Flagged as WIP for now as surely it conflicts with !169 (merged) -- I will rebase this one branch to be on top of that one.
Added 50 commits:
- cf322a1d - added #include <numeric>, needed for std::accumulate and others (in gcc 6.1)
- abe62414 - added missing header for __m128 (in gcc 6)
- 306cc94b - minor change in CaloEMuPIDMon.cpp to work around an issue with gaudi/Gaudi!182 (merged)
- 0403a8e3 - Only reset debug counters when in debug mode
- ac4063f7 - Merge branch 'master' of ssh://gitlab.cern.ch:7999/lhcb/Rec into RichHLT1Optimise
- 80a23c88 - Small speed ups
- a1664935 - streamline DumpLumiEvents
- 3e8407b5 - fix coverity warning about uninitialized members
- 57056bb0 - Merge branch 'minor-change-for-new-properties' into 'master'
- 7d2b2915 - C++11 modernization of TrackUtils
- 752934f5 - A few more speed improvements
- 1161a596 - Merge branch 'master' of ssh://gitlab.cern.ch:7999/lhcb/Rec into RichHLT1Optimise
- 22a85f5d - remove testing info() message
- 27847cab - Merge branch 'LHCBPS-1622.fix-gcc61-and-root' into 'master'
- cb574f71 - Merge branch 'master' of ssh://gitlab.cern.ch:7999/lhcb/Rec into RichHLT1Optimise
- db4e5233 - Merge branch 'c++11-trackutils' into 'master'
- 1a2fbcfa - Merge branch 'master' of ssh://gitlab.cern.ch:7999/lhcb/Rec into RichHLT1Optimise
- f1c9c7fe - Merge branch 'RichHLT1Optimise' into 'master'
- b2304cb2 - revert lfn->pfn change
- f1cf40a5 - Merge branch 'master' of ssh://gitlab.cern.ch:7999/lhcb/Rec into RichHLT1Optimise
- 96b5e8b3 - Some minor improvements to the pixel create base class.
- aca04929 - A little C++11 cleanup
- bca082fd - Update Configurable for the Upgrade. Turn off various monitors which cannot
- e3c4d25b - fix comment
- 681366de - remove unused initialize()
- 77b3ae7f - Fix a number of places where the deuteron mass hypothesis was not being properly considered
- b958314d - Merge branch 'streamline-lumialgs' into 'master'
- 2cffcb8d - Merge branch 'master' of ssh://gitlab.cern.ch:7999/lhcb/Rec into RichHLT1Optimise
- d32ced7e - Add Deuteron to the list of hypotheses used to form the Heavy ID in the
- fabdc73c - Revert slightly std::array change
- 7ed58532 - Merge branch 'RichHLT1Optimise' into 'master'
- f250934d - Improve data member initialisation
- 34bc869b - Improve a little data member initialisation in RichSellmeirFunc.
- 741a2cfc - replace some std::vector with std::array and improve initialisation
- 028867a5 - C++11 modernization PatSeedFit
- 2fc91a64 - Merge branch 'modernize-patseedfit' into 'master'
- 0d44c77e - Merge branch 'RichHLT1Optimise' into 'master'
- f96a26bf - Modernize PatVeloTT
- 23540846 - Merge branch 'cleanup-hitmanagers' into 'master'
- c23b0da1 - hit creator cleanup
- c9026f8e - fix errors/warnings from clang
- 79ca9f1a - Merge branch 'modernize-patvelott' into 'master'
- 762bb937 - Merge branch 'cherry-pick-5c15c18c' into 'master'
- 2b7e92ca - adapt to use of either string or DataObjectHandleBase as property
- 33c05ee4 - adapt to changes in CaloDataFunctor
- e6cecbc1 - Merge branch 'modernize-calodatafunctor' into 'master'
- 3f3c82b3 - Merge branch 'adapt-to-dataobjecthandle-use' into 'master'
- a4a1fa84 - Merge branch 'cleanup-hitcreators' into 'master'
- 853e842b - Merge remote branch 'origin/master' into HEAD
- 1c303e9b - Rebase on top of !169 (merged)
Toggle commit listRebased on top of !169 (merged) -- please make sure !169 (merged) is merged first, so this will be a single-commit instead of fifty commits...
Added 1 commit:
- c26c34b3 - Migrate CaloSinglePhotonAlg to Gaudi::Functional::ScalarTransformer
190 continue ; 191 } 192 // check momentum after all corrections, and insert into container pass... 193 if( LHCb::CaloMomentum( hypo.get()).pt() >= m_eTcut ) hypos.insert ( hypo.release() ) ; 155 hypo.setHypothesis( LHCb::CaloHypo::Photon ); 156 hypo.addToClusters( &cluster ); 157 hypo.setPosition ( new LHCb::CaloPosition(cluster.position()) ); //@FIXME: why not CaloPosition by (optional) value? 194 158 195 } // end of the loop over all clusters 159 return boost::make_optional( 160 apply( m_corrections, hypo, "Error from Correction Tool, skip the cluster ", *this) && // loop over all corrections and apply corrections 161 apply( m_hypotools, hypo, "Error from Other Hypo Tool, skip the cluster ", *this) && // loop over other hypo tools (e.g. add extra digits) 162 apply( m_corrections2, hypo, "Error from Correction Tool 2 skip the cluster", *this) && // loop over all corrections and apply corrections 163 apply( m_hypotools2, hypo, "Error from Other Hypo Tool 2, skip the cluster", *this) && // loop over other hypo tools (e.g. add extra digits) 164 LHCb::CaloMomentum(&hypo).pt() >= m_eTcut, // check momentum after all corrections, and insert into container pass... 165 hypo ); Should switch from
boost::optional
tostd::optional
, or, in gcc 4.9,std::experimental::optional
. The reason is thatboost::make_optional
accepts aconst T&
which will imply a copy in line 165.std::optional::make_optional
on the other hand acceptsT&&
which implies we canstd::move(hypo)
here and avoid the copy...
Validation started with lhcb-future#103
Validation started with lhcb-future#104
mentioned in commit 32744204
Mentioned in commit 32744204