/[PAMELA software]/tof/flight/ToFNuclei/src/ToFNuclei.cpp
ViewVC logotype

Diff of /tof/flight/ToFNuclei/src/ToFNuclei.cpp

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

revision 1.1 by pamela, Mon Oct 13 13:41:39 2008 UTC revision 1.5 by pamelats, Wed May 6 09:21:42 2009 UTC
# Line 1  Line 1 
1    //*****************************************************
2    //24-feb-2009: introduced "beta_in" and "Set_Beta":
3    // beta_in is set to 100 by default. If it is not overwritten
4    // by "Set_Beta" (ToFNuclei.h), the code is used as before.
5    // If beta_in was set by the user using "Set_Beta", this beta
6    // is taken for the calculations.
7    //
8    //26-feb-2009: Inserted S115B calibrations from Lucia
9    //
10    //02-apr-2009: bug found in some "if" statements for the
11    // "Layercharge" definition, but only important if ADC=4095
12    //
13    //15-apr-2009: small bug found in the calculation of the PMT
14    // charge, the charge for the PMTs 1,9,28.. was calculated
15    // twice, but the final result was OK
16    //
17    //05-may-2009: bug found in the calculation of the PMT
18    // charge for standalone ToF due to changes made for rev 1.4:
19    // For PMTs 4,8,39,41 (counting 0..47) no charge was calculated
20    // calibration arrays now including correct brackets to avoid
21    // compiler warnings  
22    //*****************************************************
23  #include <ToFNuclei.h>  #include <ToFNuclei.h>
24    
25  //--------------------------------------  //--------------------------------------
# Line 14  ToFNuclei::ToFNuclei(PamLevel2 *l2p){   Line 36  ToFNuclei::ToFNuclei(PamLevel2 *l2p){  
36    //    //
37    L2 = l2p;    L2 = l2p;
38    //    //
39      beta_in = 100.;
40      //
41    if ( !L2->IsORB() ) printf(" WARNING: OrbitalInfo Tree is needed, the plugin could not work properly without it \n");    if ( !L2->IsORB() ) printf(" WARNING: OrbitalInfo Tree is needed, the plugin could not work properly without it \n");
42    //    //
43    OBT = 0;    OBT = 0;
# Line 30  void ToFNuclei::Clear(){ Line 54  void ToFNuclei::Clear(){
54    ncount_trk = 0.;    ncount_trk = 0.;
55    charge_trk = 0.;    charge_trk = 0.;
56    memset (charge_layer_trk,0,6*sizeof(Float_t));  //    memset (charge_layer_trk,0,6*sizeof(Float_t));  //
57      memset (charge_PMT_trk,0,48*sizeof(Float_t));  //
58    memset (layerinfo_trk,0,6*sizeof(Int_t));  //    memset (layerinfo_trk,0,6*sizeof(Int_t));  //
59    ncount_std = 0.;    ncount_std = 0.;
60    charge_std = 0.;    charge_std = 0.;
61    memset (charge_layer_std,0,6*sizeof(Float_t));  //    memset (charge_layer_std,0,6*sizeof(Float_t));  //
62      memset (charge_PMT_std,0,48*sizeof(Float_t));  //
63    memset (layerinfo_std,0,6*sizeof(Int_t));  //    memset (layerinfo_std,0,6*sizeof(Int_t));  //
64  };  };
65    
# Line 83  void ToFNuclei::Process(Int_t ntr){ Line 109  void ToFNuclei::Process(Int_t ntr){
109      newentry = true;      newentry = true;
110    };    };
111    //    //
112    if ( !newentry ) return;    if ( !newentry ) {
113      return;
114                      }
115    //    //
116    tr = ntr;    tr = ntr;
117    //    //
# Line 96  void ToFNuclei::Process(Int_t ntr){ Line 124  void ToFNuclei::Process(Int_t ntr){
124    
125    Clear();    Clear();
126    
127    //    //  cout<<"beta_in = "<<beta_in<<endl;
128    
129    
130    Double_t time = L2->GetOrbitalInfo()->absTime;    Double_t time = L2->GetOrbitalInfo()->absTime;
131    
# Line 108  void ToFNuclei::Process(Int_t ntr){ Line 137  void ToFNuclei::Process(Int_t ntr){
137  //if (L2->GetTrkLevel2()->GetNTracks()!=1) return;  //if (L2->GetTrkLevel2()->GetNTracks()!=1) return;
138  if (L2->GetTrkLevel2()->GetNTracks()==1) {  if (L2->GetTrkLevel2()->GetNTracks()==1) {
139    
140    /*
141  Float_t  PMTsat[48] = {  Float_t  PMTsat[48] = {
142  3162.14, 3165.48, 3153.85, 3085.73, 3089.65, 3107.64, 3097.52, 3078.37, 3130.05, 3087.07, 3112.22,  3162.14, 3165.48, 3153.85, 3085.73, 3089.65, 3107.64, 3097.52, 3078.37, 3130.05, 3087.07, 3112.22,
143  3102.92, 3080.58, 3092.55, 3087.94, 3125.03, 3094.09, 3143.16,  3102.92, 3080.58, 3092.55, 3087.94, 3125.03, 3094.09, 3143.16,
144  3125.51, 3181.27, 3092.09, 3124.98, 3069.3, 3095.53, 3097.11, 3133.53, 3114.73, 3113.01, 3091.19,  3125.51, 3181.27, 3092.09, 3124.98, 3069.3, 3095.53, 3097.11, 3133.53, 3114.73, 3113.01, 3091.19,
145  3097.99, 3033.84, 3134.98, 3081.37, 3111.04, 3066.77, 3108.17,  3097.99, 3033.84, 3134.98, 3081.37, 3111.04, 3066.77, 3108.17,
146  3133, 3111.06, 3052.52, 3140.66, 3106.33, 3094.85, 3150.85, 3118.8, 3096.24, 3118.47,3111.36, 3117.11  3133, 3111.06, 3052.52, 3140.66, 3106.33, 3094.85, 3150.85, 3118.8, 3096.24, 3118.47,3111.36, 3117.11
147  }  };
148  ;  */
149    
150    // new values from Napoli dec 2008
151    Float_t  PMTsat[48] = {
152    3176.35,3178.19,3167.38,3099.73,3117.00,3126.29,3111.44,3092.27,
153    3146.48,3094.41,3132.13,3115.37,3099.32,3110.97,3111.80,3143.14,
154    3106.72,3153.44,3136.00,3188.96,3104.73,3140.45,3073.18,3106.62,
155    3112.48,3146.92,3127.24,3136.52,3109.59,3112.89,3045.15,3147.26,
156    3095.92,3121.05,3083.25,3123.62,3150.92,3125.30,3067.60,3160.18,
157    3119.36,3108.92,3164.77,3133.64,3111.47,3131.98,3128.87,3135.56 };
158    
159    for (Int_t i=0; i<48;i++) PMTsat[i] = PMTsat[i] - 5.;  // safety margin
160    
161    
162    Float_t C0t[48][9] = {
163    {0, 1, 2, 3, 4, 5, 6, 8, 92},
164    {0, 1, 2, 3, 4, 5, 6, 8, 92},
165    {0, 1, 2, 3, 4, 5, 6, 8, 92},
166    {0, 1, 2, 3, 4, 5, 6, 8, 92},
167    {0, 1, 2, 3, 4, 5, 6, 8, 92},
168    {0, 1, 2, 3, 4, 5, 6, 8, 92},
169    {0, 1, 2, 3, 4, 5, 6, 8, 92},
170    {0, 1, 2, 3, 4, 5, 6, 8, 92},
171    {0, 1, 2, 3, 4, 5, 6, 8, 92},
172    {0, 1, 2, 3, 4, 5, 6, 8, 92},
173    {0, 1, 2, 3, 4, 5, 6, 8, 92},
174    {0, 1, 2, 3, 4, 5, 6, 8, 92},
175    {0, 1, 2, 3, 4, 5, 6, 8, 92},
176    {0, 1, 2, 3, 4, 5, 6, 8, 92},
177    {0, 1, 2, 3, 4, 5, 6, 8, 92},
178    {0, 1, 2, 3, 4, 5, 6, 8, 92},
179    {0, 1, 2, 3, 4, 5, 6, 8, 92},
180    {0, 1, 2, 3, 4, 5, 6, 8, 92},
181    {0, 1, 2, 3, 4, 5, 6, 8, 92},
182    {0, 1, 2, 3, 4, 5, 6, 8, 92},
183    {0, 1, 2, 3, 4, 5, 6, 8, 92},
184    {0, 1, 2, 3, 4, 5, 6, 8, 92},
185    {0, 1, 2, 3, 4, 5, 6, 8, 92},
186    {0, 1, 2, 3, 4, 5, 6, 8, 92},
187    {0, 1, 2, 3, 4, 5, 6, 8, 92},
188    {0, 1, 2, 3, 4, 5, 6, 8, 92},
189    {0, 1, 2, 3, 4, 5, 6, 8, 92},
190    {0, 1, 2, 3, 4, 5, 6, 8, 92},
191    {0, 1, 2, 3, 4, 5, 6, 8, 92},
192    {0, 1, 2, 3, 4, 5, 6, 8, 92},
193    {0, 1, 2, 3, 4, 5, 6, 8, 92},
194    {0, 1, 2, 3, 4, 5, 6, 8, 92},
195    {0, 1, 2, 3, 4, 5, 6, 8, 92},
196    {0, 1, 2, 3, 4, 5, 6, 8, 92},
197    {0, 1, 2, 3, 4, 5, 6, 8, 92},
198    {0, 1, 2, 3, 4, 5, 6, 8, 92},
199    {0, 1, 2, 3, 4, 5, 6, 8, 92},
200    {0, 1, 2, 3, 4, 5, 6, 8, 92},
201    {0, 1, 2, 3, 4, 5, 6, 8, 92},
202    {0, 1, 2, 3, 4, 5, 6, 8, 92},
203    {0, 1, 2, 3, 4, 5, 6, 8, 92},
204    {0, 1, 2, 3, 4, 5, 6, 8, 92},
205    {0, 1, 2, 3, 4, 5, 6, 8, 92},
206    {0, 1, 2, 3, 4, 5, 6, 8, 92},
207    {0, 1, 2, 3, 4, 5, 6, 8, 92},
208    {0, 1, 2, 3, 4, 5, 6, 8, 92},
209    {0, 1, 2, 3, 4, 5, 6, 8, 92},
210    {0, 1, 2, 3, 4, 5, 6, 8, 92} } ;
211    
212    
 Float_t C0t[48][9] = {0, 1, 2, 3, 4, 5, 6, 8, 92, 0, 1, 2, 3, 4, 5, 6, 8, 92, 0, 1, 2, 3, 4, 5, 6, 8, 92, 0, 1, 2, 3, 4, 5, 6, 8, 92, 0, 1, 2, 3, 4, 5, 6, 8, 92, 0, 1, 2, 3, 4, 5, 6, 8, 92,  
 0, 1, 2, 3, 4, 5, 6, 8, 92, 0, 1, 2, 3, 4, 5, 6, 8, 92, 0, 1, 2, 3, 4, 5, 6, 8, 92, 0, 1, 2, 3, 4, 5, 6, 8, 92, 0, 1, 2, 3, 4, 5, 6, 8, 92, 0, 1, 2, 3, 4, 5, 6, 8, 92,  
 0, 1, 2, 3, 4, 5, 6, 8, 92, 0, 1, 2, 3, 4, 5, 6, 8, 92, 0, 1, 2, 3, 4, 5, 6, 8, 92, 0, 1, 2, 3, 4, 5, 6, 8, 92, 0, 1, 2, 3, 4, 5, 6, 8, 92, 0, 1, 2, 3, 4, 5, 6, 8, 92,  
 0, 1, 2, 3, 4, 5, 6, 8, 92, 0, 1, 2, 3, 4, 5, 6, 8, 92, 0, 1, 2, 3, 4, 5, 6, 8, 92, 0, 1, 2, 3, 4, 5, 6, 8, 92, 0, 1, 2, 3, 4, 5, 6, 8, 92, 0, 1, 2, 3, 4, 5, 6, 8, 92,  
 0, 1, 2, 3, 4, 5, 6, 8, 92, 0, 1, 2, 3, 4, 5, 6, 8, 92, 0, 1, 2, 3, 4, 5, 6, 8, 92, 0, 1, 2, 3, 4, 5, 6, 8, 92, 0, 1, 2, 3, 4, 5, 6, 8, 92, 0, 1, 2, 3, 4, 5, 6, 8, 92,  
 0, 1, 2, 3, 4, 5, 6, 8, 92, 0, 1, 2, 3, 4, 5, 6, 8, 92, 0, 1, 2, 3, 4, 5, 6, 8, 92, 0, 1, 2, 3, 4, 5, 6, 8, 92, 0, 1, 2, 3, 4, 5, 6, 8, 92, 0, 1, 2, 3, 4, 5, 6, 8, 92,  
 0, 1, 2, 3, 4, 5, 6, 8, 92, 0, 1, 2, 3, 4, 5, 6, 8, 92, 0, 1, 2, 3, 4, 5, 6, 8, 92, 0, 1, 2, 3, 4, 5, 6, 8, 92, 0, 1, 2, 3, 4, 5, 6, 8, 92, 0, 1, 2, 3, 4, 5, 6, 8, 92,  
 0, 1, 2, 3, 4, 5, 6, 8, 92, 0, 1, 2, 3, 4, 5, 6, 8, 92, 0, 1, 2, 3, 4, 5, 6, 8, 92, 0, 1, 2, 3, 4, 5, 6, 8, 92, 0, 1, 2, 3, 4, 5, 6, 8, 92, 0, 1, 2, 3, 4, 5, 6, 8, 92 };  
213    
214  Float_t A0t[48][9] = {  Float_t A0t[48][9] = {
215  0, 0.90472, 5.19581, 7.99982, 11, 13, 16, 18, 2000, 0, 0.7774, 5.15121, 7.99976, 11, 13, 16, 18, 2000, 0, 1.18414, 5.1952, 8, 11, 13, 16, 17.9999, 2000, 0, 1.0189, 5.61869, 8, 11, 13.0006, 15.9998, 18.0014, 2000, 0, 1.08725, 4.4728, 7.99979, 11,  {0, 0.90472, 5.19581, 7.99982, 11, 13, 16, 18, 2000},
216  13.0002, 16, 18, 2000, 0, 0.946462, 4.69554, 7.99994, 11, 13.0001, 16, 18, 2000, 0, 1.13176, 4.57483, 7.99999, 11, 13.0002, 15.9999, 18.0002, 2000, 0, 1.00872, 4.99316, 8, 11, 13, 16, 18, 2000, 0, 1.19891, 5.01355, 8, 11, 13.0003, 16, 18, 2000, 0, 0.5,  {0, 0.7774, 5.15121, 7.99976, 11, 13, 16, 18, 2000},
217  2, 4.5, 5.50003, 6.50028, 8.00004, 8.99989, 2000, 0, 1.16961, 4.59028, 8, 11, 13.0001, 16, 18, 2000, 0, 0.989643, 5.21958, 7.99998, 11, 13, 16,  {0, 1.18414, 5.1952, 8, 11, 13, 16, 17.9999, 2000},
218  17.9999, 2000, 0, 0.952029, 5.19598, 7.99998, 11, 13.0005, 16.0005, 18, 2000, 0, 0.736833, 4.95596, 8, 11, 13, 16, 18, 2000, 0, 1.34007, 3.74275, 8, 11, 13, 16, 18, 2000, 0, 1.47101, 4.31154, 8, 11, 13, 16, 18,  {0, 1.0189, 5.61869, 8, 11, 13.0006, 15.9998, 18.0014, 2000},
219  2000, 0, 1.3754, 4.83141, 8.00002, 11, 13, 16, 18, 2000, 0, 1.47712, 5.79783, 8, 11, 13, 16, 18, 2000, 0, 1.19127, 5.35796, 7.99996, 11, 13,  {0, 1.08725, 4.4728, 7.99979, 11, 13.0002, 16, 18, 2000},
220  16, 18, 2000, 0, 1.25745, 5.98391, 8, 11, 13.0004, 16.0001, 18.0001, 2000, 0, 1.18024, 5.40107, 7.99999, 11, 13, 16, 18.0001, 2000, 0, 0.961883,  {0, 0.946462, 4.69554, 7.99994, 11, 13.0001, 16, 18, 2000},
221  5.10846, 7.99999, 11, 13, 16, 18, 2000, 0, 1.23192, 6.21098, 8, 11, 13.0005, 16, 18.0003, 2000, 0, 1.15846, 5.23573, 7.99995,  {0, 1.13176, 4.57483, 7.99999, 11, 13.0002, 15.9999, 18.0002, 2000},
222  11, 13, 16, 18.0002, 2000, 0, 1.26163, 5.5425, 8.00001, 11, 13.0002, 16.0006, 18, 2000, 0, 1.12754, 5.57064, 7.99999, 11, 13, 16, 18.0002,  {0, 1.00872, 4.99316, 8, 11, 13, 16, 18, 2000},
223  2000, 0, 1.22768, 6.06283, 8, 11, 13.0002, 16, 18, 2000, 0, 1.83569, 5.87584, 8.00006, 11, 13.0005, 16, 18,  {0, 1.19891, 5.01355, 8, 11, 13.0003, 16, 18, 2000},
224  2000, 0, 1.61434, 5.56634, 7, 7.99999, 8.99999, 14.999, 16, 2000, 0, 1.61287, 5.46416, 7.99989, 10, 12, 14.9997, 16, 2000, 0, 1.49053,  {0, 0.5, 2.284, 3.12, 8.795, 6.257, 7.841, 6.1743, 2000},
225  6.21581, 9.00001, 12, 14, 16, 22, 2000, 0, 1.64579, 5.08498, 7.99989, 10, 12, 15, 16, 2000, 0, 1.83474, 6.29746, 9.00001, 12, 14.0001, 16.0001, 22,  {0, 1.16961, 4.59028, 8, 11, 13.0001, 16, 18, 2000},
226  2000, 0, 1.80066, 6.19725, 9, 12, 14, 16, 22, 2000, 0, 1.9025, 5.83736, 8, 10, 12, 14.9999, 16, 2000, 0, 1.90163, 5.62801, 7.99999, 10, 12, 15, 16, 2000, 0, 2.5518,  {0, 0.989643, 5.21958, 7.99998, 11, 13, 16, 17.9999, 2000},
227  5.97325, 9.00012, 12, 15, 18, 22, 2000, 0, 2.53476, 5.75312, 9.00007, 12, 15, 18, 22, 2000, 0, 2.67784, 6.9232, 9.00005, 12, 15, 18, 22, 2000, 0, 2.62769, 7.22552, 9.00003,  {0, 0.952029, 5.19598, 7.99998, 11, 13.0005, 16.0005, 18, 2000},
228  12.0001, 15, 18, 22, 2000, 0, 2.58088, 6.30413, 9.0001, 12, 15, 18, 22, 2000, 0, 2.48219, 7.06085, 9.00005, 12, 15, 18, 22, 2000, 0, 3.23157, 5.20668, 9.00007, 12, 15,  {0, 0.736833, 4.95596, 8, 11, 13, 16, 18, 2000},
229  18, 22, 2000, 0, 3.38244, 6.45172, 9.00006, 12.0001, 15, 18.0001, 22, 2000, 0, 3.14595, 5.29036, 9.00008, 12, 15, 18, 22.0001, 2000, 0, 3.34692, 6.17283, 9.00041, 12,  {0, 1.34007, 3.74275, 8, 11, 13, 16, 18, 2000},
230  15, 18.0001, 22, 2000, 0, 3.16915, 4.25973, 9.00015, 12, 15, 18, 22, 2000, 0, 3.25809, 5.58971, 9.00068, 12, 15, 18,  {0, 1.47101, 4.31154, 8, 11, 13, 16, 18, 2000},
231  22.0001, 2000 } ;  {0, 1.3754, 4.83141, 8.00002, 11, 13, 16, 18, 2000},
232    {0, 1.47712, 5.79783, 8, 11, 13, 16, 18, 2000},
233    {0, 1.19127, 5.35796, 7.99996, 11, 13, 16, 18, 2000},
234    {0, 1.25745, 5.98391, 8, 11, 13.0004, 16.0001, 18.0001, 2000},
235    {0, 1.18024, 5.40107, 7.99999, 11, 13, 16, 18.0001, 2000},
236    {0, 0.961883, 5.10846, 7.99999, 11, 13, 16, 18, 2000},
237    {0, 1.23192, 6.21098, 8, 11, 13.0005, 16, 18.0003, 2000},
238    {0, 1.15846, 5.23573, 7.99995, 11, 13, 16, 18.0002, 2000},
239    {0, 1.26163, 5.5425, 8.00001, 11, 13.0002, 16.0006, 18, 2000},
240    {0, 1.12754, 5.57064, 7.99999, 11, 13, 16, 18.0002, 2000},
241    {0, 1.22768, 6.06283, 8, 11, 13.0002, 16, 18, 2000},
242    {0, 1.83569, 5.87584, 8.00006, 11, 13.0005, 16, 18, 2000},
243    {0, 1.61434, 5.56634, 7, 7.99999, 8.99999, 14.999, 16, 2000},
244    {0, 1.61287, 5.46416, 7.99989, 10, 12, 14.9997, 16, 2000},
245    {0, 1.49053, 6.21581, 9.00001, 12, 14, 16, 22, 2000},
246    {0, 1.64579, 5.08498, 7.99989, 10, 12, 15, 16, 2000},
247    {0, 1.83474, 6.29746, 9.00001, 12, 14.0001, 16.0001, 22, 2000},
248    {0, 1.80066, 6.19725, 9, 12, 14, 16, 22, 2000},
249    {0, 1.9025, 5.83736, 8, 10, 12, 14.9999, 16, 2000},
250    {0, 1.90163, 5.62801, 7.99999, 10, 12, 15, 16, 2000},
251    {0, 2.5518, 5.97325, 9.00012, 12, 15, 18, 22, 2000},
252    {0, 2.53476, 5.75312, 9.00007, 12, 15, 18, 22, 2000},
253    {0, 2.67784, 6.9232, 9.00005, 12, 15, 18, 22, 2000},
254    {0, 2.62769, 7.22552, 9.00003, 12.0001, 15, 18, 22, 2000},
255    {0, 2.58088, 6.30413, 9.0001, 12, 15, 18, 22, 2000},
256    {0, 2.48219, 7.06085, 9.00005, 12, 15, 18, 22, 2000},
257    {0, 3.23157, 5.20668, 9.00007, 12, 15, 18, 22, 2000},
258    {0, 3.38244, 6.45172, 9.00006, 12.0001, 15, 18.0001, 22, 2000},
259    {0, 3.14595, 5.29036, 9.00008, 12, 15, 18, 22.0001, 2000},
260    {0, 3.34692, 6.17283, 9.00041, 12, 15, 18.0001, 22, 2000},
261    {0, 3.16915, 4.25973, 9.00015, 12, 15, 18, 22, 2000},
262    {0, 3.25809, 5.58971, 9.00068, 12, 15, 18, 22.0001, 2000} } ;
263    
264    
265  Float_t A1t[48][9] = {  Float_t A1t[48][9] = {
266  0, -0.148721, -3.39495, -4.31459, -0.929148, 3.54132, -0.781274, 1.31968, 0, 0, 0.300986, -2.80331, -4.23227, 0.298916, 4.10416, -5.18516, 7.03041, 0,  {0, -0.148721, -3.39495, -4.31459, -0.929148, 3.54132, -0.781274, 1.31968, 0},
267  0, -0.590177, -3.12529, -0.44614, 0.620419, 5.19609, 9.88925, 14.9819, 0, 0, -0.173358, -3.98938, -0.616916, 0.405404,  {0, 0.300986, -2.80331, -4.23227, 0.298916, 4.10416, -5.18516, 7.03041, 0},
268  6.25045, 10.5087, 24.7055, 0, 0, -0.32707, -1.1686, -3.46701, -0.284242, 4.09514, -0.561233, -0.166844, 0, 0, 0.0440221, -1.5147, -2.67239,  {0, -0.590177, -3.12529, -0.44614, 0.620419, 5.19609, 9.88925, 14.9819, 0},
269  -1.08848, 5.05632, 3.92546, -0.0525454, 0, 0, -0.331836, -1.25371, -1.59317, 0.654738, 4.41673, 5.99879,  {0, -0.173358, -3.98938, -0.616916, 0.405404, 6.25045, 10.5087, 24.7055, 0},
270  14.9057, 0, 0, 0.00587183, -2.17841, -1.48496, 0.477997, 6.24062, 6.19841, 11.4798, 0, 0, -0.515989, -2.1195, -1.44376, 0.145546, 5.41926,  {0, -0.32707, -1.1686, -3.46701, -0.284242, 4.09514, -0.561233, -0.166844, 0},
271  5.03587, 10.7126, 0, 0, 0, 0, -0.5, 0, 4.35377, 6.97709, 15.0047, 0, 0, -0.554732, -1.6306, -1.54677,  {0, 0.0440221, -1.5147, -2.67239, -1.08848, 5.05632, 3.92546, -0.0525454, 0},
272  0.687092, 3.97612, 4.05449, 3.44324, 0, 0, -0.0314164, -2.83515, -1.29946, 2.31597, 7.15645, 6.95353, 12.8573, 0, 0, -0.218413, -3.04095, -1.50327,  {0, -0.331836, -1.25371, -1.59317, 0.654738, 4.41673, 5.99879, 14.9057, 0},
273  0.291698, 5.27119, 9.06051, 18.4417, 0, 0, 0.410005, -2.45452, -0.851601, 0.206665, 6.44906, 7.53132,  {0, 0.00587183, -2.17841, -1.48496, 0.477997, 6.24062, 6.19841, 11.4798, 0},
274  10.5636, 0, 0, -1.29063, 0.463767, -0.720394, 1.27269, 3.66394, 4.52102, 7.33444, 0, 0, -1.54073, -1.60146, -1.91721, -0.640132, 3.58881, 0.561348,  {0, -0.515989, -2.1195, -1.44376, 0.145546, 5.41926, 5.03587, 10.7126, 0},
275  7.33444, 0, 0, -0.558527, -2.43481, -1.64492, 1.51694, 6.05449, 4.67951, 5.40004, 0, 0, -1.44736, -5.265, -1.28878, -0.238869, 4.13668, 4.58264,  {0, 0, 0.0682, 3.2814, -6.1989, 8.05589, 9.75967, 23.797, 0},
276  3.28758, 0, 0, -0.596315, -3.35555, -2.03624, -0.148223, 6.16332, 4.71164, 15.6531, 0, 0, -0.740826, -4.79843, 0.345734, -0.210722, 6.32702, 9.76698, 19.9151, 0, 0, -0.541817,  {0, -0.554732, -1.6306, -1.54677, 0.687092, 3.97612, 4.05449, 3.44324, 0},
277  -3.30557, -1.76057, -0.216039, 5.79923, 8.00931, 16.4061, 0, 0, -0.0503124, -2.66635, -1.70196, -1.07446, 3.46058, 1.45824,  {0, -0.0314164, -2.83515, -1.29946, 2.31597, 7.15645, 6.95353, 12.8573, 0},
278  -2.21932, 0, 0, -0.495955, -5.78012, -0.174017, 0.675206, 6.30264, 8.30058, 20.3899, 0, 0, -0.315843, -2.8796, -3.04323, -0.681945, 5.49248, 7.42757,  {0, -0.218413, -3.04095, -1.50327, 0.291698, 5.27119, 9.06051, 18.4417, 0},
279  17.1667, 0, 0, -0.643179, -3.5364, -0.245549, 0.694213, 5.79727, 10.2911, 9.61651, 0, 0, -0.315433, -3.56856, -1.25894, 2.05501, 6.85829, 8.74895,  {0, 0.410005, -2.45452, -0.851601, 0.206665, 6.44906, 7.53132, 10.5636, 0},
280  14.9955, 0, 0, -0.478207, -4.82517, 0.688668, 1.40183, 6.78743, 8.02806, 2.65821, 0, 0, -1.63072, -5.05269, -0.582789, 1.22014, 6.80023, 8.8931, 5.15517, 0, 0,  {0, -1.29063, 0.463767, -0.720394, 1.27269, 3.66394, 4.52102, 7.33444, 0},
281  -1.50826, -3.68958, 0.420744, 3.25124, 4.28046, -16.9712, -12, 0, 0, -1.52021, -3.37459, -2.41086, 0.547517, -0.56013, -8.59935, -3, 0, 0, -0.998702, -4.7187, -2.33974,  {0, -1.54073, -1.60146, -1.91721, -0.640132, 3.58881, 0.561348, 7.33444, 0},
282  -0.0974348, 3.10138, 2.3293, -5.71135, 0, 0, -1.66188, -2.39145, -2.55052, 0.29005, -0.16697, -3.97018, -1.5, 0, 0,  {0, -0.558527, -2.43481, -1.64492, 1.51694, 6.05449, 4.67951, 5.40004, 0},
283  -2.04431, -4.95214, -1.51889, 1.92081, 5.92476, 8.94417, -0.172422, 0, 0, -1.94155, -4.95644, -2.47063, 0.0233995, 2.57015, 4.84173,  {0, -1.44736, -5.265, -1.28878, -0.238869, 4.13668, 4.58264, 3.28758, 0},
284  -0.555407, 0, 0, -2.22045, -4.21875, -1.23892, 0.911188, -0.705415, -11.5648, -7, 0, 0, -2.25418, -3.71067,  {0, -0.596315, -3.35555, -2.03624, -0.148223, 6.16332, 4.71164, 15.6531, 0},
285  -1.87307, 0.560423, 0.206679, -4.27293, -3, 0, 0, -3.90179, -5.14354, -4.08454, -3.13545, -3.57868, -5.13198, -1.0019, 0, 0, -3.78789, -4.50313,  {0, -0.740826, -4.79843, 0.345734, -0.210722, 6.32702, 9.76698, 19.9151, 0},
286  -5.24307, -3.24931, -0.319336, -1.407, -3.77821, 0, 0, -4.16337, -7.12861, -2.29639, -0.786276, 2.58494, 4.16162, 7.22747, 0, 0, -4.04189, -7.82707,  {0, -0.541817, -3.30557, -1.76057, -0.216039, 5.79923, 8.00931, 16.4061, 0},
287  -1.34893, -1.05519, 4.33166, 4.87264, 12.3328, 0, 0, -3.85946, -5.71064, -4.43564, -1.53025, 1.42505, -0.0695653, 4.33418, 0, 0, -3.65794, -8.19828,  {0, -0.0503124, -2.66635, -1.70196, -1.07446, 3.46058, 1.45824, -2.21932, 0},
288  -3.32738, -1.25785, -1.13124, -6.79745, -8.37113, 0, 0, -5.571, -2.49596, -2.8623, -2.74219, -1.43215, -0.359863, 0.25062, 0, 0, -6.00932, -5.60393,  {0, -0.495955, -5.78012, -0.174017, 0.675206, 6.30264, 8.30058, 20.3899, 0},
289  -2.33967, -1.53792, 3.67721, 5.49137, 8.34507, 0, 0, -5.36442, -3.19657, -2.9975, -1.73078, 0.0558693, -0.179221, 9.45231, 0, 0, -5.91858, -5.04606, -2.88549, -0.953526, 1.17816, 5.43427, 0.871257, 0,  {0, -0.315843, -2.8796, -3.04323, -0.681945, 5.49248, 7.42757, 17.1667, 0},
290  0, -5.53832, -0.498886, -3.85789, -2.61557, -2.45863, -1.44554, -7.21927, 0, 0, -5.70059, -3.94476, -3.23927, 0.15573, 1.85295, 3.96162, 8.70362, 0 } ;  {0, -0.643179, -3.5364, -0.245549, 0.694213, 5.79727, 10.2911, 9.61651, 0},
291    {0, -0.315433, -3.56856, -1.25894, 2.05501, 6.85829, 8.74895, 14.9955, 0},
292    {0, -0.478207, -4.82517, 0.688668, 1.40183, 6.78743, 8.02806, 2.65821, 0},
293    {0, -1.63072, -5.05269, -0.582789, 1.22014, 6.80023, 8.8931, 5.15517, 0},
294    {0, -1.50826, -3.68958, 0.420744, 3.25124, 4.28046, -16.9712, -12, 0},
295    {0, -1.52021, -3.37459, -2.41086, 0.547517, -0.56013, -8.59935, -3, 0},
296    {0, -0.998702, -4.7187, -2.33974, -0.0974348, 3.10138, 2.3293, -5.71135, 0},
297    {0, -1.66188, -2.39145, -2.55052, 0.29005, -0.16697, -3.97018, -1.5, 0},
298    {0, -2.04431, -4.95214, -1.51889, 1.92081, 5.92476, 8.94417, -0.172422, 0},
299    {0, -1.94155, -4.95644, -2.47063, 0.0233995, 2.57015, 4.84173, -0.555407, 0},
300    {0, -2.22045, -4.21875, -1.23892, 0.911188, -0.705415, -11.5648, -7, 0},
301    {0, -2.25418, -3.71067, -1.87307, 0.560423, 0.206679, -4.27293, -3, 0},
302    {0, -3.90179, -5.14354, -4.08454, -3.13545, -3.57868, -5.13198, -1.0019, 0},
303    {0, -3.78789, -4.50313, -5.24307, -3.24931, -0.319336, -1.407, -3.77821, 0},
304    {0, -4.16337, -7.12861, -2.29639, -0.786276, 2.58494, 4.16162, 7.22747, 0},
305    {0, -4.04189, -7.82707, -1.34893, -1.05519, 4.33166, 4.87264, 12.3328, 0},
306    {0, -3.85946, -5.71064, -4.43564, -1.53025, 1.42505, -0.0695653, 4.33418, 0},
307    {0, -3.65794, -8.19828, -3.32738, -1.25785, -1.13124, -6.79745, -8.37113, 0},
308    {0, -5.571, -2.49596, -2.8623, -2.74219, -1.43215, -0.359863, 0.25062, 0},
309    {0, -6.00932, -5.60393, -2.33967, -1.53792, 3.67721, 5.49137, 8.34507, 0},
310    {0, -5.36442, -3.19657, -2.9975, -1.73078, 0.0558693, -0.179221, 9.45231, 0},
311    {0, -5.91858, -5.04606, -2.88549, -0.953526, 1.17816, 5.43427, 0.871257, 0},
312    {0, -5.53832, -0.498886, -3.85789, -2.61557, -2.45863, -1.44554, -7.21927, 0},
313    {0, -5.70059, -3.94476, -3.23927, 0.15573, 1.85295, 3.96162, 8.70362, 0} };
314    
315    
316  Float_t A2t[48][9] = {  Float_t A2t[48][9] = {
317  0, 0.447567, 2.19777, 4.56362, 2.7416, 2.05411, 10.11, 19.0312, 0, 0, 0.11417, 1.62292, 5.00684, 3,  {0, 0.447567, 2.19777, 4.56362, 2.7416, 2.05411, 10.11, 19.0312, 0},
318  3.00006, 17.3401, 17.8502, 0, 0, 0.613665, 1.84729, 0.717669, 3, 2.53701, 1.23897, 10.2529, 0, 0, 0.318447, 2.30647, 0.936633, 3, 3, 2.95973, 3, 0, 0,  {0, 0.11417, 1.62292, 5.00684, 3, 3.00006, 17.3401, 17.8502, 0},
319  0.398201, 0.701095, 3.91236, 3, 3, 11.5693, 17.9749, 0, 0, 0.202853, 0.806934, 3.11779, 3.57657, 1.59933,  {0, 0.613665, 1.84729, 0.717669, 3, 2.53701, 1.23897, 10.2529, 0},
320  6.71492, 23.6721, 0, 0, 0.378081, 0.60131, 1.91722, 1.97014, 3, 5.08036, 9.64776, 0, 0, 0.185602, 1.13243, 1.95726, 2.25608, 1.31382,  {0, 0.318447, 2.30647, 0.936633, 3, 3, 2.95973, 3, 0},
321  6.06097, 15.9104, 0, 0, 0.519026, 1.16139, 1.92471, 3, 3, 6.24901, 15.0465, 0, 0, 0, 0, 0, 0, 3, 1.24657,  {0, 0.398201, 0.701095, 3.91236, 3, 3, 11.5693, 17.9749, 0},
322  0.76179, 0, 0, 0.584808, 1.01299, 1.55521, 1.3038, 3, 7.23646, 20.977, 0, 0, 0.252569, 1.60163, 1.83587, 0.630466, 0.777058, 6.0142, 15.4738, 0, 0,  {0, 0.202853, 0.806934, 3.11779, 3.57657, 1.59933, 6.71492, 23.6721, 0},
323  0.434331, 1.84922, 1.83168, 3, 3, 3, 6.44375, 0, 0, 0.0330463, 1.50249, 1.15961, 3, 0.810556, 4.20175,  {0, 0.378081, 0.60131, 1.91722, 1.97014, 3, 5.08036, 9.64776, 0},
324  16.0172, 0, 0, 1.15272, -0.461141, 0.6358, 0.566375, 3.20343, 5.26698, 14.6336, 0, 0, 1.24677, 1.12736, 1.76074, 3, 3.77723, 10.7814, 14.6336, 0,  {0, 0.185602, 1.13243, 1.95726, 2.25608, 1.31382, 6.06097, 15.9104, 0},
325  0, 0.551726, 1.59633, 1.18411, 0.119382, 0.843864, 6.67491, 20.4289, 0, 0, 1.17008, 3.53223, 1.7298, 3,  {0, 0.519026, 1.16139, 1.92471, 3, 3, 6.24901, 15.0465, 0},
326  3.51043, 7.10543, 22.3253, 0, 0, 0.612142, 1.96606, 2.64693, 3.25016, 1.25888, 7.04821, 11.7283, 0, 0, 0.69148, 2.84536, 0.249509, 4.29848, 3,  {0, 0, 0, -1.972, 4.7828, -3.1154, -2.11319, -4.7497, 0},
327  3.58229, 9.01681, 0, 0, 0.565678, 1.96366, 2.32387, 3.15843, 1.66386, 3.07223, 7.67847, 0, 0, 0.286252,  {0, 0.584808, 1.01299, 1.55521, 1.3038, 3, 7.23646, 20.977, 0},
328  1.61749, 2.08437, 3.96745, 3.46972, 9.29207, 23.9444, 0, 0, 0.427677, 3.58328, 0.303785, 3, 3, 4.66547, 6.77271, 0, 0, 0.367136, 1.62323,  {0, 0.252569, 1.60163, 1.83587, 0.630466, 0.777058, 6.0142, 15.4738, 0},
329  3.53394, 3.22174, 1.19152, 2.67962, 7.37085, 0, 0, 0.571177, 2.03267, 0.714761, 2.31548, 3, 3, 23.2035, 0,  {0, 0.434331, 1.84922, 1.83168, 3, 3, 3, 6.44375, 0},
330  0, 0.410871, 2.02075, 2.01824, 1.2684, 1.18522, 3.21976, 12.8378, 0, 0, 0.463877, 2.86112, 0.170916, 3, 3, 5.97413, 28.4085, 0, 0, 1.30088,  {0, 0.0330463, 1.50249, 1.15961, 3, 0.810556, 4.20175, 16.0172, 0},
331  3.26557, 2, 3, 3, 4.77584, 22.8794, 0, 0, 1.02941, 2.12558, 0.872765, 2.23727, 4.7981, 24.6338, 24.6338, 0, 0, 1.05783, 1.89525, 2.85289, 3.0898,  {0, 1.15272, -0.461141, 0.6358, 0.566375, 3.20343, 5.26698, 14.6336, 0},
332  7.83407, 17.8466, 20, 0, 0, 0.87851, 2.49044, 1.91387, 2.41541, 3.8418, 9.41288, 24.0375, 0, 0, 1.18188, 1.273, 2.9275, 3.06704, 7.12642, 12.7629, 15,  {0, 1.24677, 1.12736, 1.76074, 3, 3.77723, 10.7814, 14.6336, 0},
333  0, 0, 1.53682, 2.57011, 1.06205, 0.506326, 1.68314, 3.58498, 23.1595, 0, 0, 1.46302, 2.68515, 1.99381, 2.17816, 4.41356, 6.53634,  {0, 0.551726, 1.59633, 1.18411, 0.119382, 0.843864, 6.67491, 20.4289, 0},
334  20.7136, 0, 0, 1.4731, 2.3654, 1.53025, 2.96327, 8.70277, 21.6253, 25, 0, 0, 1.53808, 2.07089, 2.22662, 3.14766, 7.57131, 14.2471, 20, 0, 0,  {0, 1.17008, 3.53223, 1.7298, 3, 3.51043, 7.10543, 22.3253, 0},
335  2.54185, 2.94079, 2.66362, 3.52374, 6.80629, 11.3325, 14.5186, 0, 0, 2.43664, 2.49436, 4.17446, 3.77162,  {0, 0.612142, 1.96606, 2.64693, 3.25016, 1.25888, 7.04821, 11.7283, 0},
336  3.31898, 7.43896, 18.2548, 0, 0, 2.66465, 3.9858, 1.0855, 1.91916, 1.82719, 3.62289, 11.3872, 0, 0, 2.59071, 4.39003, 0.0757547, 3, 0.158868,  {0, 0.69148, 2.84536, 0.249509, 4.29848, 3, 3.58229, 9.01681, 0},
337  3.55454, 5.71387, 0, 0, 2.48014, 3.16071, 3.1975, 1.7259, 1.53532, 6.33812, 11.2325, 0, 0, 2.35236,  {0, 0.565678, 1.96366, 2.32387, 3.15843, 1.66386, 3.07223, 7.67847, 0},
338  4.94998, 1.78836, 1.9115, 4.74233, 13.6973, 21.965, 0, 0, 3.52215, 0.812087, 1.1768, 2.95239, 4.3202, 6.04614, 13.6556, 0, 0, 3.79446, 2.80606,  {0, 0.286252, 1.61749, 2.08437, 3.96745, 3.46972, 9.29207, 23.9444, 0},
339  0.88371, 3, 0.614106, 2.52782, 12.4441, 0, 0, 3.41363, 1.57296, 1.59021, 2.47593, 3.41146, 6.76304, 5.59471, 0, 0, 3.72529, 2.50889, 2, 3, 4.06815, 2.78676,  {0, 0.427677, 3.58328, 0.303785, 3, 3, 4.66547, 6.77271, 0},
340  19.6427, 0, 0, 3.54713, -0.296079, 2.10851, 2.42037, 5.37573, 6.78065, 22.298, 0, 0, 3.61517, 1.96909, 2, 0.249865, 2.46639, 3.42483, 8.1652, 0 } ;  {0, 0.367136, 1.62323, 3.53394, 3.22174, 1.19152, 2.67962, 7.37085, 0},
341    {0, 0.571177, 2.03267, 0.714761, 2.31548, 3, 3, 23.2035, 0},
342    {0, 0.410871, 2.02075, 2.01824, 1.2684, 1.18522, 3.21976, 12.8378, 0},
343    {0, 0.463877, 2.86112, 0.170916, 3, 3, 5.97413, 28.4085, 0},
344    {0, 1.30088, 3.26557, 2, 3, 3, 4.77584, 22.8794, 0},
345    {0, 1.02941, 2.12558, 0.872765, 2.23727, 4.7981, 24.6338, 24.6338, 0},
346    {0, 1.05783, 1.89525, 2.85289, 3.0898, 7.83407, 17.8466, 20, 0},
347    {0, 0.87851, 2.49044, 1.91387, 2.41541, 3.8418, 9.41288, 24.0375, 0},
348    {0, 1.18188, 1.273, 2.9275, 3.06704, 7.12642, 12.7629, 15, 0},
349    {0, 1.53682, 2.57011, 1.06205, 0.506326, 1.68314, 3.58498, 23.1595, 0},
350    {0, 1.46302, 2.68515, 1.99381, 2.17816, 4.41356, 6.53634, 20.7136, 0},
351    {0, 1.4731, 2.3654, 1.53025, 2.96327, 8.70277, 21.6253, 25, 0},
352    {0, 1.53808, 2.07089, 2.22662, 3.14766, 7.57131, 14.2471, 20, 0},
353    {0, 2.54185, 2.94079, 2.66362, 3.52374, 6.80629, 11.3325, 14.5186, 0},
354    {0, 2.43664, 2.49436, 4.17446, 3.77162, 3.31898, 7.43896, 18.2548, 0},
355    {0, 2.66465, 3.9858, 1.0855, 1.91916, 1.82719, 3.62289, 11.3872, 0},
356    {0, 2.59071, 4.39003, 0.0757547, 3, 0.158868, 3.55454, 5.71387, 0},
357    {0, 2.48014, 3.16071, 3.1975, 1.7259, 1.53532, 6.33812, 11.2325, 0},
358    {0, 2.35236, 4.94998, 1.78836, 1.9115, 4.74233, 13.6973, 21.965, 0},
359    {0, 3.52215, 0.812087, 1.1768, 2.95239, 4.3202, 6.04614, 13.6556, 0},
360    {0, 3.79446, 2.80606, 0.88371, 3, 0.614106, 2.52782, 12.4441, 0},
361    {0, 3.41363, 1.57296, 1.59021, 2.47593, 3.41146, 6.76304, 5.59471, 0},
362    {0, 3.72529, 2.50889, 2, 3, 4.06815, 2.78676, 19.6427, 0},
363    {0, 3.54713, -0.296079, 2.10851, 2.42037, 5.37573, 6.78065, 22.298, 0},
364    {0, 3.61517, 1.96909, 2, 0.249865, 2.46639, 3.42483, 8.1652, 0} } ;
365    
366    
367  // S115B failure: 1158700000 // 2006-09-19 21:06:40 UTC  // S115B failure: 1158700000 // 2006-09-19 21:06:40 UTC
368    
369  if (time > 1158700000.) {     // first workaround: just use calibration of PMT S115A  if (time < 1158700000.) {     // first workaround: just use calibration of PMT S115A
370  for ( Int_t jj=0; jj<9; jj++ ){  for ( Int_t jj=0; jj<9; jj++ ){
371  A0t[9][jj] = A0t[8][jj] ;  A0t[9][jj] = A0t[8][jj] ;
372  A1t[9][jj] = A1t[8][jj] ;  A1t[9][jj] = A1t[8][jj] ;
# Line 212  A2t[9][jj] = A2t[8][jj] ; Line 377  A2t[9][jj] = A2t[8][jj] ;
377  //============================================================================  //============================================================================
378    
379  //  2nd-order correction  //  2nd-order correction
380  Float_t corr_a[6][4] = {  0.977261,  0.353729,  -0.83314,  0.452883, 1.27649,  3.53459,  Float_t corr_a[6][4] = {  
381  -5.41948,  2.67854, 2.21926,  4.32797,  -7.24001,  3.77247,  2.4202,  7.99552,  {0.977261,  0.353729,  -0.83314,  0.452883},
382  -12.4371,  6.08982, 2.04984,  13.3375, -19.178,  8.86101,  2.63322,  14.8072,  -20.911,  {1.27649,  3.53459, -5.41948,  2.67854},
383  9.57905 };  {2.21926,  4.32797,  -7.24001,  3.77247},  
384    {2.4202,  7.99552,-12.4371,  6.08982},
385    {2.04984,  13.3375, -19.178,  8.86101},  
386    {2.63322,  14.8072,  -20.911,9.57905} };
387    
388  //---------------------------------------------------------------------  //---------------------------------------------------------------------
389    
# Line 223  Float_t xv[6],yv[6]; Line 391  Float_t xv[6],yv[6];
391  Int_t  iz;  Int_t  iz;
392  Float_t x1[9],y1[9];  Float_t x1[9],y1[9];
393  Int_t n1 = 9;  Int_t n1 = 9;
394  Float_t  Layercharge[6] = {1000., 1000., 1000., 1000., 1000., 1000. };  
395    Float_t  Layercharge[6] = {1005., 1005., 1005., 1005., 1005., 1005. };
396    
397  Int_t  Layerinfo[6] = {0, 0, 0, 0, 0, 0 };  Int_t  Layerinfo[6] = {0, 0, 0, 0, 0, 0 };
398    
399    Float_t adc[48],adc_c[48],PMTcharge_arr[48];
400    
401  //------------------------------------------------------------------  //------------------------------------------------------------------
402    
403  PamTrack *track = L2->GetTrack(0);  PamTrack *track = L2->GetTrack(0);
404    
405  Float_t beta_mean = fabs(track->GetToFTrack()->beta[12]);  Float_t beta_mean = fabs(track->GetToFTrack()->beta[12]);
406    
407    // New!! If "beta_in" != 100. then overwrite beta_mean with beta_in
408    if (beta_in != 100.) beta_mean=beta_in;
409    
410  Float_t def = track->GetTrkTrack()->al[4];  Float_t def = track->GetTrkTrack()->al[4];
411  Float_t rig = 1./def;  Float_t rig = 1./def;
412    
413  Int_t ncount=0;  Int_t ncount=0;
414  Float_t charge_chi=1000.;  Float_t charge_chi=1000.;
415    
 if ((beta_mean > 0.05)  && (beta_mean < 1.5)) {  
   
   
416  //-------------------------------------------------------------  //-------------------------------------------------------------
417  //------------------  ToF Charge ------------------------------  //------------------  ToF Charge ------------------------------
418  //-------------------------------------------------------------  //-------------------------------------------------------------
# Line 248  if ((beta_mean > 0.05)  && (beta_mean < Line 420  if ((beta_mean > 0.05)  && (beta_mean <
420  // fill adc and tdc  // fill adc and tdc
421    
422     Int_t ich,jj,kk;     Int_t ich,jj,kk;
    Float_t adc[48],adc_c[48],PMTcharge_arr[48];  
423    
424     for (ich=0; ich<48; ich++)   adc[ich]   = 4095.;     for (ich=0; ich<48; ich++)   adc[ich]   = 4095.;
425     for (ich=0; ich<48; ich++)   adc_c[ich] = 1000.;     for (ich=0; ich<48; ich++)   adc_c[ich] = 1000.;
426     for (ich=0; ich<48; ich++)   PMTcharge_arr[ich] = 1000.;     for (ich=0; ich<48; ich++)   PMTcharge_arr[ich] = 1000.;
427    
428    
429    
430    if ((beta_mean < 0.05)  || (beta_mean > 2.0)) {
431      for (Int_t jj=0; jj<48;jj++) charge_PMT_trk[jj] = 1001.;
432      for (Int_t jj=0; jj<6;jj++) charge_layer_trk[jj] = 1001.;
433      for (Int_t jj=0; jj<6;jj++) layerinfo_trk[jj] = 1001.;
434      charge_trk = 1001.;
435      ncount_trk = 0;
436                                                  }
437    
438    
439    if ((beta_mean > 0.05)  && (beta_mean < 2.0)) {
440    
441     Float_t betahelp =   pow(beta_mean, 1.2);     Float_t betahelp =   pow(beta_mean, 1.2);
442    
443  //=======================================================================  //=======================================================================
# Line 274  if ((beta_mean > 0.05)  && (beta_mean < Line 458  if ((beta_mean > 0.05)  && (beta_mean <
458            Int_t adcflag = track->GetToFTrack()->adcflag[ipmt];            Int_t adcflag = track->GetToFTrack()->adcflag[ipmt];
459            L2->GetToFLevel2()->GetPMTIndex(pmtadc,jj,kk);            L2->GetToFLevel2()->GetPMTIndex(pmtadc,jj,kk);
460            if (adcflag==0) adc_c[pmtadc] = dEdx;            if (adcflag==0) adc_c[pmtadc] = dEdx;
           if (adc[pmtadc] > PMTsat[pmtadc]) adc_c[pmtadc] = 1000.;  
461    
           cout<<pmtadc<<" "<<adc[pmtadc]<<" "<<dEdx<<" "<<adc_c[pmtadc]<<endl;  
462    
463             if (adc[pmtadc] == 4095) adc_c[pmtadc] = 0.;
464             if (adc[pmtadc] == 4095) PMTcharge_arr[pmtadc] = 0.;
465    
466             if ((adc[pmtadc]>PMTsat[pmtadc]) && (adc[pmtadc]<4095)) adc_c[pmtadc] = 1000.;
467    
468           if (adc[pmtadc] < PMTsat[pmtadc]) {           if (adc[pmtadc] < PMTsat[pmtadc]) {
469  //----------------------------------------------------------------------------------------  //----------------------------------------------------------------------------------------
470  if ((pmtadc!=1) && (pmtadc!=9) || (pmtadc!=28) || (pmtadc!=29) || (pmtadc!=34)) {  if ((pmtadc!=1) && (pmtadc!=9) && (pmtadc!=28) && (pmtadc!=29) && (pmtadc!=34)) {
471    
472      for ( Int_t jj=0; jj<9; jj++ ){      for ( Int_t jj=0; jj<9; jj++ ){
473      x1[jj] = A0t[pmtadc][jj]+A1t[pmtadc][jj]*beta_mean+A2t[pmtadc][jj]*beta_mean*beta_mean;      x1[jj] = A0t[pmtadc][jj]+A1t[pmtadc][jj]*beta_mean+A2t[pmtadc][jj]*beta_mean*beta_mean;
# Line 291  if ((pmtadc!=1) && (pmtadc!=9) || (pmtad Line 477  if ((pmtadc!=1) && (pmtadc!=9) || (pmtad
477      TGraph *gr2 = new TGraph(n1,x1,y1);      TGraph *gr2 = new TGraph(n1,x1,y1);
478      TSpline3 *spl2 = new TSpline3("grs",gr2);    // use a cubic spline      TSpline3 *spl2 = new TSpline3("grs",gr2);    // use a cubic spline
479      chelp = spl2->Eval(ym);      chelp = spl2->Eval(ym);
480        if (chelp<0.) chelp=0.0001;  //WM new
481      charge = TMath::Sqrt(chelp);      charge = TMath::Sqrt(chelp);
482      gr2->Delete();      gr2->Delete();
483      spl2->Delete();      spl2->Delete();
484      PMTcharge_arr[pmtadc] = charge;      PMTcharge_arr[pmtadc] = charge;
485                                                                           } // pmtadc != ...                                                                           } // pmtadc != ...
486    
487  //----------------------------------------------------------------------------------------  //----------------------------------------------------------------------------------------
488    
489  if ((pmtadc==1) || (pmtadc==9) || (pmtadc==28) || (pmtadc==29) || (pmtadc==34)) {  if ((pmtadc==1) || (pmtadc==9) || (pmtadc==28) || (pmtadc==29) || (pmtadc==34)) {
490           for ( Int_t jj=0; jj<8; jj++ ){           for ( Int_t jj=0; jj<8; jj++ ){
491           yl = A0t[pmtadc][jj]+A1t[pmtadc][jj]*beta_mean+A2t[pmtadc][jj]*beta_mean*beta_mean;           yl = A0t[pmtadc][jj]+A1t[pmtadc][jj]*beta_mean+A2t[pmtadc][jj]*beta_mean*beta_mean;
# Line 305  if ((pmtadc==1) || (pmtadc==9) || (pmtad Line 494  if ((pmtadc==1) || (pmtadc==9) || (pmtad
494           m = (C0t[pmtadc][jj+1]*C0t[pmtadc][jj+1] - C0t[pmtadc][jj]*C0t[pmtadc][jj]) / (yh - yl);           m = (C0t[pmtadc][jj+1]*C0t[pmtadc][jj+1] - C0t[pmtadc][jj]*C0t[pmtadc][jj]) / (yh - yl);
495           b = (C0t[pmtadc][jj]*C0t[pmtadc][jj]) - m*yl;           b = (C0t[pmtadc][jj]*C0t[pmtadc][jj]) - m*yl;
496           chelp = m*ym + b;           chelp = m*ym + b;
497             if (chelp<0.) chelp=0.0001;  //WM new
498           charge= TMath::Sqrt(chelp);           charge= TMath::Sqrt(chelp);
499           PMTcharge_arr[pmtadc] = charge;           PMTcharge_arr[pmtadc] = charge;
500                               }                               }
# Line 312  if ((pmtadc==1) || (pmtadc==9) || (pmtad Line 502  if ((pmtadc==1) || (pmtadc==9) || (pmtad
502                                                                            } // if pmtadc ==....                                                                            } // if pmtadc ==....
503  //----------------------------------------------------------------------------------------  //----------------------------------------------------------------------------------------
504                                         } // adc < sat                                         } // adc < sat
505    
506               }   // ipmt...               }   // ipmt...
507    
508  //====================================================================  //====================================================================
# Line 339  Int_t ihelp_a[6] = {0,16,28,32,36,42}; Line 530  Int_t ihelp_a[6] = {0,16,28,32,36,42};
530    
531  for (Int_t ilay=0; ilay<6; ilay ++) {  for (Int_t ilay=0; ilay<6; ilay ++) {
532  Int_t jj = PaddleIdOfTrack[ilay] ;  Int_t jj = PaddleIdOfTrack[ilay] ;
533  Float_t xhelp = 1000.;  //Float_t xhelp = 1000.;
534    Float_t xhelp = 1005.;
535    
536  if (jj == -1) Layerinfo[ilay] = -1;  if (jj == -1) Layerinfo[ilay] = -1;
537    
538  if (jj != -1) {  if (jj != -1) {
539  Int_t ih = ihelp_a[ilay] + 2*jj;  Int_t ih = ihelp_a[ilay] + 2*jj;
540    
541    // New WM
542    Int_t igood1=0;
543    Int_t igood2=0;
544    if ((PMTcharge_arr[ih] < 1000.) && (PMTcharge_arr[ih] > 0.)) igood1=1;
545    if ((PMTcharge_arr[ih+1] < 1000.) && (PMTcharge_arr[ih+1] > 0.)) igood2=1;
546    
547    if ((PMTcharge_arr[ih]==0.) && (PMTcharge_arr[ih+1]==0.))  xhelp = 0.;
548    if ((igood1==1)&&(igood2==1)) xhelp = 0.5*(PMTcharge_arr[ih]+PMTcharge_arr[ih+1]) ;
549    if ((igood1==1)&&(igood2==0)) xhelp = PMTcharge_arr[ih];
550    if ((igood2==1)&&(igood1==0)) xhelp = PMTcharge_arr[ih+1];
551    
552    
553    /*
554  if ((PMTcharge_arr[ih] < 1000.) && (PMTcharge_arr[ih+1] < 1000.)) xhelp = 0.5*(PMTcharge_arr[ih]+PMTcharge_arr[ih+1]) ;  if ((PMTcharge_arr[ih] < 1000.) && (PMTcharge_arr[ih+1] < 1000.)) xhelp = 0.5*(PMTcharge_arr[ih]+PMTcharge_arr[ih+1]) ;
555  if ((PMTcharge_arr[ih] < 1000.) && (PMTcharge_arr[ih+1]==1000.))  xhelp = PMTcharge_arr[ih] ;  if ((PMTcharge_arr[ih] < 1000.) && (PMTcharge_arr[ih+1]==1000.))  xhelp = PMTcharge_arr[ih] ;
556  if ((PMTcharge_arr[ih]==1000.) && (PMTcharge_arr[ih+1] < 1000.))  xhelp = PMTcharge_arr[ih+1] ;  if ((PMTcharge_arr[ih]==1000.) && (PMTcharge_arr[ih+1] < 1000.))  xhelp = PMTcharge_arr[ih+1] ;
557    */
558     if (adc[ih] ==  4095) Layerinfo[ilay] = Layerinfo[ilay] + 1;     if (adc[ih] ==  4095) Layerinfo[ilay] = Layerinfo[ilay] + 1;
559     if (adc[ih+1] ==  4095) Layerinfo[ilay] = Layerinfo[ilay] + 1;     if (adc[ih+1] ==  4095) Layerinfo[ilay] = Layerinfo[ilay] + 1;
560     if ((adc[ih] > PMTsat[ih]) && (adc[ih] < 4095)) Layerinfo[ilay] = Layerinfo[ilay] + 10;     if ((adc[ih] > PMTsat[ih]) && (adc[ih] < 4095)) Layerinfo[ilay] = Layerinfo[ilay] + 10;
561     if ((adc[ih+1] > PMTsat[ih+1]) && (adc[ih+1] < 4095)) Layerinfo[ilay] = Layerinfo[ilay] + 10;     if ((adc[ih+1] > PMTsat[ih+1]) && (adc[ih+1] < 4095)) Layerinfo[ilay] = Layerinfo[ilay] + 10;
 //   cout<<ilay<<" "<<jj<<" "<<Layerinfo[ilay]<<endl;  
   
562         }         }
563  Layercharge[ilay] = xhelp;  Layercharge[ilay] = xhelp;
564                                      } // ilay ...                                      } // ilay ...
565    
566    
 //cout<<"Trk : ";  
 //for (Int_t ilay=0; ilay<6; ilay ++) cout<<Layercharge[ilay]<<" ";  
567    
568  //==========================================================================  //==========================================================================
569  //=========================   2nd-order correction   =======================  //=========================   2nd-order correction   =======================
# Line 388  Layercharge[ii] = Layercharge[ii]/c_corr Line 590  Layercharge[ii] = Layercharge[ii]/c_corr
590  //==========================================================================  //==========================================================================
591  //==========================================================================  //==========================================================================
592    
593    
594  Int_t  icount=0;  Int_t  icount=0;
595  Float_t charge_mean = 0.;  Float_t charge_mean = 0.;
596  for (Int_t ii=0; ii<6;  ii++) {  for (Int_t ii=0; ii<6;  ii++) {
# Line 461  if (icount>0) { Line 664  if (icount>0) {
664  //  cout<<" => "<<icount<<" "<<charge_chi<<endl;  //  cout<<" => "<<icount<<" "<<charge_chi<<endl;
665    
666  //=============================================================  //=============================================================
667    // changed 30-01-2009 WM
668    
669      for (Int_t jj=0; jj<48;jj++) charge_PMT_trk[jj] = PMTcharge_arr[jj];
 } // 0.05 < beta < 1.5  
   
670    for (Int_t jj=0; jj<6;jj++) charge_layer_trk[jj] = Layercharge[jj];    for (Int_t jj=0; jj<6;jj++) charge_layer_trk[jj] = Layercharge[jj];
671    for (Int_t jj=0; jj<6;jj++) layerinfo_trk[jj] = Layerinfo[jj];    for (Int_t jj=0; jj<6;jj++) layerinfo_trk[jj] = Layerinfo[jj];
672    charge_trk = charge_chi;    charge_trk = charge_chi;
673    ncount_trk = ncount;    ncount_trk = ncount;
674    
675    } // 0.05 < beta < 2.0
676    
677  } // if ntrk == 1  } // if ntrk == 1
678    
679  //================================================================  //================================================================
# Line 482  if (icount>0) { Line 686  if (icount>0) {
686  //  if(!track)return;  //  if(!track)return;
687    if(track) {    if(track) {
688    
689    /*
690  Float_t  PMTsat[48] = {  Float_t  PMTsat[48] = {
691  3162.14, 3165.48, 3153.85, 3085.73, 3089.65, 3107.64, 3097.52, 3078.37, 3130.05, 3087.07, 3112.22,  3162.14, 3165.48, 3153.85, 3085.73, 3089.65, 3107.64, 3097.52, 3078.37, 3130.05, 3087.07, 3112.22,
692  3102.92, 3080.58, 3092.55, 3087.94, 3125.03, 3094.09, 3143.16,  3102.92, 3080.58, 3092.55, 3087.94, 3125.03, 3094.09, 3143.16,
# Line 489  Float_t  PMTsat[48] = { Line 694  Float_t  PMTsat[48] = {
694  3097.99, 3033.84, 3134.98, 3081.37, 3111.04, 3066.77, 3108.17,  3097.99, 3033.84, 3134.98, 3081.37, 3111.04, 3066.77, 3108.17,
695  3133, 3111.06, 3052.52, 3140.66, 3106.33, 3094.85, 3150.85, 3118.8, 3096.24, 3118.47,3111.36, 3117.11  3133, 3111.06, 3052.52, 3140.66, 3106.33, 3094.85, 3150.85, 3118.8, 3096.24, 3118.47,3111.36, 3117.11
696  };  };
697    */
698    
699  Float_t C0t[48][9] = {  // new values from Napoli dec 2008
700  0, 1, 2, 3, 4, 5, 6, 8, 92, 0, 1, 2, 3, 4, 5, 6, 8, 92, 0, 1, 2, 3, 4, 5, 6, 8, 92,  Float_t  PMTsat[48] = {
701  0, 1, 2, 3, 4, 5, 6, 8, 92, 0, 1, 2, 3, 4, 5, 6, 8, 92, 0, 1, 2, 3, 4, 5, 6, 8, 92,  3176.35,3178.19,3167.38,3099.73,3117.00,3126.29,3111.44,3092.27,
702  0, 1, 2, 3, 4, 5, 6, 8, 92, 0, 1, 2, 3, 4, 5, 6, 8, 92, 0, 1, 2, 3, 4, 5, 6, 8, 92,  3146.48,3094.41,3132.13,3115.37,3099.32,3110.97,3111.80,3143.14,
703  0, 1, 2, 3, 4, 5, 6, 8, 92, 0, 1, 2, 3, 4, 5, 6, 8, 92, 0, 1, 2, 3, 4, 5, 6, 8, 92,  3106.72,3153.44,3136.00,3188.96,3104.73,3140.45,3073.18,3106.62,
704  0, 1, 2, 3, 4, 5, 6, 8, 92, 0, 1, 2, 3, 4, 5, 6, 8, 92, 0, 1, 2, 3, 4, 5, 6, 8, 92,  3112.48,3146.92,3127.24,3136.52,3109.59,3112.89,3045.15,3147.26,
705  0, 1, 2, 3, 4, 5, 6, 8, 92, 0, 1, 2, 3, 4, 5, 6, 8, 92, 0, 1, 2, 3, 4, 5, 6, 8, 92,  3095.92,3121.05,3083.25,3123.62,3150.92,3125.30,3067.60,3160.18,
706  0, 1, 2, 3, 4, 5, 6, 8, 92, 0, 1, 2, 3, 4, 5, 6, 8, 92, 0, 1, 2, 3, 4, 5, 6, 8, 92,  3119.36,3108.92,3164.77,3133.64,3111.47,3131.98,3128.87,3135.56 };
 0, 1, 2, 3, 4, 5, 6, 8, 92, 0, 1, 2, 3, 4, 5, 6, 8, 92, 0, 1, 2, 3, 4, 5, 6, 8, 92,  
 0, 1, 2, 3, 4, 5, 6, 8, 92, 0, 1, 2, 3, 4, 5, 6, 8, 92, 0, 1, 2, 3, 4, 5, 6, 8, 92,  
 0, 1, 2, 3, 4, 5, 6, 8, 92, 0, 1, 2, 3, 4, 5, 6, 8, 92, 0, 1, 2, 3, 4, 5, 6, 8, 92,  
 0, 1, 2, 3, 4, 5, 6, 8, 92, 0, 1, 2, 3, 4, 5, 6, 8, 92, 0, 1, 2, 3, 4, 5, 6, 8, 92,  
 0, 1, 2, 3, 4, 5, 6, 8, 92, 0, 1, 2, 3, 4, 5, 6, 8, 92, 0, 1, 2, 3, 4, 5, 6, 8, 92,  
 0, 1, 2, 3, 4, 5, 6, 8, 92, 0, 1, 2, 3, 4, 5, 6, 8, 92, 0, 1, 2, 3, 4, 5, 6, 8, 92,  
 0, 1, 2, 3, 4, 5, 6, 8, 92, 0, 1, 2, 3, 4, 5, 6, 8, 92, 0, 1, 2, 3, 4, 5, 6, 8, 92,  
 0, 1, 2, 3, 4, 5, 6, 8, 92, 0, 1, 2, 3, 4, 5, 6, 8, 92, 0, 1, 2, 3, 4, 5, 6, 8, 92,  
 0, 1, 2, 3, 4, 5, 6, 8, 92, 0, 1, 2, 3, 4, 5, 6, 8, 92, 0, 1, 2, 3, 4, 5, 6, 8, 92 };  
707    
708    for (Int_t i=0; i<48;i++) PMTsat[i] = PMTsat[i] - 5.;  // safety margin
709    
710    // calibration file "charge_fits_new_std_2.dat"
711    
712    Float_t C0t[48][9] = {
713    {0, 1, 2, 3, 4, 5, 6, 8, 92},
714    {0, 1, 2, 3, 4, 5, 6, 8, 92},
715    {0, 1, 2, 3, 4, 5, 6, 8, 92},
716    {0, 1, 2, 3, 4, 5, 6, 8, 92},
717    {0, 1, 2, 3, 4, 5, 6, 8, 92},
718    {0, 1, 2, 3, 4, 5, 6, 8, 92},
719    {0, 1, 2, 3, 4, 5, 6, 8, 92},
720    {0, 1, 2, 3, 4, 5, 6, 8, 92},
721    {0, 1, 2, 3, 4, 5, 6, 8, 92},
722    {0, 1, 2, 3, 4, 5, 6, 8, 92},
723    {0, 1, 2, 3, 4, 5, 6, 8, 92},
724    {0, 1, 2, 3, 4, 5, 6, 8, 92},
725    {0, 1, 2, 3, 4, 5, 6, 8, 92},
726    {0, 1, 2, 3, 4, 5, 6, 8, 92},
727    {0, 1, 2, 3, 4, 5, 6, 8, 92},
728    {0, 1, 2, 3, 4, 5, 6, 8, 92},
729    {0, 1, 2, 3, 4, 5, 6, 8, 92},
730    {0, 1, 2, 3, 4, 5, 6, 8, 92},
731    {0, 1, 2, 3, 4, 5, 6, 8, 92},
732    {0, 1, 2, 3, 4, 5, 6, 8, 92},
733    {0, 1, 2, 3, 4, 5, 6, 8, 92},
734    {0, 1, 2, 3, 4, 5, 6, 8, 92},
735    {0, 1, 2, 3, 4, 5, 6, 8, 92},
736    {0, 1, 2, 3, 4, 5, 6, 8, 92},
737    {0, 1, 2, 3, 4, 5, 6, 8, 92},
738    {0, 1, 2, 3, 4, 5, 6, 8, 92},
739    {0, 1, 2, 3, 4, 5, 6, 8, 92},
740    {0, 1, 2, 3, 4, 5, 6, 8, 92},
741    {0, 1, 2, 3, 4, 5, 6, 8, 92},
742    {0, 1, 2, 3, 4, 5, 6, 8, 92},
743    {0, 1, 2, 3, 4, 5, 6, 8, 92},
744    {0, 1, 2, 3, 4, 5, 6, 8, 92},
745    {0, 1, 2, 3, 4, 5, 6, 8, 92},
746    {0, 1, 2, 3, 4, 5, 6, 8, 92},
747    {0, 1, 2, 3, 4, 5, 6, 8, 92},
748    {0, 1, 2, 3, 4, 5, 6, 8, 92},
749    {0, 1, 2, 3, 4, 5, 6, 8, 92},
750    {0, 1, 2, 3, 4, 5, 6, 8, 92},
751    {0, 1, 2, 3, 4, 5, 6, 8, 92},
752    {0, 1, 2, 3, 4, 5, 6, 8, 92},
753    {0, 1, 2, 3, 4, 5, 6, 8, 92},
754    {0, 1, 2, 3, 4, 5, 6, 8, 92},
755    {0, 1, 2, 3, 4, 5, 6, 8, 92},
756    {0, 1, 2, 3, 4, 5, 6, 8, 92},
757    {0, 1, 2, 3, 4, 5, 6, 8, 92},
758    {0, 1, 2, 3, 4, 5, 6, 8, 92},
759    {0, 1, 2, 3, 4, 5, 6, 8, 92},
760    {0, 1, 2, 3, 4, 5, 6, 8, 92} } ;
761    
762  Float_t A0t[48][9] = {  Float_t A0t[48][9] = {
763  0, 0.707632, 5.09223, 7.99994, 11, 13, 16, 18, 2000, 0, 0.636707, 6.37524, 8, 11, 13.0002,  {0, 0.707632, 5.09223, 7.99994, 11, 13, 16, 18, 2000},
764  16.0001, 18, 2000, 0, 0.952117, 6.04188, 7.99999, 11, 13, 16, 18, 2000, 0, 0.880805, 5.80883,  {0, 0.636707, 6.37524, 8, 11, 13.0002, 16.0001, 18, 2000},
765  8.00003, 11.0001, 13.0005, 16.0011, 18.0027, 2000, 0, 0.834937, 5.12617, 8, 11, 13, 16, 17.9998,  {0, 0.952117, 6.04188, 7.99999, 11, 13, 16, 18, 2000},
766  2000, 0, 0.772954, 5.17221, 8, 11, 13, 16, 18.0006, 2000, 0, 0.911496, 5.04755, 8, 11, 13, 16,  {0, 0.880805, 5.80883, 8.00003, 11.0001, 13.0005, 16.0011, 18.0027, 2000},
767  18, 2000, 0, 0.86523, 5.55215, 8, 11, 13, 16, 17.9999, 2000, 0, 1.06061, 5.49757, 12, 15, 20,  {0, 0.834937, 5.12617, 8, 11, 13, 16, 17.9998, 2000},
768  25, 25, 2000, 0, 0.5, 1.8, 3, 3.8, 6.49999, 7.99996, 8.99998, 2000, 0, 1.06974, 4.86153,  {0, 0.772954, 5.17221, 8, 11, 13, 16, 18.0006, 2000},
769  7.99999, 11, 13, 16, 18, 2000, 0, 1.0465, 6.00778, 8, 11, 13, 16, 17.9999, 2000, 0, 1.18132,  {0, 0.911496, 5.04755, 8, 11, 13, 16, 18, 2000},
770  5.48741, 8, 11, 13, 16, 17.9999, 2000, 0, 1.10823, 5.43611, 8, 11, 13, 16, 18.0001, 2000, 0,  {0, 0.86523, 5.55215, 8, 11, 13, 16, 17.9999, 2000},
771  1.19621, 5.27647, 7.99994, 11, 13, 16, 18, 2000, 0, 1.72505, 5.14873, 8.00006, 11, 13, 16,  {0, 1.06061, 5.49757, 12, 15, 20, 25, 25, 2000},
772  17.9999, 2000, 0, 1.48515, 6.07123, 8.00006, 11, 13.0003, 16, 17.9999, 2000, 0, 1.17628,  {0, 0.5, 1.8, 3, 3.8, 6.49999, 7.99996, 8.99998, 2000},
773  6.63392, 8.00011, 11, 13, 16, 17.9999, 2000, 0, 1.11301, 5.94317, 7.99999, 11, 13, 16, 18, 2000,  {0, 1.06974, 4.86153, 7.99999, 11, 13, 16, 18, 2000},
774  0, 1.04361, 6.40789, 8.00002, 11.0002, 13.0015, 16, 17.9996, 2000, 0, 1.12658, 5.69828, 8, 11,  {0, 1.0465, 6.00778, 8, 11, 13, 16, 17.9999, 2000},
775  13, 16, 18.0001, 2000, 0, 0.840188, 5.44945, 8.00005, 11, 13, 16, 18, 2000, 0, 1.16985, 6.21385,  {0, 1.18132, 5.48741, 8, 11, 13, 16, 17.9999, 2000},
776  8.00012, 11, 13.0002, 16, 17.9999, 2000, 0, 0.977696, 5.70252, 8.00004, 11, 13, 16, 17.9999,  {0, 1.10823, 5.43611, 8, 11, 13, 16, 18.0001, 2000},
777  2000, 0, 1.26298, 6.03137, 8.00003, 11, 13, 16.0009, 17.9998, 2000, 0, 0.988707, 5.98453, 8, 11,  {0, 1.19621, 5.27647, 7.99994, 11, 13, 16, 18, 2000},
778  13, 16, 18.0001, 2000, 0, 1.22109, 6.76385, 8.00002, 11, 13.0005, 16.0001, 18.0006, 2000, 0,  {0, 1.72505, 5.14873, 8.00006, 11, 13, 16, 17.9999, 2000},
779  1.65541, 6.01998, 8.00006, 11.0057, 13, 16, 18, 2000, 0, 1.59779, 6.00152, 7.00005, 7.99997,  {0, 1.48515, 6.07123, 8.00006, 11, 13.0003, 16, 17.9999, 2000},
780  8.99997, 14.9991, 18, 2000, 0, 1.6515, 5.95297, 7.99999, 10, 12, 14.9995, 18, 2000, 0, 1.70339,  {0, 1.17628, 6.63392, 8.00011, 11, 13, 16, 17.9999, 2000},
781  6.43684, 9, 12, 14, 16, 21.9999, 2000, 0, 1.64867, 5.6503, 8, 10, 12, 14.9999, 18, 2000, 0,  {0, 1.11301, 5.94317, 7.99999, 11, 13, 16, 18, 2000},
782  1.83955, 6.64378, 9, 12, 14, 16, 22, 2000, 0, 1.71975, 6.42585, 9, 12, 14, 16, 22, 2000, 0,  {0, 1.04361, 6.40789, 8.00002, 11.0002, 13.0015, 16, 17.9996, 2000},
783  1.88735, 6.12987, 8, 10, 12, 15.0001, 18, 2000, 0, 1.86719, 5.94227, 8, 10, 12, 14.9999, 20,  {0, 1.12658, 5.69828, 8, 11, 13, 16, 18.0001, 2000},
784  2000, 0, 2.55127, 5.83621, 8.99997, 12, 15, 17.9999, 21.9998, 2000, 0, 2.59328, 5.90275,  {0, 0.840188, 5.44945, 8.00005, 11, 13, 16, 18, 2000},
785  8.99999, 12, 15, 18, 22, 2000, 0, 2.63523, 6.56428, 9.00004, 12, 15.0003, 18.001, 22.0029, 2000,  {0, 1.16985, 6.21385, 8.00012, 11, 13.0002, 16, 17.9999, 2000},
786  0, 2.63114, 6.77412, 8.99995, 11.9998, 14.9997, 17.9996, 21.9998, 2000, 0, 2.48986, 6.43372,  {0, 0.977696, 5.70252, 8.00004, 11, 13, 16, 17.9999, 2000},
787  8.99996, 11.9998, 14.9995, 17.9997, 21.9995, 2000, 0, 2.43724, 6.51911, 9.00012, 12, 15, 18,  {0, 1.26298, 6.03137, 8.00003, 11, 13, 16.0009, 17.9998, 2000},
788  21.9999, 2000, 0, 3.21403, 5.7, 9, 12, 15, 18, 22, 2000, 0, 3.3517, 6.30461, 8.99997, 12, 15,  {0, 0.988707, 5.98453, 8, 11, 13, 16, 18.0001, 2000},
789  18, 22, 2000, 0, 3.0843, 5.90189, 8.99993, 12, 15, 18, 22, 2000, 0, 3.35806, 6.20792, 8.99998,  {0, 1.22109, 6.76385, 8.00002, 11, 13.0005, 16.0001, 18.0006, 2000},
790  12.0001, 15, 18, 22, 2000, 0, 3.13525, 5.60432, 8.99997, 12, 15.0001, 18, 22, 2000, 0, 3.26271,  {0, 1.65541, 6.01998, 8.00006, 11.0057, 13, 16, 18, 2000},
791  6.38934, 9, 12, 15, 18, 22.0001, 2000 };  {0, 1.59779, 6.00152, 7.00005, 7.99997, 8.99997, 14.9991, 18, 2000},
792    {0, 1.6515, 5.95297, 7.99999, 10, 12, 14.9995, 18, 2000},
793    {0, 1.70339, 6.43684, 9, 12, 14, 16, 21.9999, 2000},
794    {0, 1.64867, 5.6503, 8, 10, 12, 14.9999, 18, 2000},
795    {0, 1.83955, 6.64378, 9, 12, 14, 16, 22, 2000},
796    {0, 1.71975, 6.42585, 9, 12, 14, 16, 22, 2000},
797    {0, 1.88735, 6.12987, 8, 10, 12, 15.0001, 18, 2000},
798    {0, 1.86719, 5.94227, 8, 10, 12, 14.9999, 20,2000},
799    {0, 2.55127, 5.83621, 8.99997, 12, 15, 17.9999, 21.9998, 2000},
800    {0, 2.59328, 5.90275, 8.99999, 12, 15, 18, 22, 2000},
801    {0, 2.63523, 6.56428, 9.00004, 12, 15.0003, 18.001, 22.0029, 2000},
802    {0, 2.63114, 6.77412, 8.99995, 11.9998, 14.9997, 17.9996, 21.9998, 2000},
803    {0, 2.48986, 6.43372, 8.99996, 11.9998, 14.9995, 17.9997, 21.9995, 2000},
804    {0, 2.43724, 6.51911, 9.00012, 12, 15, 18, 21.9999, 2000},
805    {0, 3.21403, 5.7, 9, 12, 15, 18, 22, 2000},
806    {0, 3.3517, 6.30461, 8.99997, 12, 15, 18, 22, 2000},
807    {0, 3.0843, 5.90189, 8.99993, 12, 15, 18, 22, 2000},
808    {0, 3.35806, 6.20792, 8.99998, 12.0001, 15, 18, 22, 2000},
809    {0, 3.13525, 5.60432, 8.99997, 12, 15.0001, 18, 22, 2000},
810    {0, 3.26271, 6.38934, 9, 12, 15, 18, 22.0001, 2000} };
811    
812    
813  Float_t A1t[48][9] = {  Float_t A1t[48][9] = {
814  0, 0.182202, -3.48762, -4.67241, -5.61872, 2.35336, -2.4112, -0.7861, 0, 0, 0.528581, -6.33244,  { 0, 0.182202, -3.48762, -4.67241, -5.61872, 2.35336, -2.4112, -0.7861, 0 },
815  0.176685, -3.3272, 5.47434, 7.62771, 18.9223, 0, 0, -0.148985, -5.31035, -3.1044, -1.84685,  { 0, 0.528581, -6.33244, 0.176685, -3.3272, 5.47434, 7.62771, 18.9223, 0 },
816  -0.678725, -0.00713058, 11.2127, 0, 0, 0.01113, -4.6759, -0.669811, 1.69435, 7.44019, 12.2231,  { 0, -0.148985, -5.31035, -3.1044, -1.84685, -0.678725, -0.00713058, 11.2127, 0 },
817  26.9653, 0, 0, 0.0567585, -3.05564, -2.57264, -0.0868904, 4.88938, 2.64699, -10, 0, 0, 0.331112,  { 0, 0.01113, -4.6759, -0.669811, 1.69435, 7.44019, 12.2231, 26.9653, 0 },
818  -3.06987, -0.451796, -0.660912, 4.49088, 6.43095, 16.7904, 0, 0, 0.0779621, -2.64271, -2.29896,  { 0, 0.0567585, -3.05564, -2.57264, -0.0868904, 4.88938, 2.64699, -10, 0 },
819  -1.95824, 1.8888, 1.02257, 10.5746, 0, 0, 0.257346, -3.93191, 0.564894, 2.04068, 4.12823,  { 0, 0.331112, -3.06987, -0.451796, -0.660912, 4.49088, 6.43095, 16.7904, 0 },
820  5.87416, 16.2268, 0, 0, -0.332593, -3.65149, 0, 10, 20, 30, 40, 0, 0, 0, 0, -0.5, 0, -6.80247,  { 0, 0.0779621, -2.64271, -2.29896, -1.95824, 1.8888, 1.02257, 10.5746, 0 },
821  -9.43463, -8.44329, 0, 0, -0.25099, -2.53532, -2.43846, -2.94008, -1.01258, -1.10502, 5.16068,  { 0, 0.257346, -3.93191, 0.564894, 2.04068, 4.12823, 5.87416, 16.2268, 0 },
822  0, 0, -0.101144, -4.98664, -0.369916, 2.2648, 4.2727, 3.1653, 19.8617, 0, 0, -0.5074, -3.98429,  { 0, -0.332593, -3.65149, 0, 10, 20, 30, 40, 0 },
823  -0.306633, 0.562595, 5.05787, 4.70127, 14.2399, 0, 0, -0.326603, -3.83632, -1.75409, -1.86815,  { 0, 0, 0, -0.5, 0, -6.80247, -9.43463, -8.44329, 0 },
824  0.84194, 1.32718, 14.4304, 0, 0, -0.597543, -3.82759, -6.9094, -2.88583, 5.50573, 4.30943,  { 0, -0.25099, -2.53532, -2.43846, -2.94008, -1.01258, -1.10502, 5.16068, 0 },
825  18.0664, 0, 0, -1.86862, -3.80777, -2.69084, -4.09258, 1.59904, 4.61543, 13.8186, 0, 0,  { 0, -0.101144, -4.98664, -0.369916, 2.2648, 4.2727, 3.1653, 19.8617, 0 },
826  -0.932447, -6.02195, -0.891975, 0.870346, 7.22131, 6.03928, 20.5102, 0, 0, -0.439221, -7.66335,  { 0, -0.5074, -3.98429, -0.306633, 0.562595, 5.05787, 4.70127, 14.2399, 0 },
827  -2.7363, -3.29581, 3.74263, 3.2571, 15.8539, 0, 0, -0.487944, -5.05733, -2.61662, -2.86336,  { 0, -0.326603, -3.83632, -1.75409, -1.86815, 0.84194, 1.32718, 14.4304, 0 },
828  2.65017, -0.919043, 7.10535, 0, 0, -0.0329559, -6.07396, -0.0044396, 2.75593, 8.87808, 14.9627,  { 0, -0.597543, -3.82759, -6.9094, -2.88583, 5.50573, 4.30943, 18.0664, 0 },
829  28.8783, 0, 0, -0.573054, -4.15302, -2.15074, -1.83499, 0.969726, 1.36361, 17.6185, 0, 0,  { 0, -1.86862, -3.80777, -2.69084, -4.09258, 1.59904, 4.61543, 13.8186, 0 },
830  0.238198, -3.75628, -1.02674, 1.12711, 3.06917, 2.61956, 11.2723, 0, 0, -0.473325, -5.88165,  { 0, -0.932447, -6.02195, -0.891975, 0.870346, 7.22131, 6.03928, 20.5102, 0 },
831  -2.10476, -0.508963, 4.24835, 6.41943, 14.9346, 0, 0, 0.0585487, -4.40372, -1.45949, 1.31992,  { 0, -0.439221, -7.66335, -2.7363, -3.29581, 3.74263, 3.2571, 15.8539, 0 },
832  4.7115, 5.03433, 11.968, 0, 0, -0.836615, -5.05945, -0.644868, 2.3894, 9.40413, 11.4195,  { 0, -0.487944, -5.05733, -2.61662, -2.86336, 2.65017, -0.919043, 7.10535, 0 },
833  25.3239, 0, 0, 0.026064, -4.78872, -0.819969, -0.57223, 1.84866, 0.29272, 15.1362, 0, 0,  { 0, -0.0329559, -6.07396, -0.0044396, 2.75593, 8.87808, 14.9627, 28.8783, 0 },
834  -0.659228, -6.61715, 0.371846, 4.36719, 10.657, 17.8551, 29.3359, 0, 0, -1.27483, -4.52966,  { 0, -0.573054, -4.15302, -2.15074, -1.83499, 0.969726, 1.36361, 17.6185, 0 },
835  -1.85458, -0.9634, 3.65819, 2.89211, 13.508, 0, 0, -1.49858, -5.08299, 0.103222, 3.84545,  { 0, 0.238198, -3.75628, -1.02674, 1.12711, 3.06917, 2.61956, 11.2723, 0 },
836  3.46523, -13.6535, -20, 0, 0, -1.70043, -4.92192, -2.46523, -0.681845, -2.80632, -8.55159, -20,  { 0, -0.473325, -5.88165, -2.10476, -0.508963, 4.24835, 6.41943, 14.9346, 0 },
837  0, 0, -1.85437, -5.65787, -1.56314, 0.372468, 4.54151, 2.97956, -7.90681, 0, 0, -1.78092,  { 0, 0.0585487, -4.40372, -1.45949, 1.31992, 4.7115, 5.03433, 11.968, 0 },
838  -4.19601, -1.84397, -0.175657, -2.0339, -5.64021, -20, 0, 0, -2.08786, -6.05197, -1.81875,  { 0, -0.836615, -5.05945, -0.644868, 2.3894, 9.40413, 11.4195, 25.3239, 0 },
839  -0.423923, 5.86772, 7.50042, 4.22714, 0, 0, -1.78679, -5.6835, -1.22858, -0.764359, 2.71007,  { 0, 0.026064, -4.78872, -0.819969, -0.57223, 1.84866, 0.29272, 15.1362, 0 },
840  4.16034, 4.49981, 0, 0, -2.21623, -5.39176, -0.174751, 0.19786, -1.93316, -7.45927, -20, 0, 0,  { 0, -0.659228, -6.61715, 0.371846, 4.36719, 10.657, 17.8551, 29.3359, 0 },
841  -2.2076, -4.93708, -1.49415, 0.576195, 0.552502, -5.02466, -18, 0, 0, -3.95472, -4.97236,  { 0, -1.27483, -4.52966, -1.85458, -0.9634, 3.65819, 2.89211, 13.508, 0 },
842  -5.73642, -7.17611, -8.40014, -10.7071, -13.5198, 0, 0, -3.98713, -4.90269, -4.51467, -4.74549,  { 0, -1.49858, -5.08299, 0.103222, 3.84545, 3.46523, -13.6535, -20, 0 },
843  -5.13124, -6.02539, -4.36386, 0, 0, -4.09193, -6.36148, -1.92129, 0.535293, 4.36379, 8.09335,  { 0, -1.70043, -4.92192, -2.46523, -0.681845, -2.80632, -8.55159, -20, 0 },
844  21.4513, 0, 0, -4.09301, -6.86077, -8.51634, -10.7671, -15.4194, -19.8748, -18.2532, 0, 0,  { 0, -1.85437, -5.65787, -1.56314, 0.372468, 4.54151, 2.97956, -7.90681, 0 },
845  -3.66083, -6.39249, -8.20002, -12.5867, -18.523, -21.1403, -22.5493, 0, 0, -3.66449, -6.84751,  { 0, -1.78092, -4.19601, -1.84397, -0.175657, -2.0339, -5.64021, -20, 0 },
846  -3.49245, -4.82854, 0.21682, 0.54105, -16.1417, 0, 0, -5.55283, -4.22, -4.20093, -2.0392,  { 0, -2.08786, -6.05197, -1.81875, -0.423923, 5.86772, 7.50042, 4.22714, 0 },
847  -1.493, 0.481244, 6.28662, 0, 0, -5.93701, -5.45729, -6.95403, -6.68625, -5.13187, -5.10613,  { 0, -1.78679, -5.6835, -1.22858, -0.764359, 2.71007, 4.16034, 4.49981, 0 },
848  -2.64945, 0, 0, -5.25381, -4.94071, -7.72978, -4.67849, -4.74316, -3.91651, 1.17451, 0, 0,  { 0, -2.21623, -5.39176, -0.174751, 0.19786, -1.93316, -7.45927, -20, 0 },
849  -6.01523, -5.33454, -6.26672, -5.88745, -8.91118, -11.1342, -7.91073, 0, 0, -5.53583, -4.3686,  { 0, -2.2076, -4.93708, -1.49415, 0.576195, 0.552502, -5.02466, -18, 0 },
850  -8.88023, -6.36106, -4.70941, -3.2139, -0.381882, 0, 0, -5.7646, -6.25807, -5.12981, -1.5055,  { 0, -3.95472, -4.97236, -5.73642, -7.17611, -8.40014, -10.7071, -13.5198, 0 },
851  -1.11425, -0.388791, 8.42188, 0 } ;  { 0, -3.98713, -4.90269, -4.51467, -4.74549, -5.13124, -6.02539, -4.36386, 0 },
852    { 0, -4.09193, -6.36148, -1.92129, 0.535293, 4.36379, 8.09335, 21.4513, 0 },
853    { 0, -4.09301, -6.86077, -8.51634, -10.7671, -15.4194, -19.8748, -18.2532, 0 },
854    { 0, -3.66083, -6.39249, -8.20002, -12.5867, -18.523, -21.1403, -22.5493, 0 },
855    { 0, -3.66449, -6.84751, -3.49245, -4.82854, 0.21682, 0.54105, -16.1417, 0 },
856    { 0, -5.55283, -4.22, -4.20093, -2.0392, -1.493, 0.481244, 6.28662, 0 },
857    { 0, -5.93701, -5.45729, -6.95403, -6.68625, -5.13187, -5.10613, -2.64945, 0 },
858    { 0, -5.25381, -4.94071, -7.72978, -4.67849, -4.74316, -3.91651, 1.17451, 0 },
859    { 0, -6.01523, -5.33454, -6.26672, -5.88745, -8.91118, -11.1342, -7.91073, 0 },
860    { 0, -5.53583, -4.3686, -8.88023, -6.36106, -4.70941, -3.2139, -0.381882, 0 },
861    { 0, -5.7646, -6.25807, -5.12981, -1.5055, -1.11425, -0.388791, 8.42188, 0 } };
862    
863    
864  Float_t A2t[48][9] = {  Float_t A2t[48][9] = {
865  0, 0.317852, 2.46394, 4.35287, 6.69993, 1.37704, 9.38636, 22.3426, 0, 0, 0.0270999, 4.03858,  { 0, 0.317852, 2.46394, 4.35287, 6.69993, 1.37704, 9.38636, 22.3426, 0 },
866  0.614142, 7.64715, 3, 4.55046, 9.46688, 0, 0, 0.422802, 3.25444, 2.83067, 3.78916, 7.15528,  { 0, 0.0270999, 4.03858, 0.614142, 7.64715, 3, 4.55046, 9.46688, 0 },
867  9.61404, 9.53181, 0, 0, 0.27719, 2.81849, 2, 3, 3, 3, 3, 0, 0, 0.257138, 1.96682, 2.66388,  { 0, 0.422802, 3.25444, 2.83067, 3.78916, 7.15528, 9.61404, 9.53181, 0 },
868  2.02686, 0.981737, 7.07876, 32, 0, 0, 0.0777448, 1.95238, 0.591915, 3.36314, 1.71777, 3.1121, 3,  { 0, 0.27719, 2.81849, 2, 3, 3, 3, 3, 0 },
869  0, 0, 0.201297, 1.54333, 2.06343, 3.81529, 3.47056, 7.66122, 10.2165, 0, 0, 0.090275, 2.35456,  { 0, 0.257138, 1.96682, 2.66388, 2.02686, 0.981737, 7.07876, 32, 0 },
870  0.150419, 1.48979, 4.43331, 6.09798, 9.59925, 0, 0, 0.472466, 2.2568, 0, 0, 0, 0, 0, 0, 0, 0, 0,  { 0, 0.0777448, 1.95238, 0.591915, 3.36314, 1.71777, 3.1121, 3, 0 },
871  0, 0, 5.8114, 8.76464, 11.718, 0, 0, 0.369669, 1.66502, 2.21937, 4.8545, 6.71778, 9.52608,  { 0, 0.201297, 1.54333, 2.06343, 3.81529, 3.47056, 7.66122, 10.2165, 0 },
872  13.5645, 0, 0, 0.278447, 3.03196, 0.562358, 0.978803, 4.19387, 9.26949, 4.33973, 0, 0, 0.488781,  { 0, 0.090275, 2.35456, 0.150419, 1.48979, 4.43331, 6.09798, 9.59925, 0 },
873  2.52383, 0.674871, 2.54554, 2.33603, 6.75428, 10.7769, 0, 0, 0.396462, 2.42949, 1.33035, 3.9579,  { 0, 0.472466, 2.2568, 0, 0, 0, 0, 0, 0 },
874  4.98889, 7.41728, 8.78462, 0, 0, 0.616543, 2.39152, 7.13157, 4.52173, 0.795959, 5.05895,  { 0, 0, 0, 0, 0, 5.8114, 8.76464, 11.718, 0 },
875  3.58876, 0, 0, 1.3407, 2.54098, 2, 7.35567, 6.08494, 6.47321, 6.60084, 0, 0, 0.855061, 3.97328,  { 0, 0.369669, 1.66502, 2.21937, 4.8545, 6.71778, 9.52608, 13.5645, 0 },
876  2, 3, 3, 10.1946, 7.06782, 0, 0, 0.492265, 5.11681, 2, 2.24085, 0.00142742, 3.12852, 1.94308, 0,  { 0, 0.278447, 3.03196, 0.562358, 0.978803, 4.19387, 9.26949, 4.33973, 0 },
877  0, 0.594536, 3.10529, 2.07652, 4.86122, 2.7748, 10.0368, 14.8149, 0, 0, 0.220041, 3.69287, 2, 3,  { 0, 0.488781, 2.52383, 0.674871, 2.54554, 2.33603, 6.75428, 10.7769, 0 },
878  3, 0.0668348, 0.124322, 0, 0, 0.652342, 2.52474, 1.92129, 3.97957, 5.4076, 8.66393, 5.53485, 0,  { 0, 0.396462, 2.42949, 1.33035, 3.9579, 4.98889, 7.41728, 8.78462, 0 },
879  0, 0.109911, 2.37426, 2, 2.09403, 4.25338, 7.64627, 8.96803, 0, 0, 0.503317, 3.66579, 2, 3, 3,  { 0, 0.616543, 2.39152, 7.13157, 4.52173, 0.795959, 5.05895, 3.58876, 0 },
880  3.95553, 7.79201, 0, 0, 0.18358, 2.71524, 2, 1.64493, 2.67235, 6.00813, 13.3661, 0, 0, 0.762639,  { 0, 1.3407, 2.54098, 2, 7.35567, 6.08494, 6.47321, 6.60084, 0 },
881  3.10968, 2, 1.79493, 0.0228019, 3, 6.68329, 0, 0, 0.218363, 2.87712, 0.218535, 3, 4.57375,  { 0, 0.855061, 3.97328, 2, 3, 3, 10.1946, 7.06782, 0 },
882  9.68986, 4.89219, 0, 0, 0.675406, 4.00709, 2, 1.07325, 3, 0.182969, 8.20433, 0, 0, 0.991549,  { 0, 0.492265, 5.11681, 2, 2.24085, 0.00142742, 3.12852, 1.94308, 0 },
883  2.68269, 2, 3.876, 2.94015, 6.72011, 7.03988, 0, 0, 1.02743, 3.12518, 2, 2.20294, 6.63646,  { 0, 0.594536, 3.10529, 2.07652, 4.86122, 2.7748, 10.0368, 14.8149, 0 },
884  22.0153, 35, 0, 0, 1.18885, 3.01461, 2.30242, 3.46316, 8.98077, 16.6101, 35, 0, 0, 1.47119,  { 0, 0.220041, 3.69287, 2, 3, 3, 0.0668348, 0.124322, 0 },
885  3.24004, 1.07333, 2.31147, 2.98418, 9.99881, 28.0778, 0, 0, 1.28408, 2.55246, 1.49292, 3.01143,  { 0, 0.652342, 2.52474, 1.92129, 3.97957, 5.4076, 8.66393, 5.53485, 0 },
886  8.45419, 13.2062, 35, 0, 0, 1.56497, 3.35834, 0.73553, 3, 2.13162, 5.84836, 18.6428, 0, 0,  { 0, 0.109911, 2.37426, 2, 2.09403, 4.25338, 7.64627, 8.96803, 0 },
887  1.39782, 3.19843, 0.593735, 3.34643, 4.22204, 6.78619, 12.8529, 0, 0, 1.46182, 3.30186,  { 0, 0.503317, 3.66579, 2, 3, 3, 3.95553, 7.79201, 0 },
888  0.0348858, 3.87061, 9.87769, 16.8741, 35, 0, 0, 1.50597, 3.03838, 1.62411, 2.96043, 7.1428,  { 0, 0.18358, 2.71524, 2, 1.64493, 2.67235, 6.00813, 13.3661, 0 },
889  15.4035, 35, 0, 0, 2.6053, 2.92019, 3.8816, 7.13833, 9.84022, 13.4445, 22.2018, 0, 0, 2.58901,  { 0, 0.762639, 3.10968, 2, 1.79493, 0.0228019, 3, 6.68329, 0 },
890  2.74623, 2.66245, 5.37385, 8.40354, 11.6502, 17.4423, 0, 0, 2.65151, 3.592, 2, 3, 3, 3, 3, 0, 0,  { 0, 0.218363, 2.87712, 0.218535, 3, 4.57375, 9.68986, 4.89219, 0 },
891  2.65586, 3.87903, 6.12175, 9.92231, 16.1427, 21.4766, 21.4604, 0, 0, 2.38768, 3.77375, 5.67703,  { 0, 0.675406, 4.00709, 2, 1.07325, 3, 0.182969, 8.20433, 0 },
892  11.8596, 18.8674, 20.8655, 24.5083, 0, 0, 2.40258, 4.1273, 2, 5.81564, 2.29756, 4.40615,  { 0, 0.991549, 2.68269, 2, 3.876, 2.94015, 6.72011, 7.03988, 0 },
893  32.3639, 0, 0, 3.54156, 2.13, 2.79762, 2.76993, 4.67104, 5.20053, 8.36394, 0, 0, 3.76292,  { 0, 1.02743, 3.12518, 2, 2.20294, 6.63646, 22.0153, 35, 0 },
894  2.83393, 5.30926, 6.67988, 7.35393, 9.46522, 14.8599, 0, 0, 3.37723, 2.74166, 6.71253, 5.63259,  { 0, 1.18885, 3.01461, 2.30242, 3.46316, 8.98077, 16.6101, 35, 0 },
895  8.42885, 9.99872, 14.8742, 0, 0, 3.83378, 2.79501, 4.78642, 5.94201, 11.4635, 14.7442, 16.5806,  { 0, 1.47119, 3.24004, 1.07333, 2.31147, 2.98418, 9.99881, 28.0778, 0 },
896  0, 0, 3.59181, 2.3773, 7.14813, 5.60101, 6.47122, 6.64957, 14.2374, 0, 0, 3.68523, 3.54382,  { 0, 1.28408, 2.55246, 1.49292, 3.01143, 8.45419, 13.2062, 35, 0 },
897  3.92867, 2.18506, 5.56025, 7.75895, 7.448, 0 } ;  { 0, 1.56497, 3.35834, 0.73553, 3, 2.13162, 5.84836, 18.6428, 0 },
898    { 0, 1.39782, 3.19843, 0.593735, 3.34643, 4.22204, 6.78619, 12.8529, 0 },
899    { 0, 1.46182, 3.30186, 0.0348858, 3.87061, 9.87769, 16.8741, 35, 0 },
900    { 0, 1.50597, 3.03838, 1.62411, 2.96043, 7.1428, 15.4035, 35, 0 },
901    { 0, 2.6053, 2.92019, 3.8816, 7.13833, 9.84022, 13.4445, 22.2018, 0 },
902    { 0, 2.58901, 2.74623, 2.66245, 5.37385, 8.40354, 11.6502, 17.4423, 0 },
903    { 0, 2.65151, 3.592, 2, 3, 3, 3, 3, 0 },
904    { 0, 2.65586, 3.87903, 6.12175, 9.92231, 16.1427, 21.4766, 21.4604, 0 },
905    { 0, 2.38768, 3.77375, 5.67703, 11.8596, 18.8674, 20.8655, 24.5083, 0 },
906    { 0, 2.40258, 4.1273, 2, 5.81564, 2.29756, 4.40615, 32.3639, 0 },
907    { 0, 3.54156, 2.13, 2.79762, 2.76993, 4.67104, 5.20053, 8.36394, 0 },
908    { 0, 3.76292, 2.83393, 5.30926, 6.67988, 7.35393, 9.46522, 14.8599, 0 },
909    { 0, 3.37723, 2.74166, 6.71253, 5.63259, 8.42885, 9.99872, 14.8742, 0 },
910    { 0, 3.83378, 2.79501, 4.78642, 5.94201, 11.4635, 14.7442, 16.5806, 0 },
911    { 0, 3.59181, 2.3773, 7.14813, 5.60101, 6.47122, 6.64957, 14.2374, 0 },
912    { 0, 3.68523, 3.54382, 3.92867, 2.18506, 5.56025, 7.75895, 7.448, 0 } };
913    
914    
915  // S115B failure: 1158700000 // 2006-09-19 21:06:40 UTC  // S115B failure: 1158700000 // 2006-09-19 21:06:40 UTC
916    
917  if (time > 1158700000.) {     // first workaround: just use calibration of PMT S115A  if (time < 1158700000.) {     // first workaround: just use calibration of PMT S115A
918  for ( Int_t jj=0; jj<9; jj++ ){  for ( Int_t jj=0; jj<9; jj++ ){
919  A0t[9][jj] = A0t[8][jj] ;  A0t[9][jj] = A0t[8][jj] ;
920  A1t[9][jj] = A1t[8][jj] ;  A1t[9][jj] = A1t[8][jj] ;
# Line 629  A2t[9][jj] = A2t[8][jj] ; Line 925  A2t[9][jj] = A2t[8][jj] ;
925    
926  //  2nd-order correction  //  2nd-order correction
927  Float_t corr_a[6][4] = {    Float_t corr_a[6][4] = {  
928  0.551894 , 2.24353 , -3.35885 , 1.51401 , 0.915691 , 4.83967 , -6.85389 , 3.13679 ,  {0.551894 , 2.24353 , -3.35885 , 1.51401} ,
929  1.84338 , 5.63517 , -8.41577 , 4.04055 , 1.51216 , 11.3233 , -16.2119 , 7.45008 ,  {0.915691 , 4.83967 , -6.85389 , 3.13679} ,
930  1.50481 , 15.2538 , -21.2003 , 9.51127 , 1.82038 , 17.5336 , -23.5512 , 10.3036  };  {1.84338 , 5.63517 , -8.41577 , 4.04055} ,
931    {1.51216 , 11.3233 , -16.2119 , 7.45008} ,
932    {1.50481 , 15.2538 , -21.2003 , 9.51127} ,
933    {1.82038 , 17.5336 , -23.5512 , 10.3036}  };
934    
935  //---------------------------------------------------------------------  //---------------------------------------------------------------------
936    
# Line 641  Int_t  iz; Line 940  Int_t  iz;
940  Float_t x1[9],y1[9];  Float_t x1[9],y1[9];
941  Int_t n1 = 9;  Int_t n1 = 9;
942    
943  Float_t  Layercharge[6] = {1000., 1000., 1000., 1000., 1000., 1000. };  Float_t  Layercharge[6] = {1005., 1005., 1005., 1005., 1005., 1005. };
944    
945  Int_t  Layerinfo[6] = {0, 0, 0, 0, 0, 0 };  Int_t  Layerinfo[6] = {0, 0, 0, 0, 0, 0 };
946    
947    Float_t adc[48],adc_c[48],PMTcharge_arr[48];
948    
949    Float_t beta_mean = fabs(track->beta[12]);
950    
951    Float_t beta_mean = fabs(track->beta[12]);  // New!! If "beta_in" != 100. then overwrite beta_mean with beta_in
952    if (beta_in != 100.) beta_mean=beta_in;
953    
954    Int_t ncount=0;    Int_t ncount=0;
955    Float_t charge_chi=1000.;    Float_t charge_chi=1000.;
956    
   if ((beta_mean > 0.05)  && (beta_mean < 1.5)) {  
957        
958  //-------------------------------------------------------------  //-------------------------------------------------------------
959    
960  // fill adc and tdc  // fill adc and tdc
961    
962     Int_t ich,jj,kk;     Int_t ich,jj,kk;
    Float_t adc[48],adc_c[48],PMTcharge_arr[48];  
963    
964     for (ich=0; ich<48; ich++)   adc[ich]   = 4095.;     for (ich=0; ich<48; ich++)   adc[ich]   = 4095.;
965     for (ich=0; ich<48; ich++)   adc_c[ich] = 1000.;     for (ich=0; ich<48; ich++)   adc_c[ich] = 1000.;
966     for (ich=0; ich<48; ich++)   PMTcharge_arr[ich] = 1000.;     for (ich=0; ich<48; ich++)   PMTcharge_arr[ich] = 1000.;
967    
968    
969    if ((beta_mean < 0.05)  || (beta_mean > 2.0)) {
970      for (Int_t jj=0; jj<48;jj++) charge_PMT_std[jj] = 1001.;
971      for (Int_t jj=0; jj<6;jj++) charge_layer_std[jj] = 1001.;
972      for (Int_t jj=0; jj<6;jj++) layerinfo_std[jj] = 1001.;
973      charge_std = 1001.;
974      ncount_std = 0;
975                                                  }
976    
977    
978      if ((beta_mean > 0.05)  && (beta_mean < 2.0)) {
979    
980     Float_t betahelp =   pow(beta_mean, 1.2);     Float_t betahelp =   pow(beta_mean, 1.2);
981    
982  //=======================================================================  //=======================================================================
# Line 685  Int_t  Layerinfo[6] = {0, 0, 0, 0, 0, 0 Line 999  Int_t  Layerinfo[6] = {0, 0, 0, 0, 0, 0
999            Int_t adcflag = track->adcflag[ipmt];            Int_t adcflag = track->adcflag[ipmt];
1000            L2->GetToFLevel2()->GetPMTIndex(pmtadc,jj,kk);            L2->GetToFLevel2()->GetPMTIndex(pmtadc,jj,kk);
1001            if (adcflag==0) adc_c[pmtadc] = dEdx;            if (adcflag==0) adc_c[pmtadc] = dEdx;
1002            if (adc[pmtadc] > PMTsat[pmtadc]) adc_c[pmtadc] = 1000.;  
1003             if (adc[pmtadc] == 4095) adc_c[pmtadc] = 0.;
1004             if (adc[pmtadc] == 4095) PMTcharge_arr[pmtadc] = 0.;
1005    
1006             if ((adc[pmtadc]>PMTsat[pmtadc]) && (adc[pmtadc]<4095)) adc_c[pmtadc] = 1000.;
1007                                                                                    
1008           if (adc[pmtadc] < PMTsat[pmtadc]) {           if (adc[pmtadc] < PMTsat[pmtadc]) {
1009    
1010  if ((pmtadc!=4) && (pmtadc!=8) || (pmtadc!=28) || (pmtadc!=31) || (pmtadc!=34) || (pmtadc!=39) && (pmtadc!=41) || (pmtadc!=46)) {  if ((pmtadc!=4) && (pmtadc!=8) && (pmtadc!=28) && (pmtadc!=31) && (pmtadc!=34) && (pmtadc!=39) && (pmtadc!=41) && (pmtadc!=46)) {
1011    
1012      for ( Int_t jj=0; jj<9; jj++ ){      for ( Int_t jj=0; jj<9; jj++ ){
1013      x1[jj] = A0t[pmtadc][jj]+A1t[pmtadc][jj]*beta_mean+A2t[pmtadc][jj]*beta_mean*beta_mean;      x1[jj] = A0t[pmtadc][jj]+A1t[pmtadc][jj]*beta_mean+A2t[pmtadc][jj]*beta_mean*beta_mean;
# Line 702  if ((pmtadc!=4) && (pmtadc!=8) || (pmtad Line 1020  if ((pmtadc!=4) && (pmtadc!=8) || (pmtad
1020      TGraph *gr2 = new TGraph(n1,x1,y1);      TGraph *gr2 = new TGraph(n1,x1,y1);
1021      TSpline3 *spl2 = new TSpline3("grs",gr2);    // use a cubic spline      TSpline3 *spl2 = new TSpline3("grs",gr2);    // use a cubic spline
1022      chelp = spl2->Eval(ym);      chelp = spl2->Eval(ym);
1023        if (chelp<0.) chelp=0.0001;  //WM new
1024      charge = TMath::Sqrt(chelp);      charge = TMath::Sqrt(chelp);
1025    
1026      gr2->Delete();      gr2->Delete();
# Line 709  if ((pmtadc!=4) && (pmtadc!=8) || (pmtad Line 1028  if ((pmtadc!=4) && (pmtadc!=8) || (pmtad
1028      PMTcharge_arr[pmtadc] = charge;      PMTcharge_arr[pmtadc] = charge;
1029                                                                           } // pmtadc != ...                                                                           } // pmtadc != ...
1030    
1031  if ((pmtadc==4) && (pmtadc==8) || (pmtadc==28) || (pmtadc==31) || (pmtadc==34) || (pmtadc==39) && (pmtadc==41) || (pmtadc==46)) {  if ((pmtadc==4) || (pmtadc==8) || (pmtadc==28) || (pmtadc==31) || (pmtadc==34) || (pmtadc==39) || (pmtadc==41) || (pmtadc==46)) {
1032           for ( Int_t jj=0; jj<8; jj++ ){           for ( Int_t jj=0; jj<8; jj++ ){
1033           yl = A0t[pmtadc][jj]+A1t[pmtadc][jj]*beta_mean+A2t[pmtadc][jj]*beta_mean*beta_mean;           yl = A0t[pmtadc][jj]+A1t[pmtadc][jj]*beta_mean+A2t[pmtadc][jj]*beta_mean*beta_mean;
1034           yh = A0t[pmtadc][jj+1]+A1t[pmtadc][jj+1]*beta_mean+A2t[pmtadc][jj+1]*beta_mean*beta_mean;           yh = A0t[pmtadc][jj+1]+A1t[pmtadc][jj+1]*beta_mean+A2t[pmtadc][jj+1]*beta_mean*beta_mean;
# Line 717  if ((pmtadc==4) && (pmtadc==8) || (pmtad Line 1036  if ((pmtadc==4) && (pmtadc==8) || (pmtad
1036           m = (C0t[pmtadc][jj+1]*C0t[pmtadc][jj+1] - C0t[pmtadc][jj]*C0t[pmtadc][jj]) / (yh - yl);           m = (C0t[pmtadc][jj+1]*C0t[pmtadc][jj+1] - C0t[pmtadc][jj]*C0t[pmtadc][jj]) / (yh - yl);
1037           b = (C0t[pmtadc][jj]*C0t[pmtadc][jj]) - m*yl;           b = (C0t[pmtadc][jj]*C0t[pmtadc][jj]) - m*yl;
1038           chelp = m*ym + b;           chelp = m*ym + b;
1039             if (chelp<0.) chelp=0.0001;  //WM new
1040           charge= TMath::Sqrt(chelp);           charge= TMath::Sqrt(chelp);
1041           PMTcharge_arr[pmtadc] = charge;           PMTcharge_arr[pmtadc] = charge;
1042                               }                               }
# Line 768  Int_t ihelp_a[6] = {0,16,28,32,36,42}; Line 1088  Int_t ihelp_a[6] = {0,16,28,32,36,42};
1088    
1089  for (Int_t ilay=0; ilay<6; ilay ++) {  for (Int_t ilay=0; ilay<6; ilay ++) {
1090  Int_t jj = PaddleIdOfTrack[ilay] ;  Int_t jj = PaddleIdOfTrack[ilay] ;
1091  Float_t xhelp = 1000.;  //Float_t xhelp = 1000.;
1092    Float_t xhelp = 1005.;
1093    
1094  if (jj == -1) Layerinfo[ilay] = -1;  if (jj == -1) Layerinfo[ilay] = -1;
1095    
1096  if (jj != -1) {  if (jj != -1) {
1097  Int_t ih = ihelp_a[ilay] + 2*jj;  Int_t ih = ihelp_a[ilay] + 2*jj;
1098    
1099    // New WM
1100    Int_t igood1=0;
1101    Int_t igood2=0;
1102    if ((PMTcharge_arr[ih] < 1000.) && (PMTcharge_arr[ih] > 0.)) igood1=1;
1103    if ((PMTcharge_arr[ih+1] < 1000.) && (PMTcharge_arr[ih+1] > 0.)) igood2=1;
1104    
1105    if ((PMTcharge_arr[ih]==0.) && (PMTcharge_arr[ih+1]==0.))  xhelp = 0.;
1106    if ((igood1==1)&&(igood2==1)) xhelp = 0.5*(PMTcharge_arr[ih]+PMTcharge_arr[ih+1]) ;
1107    if ((igood1==1)&&(igood2==0)) xhelp = PMTcharge_arr[ih];
1108    if ((igood2==1)&&(igood1==0)) xhelp = PMTcharge_arr[ih+1];
1109    
1110    
1111    /*
1112  if ((PMTcharge_arr[ih] < 1000.) && (PMTcharge_arr[ih+1] < 1000.)) xhelp = 0.5*(PMTcharge_arr[ih]+PMTcharge_arr[ih+1]) ;  if ((PMTcharge_arr[ih] < 1000.) && (PMTcharge_arr[ih+1] < 1000.)) xhelp = 0.5*(PMTcharge_arr[ih]+PMTcharge_arr[ih+1]) ;
1113  if ((PMTcharge_arr[ih] < 1000.) && (PMTcharge_arr[ih+1]==1000.))  xhelp = PMTcharge_arr[ih] ;  if ((PMTcharge_arr[ih] < 1000.) && (PMTcharge_arr[ih+1]==1000.))  xhelp = PMTcharge_arr[ih] ;
1114  if ((PMTcharge_arr[ih]==1000.) && (PMTcharge_arr[ih+1] < 1000.))  xhelp = PMTcharge_arr[ih+1] ;  if ((PMTcharge_arr[ih]==1000.) && (PMTcharge_arr[ih+1] < 1000.))  xhelp = PMTcharge_arr[ih+1] ;
1115    */
1116    
1117     if (adc[ih] ==  4095) Layerinfo[ilay] = Layerinfo[ilay] + 1;     if (adc[ih] ==  4095) Layerinfo[ilay] = Layerinfo[ilay] + 1;
1118     if (adc[ih+1] ==  4095) Layerinfo[ilay] = Layerinfo[ilay] + 1;     if (adc[ih+1] ==  4095) Layerinfo[ilay] = Layerinfo[ilay] + 1;
# Line 801  Float_t xb = beta_mean; Line 1137  Float_t xb = beta_mean;
1137  for (Int_t ii=0; ii<6;  ii++) {  for (Int_t ii=0; ii<6;  ii++) {
1138  Int_t ic = 0;  Int_t ic = 0;
1139  Float_t corr[4] = {1., 0., 0., 0.};  Float_t corr[4] = {1., 0., 0., 0.};
1140  for (Int_t iii=1; iii<9;  iii++) if (fabs(Layercharge[ii] - iii)<0.50) ic = iii;  //for (Int_t iii=1; iii<9;  iii++) if (fabs(Layercharge[ii] - iii)<0.50) ic = iii;
1141    for (Int_t iii=1; iii<10;  iii++) if (fabs(Layercharge[ii] - iii)<0.50) ic = iii;
1142  if ((ic>0)&&(ic<=5)) for (Int_t iii=0; iii<4;  iii++) corr[iii] = corr_a[ic-1][iii];  if ((ic>0)&&(ic<=5)) for (Int_t iii=0; iii<4;  iii++) corr[iii] = corr_a[ic-1][iii];
1143  if (ic >5) for (Int_t iii=0; iii<4;  iii++) corr[iii] = corr_a[5][iii];  if (ic >5) for (Int_t iii=0; iii<4;  iii++) corr[iii] = corr_a[5][iii];
1144    
# Line 810  Float_t c_corr = corr[0]+corr[1]*xb+corr Line 1147  Float_t c_corr = corr[0]+corr[1]*xb+corr
1147  if ((ic>0)&&(ic<=5)) c_corr = c_corr/(1.*ic) ;  if ((ic>0)&&(ic<=5)) c_corr = c_corr/(1.*ic) ;
1148  if (ic>5) c_corr = c_corr/6. ;  if (ic>5) c_corr = c_corr/6. ;
1149    
1150    //cout<<Layercharge[ii]<<" "<<ic<<" "<<c_corr<<" => ";
1151  Layercharge[ii] = Layercharge[ii]/c_corr;  Layercharge[ii] = Layercharge[ii]/c_corr;
1152    //cout<<Layercharge[ii]<<endl;
1153    
1154                              }                              }
1155    
1156    
1157  //==========================================================================  //==========================================================================
1158    //cout<<"In ToFNuclei Std: ";
1159    //for (Int_t ilay=0; ilay<6; ilay ++) cout<<Layercharge[ilay]<<" ";
1160    //cout<<endl;
1161  //==========================================================================  //==========================================================================
1162    
1163    
   
1164  Int_t  icount=0;  Int_t  icount=0;
1165  Float_t charge_mean = 0.;  Float_t charge_mean = 0.;
1166  for (Int_t ii=0; ii<6;  ii++) {  for (Int_t ii=0; ii<6;  ii++) {
# Line 827  if (Layercharge[ii] < 1000) icount++; Line 1169  if (Layercharge[ii] < 1000) icount++;
1169                              }                              }
1170  if (icount>0) charge_mean = charge_mean/(1.*icount) ;  if (icount>0) charge_mean = charge_mean/(1.*icount) ;
1171    
1172    if (icount>0) {
1173    
1174    //for (Int_t ii=0; ii<6;  ii++) cout<<Layercharge[ii]<<" ";
1175    //cout<<endl;
1176    
1177    
1178      vector<float> charge_v;
1179      Float_t charge_median = 0.;
1180    
1181      ////////  get the median charge ////////////
1182      for(Int_t ii=0;ii<6;ii++) {
1183      if (Layercharge[ii] < 1000) charge_v.push_back(Layercharge[ii]);
1184                                }
1185    
1186      std::sort(charge_v.begin(),charge_v.end());
1187      charge_median = charge_v[(int)(charge_v.size()/2+charge_v.size()%2)-1];
1188    
1189    //cout<<charge_mean<<" "<<charge_median<<endl;
1190    
1191      charge_mean = charge_median;
1192    
1193    }  // icount>0
1194    
1195  //--- Calculate charge for the second time, use residuals of the single  //--- Calculate charge for the second time, use residuals of the single
1196  //--- measurements to get a chi2 value  //--- measurements to get a chi2 value
# Line 873  if (icount>0) charge_mean = charge_mean/ Line 1237  if (icount>0) charge_mean = charge_mean/
1237    
1238  //  charge_tof = charge_chi;  //  charge_tof = charge_chi;
1239    
1240   } // 0.05 < fabs( beta) < 1.5  // changed 30-01-2009 WM
1241    
1242      for (Int_t jj=0; jj<48;jj++) charge_PMT_std[jj] = PMTcharge_arr[jj];
1243    for (Int_t jj=0; jj<6;jj++) charge_layer_std[jj] = Layercharge[jj];    for (Int_t jj=0; jj<6;jj++) charge_layer_std[jj] = Layercharge[jj];
1244    for (Int_t jj=0; jj<6;jj++) layerinfo_std[jj] = Layerinfo[jj];    for (Int_t jj=0; jj<6;jj++) layerinfo_std[jj] = Layerinfo[jj];
1245    charge_std = charge_chi;    charge_std = charge_chi;
1246    ncount_std = ncount;    ncount_std = ncount;
1247    
1248     } // 0.05 < fabs( beta) < 2.0
1249    
1250    
1251  } // standalone track found  } // standalone track found
1252    
1253  }  }

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.5

  ViewVC Help
Powered by ViewVC 1.1.23