Skip to content

WIP: fix MCLinking in TDR branch for LHCb::Tracks

Renato Quagliani requested to merge TDR-rquaglia_fixhackMCLinking into TDR

@sponce , @raaij , @sstahl The solution I adopted to restore MCLinking for the LHCb::Tracks -> vector conversion, is to append in the MCSequence an algorithm reading all the tracks in the Track container and make a copy of them in /Copy/Track. This allow to run the PrChecker without any issue. Maybe this can be extended to other algorithm which do not allow to merge TDR to master. @gligorov , you may need this hack to setup a timing & efficiency test for CPU using the exact same software stack. To - do -list

  • Make the TrackConverter (move to functional) a 1-to-1 conversion One path In , One path Out (KeyedTrack) chained by the PrTrackAssociator using single containers. The final MCChecking sequence will be Per track type produced, i.e. MCCHeckingVelo, MCCheckingUpstream, MCCheckingForward, where optionally, whether no KeyedContainer is produced, a converter is placed in the sequence.
  • Let TrackSys and UpgradeChecking sequence to know where converted Keyed tracks are located and which tracks have to be converted (this depends on the signature of the HLT algorithms, i.e. if they produce LHCb::Tracks or vectorLHCb::Track

Now, you can pass TrackSys().TracksToConvert = ["Velo","Upstream","ForwardFast"] to convert from vector<Track> to LHCb::Tracks when doing MC association. Also TrackSys().VeloUpgradeOnly = True will execute VeloOnly ( and Decoding detectors) in the sequence. The last can be useful concerning @cattanem suggestions in Brunel!344 (closed)

Edited by Renato Quagliani

Merge request reports