Class PTrack fills a timing ntuple each time a track is propagated. The timer (class trfutil/CpuTimerTuple is passed by pointer in the call to PTrack::propagate.
The timer is run if this pointer is not null and if the current path has a name. The following subclocks are defined (xxx is the name of the layer):
The data includes:
If the path name ends in an asterisk (e.g. cftx1*), then all these times are recorded (the asterisk is stripped from the tuple variable names: ptcftx1, not ptcftx1*). If there is no trailing asterisk (e.g. pcftx1), then only the total time (ptcftx1) is recorded.
The path names must be kept short to remain withing the allowed length for ntuple variable names (eight characters?).
Each of these clocks runs during the above period for all PTrack's which have the specified path name. No times are recorded for unnamed layers. Note if more than one layer has the same name, their times are combined.
TrackFinder and TrackExtender are constructed from timer pointers and the latter passes that pointer in each call to PTrack::propagate. The caller of TrackFinder (or TrackExtender) is responsibler for creating the timer and resetting it for each event.
In general, one cannot simply give a different name and record all times separately for each layer because there is a limit on the number of entries in a tuple.