Skip to content

Commit 5ade82f

Browse files
committed
fadc time now includes 16 picoseconds precision
1 parent 851a61f commit 5ade82f

15 files changed

+80
-8
lines changed

hitprocess/clas12/cnd_hitprocess.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -574,15 +574,15 @@ map<string, double> cnd_HitProcess :: integrateDgt(MHit* aHit, int hitn)
574574

575575
}
576576

577-
577+
int fadc_time = convert_to_precision(TDC*slope);
578578

579579
dgtz["hitn"] = hitn;
580580
dgtz["sector"] = sector;
581581
dgtz["layer"] = layer;
582582
dgtz["component"] = 1;
583583
dgtz["ADC_order"] = adc_order ; // 0 = left 1 = right
584584
dgtz["ADC_ADC"] = ADC;
585-
dgtz["ADC_time"] = TDC; // no conversion
585+
dgtz["ADC_time"] = fadc_time;
586586
dgtz["ADC_ped"] = 0;
587587
dgtz["TDC_order"] = adc_order + 2; // 2 = left 3 = right
588588
dgtz["TDC_TDC"] = TDC;

hitprocess/clas12/cnd_hitprocess.h

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,11 +99,19 @@ class cnd_HitProcess : public HitProcess
9999

100100
double BirksAttenuation(double,double,int,double);
101101

102+
103+
102104
private:
103105

104106

105107
// - electronicNoise: returns a vector of hits generated / by electronics.
106108
vector<MHit*> electronicNoise();
109+
110+
double fadc_precision = 0.0625; // 16 picoseconds resolution
111+
int convert_to_precision(double tdc) {
112+
return (int( tdc / fadc_precision ) / fadc_precision);
113+
}
114+
107115
};
108116

109117
#endif

hitprocess/clas12/ctof_hitprocess.cc

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -387,13 +387,16 @@ map<string, double> ctof_HitProcess::integrateDgt(MHit* aHit, int hitn)
387387
}
388388
}
389389

390+
int fadc_time = convert_to_precision(tdc*tdcconv);
391+
392+
390393
dgtz["hitn"] = hitn;
391394
dgtz["sector"] = 1;
392395
dgtz["layer"] = 1;
393396
dgtz["component"] = paddle;
394397
dgtz["ADC_order"] = side;
395398
dgtz["ADC_ADC"] = (int) adc;
396-
dgtz["ADC_time"] = (tdc*tdcconv);
399+
dgtz["ADC_time"] = fadc_time;
397400
dgtz["ADC_ped"] = 0;
398401

399402
dgtz["TDC_order"] = side + 2;

hitprocess/clas12/ctof_hitprocess.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,10 @@ class ctof_HitProcess : public HitProcess
129129
// - electronicNoise: returns a vector of hits generated / by electronics.
130130
vector<MHit*> electronicNoise();
131131

132+
double fadc_precision = 0.0625; // 16 picoseconds resolution
133+
int convert_to_precision(double tdc) {
134+
return (int( tdc / fadc_precision ) / fadc_precision);
135+
}
132136

133137
};
134138

hitprocess/clas12/ecal_hitprocess.cc

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -313,13 +313,15 @@ map<string, double> ecal_HitProcess :: integrateDgt(MHit* aHit, int hitn)
313313

314314
float tdc2ns = 0.02345f;
315315

316+
int fadc_time = convert_to_precision(tdc2ns*TDC/a1);
317+
316318
dgtz["hitn"] = hitn;
317319
dgtz["sector"] = sector;
318320
dgtz["layer"] = layer;
319321
dgtz["component"] = strip;
320322
dgtz["ADC_order"] = 0;
321323
dgtz["ADC_ADC"] = ADC;
322-
dgtz["ADC_time"] = tdc2ns*TDC/a1;
324+
dgtz["ADC_time"] = fadc_time;
323325
dgtz["ADC_ped"] = 0;
324326
dgtz["TDC_order"] = 2;
325327
dgtz["TDC_TDC"] = TDC/a1;

hitprocess/clas12/ecal_hitprocess.h

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,15 @@ class ecal_HitProcess : public HitProcess
9696
// - electronicNoise: returns a vector of hits generated / by electronics.
9797
vector<MHit*> electronicNoise();
9898

99+
private:
100+
101+
double fadc_precision = 0.0625; // 16 picoseconds resolution
102+
int convert_to_precision(double tdc) {
103+
return (int( tdc / fadc_precision ) / fadc_precision);
104+
}
105+
106+
107+
99108
};
100109

101110
#endif

hitprocess/clas12/ft_cal_hitprocess.cc

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -264,13 +264,15 @@ map<string, double> ft_cal_HitProcess :: integrateDgt(MHit* aHit, int hitn)
264264
}
265265
}
266266

267+
int fadc_time = convert_to_precision(TDC/25);
268+
267269
dgtz["hitn"] = hitn;
268270
dgtz["sector"] = 1;
269271
dgtz["layer"] = 1;
270272
dgtz["component"] = iCrystal;
271273
dgtz["ADC_order"] = 0;
272274
dgtz["ADC_ADC"] = ADC;
273-
dgtz["ADC_time"] = (int) TDC/25;
275+
dgtz["ADC_time"] = fadc_time;
274276
dgtz["ADC_ped"] = 0;
275277

276278

hitprocess/clas12/ft_cal_hitprocess.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,12 @@ class ft_cal_HitProcess : public HitProcess
104104
// - electronicNoise: returns a vector of hits generated / by electronics.
105105
vector<MHit*> electronicNoise();
106106

107+
double fadc_precision = 0.0625; // 16 picoseconds resolution
108+
int convert_to_precision(double tdc) {
109+
return (int( tdc / fadc_precision ) / fadc_precision);
110+
}
111+
112+
107113
};
108114

109115
#endif

hitprocess/clas12/ft_hodo_hitprocess.cc

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -211,13 +211,17 @@ map<string, double> ft_hodo_HitProcess :: integrateDgt(MHit* aHit, int hitn)
211211
<< icomponent << endl;
212212
}
213213
}
214+
215+
int fadc_time = convert_to_precision(TDC/25);
216+
217+
214218
dgtz["hitn"] = hitn;
215219
dgtz["sector"] = isector;
216220
dgtz["layer"] = ilayer;
217221
dgtz["component"] = icomponent;
218222
dgtz["ADC_order"] = 0;
219223
dgtz["ADC_ADC"] = ADC;
220-
dgtz["ADC_time"] = TDC/25;
224+
dgtz["ADC_time"] = fadc_time;
221225
dgtz["ADC_ped"] = 0;
222226

223227
// define conditions to reject hit

hitprocess/clas12/ft_hodo_hitprocess.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,12 @@ class ft_hodo_HitProcess : public HitProcess
9696
// - electronicNoise: returns a vector of hits generated / by electronics.
9797
vector<MHit*> electronicNoise();
9898

99+
double fadc_precision = 0.0625; // 16 picoseconds resolution
100+
int convert_to_precision(double tdc) {
101+
return (int( tdc / fadc_precision ) / fadc_precision);
102+
}
103+
104+
99105
};
100106

101107
#endif

0 commit comments

Comments
 (0)