Time Adjustments

Two parameters of each CM, that responsible for location of trigger pulses on FADC track fT, should be adjusted:

  • offset - Toffset
  • request delay - Treq

CM with shorter Tcable length:

├──────┼─────┼─────┼───────────┼─────┼───────────┤ timeline
   fT   Delta1 Treq   Tcable1   Delta2   Tcable2  

├────────────────────────────────────────────────┤ timeline
                      Toffset

CM with the longest Tcable (Treq is choosen equal 0):

├──────┼─────┼────────────────┼─────┼────────────────┤ timeline
   fT   Delta1     Tcable1     Delta2    Tcable2

├────────────────────────────────────────────────────┤ timeline
                      Toffset
  • Delta1 - time difference between the moment of trigger pulse generation and request signal coming out from CM. We believe it doesnt differ so much from CM to CM.
  • Tcable1 - time of signal passing through line CM - CC
  • Tcable2 - time of signal passing through line CC - CM. It can slightly differ from Tcable1 on tens of ns because of different thresholds inside SM (string module). For our calculation we consider them equal.
  • Delta2 - time difference between the moment of request signal coming into CC and acknowledgement signal coming out the splitter. It is the same for each CM.

CM - CC line delay calculation

It is important to equalize to straight and reverse parts of the delay by adjust CC trigger thresholds. They must have the same values as comparator threshold on SM (MG) which are 0.6 V. Because of FADC sensitivity is 600 codes per 1 V, we should adjust the trigger thresholds to 0.6 V * 600 codes/V - 360 codes. Because of smoothing we adjust the threshold to 320 codes.

Anyway we find times when request signals from different channels cross the amplitude of 360 codes (req_pulses.C) and use them for more accurate calculation.

Usually a run is carried out with the following parameters:

  • OM HVs are OFF
  • Test pulses are ON on the first CM channels
  • Non filtered data (FADC track length is 1024)
  • CM trigger coincidence is 1.
  • Trigger thresholds are 100 codes
  • Acknowledgement regime is ON

It is processed by the following steps:

  • cd macros/cluster_init
  • root -l -q 'trigger_pulses.C+("[data_path]", [season], [run], [cluster])'

It generates:

  • trigger_pulses.txt with the similar lines 3 1 540 5224, where the third value is fT in FADC codes and the fourth is offset from maininfo (showed here for convenience).
  • trigger_pulses.root that has fT histograms.

Script root -l -q 'offset_init.C("[path]/trigger_pulses.txt", "[path]/offset.txt", 0)' calculates:

  • Tcable2 assuming that Tcable1 = Tcable2 and Delta1 = Delta2: Tcable = Toffset - fT - Delta) / 2.
  • Treq. To compensate different lengthes of CM-CC lines Treq are chosen as Tcable_max - Tcable, where Tcable of considered CM, Tcable_max - maximal Tcable among all CMs.
  • new values of Toffset that correspons to non-zero Treq. Toffset = fT + 2*Tcable + 2*Delta + Treq

Toffset measures in ns. To translate it to codes we do Toffset_codes = 12288 - 2 * Toffset / 5. It must be even.

To translate Treq in codes we do Treq_codes = Treq / 10.