/[PAMELA software]/DarthVader/ToFLevel2/inc/ToFCore.h
ViewVC logotype

Annotation of /DarthVader/ToFLevel2/inc/ToFCore.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.8 - (hide annotations) (download)
Wed Feb 17 11:50:51 2010 UTC (14 years, 9 months ago) by mocchiut
Branch: MAIN
CVS Tags: v9r00, v9r01
Changes since 1.7: +27 -25 lines
File MIME type: text/plain
New ToF timing for Z>1

1 mocchiut 1.1 #ifndef l2tofcore_h
2     #define l2tofcore_h
3     #include <TSystem.h>
4     #include <TSQLServer.h>
5    
6 pam-de 1.5
7     /**
8     * \brief Variables needed for ToF calculations: Raw data, calibration constants, etc...
9     */
10    
11 mocchiut 1.1 struct ToFInput {
12 mocchiut 1.8 //! The alpha vector from the track fit
13 pam-de 1.5 Double_t al_pp[5];
14 mocchiut 1.8 //! The dEdx from the tracker
15     Double_t trkmip;
16     //! The 24 k1 constants for S11-S31 for Z=1,Z=2,Z>2
17     Float_t k_s11s31[24][3];
18     //! The 24 k1 constants for S11-S32 for Z=1,Z=2,Z>2
19     Float_t k_s11s32[24][3];
20     //! The 18 k1 constants for S12-S31 for Z=1,Z=2,Z>2
21     Float_t k_s12s31[18][3];
22     //! The 18 k1 constants for S12-S32 for Z=1,Z=2,Z>2
23     Float_t k_s12s32[18][3];
24     //! The 6 k1 constants for S21-S31 for Z=1,Z=2,Z>2
25     Float_t k_S21S31[6][3];
26     //! The 6 k1 constants for S21-S32 for Z=1,Z=2,Z>2
27     Float_t k_S21S32[6][3];
28     //! The 6 k1 constants for S22-S31 for Z=1,Z=2,Z>2
29     Float_t k_S22S31[6][3];
30     //! The 6 k1 constants for S22-S32 for Z=1,Z=2,Z>2
31     Float_t k_S22S32[6][3];
32     //! The 16 k1 constants for S11-S21 for Z=1,Z=2,Z>2
33     Float_t k_s11s21[16][3];
34     //! The 16 k1 k2 constants for S11-S22 for Z=1,Z=2,Z>2
35     Float_t k_s11s22[16][3];
36     //! The 12 k1 k2 constants for S12-S21 for Z=1,Z=2,Z>2
37     Float_t k_s12s21[12][3];
38     //! The 12 k1 k2 constants for S12-S22 for Z=1,Z=2,Z>2
39     Float_t k_s12s22[12][3];
40 pam-de 1.5 //! parameters for the attenuation fit for S11
41 mocchiut 1.6 Float_t adcx11[4][8][2];
42 pam-de 1.5 //! parameters for the attenuation fit for S12
43 mocchiut 1.6 Float_t adcx12[4][6][2];
44 pam-de 1.5 //! parameters for the attenuation fit for S21
45 mocchiut 1.6 Float_t adcx21[4][2][2];
46 pam-de 1.5 //! parameters for the attenuation fit for S22
47 mocchiut 1.6 Float_t adcx22[4][2][2];
48 pam-de 1.5 //! parameters for the attenuation fit for S31
49 mocchiut 1.6 Float_t adcx31[4][3][2];
50 pam-de 1.5 //! parameters for the attenuation fit for S32
51 mocchiut 1.6 Float_t adcx32[4][3][2];
52 pam-de 1.5 //! constants for the time-walk for S11
53 mocchiut 1.1 Float_t tw11[8][2];
54 pam-de 1.5 //! constants for the time-walk for S12
55 mocchiut 1.1 Float_t tw12[6][2];
56 pam-de 1.5 //! constants for the time-walk for S21
57 mocchiut 1.1 Float_t tw21[2][2];
58 pam-de 1.5 //! constants for the time-walk for S22
59 mocchiut 1.1 Float_t tw22[2][2];
60 pam-de 1.5 //! constants for the time-walk for S31
61 mocchiut 1.1 Float_t tw31[3][2];
62 pam-de 1.5 //! constants for the time-walk for S32
63 mocchiut 1.1 Float_t tw32[3][2];
64 pam-de 1.5 //! constants to get the position from the timing for S11
65 mocchiut 1.1 Float_t y_coor_lin11[2][8];
66 pam-de 1.5 //! constants to get the position from the timing for S12
67 mocchiut 1.1 Float_t y_coor_lin12[2][6];
68 pam-de 1.5 //! constants to get the position from the timing for S21
69 mocchiut 1.1 Float_t y_coor_lin21[2][2];
70 pam-de 1.5 //! constants to get the position from the timing for S22
71 mocchiut 1.1 Float_t y_coor_lin22[2][2];
72 pam-de 1.5 //! constants to get the position from the timing for S31
73 mocchiut 1.1 Float_t y_coor_lin31[2][3];
74 pam-de 1.5 //! constants to get the position from the timing for S32
75 mocchiut 1.1 Float_t y_coor_lin32[2][3];
76 pam-de 1.5 //! raw ADC matrix 4x12 : 12 half-boards @ 4 channels
77 mocchiut 1.1 Int_t adc[12][4];
78 pam-de 1.5 //! raw TDC matrix 4x12 : 12 half-boards @ 4 channels
79 mocchiut 1.1 Int_t tdc[12][4];
80 pam-de 1.5 //! patterntrig contains trigger information
81 mocchiut 1.1 Int_t patterntrig[6];
82     Int_t ntrk;
83     };
84    
85 pam-de 1.5 /**
86     * \brief Internal output variables from ToF calculations: beta, etc...
87     *
88     * Look at ToFLevel2 class for the real Level2 ToF output
89     */
90    
91 mocchiut 1.1 struct ToFOutput {
92 pam-de 1.5 //! beta track dependend, 12 measurements for the 12 combinations, beta[13] is weighted mean
93 mocchiut 1.1 Float_t beta_a[13];
94 pam-de 1.5 //! internal variable: beta ToF standalone, 12 measurements for the 12 combinations, beta[13] is weighted mean
95 mocchiut 1.1 Float_t betatof_a[13];
96 pam-de 1.5 //! x-measurement using the TDC values and the calibration
97 mocchiut 1.1 Float_t xtofpos[3];
98 pam-de 1.5 //! y-measurement using the TDC values and the calibration
99 mocchiut 1.1 Float_t ytofpos[3];
100 mocchiut 1.6 //! x-measurement at the ToF layers from tracker
101     Float_t xtr_tof[6];
102     //! y-measurement at the ToF layers from tracker
103     Float_t ytr_tof[6];
104 pam-de 1.5 //! matrix 4x12 which contains the dEdx value for each PMT
105 mocchiut 1.1 Float_t adc_c[12][4];
106 pam-de 1.5 //! internal variable: ToF standalone: matrix 4x12 which contains the dEdx value for each PMT
107 mocchiut 1.1 Float_t adctof_c[12][4];
108 pam-de 1.5 //! matrix 4x12 which contains the time-walk corrected TDC value for each PMT
109 mocchiut 1.1 Float_t tdc_c[12][4];
110 pam-de 1.5 //! internal variable: matrix is filled if beta is calculated
111 mocchiut 1.2 Int_t tofmask[12][4];
112 pam-de 1.5 //! internal variable: number of the hitted paddle for each ToF layer from ToF standalone
113 mocchiut 1.2 Int_t tof_i_flag[6];
114 pam-de 1.5 //! number of hitted paddle(s) from ToF standalone for each ToF layer: flag = flag + 2**(paddlenumber-1)
115 mocchiut 1.1 Int_t tof_j_flag[6];
116 pam-de 1.5 //! internal variable: array flagging the artificial ToF standalone ADCs, "0" if normal ADC value
117 mocchiut 1.4 Int_t adcflagtof[12][4];
118 pam-de 1.5 //! internal variable: array is always "0" since there are no artificial TDC values with ToF standalone
119 mocchiut 1.4 Int_t tdcflagtof[12][4];
120 pam-de 1.5 //! array flagging the artificial track dependend ADCs, "0" if normal ADC value
121 mocchiut 1.4 Int_t adcflag[12][4];
122 pam-de 1.5 //! array flagging the artificial track dependend TDCs, "0" if normal TDC value
123 mocchiut 1.4 Int_t tdcflag[12][4];
124 mocchiut 1.1 };
125    
126 mocchiut 1.7 extern int ToFCore(UInt_t run, TFile *file, GL_TABLES *glt, Int_t ToFargc, char *ToFargv[]);
127 mocchiut 1.1
128     #endif

  ViewVC Help
Powered by ViewVC 1.1.23