CTOF Delta T

From GlueXWiki
Revision as of 10:01, 13 December 2022 by Zihlmann (Talk | contribs) (CTOF time to distance)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Delta T of CTOF hits

In this section we look at the time difference of hits in the same paddle between the top and the bottom PMT. Two sources of timing information are used, the time from the ADC itself and the time from the TDC. The DANA objects used here are DCTOFHit objects with the container class having the following structure:

int bar; ///< bar number
int end; ///< top=0,bottom=1;
float dE; ///< attenuated energy deposition in GeV
double t; ///< time in ns
double t_adc;///< time in ns from FADC

Note that the factory that fills this structure already applies timing corrections like offsets to the timing data t and t_adc. We select data that have a CTOF trigger only meaning no other trigger bits are set. To provide an understanding as to how often it happens that in addition to the CTOF trigger another trigger bit is set either on the front pannel (LED trigger, random) or in the GTP (physics trigger, PS trigger) the following plot can be studied:

Ctof triggers.gif

It is very rare that when a CTOF trigger is generated that also some other trigger bit is set.

NOTE: IN THE FOLLOWING EVENTS WITH CTOF-TRIGGER ONLY ARE LOOKED AT.

Next we use the DCTOFHit objects to form time differences between bottom and top PMT hits for each paddle. The code for this looks something like this:

 vector <const DCTOFHit*> CTOFHits;
 loop->Get(CTOFHits);
 if (CTOFHits.size()<2){
   return NOERROR;
 }
 for (unsigned int k=0; k<CTOFHits.size()-1 ; k++) {
   const DCTOFHit *hit1 = CTOFHits[k];
   for (unsigned int j=k; j<CTOFHits.size() ; j++) {
     const DCTOFHit *hit2 = CTOFHits[j];
     if ( (hit1->bar == hit2->bar) && 
          (hit1->end != hit2->end) ){
       double dt_tdc = hit1->t - hit2->t;
       double dt_adc = hit1->t_adc - hit2->t_adc;
       if (hit2->end) {
         dt_tdc *= -1.;
         dt_adc *= -1.;
       }
       paddledTDC[hit1->bar-1]->Fill(dt_tdc);
       paddledADC[hit1->bar-1]->Fill(dt_adc);     
     }   
   }
 }

And the resulting histograms for the time differences between bottom and top for each paddle and separately for ADC and TDC times will then look like this
CTOF-TRIGGER ONLY!:

COTFpaddleDeltaT.gif


CTOF-TRIGGER * PYSICS-TRIGGER!: (this is only 10 files of a run 101622)

COTFpaddleDeltaT CTOFTrigPlusPhys.gif


CTOF-TRIGGER * PYSICS-TRIGGER!: (full run 101621)

CTOFpaddleDeltaT CTOFTrigPlusPhys run101621.gif

CTOF ADC response

In this section we look at the signal response of the PMTs top vs bottom PMTs for each paddle and for the bottom PMT separately using only matched hits from the CTOF trigger with dt +/- 12ns as seen in the above test of the time differences. We use the signal amplitude not the integral.

The minimum ionizing peak is only seen in paddle 2 and 3 (the two central paddles) as these do dominate the trigger rate. In paddle 1 and 4 one can not see the minimum ionizing peak. It is buried underneath the large single rates accidental background.

In order the enhance the minimum ionizing peak it is necessary to use tracking and identify events where there is a clear signature of one or two tracks hitting the paddles and match these tracks to the paddle hits
CTOF-TRIGGER ONLY!:

COTFpaddleBottomAmplitude.gif


CTOF-TRIGGER * PHYSICS-TRIGGER!: (this is only 10 files of a run 101622)

COTFpaddleBottomAmplitude CTOFTrigPlusPhys.gif


CTOF-TRIGGER * PHYSICS-TRIGGER!: (full run 101621)

CTOFpaddleBottomAmplitude CTOFTrigPlusPhys run101621.gif

CTOF time to distance

In order to get a time to distance relation between the time different of the top and bottom PMT and the hit position along the paddle one has to use tracking by extrapolating the track to the CTOF area and plot the y-position of track against the time difference of the CTOF paddle. The resulting 2d distribution can be fit to extract the offsets and time to distance relation. For a calibrated CTOF detector the offsets should be zero.

This is done by combining the data from run 101620 and 101621 leading to the following result:

PosVSdt.gif


Similar result are obtained for runs 101604 and 101606:

PosVSdt R101602 R101604.gif