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

Go to the source code of this file.

Macros

#define DEFINE_TESTS
 
#define PI   3.14159265359
 

Functions

 DEF_TEST (low_sum)
 
 DEF_TEST (high_sum)
 
INT adc_summing (EVENT_HEADER *, void *)
 
INT adc_summing_init (void)
 
INT adc_summing_bor (INT run_number)
 
 ADC_SUMMING_PARAM_STR (adc_summing_param_str)
 

Variables

ADC_SUMMING_PARAM adc_summing_param
 
ANA_MODULE adc_summing_module
 
static TH1DhAdcSum
 
static TH1DhAdcAvg
 

Macro Definition Documentation

◆ DEFINE_TESTS

#define DEFINE_TESTS

Definition at line 22 of file adcsum.cxx.

◆ PI

#define PI   3.14159265359

Definition at line 34 of file adcsum.cxx.

Function Documentation

◆ adc_summing()

INT adc_summing ( EVENT_HEADER pheader,
void pevent 
)

Definition at line 88 of file adcsum.cxx.

89{
90 INT i, j, n_adc;
91 float *cadc;
93
94 /* look for CADC bank, return if not present */
95 n_adc = bk_locate(pevent, "CADC", &cadc);
96 if (n_adc == 0)
97 return 1;
98
99 /* create ADC sum bank */
100 bk_create(pevent, "ASUM", TID_STRUCT, (void**)&asum);
101
102 /* sum all channels above threashold */
103 asum->sum = 0.f;
104 for (i = j = 0; i < n_adc; i++)
106 asum->sum += cadc[i];
107 j++;
108 }
109
110 /* calculate ADC average */
111 asum->average = j > 0 ? asum->sum / j : 0;
112
113 /* evaluate tests */
114 SET_TEST(low_sum, asum->sum < 1000);
115 SET_TEST(high_sum, asum->sum > 1000);
116
117 /* fill sum histo */
118 hAdcSum->Fill(asum->sum, 1);
119
120 /* fill average histo */
121 hAdcAvg->Fill(asum->average);
122
123 /* close calculated bank */
124 bk_close(pevent, asum + 1);
125
126 return SUCCESS;
127}
ADC_SUMMING_PARAM adc_summing_param
Definition adcsum.cxx:39
static TH1D * hAdcAvg
Definition adcsum.cxx:69
static TH1D * hAdcSum
Definition adcsum.cxx:69
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
#define SUCCESS
Definition mcstd.h:54
#define TID_STRUCT
Definition midas.h:348
INT i
Definition mdump.cxx:32
#define SET_TEST(t, v)
Definition midas.h:1346
int INT
Definition midas.h:129
INT j
Definition odbhist.cxx:40
TH1X EXPRT * h1_book(const char *name, const char *title, int bins, double min, double max)
Definition rmidas.h:24
float adc_threshold
Definition experim.h:77
Here is the call graph for this function:

◆ adc_summing_bor()

INT adc_summing_bor ( INT  run_number)

◆ adc_summing_init()

INT adc_summing_init ( void  )

Definition at line 73 of file adcsum.cxx.

74{
75 /* book ADC sum histo */
76 hAdcSum = h1_book<TH1D>("ADCSUM", "ADC sum", 500, 0, 10000);
77
78 /* book ADC average in separate subfolder */
79 open_subfolder("Average");
80 hAdcAvg = h1_book<TH1D>("ADCAVG", "ADC average", 500000, 0, 10000);
82
83 return SUCCESS;
84}
void EXPRT close_subfolder(void)
void EXPRT open_subfolder(const char *name)
Here is the call graph for this function:

◆ ADC_SUMMING_PARAM_STR()

ADC_SUMMING_PARAM_STR ( adc_summing_param_str  )

◆ DEF_TEST() [1/2]

DEF_TEST ( high_sum  )

◆ DEF_TEST() [2/2]

DEF_TEST ( low_sum  )

Variable Documentation

◆ adc_summing_module

ANA_MODULE adc_summing_module
Initial value:
= {
"ADC summing",
"Stefan Ritt",
NULL,
NULL,
NULL,
}
INT adc_summing_init(void)
Definition adcsum.cxx:73
INT adc_summing(EVENT_HEADER *, void *)
Definition adcsum.cxx:88

Definition at line 54 of file adcsum.cxx.

54 {
55 "ADC summing", /* module name */
56 "Stefan Ritt", /* author */
57 adc_summing, /* event routine */
58 NULL, /* BOR routine */
59 NULL, /* EOR routine */
60 adc_summing_init, /* init routine */
61 NULL, /* exit routine */
62 &adc_summing_param, /* parameter structure */
63 sizeof(adc_summing_param), /* structure size */
64 adc_summing_param_str, /* initial parameters */
65};

◆ adc_summing_param

ADC_SUMMING_PARAM adc_summing_param

Definition at line 39 of file adcsum.cxx.

◆ hAdcAvg

TH1D * hAdcAvg
static

Definition at line 69 of file adcsum.cxx.

◆ hAdcSum

TH1D* hAdcSum
static

Definition at line 69 of file adcsum.cxx.