adccalib.c File Reference

Go to the source code of this file.

Defines

#define ADC_N_BINS   500
#define ADC_X_LOW   0
#define ADC_X_HIGH   4000

Functions

INT adc_calib (EVENT_HEADER *, void *)
INT adc_calib_init (void)
INT adc_calib_bor (INT run_number)
INT adc_calib_eor (INT run_number)
 ADC_CALIBRATION_PARAM_STR (adc_calibration_param_str)

Variables

ADC_CALIBRATION_PARAM adccalib_param
EXP_PARAM exp_param
RUNINFO runinfo
ANA_MODULE adc_calib_module
static TH1D * hAdcHists [N_ADC]


Define Documentation

#define ADC_N_BINS   500

Definition at line 67 of file adccalib.c.

Referenced by adc_calib_init().

#define ADC_X_HIGH   4000

Definition at line 69 of file adccalib.c.

Referenced by adc_calib_init().

#define ADC_X_LOW   0

Definition at line 68 of file adccalib.c.

Referenced by adc_calib_init().


Function Documentation

INT adc_calib ( EVENT_HEADER ,
void *   
)

Definition at line 106 of file adccalib.c.

00107 {
00108    INT i;
00109    WORD *pdata;
00110    float *cadc;
00111 
00112    /* look for ADC0 bank, return if not present */
00113    if (!bk_locate(pevent, "ADC0", &pdata))
00114       return 1;
00115 
00116    /* create calibrated ADC bank */
00117    bk_create(pevent, "CADC", TID_FLOAT, &cadc);
00118 
00119    /* zero cadc bank */
00120    for (i = 0; i < N_ADC; i++)
00121       cadc[i] = 0.f;
00122 
00123    /* subtract pedestal */
00124    for (i = 0; i < N_ADC; i++)
00125       cadc[i] = (float) ((double) pdata[i] - adccalib_param.pedestal[i] + 0.5);
00126 
00127    /* apply software gain calibration */
00128    for (i = 0; i < N_ADC; i++)
00129       cadc[i] *= adccalib_param.software_gain[i];
00130 
00131    /* fill ADC histos if above threshold */
00132    for (i = 0; i < N_ADC; i++)
00133       if (cadc[i] > (float) adccalib_param.histo_threshold)
00134          hAdcHists[i]->Fill(cadc[i], 1);
00135 
00136    /* close calculated bank */
00137    bk_close(pevent, cadc + N_ADC);
00138 
00139    return SUCCESS;
00140 }

INT adc_calib_bor ( INT  run_number  ) 

Definition at line 92 of file adccalib.c.

00093 {
00094    return SUCCESS;
00095 }

INT adc_calib_eor ( INT  run_number  ) 

Definition at line 99 of file adccalib.c.

00100 {
00101    return SUCCESS;
00102 }

INT adc_calib_init ( void   ) 

Definition at line 71 of file adccalib.c.

00072 {
00073    char name[256];
00074    int i;
00075 
00076    /* book CADC histos */
00077 
00078    for (i = 0; i < N_ADC; i++) {
00079       char title[256];
00080 
00081       sprintf(name, "CADC%02d", i);
00082       sprintf(title, "ADC %d", i);
00083 
00084       hAdcHists[i] = h1_book<TH1D>(name, title, ADC_N_BINS, ADC_X_LOW, ADC_X_HIGH);
00085    }
00086 
00087    return SUCCESS;
00088 }

ADC_CALIBRATION_PARAM_STR ( adc_calibration_param_str   ) 


Variable Documentation

ANA_MODULE adc_calib_module

Initial value:

 {
   "ADC calibration",           
   "Stefan Ritt",               
   adc_calib,                   
   adc_calib_bor,               
   adc_calib_eor,               
   adc_calib_init,              
   NULL,                        
   &adccalib_param,             
   sizeof(adccalib_param),      
   adc_calibration_param_str,   
}

Definition at line 48 of file adccalib.c.

ADC_CALIBRATION_PARAM adccalib_param

Definition at line 35 of file adccalib.c.

EXP_PARAM exp_param

Definition at line 51 of file analyzer.c.

Referenced by ana_end_of_run(), analyzer_init(), and frontend_init().

TH1D* hAdcHists[N_ADC] [static]

Definition at line 63 of file adccalib.c.

RUNINFO runinfo

Definition at line 49 of file analyzer.c.

Referenced by ana_end_of_run(), analyzer_init(), and show_status_page().


Midas DOC Version 3.0.0 ---- PSI Stefan Ritt ----
Contributions: Pierre-Andre Amaudruz - Sergio Ballestrero - Suzannah Daviel - Doxygen - Peter Green - Qing Gu - Greg Hackman - Gertjan Hofman - Paul Knowles - Exaos Lee - Rudi Meier - Glenn Moloney - Dave Morris - John M O'Donnell - Konstantin Olchanski - Renee Poutissou - Tamsen Schurman - Andreas Suter - Jan M.Wouters - Piotr Adam Zolnierczuk