12 #include <JANA/JApplication.h>
33 #include <TDirectory.h>
36 #include <TProfile2D.h>
187 TDirectory *
main = gDirectory;
188 gDirectory->mkdir(
"bcal")->cd();
192 int timemin_ns = -200;
193 int timemax_ns = 400;
194 int timeminTDC_ns = -300;
195 int timemaxTDC_ns = 900;
196 float Ehit_min = -0.2;
197 float Ehit_max = 2.0;
198 float Eclust_min = -0.2;
199 float Eclust_max = 6.0;
201 gStyle->SetTitleOffset(1,
"Y");
202 gStyle->SetTitleSize(0.05,
"xyz");
203 gStyle->SetTitleSize(0.08,
"h");
204 gStyle->SetLabelSize(0.05,
"xyz");
205 gStyle->SetTitleX(0);
206 gStyle->SetTitleAlign(13);
207 gStyle->SetNdivisions(505,
"xy");
209 bcal_num_events =
new TH1I(
"bcal_num_events",
"BCAL Number of events",1, 0.5, 1.5);
211 bcal_fadc_digi_integral =
new TH1I(
"bcal_fadc_digi_integral",
"BCAL Integral (DBCALDigiHit);Integral (fADC counts)", 500, 0, 40000);
212 bcal_fadc_digi_pedestal =
new TH1I(
"bcal_fadc_digi_pedestal",
"BCAL Pedestal (DBCALDigiHit);Pedestal (fADC counts)", 400, 200, 600);
213 bcal_fadc_digi_good_pedestal =
new TH1I(
"bcal_fadc_digi_good_pedestal",
"BCAL Good Pedestal (DBCALDigiHit);Pedestal (fADC counts)", 40, 380, 420);
214 #if ROOT_VERSION_CODE >= ROOT_VERSION(6,0,0)
221 bcal_fadc_digi_QF =
new TH1I(
"bcal_fadc_digi_QF",
"Qualtiy Factor (DBCALDigiHit);Qualtiy Factor", 128, -0.5, 127.5);
222 bcal_fadc_digi_time =
new TH1I(
"bcal_fadc_digi_time",
"ADC Time (DBCALDigiHit);Time (fADC time/62.5 ps)", 550, -600, 6000);
223 bcal_fadc_digi_occ =
new TH2I(
"bcal_fadc_digi_occ",
"ADC occupancy (DBCALDigiHit);Module", 48, 0.5, 48.5, 33, 0.5, 33.5);
225 "Mean pedestal per cell (DBCALDigiHit);Module",
226 48, 0.5, 48.5, 33, 0.5, 33.5);
231 bcal_fadc_digi_occ_layer1 =
new TH1I(
"bcal_fadc_digi_occ_layer1",
"Occupancy in layer 1 (DBCALDigiHit);global sector (4 x module + sector)",192, 0.5, 192.5);
232 bcal_fadc_digi_occ_layer2 =
new TH1I(
"bcal_fadc_digi_occ_layer2",
"Occupancy in layer 2 (DBCALDigiHit);global sector (4 x module + sector)",192, 0.5, 192.5);
233 bcal_fadc_digi_occ_layer3 =
new TH1I(
"bcal_fadc_digi_occ_layer3",
"Occupancy in layer 3 (DBCALDigiHit);global sector (4 x module + sector)",192, 0.5, 192.5);
234 bcal_fadc_digi_occ_layer4 =
new TH1I(
"bcal_fadc_digi_occ_layer4",
"Occupancy in layer 4 (DBCALDigiHit);global sector (4 x module + sector)",192, 0.5, 192.5);
238 bcal_fadc_digi_pedestal_vtime =
new TProfile(
"bcal_fadc_digi_pedestal_vtime",
"Avg BCAL pedestal vs time;time;pedestal (all chan avg)",200,0.0,0.0);
241 bcal_fadc_digi_pedestal_vevent =
new TProfile(
"bcal_fadc_digi_pedestal_vevent",
"Avg BCAL pedestal vs event;event num;pedestal (all chan avg)",200,0.,0.);
242 #if ROOT_VERSION_CODE >= ROOT_VERSION(6,0,0)
250 bcal_tdc_digi_time =
new TH1I(
"bcal_tdc_digi_time",
"TDC Time (DBCALDigiTDCHit);Time (F1TDC counts)", 500, 0, 66000);
251 bcal_tdc_digi_reltime =
new TH2I(
"bcal_tdc_digi_reltime",
"Relative TDC Time (DBCALDigiTDCHit);Time (F1TDC counts); TDC trig time",
252 100, 0, 70000, 100, 0, 600);
253 bcal_tdc_digi_occ =
new TH2I(
"bcal_tdc_digi_occ",
"TDC occupancy (DBCALDigiTDCHit);Module", 48, 0.5, 48.5, 25, 0.5, 25.5);
255 bcal_tdc_digi_occ_layer1 =
new TH1I(
"bcal_tdc_digi_occ_layer1",
"Occupancy in layer 1 (DBCALDigiTDCHit);global sector (4 x module + sector)",192, 0.5, 192.5);
256 bcal_tdc_digi_occ_layer2 =
new TH1I(
"bcal_tdc_digi_occ_layer2",
"Occupancy in layer 2 (DBCALDigiTDCHit);global sector (4 x module + sector)",192, 0.5, 192.5);
257 bcal_tdc_digi_occ_layer3 =
new TH1I(
"bcal_tdc_digi_occ_layer3",
"Occupancy in layer 3 (DBCALDigiTDCHit);global sector (4 x module + sector)",192, 0.5, 192.5);
261 bcal_fadc_E =
new TH1I(
"bcal_fadc_E",
"Uncorrected Energy (DBCALHit);Energy, not atten. corr. (GeV)", 500, Ehit_min, Ehit_max);
262 bcal_fadc_t =
new TH1I(
"bcal_fadc_t",
"ADC Time (DBCALHit);Time (ns)", 1200, timemin_ns, timemax_ns);
263 bcal_fadc_occ =
new TH2I(
"bcal_fadc_occ",
"ADC occupancy (DBCALHit);Module", 48, 0.5, 48.5, 33, 0.5, 33.5);
264 bcal_fadc_avgE =
new TH2D(
"bcal_fadc_avgE",
"Average Energy x Occupancy (DBCALHit);Module", 48, 0.5, 48.5, 33, 0.5, 33.5);
265 bcal_fadc_saturated =
new TH2I(
"bcal_fadc_saturated",
"Saturated Occupancy (DBCALHit);Module", 48, 0.5, 48.5, 33, 0.5, 33.5);
267 bcal_tdc_t =
new TH1I(
"bcal_tdc_t",
"TDC Time (DBCALTDCHit);Time (ns)", 1200, timeminTDC_ns, timemaxTDC_ns);
268 bcal_tdc_occ =
new TH2I(
"bcal_tdc_occ",
"TDC occupancy (DBCALTDCHit);Module", 48, 0.5, 48.5, 25, 0.5, 25.5);
270 bcal_num_hits =
new TH1I(
"bcal_num_hits",
"Number of BCAL hits;Number of hits per event", 250, 0, 250);
271 bcal_Uhit_E =
new TH1I(
"bcal_Uhit_E",
"Uncorrected Energy (DBCALUnifiedHit);Energy, not atten. corr. (GeV)", 500, Ehit_min, Ehit_max);
272 bcal_Uhit_t =
new TH1I(
"bcal_Uhit_t",
"Unified time (DBCALUnifiedHit);time (ns)", 1200, timeminTDC_ns, timemaxTDC_ns);
273 bcal_Uhit_t_TDC =
new TH1I(
"bcal_Uhit_t_TDC",
"TDC time (DBCALUnifiedHit);Timewalk corrected TDC time (ns)", 1200, timeminTDC_ns, timemaxTDC_ns);
274 bcal_Uhit_t_ADC =
new TH1I(
"bcal_Uhit_t_ADC",
"ADC time (DBCALUnifiedHit);ADC time (ns)", 1000, timemin_ns, timemax_ns);
275 bcal_Uhit_noTDC_E =
new TH1I(
"bcal_Uhit_noTDC_E",
"Energy for no TDC (DBCALUnifiedHit);Energy", 500, Ehit_min, Ehit_max);
276 bcal_Uhit_tTDC_tADC =
new TH2I(
"bcal_Uhit_tTDC_tADC",
"ADC vs TDC time (DBCALUnifiedHit);TDC time;ADC time (ns)",
277 100, timemin_ns, timemax_ns, 100, timemin_ns, timemax_ns);
278 bcal_Uhit_tdiff =
new TH1I(
"bcal_Uhit_tdiff",
"time diff. (ADC-TDC) (DBCALUnifiedHit);(TDC - ADC) time (ns)",
280 bcal_Uhit_tTDC_E =
new TH2I(
"bcal_Uhit_tTDC_E",
"TDC time vs Energy (DBCALUnifiedHit);Energy, not atten. corr. (GeV);Timewalk corrected TDC time",
281 100, Ehit_min, Ehit_max, 100, timeminTDC_ns, timemaxTDC_ns);
282 bcal_Uhit_tADC_E =
new TH2I(
"bcal_Uhit_tADC_E",
"ADC time vs Energy (DBCALUnifiedHit);Energy, not atten. corr. (GeV);ADC time (ns)",
283 100, Ehit_min, Ehit_max, 100, timemin_ns, timemax_ns);
284 bcal_Uhit_tTDC_twalk =
new TH1I(
"bcal_Uhit_tTDC_twalk",
"TDC timewalk correction (DBCALUnifiedHit);Timewalk correction (ns)",
286 bcal_Uhit_tdiff_ave =
new TProfile2D(
"bcal_Uhit_tdiff_ave",
"Mean time diff. (TDC-ADC) (UnifiedHit);Module",
287 48, 0.5, 48.5, 33, 0.5, 33.5);
288 bcal_hit_tdiff_raw_ave =
new TProfile2D(
"bcal_hit_tdiff_raw_ave",
"Mean time diff. uncalib. (TDC-ADC) (Hit);Module",
289 48, 0.5, 48.5, 33, 0.5, 33.5);
290 bcal_hit_tdiff_ave =
new TProfile2D(
"bcal_hit_tdiff_ave",
"Mean time diff. (TDC-ADC) (Hit);Module",
291 48, 0.5, 48.5, 33, 0.5, 33.5);
293 bcal_num_points =
new TH1I(
"bcal_num_points",
"Number of BCAL points;Number of points per event", 100, 0, 100);
294 bcal_point_E =
new TH1I(
"bcal_point_E",
"Energy (DBCALPoint);Energy (GeV)", 500, Ehit_min, Ehit_max);
295 bcal_point_t =
new TH1I(
"bcal_point_t",
"time (DBCALPoint);Time (ns)", 500, timemin_ns, timemax_ns);
296 bcal_point_rho =
new TH1I(
"bcal_point_rho",
"rho (DBCALPoint);rho", 450, 0, 450);
297 bcal_point_sigRho =
new TH1I(
"bcal_point_sigRho",
"sigRho (DBCALPoint)", 100, 0, 30);
298 bcal_point_theta =
new TH1I(
"bcal_point_theta",
"theta (DBCALPoint)", 500, 0, 3);
300 bcal_point_phi =
new TH1I(
"bcal_point_phi",
"phi (DBCALPoint)",200, -0.1309, 6.4141);
301 bcal_point_sigPhi =
new TH1I(
"bcal_point_sigPhi",
"sigPhi (DBCALPoint)", 100, 0, 0.1);
302 bcal_point_z =
new TH1I(
"bcal_point_z",
"Z wrt target center (DBCALPoint);Z wrt target center (cm)", 600, -100, 500);
303 bcal_point_sigZ =
new TH1I(
"bcal_point_sigZ",
"sigZ (DBCALPoint)", 100, 0, 35);
304 bcal_point_z_dist =
new TProfile2D(
"bcal_point_z_dist",
"Mean Z positions per cell (DBCALPoint);Module;Sector, Layer",
305 48, 0.5, 48.5, 16, 0.5, 16.5);
306 bcal_point_z_sector =
new TH2I(
"bcal_point_z_sector",
"Z vs global sector (DBCALPoint);global sector (4 x module + sector);Z wrt target center (cm)",
307 192, 0.5, 192.5, 300, -100, 500);
308 bcal_point_E_sector =
new TH2I(
"bcal_point_E_sector",
"Energy vs global sector (DBCALPoint);global sector (4 x module + sector);Energy (GeV)",
309 192, 0.5, 192.5, 200, Ehit_min, Ehit_max);
310 bcal_point_E_layer1 =
new TH1I(
"bcal_point_E_layer1",
"Energy in layer 1 (DBCALPoint);Energy (GeV)", 225, Ehit_min, Ehit_max);
311 bcal_point_E_layer2 =
new TH1I(
"bcal_point_E_layer2",
"Energy in layer 2 (DBCALPoint);Energy (GeV)", 225, Ehit_min, Ehit_max);
312 bcal_point_E_layer3 =
new TH1I(
"bcal_point_E_layer3",
"Energy in layer 3 (DBCALPoint);Energy (GeV)", 225, Ehit_min, Ehit_max);
313 bcal_point_E_layer4 =
new TH1I(
"bcal_point_E_layer4",
"Energy in layer 4 (DBCALPoint);Energy (GeV)", 225, Ehit_min, Ehit_max);
315 "Mean energy in layer 1 (DBCALPoint);global sector (4 x module + sector);Energy (GeV)",
318 "Mean energy in layer 2 (DBCALPoint);global sector (4 x module + sector);Energy (GeV)",
321 "Mean energy in layer 3 (DBCALPoint);global sector (4 x module + sector);Energy (GeV)",
324 "Mean energy in layer 4 (DBCALPoint);global sector (4 x module + sector);Energy (GeV)",
327 bcal_cluster_nCells =
new TH1I(
"bcal_cluster_nCells",
"Number of Cells (DBCALCluster)", 50, 0, 50);
328 bcal_cluster_E =
new TH1I(
"bcal_cluster_E",
"Energy (DBCALCluster);Energy (GeV)", 450, Eclust_min, Eclust_max);
329 bcal_cluster_t =
new TH1I(
"bcal_cluster_t",
"time (DBCALCluster);Time (ns)", 500, timemin_ns, timemax_ns);
330 bcal_cluster_sigT =
new TH1I(
"bcal_cluster_sigT",
"sigT (DBCALCluster)", 100, 0, 50);
331 bcal_cluster_t0 =
new TH1I(
"bcal_cluster_t0",
"t0 (DBCALCluster);Inner raduis time (ns)", 500, timemin_ns, timemax_ns);
332 bcal_cluster_rho =
new TH1I(
"bcal_cluster_rho",
"rho (DBCALCluster)", 450, 0, 450);
334 bcal_cluster_theta =
new TH1I(
"bcal_cluster_theta",
"theta (DBCALCluster)", 500, 0, 3);
336 bcal_cluster_phi =
new TH1I(
"bcal_cluster_phi",
"phi (DBCALCluster)", 200, -0.1309, 6.4141);
337 bcal_cluster_sigPhi =
new TH1I(
"bcal_cluster_sigPhi",
"sigPhi (DBCALCluster)", 100, 0, 0.1);
338 bcal_cluster_rho_theta =
new TH2I(
"bcal_cluster_rho_theta",
"theta vs rho (DBCALCluster);rho;theta", 100, 0, 360, 100, 0, 2.2);
340 bcal_num_showers =
new TH1I(
"bcal_num_showers",
"Number of BCAL showers;Number of showers per event", 20, 0, 20);
341 bcal_shower_N_cell =
new TH1I(
"bcal_shower_N_cell",
"Number of Cells (DBCALShower)", 50, 0, 50);
342 bcal_shower_E =
new TH1I(
"bcal_shower_E",
"Energy (DBCALShower);Energy (GeV)", 500, Eclust_min, Eclust_max);
343 bcal_shower_E_raw =
new TH1I(
"bcal_shower_E_raw",
"Raw Energy (DBCALShower)", 500, Eclust_min, Eclust_max);
344 bcal_shower_x =
new TH1I(
"bcal_shower_x",
"x (DBCALShower);X position (cm)", 500, -100, 100);
345 bcal_shower_y =
new TH1I(
"bcal_shower_y",
"y (DBCALShower);Y position (cm)", 500, -100, 100);
346 bcal_shower_z =
new TH1I(
"bcal_shower_z",
"z (DBCALShower);Z position (cm)", 600, -100, 500);
347 bcal_shower_t =
new TH1I(
"bcal_shower_t",
"Time (DBCALShower);Time (ns)", 500, timemin_ns, timemax_ns);
348 bcal_shower_xErr =
new TH1I(
"bcal_shower_xErr",
"xErr (DBCALShower)", 100, 0, 10);
349 bcal_shower_yErr =
new TH1I(
"bcal_shower_yErr",
"yErr (DBCALShower)", 100, 0, 10);
350 bcal_shower_zErr =
new TH1I(
"bcal_shower_zErr",
"zErr (DBCALShower)", 100, 0, 20);
351 bcal_shower_tErr =
new TH1I(
"bcal_shower_tErr",
"tErr (DBCALShower)", 100, 0, 2);
352 bcal_shower_EErr =
new TH1I(
"bcal_shower_EErr",
"EErr (DBCALShower);#sigma_E/E", 100, 0, 0.2);
353 bcal_shower_plane =
new TH2I(
"bcal_shower_plane",
"Shower position (DBCALShower);X position (cm);Y position (cm)", 100, -100, 100, 100, -100, 100);
379 for(
int ibin=1; ibin<=16; ibin++){
382 int layer = 1 + (idy%4);
383 int sector = 1 + idy/4;
387 ss <<
"S"<<sector<<
" L"<<
layer;
389 bcal_fadc_occ->GetYaxis()->SetBinLabel(ibin, ss.str().c_str());
400 ss <<
"S"<<sector<<
" L"<<
layer;
402 bcal_fadc_occ->GetYaxis()->SetBinLabel(ibin+17, ss.str().c_str());
403 bcal_fadc_avgE->GetYaxis()->SetBinLabel(ibin+17, ss.str().c_str());
413 for(
int ibin=1; ibin<=12; ibin++){
416 int layer = 1 + (idy%3);
417 int sector = 1 + idy/3;
421 ss <<
"S"<<sector<<
" L"<<
layer;
423 bcal_tdc_occ->GetYaxis()->SetBinLabel(ibin, ss.str().c_str());
428 ss <<
"S"<<sector<<
" L"<<
layer;
430 bcal_tdc_occ->GetYaxis()->SetBinLabel(ibin+13, ss.str().c_str());
435 for(
int ibin=1; ibin<=16; ibin++){
438 int layer = 1 + (idy%4);
439 int sector = 1 + idy/4;
443 ss <<
"S"<<sector<<
" L"<<
layer;
477 vector<const DBCALGeometry *> BCALGeomVec;
478 loop->Get(BCALGeomVec);
479 if(BCALGeomVec.size() == 0)
480 throw JException(
"Could not load locBCALGeometry object!");
483 vector<const DEPICSvalue*> depicsvalue;
484 loop->Get(depicsvalue);
485 if (depicsvalue.size()>0) {
490 vector<const DBCALDigiHit*> dbcaldigihits;
491 vector<const DBCALTDCDigiHit*> dbcaltdcdigihits;
492 vector<const DBCALHit*> dbcalhits;
493 vector<const DBCALTDCHit*> dbcaltdchits;
494 vector<const DBCALUnifiedHit*> dbcaluhits;
495 vector<const DBCALPoint*> dbcalpoints;
496 vector<const DBCALCluster*> dbcalclusters;
497 vector<const DBCALShower*> dbcalshowers;
504 loop->GetSingle(trig);
512 bool locIsHDDMEvent = loop->GetJEvent().GetStatusBit(
kSTATUS_HDDM);
513 if (!locIsHDDMEvent) goodtrigger=0;
516 loop->Get(dbcalhits);
517 double total_bcal_energy = 0.;
518 for(
unsigned int i=0; i<dbcalhits.size(); i++) {
519 total_bcal_energy += dbcalhits[i]->E;
521 if (total_bcal_energy > 12.) goodtrigger=0;
527 loop->Get(dbcaldigihits);
528 loop->Get(dbcaltdcdigihits);
529 loop->Get(dbcaltdchits);
530 loop->Get(dbcaluhits);
531 loop->Get(dbcalpoints);
532 loop->Get(dbcalclusters);
533 loop->Get(dbcalshowers);
537 japp->RootFillLock(
this);
539 if( (dbcaldigihits.size() > 0) || (dbcaltdcdigihits.size() > 0) )
562 for(
unsigned int i=0; i<dbcaldigihits.size(); i++) {
604 for(
unsigned int i=0; i<dbcaltdcdigihits.size(); i++) {
608 vector<const DF1TDCHit*> f1tdchits;
610 if(f1tdchits.size() > 0)
627 for(
unsigned int i=0; i<dbcalhits.size(); i++) {
631 vector<const DBCALDigiHit*> assoc_BCALDigiHit;
632 hit->Get(assoc_BCALDigiHit);
633 if (assoc_BCALDigiHit.size()>0) {
635 vector<const Df250PulseIntegral*> f250PulseIntegral;
636 assoc_BCALDigiHit[0]->Get(f250PulseIntegral);
638 if (f250PulseIntegral.size()>0) {
639 vector<const Df250WindowRawData*> f250WindowRawData;
640 f250PulseIntegral[0]->Get(f250WindowRawData);
641 if (f250WindowRawData.size()>0) {
643 if (f250WindowRawData[0]->overflow==1) {
650 vector<const Df250PulseData*> f250PulseData;
651 assoc_BCALDigiHit[0]->Get(f250PulseData);
653 if (f250PulseData.size()>0) {
654 vector<const Df250WindowRawData*> f250WindowRawData;
655 f250PulseData[0]->Get(f250WindowRawData);
656 if (f250WindowRawData.size()>0) {
658 if (f250WindowRawData[0]->overflow==1) {
690 for(
unsigned int i=0; i<dbcaltdchits.size(); i++) {
704 for(
unsigned int i=0; i<dbcaluhits.size(); i++) {
710 if (Uhit->
t_TDC != 0) {
717 Uhit->GetSingle(tdchit);
719 Uhit->GetSingle(adchit);
720 float t_diff_hit = tdchit->
t - adchit->
t;
721 float t_diff_hit_raw = tdchit->
t_raw - adchit->
t_raw;
747 for(
unsigned int i=0; i<dbcalpoints.size(); i++) {
766 vector<const DBCALUnifiedHit*> endhits;
769 int glosect = locBCALGeom->
getglobalsector(endhits[0]->module, endhits[0]->sector);
777 int ix = endhits[0]->module;
778 int iy = (endhits[0]->sector-1)*4 + endhits[0]->layer;
783 for(
unsigned int i=0; i<dbcalclusters.size(); i++) {
801 for(
unsigned int i=0; i<dbcalshowers.size(); i++) {
818 japp->RootFillUnLock(
this);
static TH1I * bcal_tdc_digi_occ_layer2
static TH1I * bcal_cluster_sigRho
static TH1I * bcal_shower_E
static TH1I * bcal_shower_y
static TH1I * bcal_shower_x
static TH1I * bcal_cluster_t0
static TH1I * bcal_fadc_t
static TH1I * bcal_num_showers
if(locHist_BCALShowerPhiVsZ!=NULL)
static TH1I * bcal_point_E_layer4
float t_TDC
Time of TDC hit that is closes t to the ADC time.
static TH2I * bcal_tdc_digi_reltime
static TH1I * bcal_shower_yErr
static TH2I * bcal_Uhit_tTDC_tADC
static TH1I * bcal_shower_tErr
static TH1I * bcal_num_hits
static TProfile * bcal_point_aveE_sector_layer1
static TH2I * bcal_shower_plane
static TH1I * bcal_fadc_digi_occ_layer3
static TH1I * bcal_cluster_sigT
static TH1I * bcal_point_sigTheta
static TH1I * bcal_point_theta
static TH1I * bcal_fadc_digi_time
static TH1I * bcal_tdc_digi_nhits_evnt
static TH2I * bcal_cluster_rho_theta
static TH1I * bcal_fadc_digi_integral
static TH1I * bcal_shower_t
static TH1I * bcal_point_E_layer3
static TH1I * bcal_fadc_digi_occ_layer1
static TH1I * bcal_point_E_layer1
static TProfile2D * bcal_point_z_dist
uint32_t nsamples_integral
number of samples used in integral
static TH2I * bcal_fadc_digi_occ
jerror_t evnt(jana::JEventLoop *eventLoop, uint64_t eventnumber)
Called every event.
static TH2I * bcal_tdc_occ
static TH1I * bcal_num_events
static TH2I * bcal_tdc_digi_occ
static TH1I * bcal_num_points
static TH2I * bcal_point_E_sector
static TH1I * bcal_cluster_t
static TH1I * bcal_shower_xErr
static TH1I * bcal_cluster_theta
JEventProcessor_BCAL_online()
jerror_t fini(void)
Called after last event of last event source has been processed.
static TH1I * bcal_point_sigPhi
uint32_t pulse_integral
identified pulse integral as returned by FPGA algorithm
static TProfile * bcal_point_aveE_sector_layer4
static TH1I * bcal_shower_N_cell
static TProfile * bcal_point_aveE_sector_layer2
jerror_t erun(void)
Called everytime run number changes, provided brun has been called.
static TH1I * bcal_Uhit_t_ADC
static TH1I * bcal_tdc_digi_occ_layer3
static TProfile2D * bcal_hit_tdiff_ave
static TH1I * bcal_Uhit_tTDC_twalk
static TH1I * bcal_fadc_digi_pedestal
uint32_t nsamples_pedestal
number of samples used in pedestal
static TH2D * bcal_fadc_avgE
static TH1I * bcal_point_t
static TH1I * bcal_shower_zErr
float t_ADC
Time from fADC.
static TH1I * bcal_shower_E_raw
static TH1I * bcal_fadc_digi_nsamples_integral
uint32_t QF
Quality Factor from FPGA algorithms.
static TH1I * bcal_point_E_layer2
static TH2I * bcal_Uhit_tADC_E
static TProfile * bcal_fadc_digi_pedestal_vtime
int getglobalsector(int module, int sector) const
static TH1I * bcal_point_z
static TH1I * bcal_fadc_E
static TH1I * bcal_cluster_rho
static TH1I * bcal_fadc_digi_occ_layer4
static TH1I * bcal_cluster_sigTheta
static TH1I * bcal_point_sigZ
uint32_t pedestal
pedestal info used by FPGA (if any)
static TH1I * bcal_cluster_nCells
static TH1I * bcal_shower_EErr
static TH1I * bcal_shower_z
static TH1I * bcal_fadc_digi_nhits_evnt
static TH1I * bcal_cluster_phi
float t_raw
Uncalibrated time in ns.
static TH1I * bcal_Uhit_noTDC_E
static TH1I * bcal_tdc_digi_time
static TH2I * bcal_fadc_occ
static TH1I * bcal_point_sigRho
static TH1I * bcal_fadc_digi_nsamples_pedestal
static TH1I * bcal_point_rho
uint32_t pulse_time
identified pulse time as returned by FPGA algorithm
static TH2I * bcal_fadc_saturated
static TH1I * bcal_cluster_E
static TH1I * bcal_cluster_sigPhi
static TProfile2D * bcal_hit_tdiff_raw_ave
static TH1I * bcal_Uhit_tdiff
static TH2I * bcal_Uhit_tTDC_E
static TProfile * bcal_fadc_digi_pedestal_vevent
static TH1I * bcal_point_E
static TH1I * bcal_Uhit_t
static TProfile * bcal_point_aveE_sector_layer3
static TH1I * bcal_tdc_digi_occ_layer1
static TH1I * bcal_fadc_digi_good_pedestal
~JEventProcessor_BCAL_online()
static TH1I * bcal_fadc_digi_QF
static TProfile2D * bcal_Uhit_tdiff_ave
static TH1I * bcal_fadc_digi_occ_layer2
static TH1I * bcal_point_phi
static TH1I * bcal_Uhit_t_TDC
jerror_t brun(jana::JEventLoop *eventLoop, int32_t runnumber)
Called everytime a new run number is detected.
int main(int argc, char *argv[])
jerror_t init(void)
Called once at program start.
static TProfile2D * bcal_fadc_digi_pedestal_ave
static TH1I * bcal_Uhit_E
float t_raw
Uncalibrated time in ns.
static TH2I * bcal_point_z_sector
float t
Unified time, obtained from ADC and/or TDC and used for further analysis.