Skip to content
Snippets Groups Projects
  1. Feb 14, 2017
  2. Feb 10, 2017
  3. Feb 09, 2017
  4. Feb 08, 2017
  5. Feb 07, 2017
  6. Feb 06, 2017
  7. Feb 03, 2017
    • Michel De Cian's avatar
      Added ignore-flag checks in PatAddTTCoord and PatVeloTTHybridTool to work with... · 89914f66
      Michel De Cian authored
      Added ignore-flag checks in PatAddTTCoord and PatVeloTTHybridTool to work with 'FlagHitsForPatternReco'
      89914f66
    • Marco Cattaneo's avatar
      Merge branch 'master-SciFiClusterResidualFix' into 'master' · 18bccf43
      Marco Cattaneo authored
      Fix plots in ClustersResidual tool to account for all MCHits in the Linker
      
      Minor fix in Residual plot and Occupancy plot for the scifi as requested by @jvantilb .
      Fix ranges of plotting and also looking to all elements in the Linker, not only the most contributing one.
      (Next SciFI digi release will have no weighting of the MCHits in the Linker, so to do fair comparisons we changed the logic here when we show the Occupancy in the detector).
      
      See merge request !468
      18bccf43
    • Marco Cattaneo's avatar
      Merge branch 'RichCKTrackResolutions-AvoidTransportService' into 'master' · d943b436
      Marco Cattaneo authored
      Rich CK track resolutions avoid transport service
      
      Avoid (slow) calls to the transport service in `RichTrackFunctionalCherenkovResolutions` by caching the radiation length / unit path length during initialise. In some ways strictly not as accurate, as does not take into account corner cases where tracks clip objects like the beampipe, but in practise this level of precision is not required. In other ways the calculation is now better as previously it would sometimes include terms from objects like the RICH2 mirrors (due to the definition of the start and end points) which really should not have been included, as the parts of the track in the mirrors never give observable photons...
      
      Results in the algorithm being much faster, and means the RICH no longer cares what detector geometry is used (other than for this initial caching).
      
      This MR also extended the monitoring python utilities to allow for different histogram sets, similar to how the old monitoring worked.
      
      This will change the reference logs, so an MR to update them will follow.
      
      See merge request !485
      d943b436
    • Marco Cattaneo's avatar
      Merge branch 'RichQuartic-RemoveSecMirrorOption' into 'master' · f075f0f5
      Marco Cattaneo authored
      Remove from future quartic reconstruction algorithm option to ignore secondary mirrors.
      
      Add to old stack a check to hopefully make coverity happy
      
      See merge request !486
      f075f0f5
    • Marco Cattaneo's avatar
      Merge branch 'FixPrLongLivedTrackingXProj' into 'master' · 296aba4a
      Marco Cattaneo authored
      PrLongLivedTracking: Correctly update the X-projection before calculating the MVA value for a Track
      
      This adds an update of the x-projection before adding it to the `deviation` variable used for the MVA.
      
      **Problem in previous version**:    
      The call to hit->projection() did not return the correct x-projection associated with the track we are currently calculating the MVA value for.     
      This is because the track only owns the pointer to the hit, so a different track candidate can later on pick said hit up again and update the projection.      
      Therefor a call to hit->projection in line 526 will return a value that was actually calculated with the last track candidate that used this hit.     
      
      To check I ran the reco over 300 Events and did not see any significant changes in the timing due the additional update call.   
      The number of reconstructed tracks is now 39106 vs previously 39061.
      
      
      Hi @decianm, as discussed just "pinging" you on here so you can have a look :) Thanks!
      
      See merge request !488
      296aba4a
  8. Feb 01, 2017
    • Christoph Hasse's avatar
      Update PrLongLivedTracking.cpp · 147215bb
      Christoph Hasse authored
      147215bb
    • Christoph Hasse's avatar
    • Marco Cattaneo's avatar
      Merge branch 'v21r1-release' into 'master' · 8f01dcfd
      Marco Cattaneo authored
      Prepare v21r1 release
      
      <H1><A NAME=v21r1>2017-02-01 RecSys v21r1</A></H1>
      This version uses Gaudi v28r1, LHCb v42r1 and Lbcom v20r1 (and LCG_87 with ROOT 6.08.02)
      <p>
      This version is released on master branch. 
      <h2>New or improved functionality</h2>
      <dl>
      <dt>[MR !427] Import RichFuture functional packages from future branch
      <dd> Requires lhcb/LHCb!512
      <dt>[MR !448] RichFuture - Improved pmt support
      <dd> Predicted pixel signal algorithm now uses the new `DeRichPD` pixel area access methods added in lhcb/LHCb!522 . This means this algorithm now transparently takes HPD/PMT differences into account.
      <dd> Update track CK theta resolution algorithm - see MR message for detailed description of this change
      <dt>[MR !457] Update RecSummaryAlg to use the new RichFuture decoded data via the TES when available, instead of the provider.
      <dd> Requires lhcb/LHCb!527
          
      <dt>[MR !456] RichFuture - Add track and cluster GEC cuts, and 'OnlineBrunel' mode.
      <dt>[MR !460] RichFuture - Use the new IMirrorSegFinderLookUpTable interface.
      <dd> Based on lhcb/LHCb!529 and lhcb/Lbcom!115.
      <dt>[MR !463] Fix an infrequent DLL warning from Rich Future Global PID
      <dd> Fixes "WARNING Rich::Future::Rec::GlobalPID::WriteRichPIDs:: Track has non-zero best deltaLL value StatusCode=FAILURE"
      <dt>[MR !423] [LHCBPS-1681] Replace temporary version of Track1DTabFunc (temporarily added in !394)
      <dd> The ghost probability (Tr/TrackTools/*/TrackNNGhostId.* and Tr/TrackTools/*/Run2GhostId.*) used the 1D tabulated function from RichDet which is being replaced (lhcb/LHCb!451). This MR is a standalone implementation of a 1 dimensional tabulated function for the ghost probability, taking into account that (from run2 onwards) the tabulation binning is equidistant in y [sic].
          
      <dt>[MR !471] Updated PatLongLivedParams for new resolution studies
          
      <dt>[MR !470] Added function to PatDebugTTTruthTool that checks if track is downstream reconstructible
      </dl>
      <h2>Code speedups</h2>
      <dl>
      <dt>[MR !401] Get rid of unnecessary if in PatAddTTCoord
      <dt>[MR !424] PatMatchTool speedup
      <dd> Improve timing of PatMatchTool by buffering the state in the inner loop. Gains about 45% according to callgrind.
      <dt>[MR !453] Speedup in PrMatchToolNN
      <dd> Change double to float
      <dd> Sort states according to extrapolated y-position
      <dd> Use binary searches to only calculate chi2 and MVA value for close states. 
      <dd> Do some C++11 changes
      <dd> Use new method for Gaudi::Property.
      <dt>[MR !459] Tr/TrackTools/src/UpgradeGhostId.cpp: Reserve sufficiently large vector<double> for MLP observables
      <dd> Based on https://indico.cern.ch/event/600120/contributions/2444101/attachments/1398576/2133160/Ghost_Probability_for_upgrade.pdf it seems there is a lot of time to be gained by pre-allocating sufficient memory for the vector of observables.
      <dt>[MR !479] Speed up (factor 10) the RICH future emitted photon yield algorithm
          
      </dl>
      <h2>Bug fixes</h2>
      <dl>
      <dt>[MR !389] CaloSelectCluster.h: Fix uninitialized pointer
      <dt>[MR !469] Fix VeloTrackMonitorNT
      <dd> Bug fix: the arguments for the position function of VeloClusterPosition should be the global point of the hit, not the track first state as it used to be.
      </dl>
      <h2>Monitoring changes</h2>
      <dl>
      <dt>[MR !418] RichTools: improve debug
      <dt>[MR !414] Update current RichRecoQC to ignore MC type when deciding the assumed type, to be consistent with real data
      <dt>[MR !442] Add new RICH Future MC truth Cherenkov resolution monitor
      <dd> Relies on lhcb/LHCb!517
      <dt>[MR !462] Rich future monitors renamed to match current
      <dd> To ease deployment of the new RICH sequence at the pit, the monitor names are updated to match those used in the old sequence, as then the DQ and monitoring will be blind to the change.
      <dd> Also This add a 'Tight' resolution monitor, that uses restrictive track cuts to get a cleaned up sample, used for the n-1 calibration online.
      </dl>
      <h2>Changes to tests</h2>
      <dl>
      <dt>[MR !420] LumiAlgs lumi2reader test: update reference to follow Gaudi v28r1
      </dl>
      <h2>Thread safety</h2>
      <dl>
      <dt>[MR !440] Changes to Tf/FastVelo and Tf/PatVelo to make the code thread safe
      <dd> Remove mutable variables giving state to PatVeloSpaceTool
      <dd> Adapt FastVeloTracking and HitManager to use the new TES object defined in lhcb/LHCb!516 rather than the deleted DeVeloSensor::Tell1EventInfo.
      <dd> See also LHCBPS-1680
      <dt>[MR !454] Make VeloHitManager, TrackVelodEdxCharge and VeloClusterPosition thread safe
      <dd> Removed unnecessary mutables from VeloHitManager
      <dd> Made TrackVelodEdxCharge counters thread safe
      <dd> Removed unnecessary internal state from VeloClusterPosition tool.
      <dd> See also LHCBPS-1680
          
       </dl>
      <h2>Code modernisations and cleanups</h2>
      <dl>
      <dt>[MR !428] Fully qualify enum values (see lhcb/LHCb!513)
      <dt>[MR !386] Modernize HltMonitors
      <dd> replace BOOST_FOREACH with range-based for loop
      <dd> replace boost/assign/list_of with (implicit) std::initializer_list
      <dd> do not implement derived methods that just call their base class version
      <dd> prefer STL algorithms over raw loops
      <dd> prefer implicit destructors
      <dd> remove obsolete SVN/CVS keywords
      <dd> prefer lambda callbacks over member function callbacks
      <dd> prefer .empty()  over comparison with ""
          
      <dt>[MR !430] Modernize HitManagers & hit comparison operators
      <dd> Always sort hits in hitmanagers as they are added, avoid sorting on demand, and make it impossible to use inconsistent comparisons.
      <dd> Replace templated binary comparisons classes with non-templated classes, with templated operator() instead.
      <dd> Make sure that the same comparison classes can be used for std::sort and std::lower_bound
      <dd> replace BOOST_FOREACH with range-based for loop
      <dt>[MR !385] Modernize PrAlgorithms
      <dd> prefer auto
      <dd> remove use of BOOST_FOREACH
      <dd> prefer range-based for loops
      <dd> prefer implicit destructors
      <dd> prefer direct member initialization
      <dd> prefer emplace_back over push_back
      <dd> prefer inheriting from extends over virtual inheritance
      <dd> add final
      <dd> remove inclusion of unused header Event/TrackFunctor.h
      <dd> prefer assignement over hard-wired set of push_backs
      <dt>[MR !384] Modernize PatAlgorithms,PatKernel,TsaAlgorithms,TsaKernel
      <dd> prefer implicit destructors
      <dd> add final
      <dd> prefer auto
      <dd> avoid deprecated std::binary_function
      <dd> prefer non-template comparison class with templated operator()
      <dd> replace boost/array with std::array
      <dd> prefer call-by-value-followed-by-move over call-by-const-ref-followed-by-copy
      <dd> prefer removing items from vectors over copying selected items
      <dt>[MR !433] Modernize PatAlgorithms
      <dd> prefer implicit destructors
      <dd> prefer Gaudi::Property
      <dd> remove obsolete CVS/SVN keywords
      <dd> prefer inheriting constructors (requires on !432)
      <dd> prefer standalone function in anonymous namespace over member functions which do not interact with their class
      <dd> prefer STL algorithms
      <dd> prefer assignment of std::initializer_list over repeated push_backs
      <dt>[MR !446] Modernize RecInterfaces
      <dd> prefer DeclareInterface
      <dd> prefer inheritance of extend_interfaces over virtual inheritance
      <dd> prefer struct
      <dd> remove obsolete CVS/SVN keywords
      <dt>[MR !383] Modernize TrackInterfaces, TrackExtrapolators, TrackKernel, TrackTools, TrackUtils
      <dd> prefer STL algorithms over raw loops
      <dd> prefer auto
      <dd> add ( ) around ?:
      <dd> prefer inheriting from extends over virtual inheritance
      <dd> prefer inheriting from extend_interfaces over virtual inheritance
      <dd> prefer DeclareInterfaceID over explicit interface ID definition
      <dd> prefer struct over class when there are only public methods
      <dd> remove include of unused Event/TrackFunctor.h
      <dd> prefer std::make_unique
      <dd> add final
      <dt>[MR !432] Modernize TrackInterfaces
      <dd> prefer struct
      <dd> prefer extend_interfaces
      <dd> prefer DeclareInterfaceID
      <dd> make ISTSpilloverTool const correct
      <dt>[MR !382] Modernize TrackCheckers
      <dd> replace BOOST_FOREACH with range-based for loop
      <dd> do not cast if not neccesary
      <dd> do not include unused header "Event/TrackFunctor.h"
      <dt>[MR !438] Modernize TrackExtrapolators
      <dd> prefer Gaudi::Property
      <dd> prefer direct member initialization
      <dd> prefer inherited constructors
      <dd> remove disable of warnings for Intel compiler (warning should be fixed by 'using' statement)
      <dd> prefer std::make_unique over standalone equivalent
      <dd> prefer implicit destructors
      <dd> do not cache msgLevel(MSG::DEBUG)
          
      <dt> [MR !437] Modernize TrackProjectors
      <dd> prefer Gaudi::Property
      <dd> prefer inheriting from extends over explicit virtual inheritance
      <dd> prefer direct member initialization
      <dd> prefer inherited constructors
      <dd> remove obsolete SVN/CVS keywords
      <dt>[MR !436] Modernize TrackTools
      <dd> prefer inheriting constructors
      <dd> prefer implicit destructors
      <dd> prefer Gaudi::Property
      <dd> prefer direct member initialization
      <dd> prefer standalone functions in anonymous namespace over member functions that do not access any class data and/or methods
      <dd> prefer STL algorithms over raw loops
      <dd> prefer std::unique_ptr over raw pointers + explicit delete
      <dd> prefer switch over if-then-elseif-elseif-else
      <dd> prefer range-based for loops
      <dd> move loop invariants out of loop body
      <dd> remove obsolete SVN/CVS keywords
      <dd> prefer auto
      <dd> add final
      <dd> prefer emplace_back
      <dd> prefer inheriting from extends over virtual inheritance
      <dd> prefer std::initializer_list over boost::assign
      <dd> prefer std::unique_ptr and move semantics over std::shared_ptr and copy
      <dd> prefer std::make_unique
      <dd> prefer range-based for loops over BOOST_FOREACH
      <dd> do not cache msgLevel(MSG::DEBUG)
      <dt>[MR !447] Modernize TrackIDs
      <dd> prefer std::numeric_limits over boost equivalent
      <dd> prefer direct member initialization
      <dd> prefer static_assert over BOOST_STATIC_ASSERT
      <dd> prefer table lookup over if-else-if as table can be re-used for inverse lookup -- which is now guaranteed consistent and needs less source code ( note: generated code is equivalent, see https://godbolt.org/g/cCzjsm )
      <dd> add UNLIKELY
          
      <dt>[MR !435] Modernize TrackUtils
      <dd> prefer auto
      <dd> prefer implicit destructors
      <dd> prefer range-based for loops, avoid BOOST_FOREACH
      <dd> add final
      <dd> prefer direct member initialization
      <dd> avoid boost/lambda
      <dd> prefer insert followed by inplace-merge over set_union
      <dd> prefer adjacent_find over unique so the fixup required can start at the first duplication
      <dd> prefer lambda over boost/bind
      <dt>[MR !434] Modernize TfKernel and TfTools
      <dd> remove const from resetUsedFlagOfHits
      <dd> add resetUsedFlagOfHits to hit creators
      <dd> prefer Gaudi::Property
      <dd> avoid use of protected data members
      <dd> use single precision dummy r-t relation
      <dt>[MR !443] RecAlgs: Prefer Gaudi::Property
      <dt>[MR !444] LumiAlgs: Prefer Gaudi::Property
      <dt>[MR !439] Prefer Gaudi::Property<TYPE> in RichFuture
      <dd> Also convert `#ifdef` header guards to cleaner `#pragma once`.
      <dt>[MR !397] Remove cmt directories as CMT is no longer supported as from Gaudi v28r0
      <dt>[MR !410] Fix misleading indentation warnings
      <dd> Fix misleading indentation warnings in PatAlgorithms, TrackMonitors, PrAlgorithms
      <dd> TrackExtrapolators, RichRecPhotonTools, RichFutureRecPhotonAlgorithms: suppress compilation warnings from Eigen
      <dt>[MR !441] Improved a doxygen comment in PatLongLivedParams, which was not particularly helpful...
      <dt>[MR !429] Remove whitespaces at end of line    
      </dl>
      
      See merge request !487
      v21r1
      8f01dcfd
    • Marco Cattaneo's avatar
      Prepare v21r1 release · b545d41e
      Marco Cattaneo authored
      b545d41e
    • Christopher Rob Jones's avatar
      Remove from future quartic recosntruction algorithm option to ignore secondary... · e73172c9
      Christopher Rob Jones authored
      Remove from future quartic recosntruction algorithm option to ignore secondary mirrors. Add to old stack a check to hopefully make coverity happy
      e73172c9
  9. Jan 31, 2017
  10. Jan 30, 2017
  11. Jan 28, 2017
  12. Jan 27, 2017
  13. Jan 25, 2017
Loading