MIDAS
Loading...
Searching...
No Matches
adccalib.cxx File Reference
#include <stdio.h>
#include <time.h>
#include "midas.h"
#include "rmidas.h"
#include "experim.h"
#include "analyzer.h"
#include <TH1D.h>
#include <TTree.h>
Include dependency graph for adccalib.cxx:

Go to the source code of this file.

Macros

#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 TH1DhAdcHists [N_ADC]
 

Macro Definition Documentation

◆ ADC_N_BINS

#define ADC_N_BINS   500

Definition at line 68 of file adccalib.cxx.

◆ ADC_X_HIGH

#define ADC_X_HIGH   4000

Definition at line 70 of file adccalib.cxx.

◆ ADC_X_LOW

#define ADC_X_LOW   0

Definition at line 69 of file adccalib.cxx.

Function Documentation

◆ adc_calib()

INT adc_calib ( EVENT_HEADER pheader,
void pevent 
)

Definition at line 107 of file adccalib.cxx.

108{
109 INT i;
110 WORD *pdata;
111 float *cadc;
112
113 /* look for ADC0 bank, return if not present */
114 if (!bk_locate(pevent, "ADC0", &pdata))
115 return 1;
116
117 /* create calibrated ADC bank */
118 bk_create(pevent, "CADC", TID_FLOAT, (void**)&cadc);
119
120 /* zero cadc bank */
121 for (i = 0; i < N_ADC; i++)
122 cadc[i] = 0.f;
123
124 /* subtract pedestal */
125 for (i = 0; i < N_ADC; i++)
126 cadc[i] = (float) ((double) pdata[i] - adccalib_param.pedestal[i] + 0.5);
127
128 /* apply software gain calibration */
129 for (i = 0; i < N_ADC; i++)
131
132 /* fill ADC histos if above threshold */
133 for (i = 0; i < N_ADC; i++)
134 if (cadc[i] > (float) adccalib_param.histo_threshold)
135 hAdcHists[i]->Fill(cadc[i], 1);
136
137 /* close calculated bank */
138 bk_close(pevent, cadc + N_ADC);
139
140 return SUCCESS;
141}
static TH1D * hAdcHists[N_ADC]
Definition adccalib.cxx:64
ADC_CALIBRATION_PARAM adccalib_param
Definition adccalib.cxx:36
#define N_ADC
Definition deferredfe.c:49
INT bk_close(void *event, void *pdata)
Definition midas.cxx:16780
INT bk_locate(const void *event, const char *name, void *pdata)
Definition midas.cxx:16889
void bk_create(void *event, const char *name, WORD type, void **pdata)
Definition midas.cxx:16561
unsigned short int WORD
Definition mcstd.h:49
#define SUCCESS
Definition mcstd.h:54
#define TID_FLOAT
Definition midas.h:341
INT i
Definition mdump.cxx:32
int INT
Definition midas.h:129
TH1X EXPRT * h1_book(const char *name, const char *title, int bins, double min, double max)
Definition rmidas.h:24
float software_gain[8]
Definition experim.h:42
Here is the call graph for this function:

◆ adc_calib_bor()

INT adc_calib_bor ( INT  run_number)

Definition at line 93 of file adccalib.cxx.

94{
95 return SUCCESS;
96}

◆ adc_calib_eor()

INT adc_calib_eor ( INT  run_number)

Definition at line 100 of file adccalib.cxx.

101{
102 return SUCCESS;
103}

◆ adc_calib_init()

INT adc_calib_init ( void  )

Definition at line 72 of file adccalib.cxx.

73{
74 char name[256];
75 int i;
76
77 /* book CADC histos */
78
79 for (i = 0; i < N_ADC; i++) {
80 char title[256];
81
82 sprintf(name, "CADC%02d", i);
83 sprintf(title, "ADC %d", i);
84
86 }
87
88 return SUCCESS;
89}
#define ADC_N_BINS
Definition adccalib.cxx:68
#define ADC_X_LOW
Definition adccalib.cxx:69
#define ADC_X_HIGH
Definition adccalib.cxx:70
#define name(x)
Definition midas_macro.h:24
Here is the call graph for this function:

◆ ADC_CALIBRATION_PARAM_STR()

ADC_CALIBRATION_PARAM_STR ( adc_calibration_param_str  )

Variable Documentation

◆ adc_calib_module

ANA_MODULE adc_calib_module
Initial value:
= {
"ADC calibration",
"Stefan Ritt",
NULL,
sizeof(adccalib_param),
}
INT adc_calib(EVENT_HEADER *, void *)
Definition adccalib.cxx:107
INT adc_calib_bor(INT run_number)
Definition adccalib.cxx:93
INT adc_calib_init(void)
Definition adccalib.cxx:72
INT adc_calib_eor(INT run_number)
Definition adccalib.cxx:100

Definition at line 49 of file adccalib.cxx.

49 {
50 "ADC calibration", /* module name */
51 "Stefan Ritt", /* author */
52 adc_calib, /* event routine */
53 adc_calib_bor, /* BOR routine */
54 adc_calib_eor, /* EOR routine */
55 adc_calib_init, /* init routine */
56 NULL, /* exit routine */
57 &adccalib_param, /* parameter structure */
58 sizeof(adccalib_param), /* structure size */
59 adc_calibration_param_str, /* initial parameters */
60};

◆ adccalib_param

ADC_CALIBRATION_PARAM adccalib_param

Definition at line 36 of file adccalib.cxx.

◆ exp_param

EXP_PARAM exp_param
extern

Definition at line 51 of file analyzer.cxx.

◆ hAdcHists

TH1D* hAdcHists[N_ADC]
static

Definition at line 64 of file adccalib.cxx.

◆ runinfo

RUNINFO runinfo
extern

Definition at line 49 of file analyzer.cxx.