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

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

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

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

Legend:
Removed from v.1.1.1.1  
changed lines
  Added in v.1.9

  ViewVC Help
Powered by ViewVC 1.1.23