49 Long_t i_this = (Long_t)
this;
56 {fEcal =
new TEcnaParEcal(pObjectManager, SubDet.Data()); }
60 SetEcalSubDetector(SubDet.Data());
70 SetEcalSubDetector(SubDet.Data(), pEcal);
80 if (fT2dSMCrys != 0){
delete [] fT2dSMCrys; fCdelete++;}
81 if (fT1dSMCrys != 0){
delete [] fT1dSMCrys; fCdelete++;}
82 if (fT1dSMTow != 0){
delete [] fT1dSMTow; fCdelete++;}
83 if (fT1dTowEcha != 0){
delete [] fT1dTowEcha; fCdelete++;}
86 if (fT3dDeeCrys != 0){
delete [] fT3dDeeCrys; fCdelete++;}
87 if (fT2dDeeCrys != 0){
delete [] fT2dDeeCrys; fCdelete++;}
88 if (fT1dDeeCrys != 0){
delete [] fT1dDeeCrys; fCdelete++;}
89 if (fT2dDeeSC != 0){
delete [] fT2dDeeSC; fCdelete++;}
90 if (fT1dDeeSC != 0){
delete [] fT1dDeeSC; fCdelete++;}
91 if (fT2dSCEcha != 0){
delete [] fT2dSCEcha; fCdelete++;}
92 if (fT1dSCEcha != 0){
delete [] fT1dSCEcha; fCdelete++;}
93 if (fT2d_jch_JY != 0){
delete [] fT2d_jch_JY; fCdelete++;}
94 if (fT1d_jch_JY != 0){
delete [] fT1d_jch_JY; fCdelete++;}
95 if (fT2d_ich_IX != 0){
delete [] fT2d_ich_IX; fCdelete++;}
96 if (fT1d_ich_IX != 0){
delete [] fT1d_ich_IX; fCdelete++;}
97 if (fT2d_DS != 0){
delete [] fT2d_DS; fCdelete++;}
98 if (fT1d_DS != 0){
delete [] fT1d_DS; fCdelete++;}
99 if (fT2d_DSSC != 0){
delete [] fT2d_DSSC; fCdelete++;}
100 if (fT1d_DSSC != 0){
delete [] fT1d_DSSC; fCdelete++;}
101 if (fT2d_DeeSCCons != 0){
delete [] fT2d_DeeSCCons; fCdelete++;}
102 if (fT1d_DeeSCCons != 0){
delete [] fT1d_DeeSCCons; fCdelete++;}
103 if (fT2d_RecovDeeSC != 0){
delete [] fT2d_RecovDeeSC; fCdelete++;}
104 if (fT1d_RecovDeeSC != 0){
delete [] fT1d_RecovDeeSC; fCdelete++;}
124 fCodeChNumberingLvrbBot =
"bottom";
125 fCodeChNumberingLvrbTop =
"top";
148 fCodeChNumberingITP1Bot =
"bottom";
149 fCodeChNumberingITP2Top =
"top";
165 Int_t MaxCar = fgMaxCar;
166 fFlagSubDet.Resize(MaxCar);
169 if( fFlagSubDet ==
"EB" ){BuildBarrelCrysTable();}
170 if( fFlagSubDet ==
"EE" ){BuildEndcapCrysTable(); BuildEndcapSCTable();}
176 Int_t MaxCar = fgMaxCar;
177 fFlagSubDet.Resize(MaxCar);
178 fFlagSubDet = fEcal->GetEcalSubDetector();
180 if( fFlagSubDet ==
"EB" ){BuildBarrelCrysTable();}
181 if( fFlagSubDet ==
"EE" ){BuildEndcapCrysTable(); BuildEndcapSCTable();}
216 if ( fT2dSMCrys == 0 )
218 Int_t MaxSMTow = fEcal->MaxTowInSM();
219 Int_t MaxTowEcha = fEcal->MaxCrysInTow();
220 Int_t MaxSMCrys = fEcal->MaxCrysInSM();
224 fT2dSMCrys =
new Int_t*[MaxSMTow]; fCnew++;
225 fT1dSMCrys =
new Int_t[MaxSMTow*MaxTowEcha]; fCnew++;
226 for(Int_t i_SMTow = 0 ; i_SMTow < MaxSMTow ; i_SMTow++){
227 fT2dSMCrys[i_SMTow] = &fT1dSMCrys[0] + i_SMTow*MaxTowEcha;}
228 for(Int_t
i=0;
i<MaxSMTow;
i++)
229 {
for(Int_t
j=0;
j<MaxTowEcha;
j++){fT2dSMCrys[
i][
j]=0;}}
231 fT1dSMTow =
new Int_t[MaxSMCrys]; fCnew++;
232 for(Int_t
i=0;
i<MaxSMCrys;
i++){fT1dSMTow[
i]=0;}
234 fT1dTowEcha =
new Int_t[MaxSMCrys]; fCnew++;
235 for(Int_t
i=0;
i<MaxSMCrys;
i++){fT1dTowEcha[
i]=0;}
239 Int_t m26 = (Int_t)26;
242 Int_t** jch_type =
new Int_t*[m2]; fCnew++;
243 Int_t* jch_type_d1 =
new Int_t[m2*m26]; fCnew++;
244 for(Int_t i_m2 = 0 ; i_m2 < m2 ; i_m2++){
245 jch_type[i_m2] = &jch_type_d1[0] + i_m2*m26;}
247 for(Int_t
k=25;
k>=21;
k--){jch_type[0][
k] = 25-
k;}
248 for(Int_t
k=16;
k<=20;
k++){jch_type[0][
k] =
k-16;}
249 for(Int_t
k=15;
k>=11;
k--){jch_type[0][
k] = 15-
k;}
250 for(Int_t
k=6;
k<=10;
k++){jch_type[0][
k] =
k-6;}
251 for(Int_t
k=5;
k>=1;
k--){jch_type[0][
k] = 5-
k;}
253 for(Int_t
k=1;
k<=5;
k++){jch_type[1][
k] =
k-1;}
254 for(Int_t
k=10;
k>=6;
k--){jch_type[1][
k] = 10-
k;}
255 for(Int_t
k=11;
k<=15;
k++){jch_type[1][
k] =
k-11;}
256 for(Int_t
k=20;
k>=16;
k--){jch_type[1][
k] = 20-
k;}
257 for(Int_t
k=21;
k<=25;
k++){jch_type[1][
k] =
k-21;}
260 Int_t** ich_type =
new Int_t*[m2]; fCnew++;
261 Int_t* ich_type_d1 =
new Int_t[m2*m26]; fCnew++;
262 for(Int_t i_m2 = 0 ; i_m2 < m2 ; i_m2++){
263 ich_type[i_m2] = &ich_type_d1[0] + i_m2*m26;}
265 for(Int_t
k=25;
k>=21;
k--){ich_type[0][
k] = 0;}
266 for(Int_t
k=16;
k<=20;
k++){ich_type[0][
k] = 1;}
267 for(Int_t
k=15;
k>=11;
k--){ich_type[0][
k] = 2;}
268 for(Int_t
k=6;
k<=10;
k++){ich_type[0][
k] = 3;}
269 for(Int_t
k=5;
k>=1;
k--){ich_type[0][
k] = 4;}
271 for(Int_t
k=1;
k<=5;
k++){ich_type[1][
k] = 0;}
272 for(Int_t
k=10;
k>=6;
k--){ich_type[1][
k] = 1;}
273 for(Int_t
k=11;
k<=15;
k++){ich_type[1][
k] = 2;}
274 for(Int_t
k=20;
k>=16;
k--){ich_type[1][
k] = 3;}
275 for(Int_t
k=21;
k<=25;
k++){ich_type[1][
k] = 4;}
279 Int_t*
type =
new Int_t[m17]; fCnew++;
303 for(Int_t tow=0; tow<MaxSMTow; tow++)
305 for(Int_t ic=1; ic<=MaxTowEcha; ic++)
307 Int_t jtow = tow % 4;
308 Int_t itow = tow / 4;
310 Int_t icrys = itow*5 + ich_type[type[itow]][ic];
314 Int_t jcrys = jtow*5 + jch_type[type[itow]][ic];
318 Int_t n1SMCrys = icrys*20+jcrys+1;
320 fT2dSMCrys[tow][ic-1] = n1SMCrys;
321 fT1dSMTow[n1SMCrys-1] = tow+1;
322 fT1dTowEcha[n1SMCrys-1] = ic-1;
327 delete [] jch_type; fCdelete++;
328 delete [] jch_type_d1; fCdelete++;
329 delete [] ich_type; fCdelete++;
330 delete [] ich_type_d1; fCdelete++;
331 delete []
type; fCdelete++;
346 const Int_t& i0TowEcha)
353 if( fT2dSMCrys == 0 ){BuildBarrelCrysTable();}
355 if (n1SMTow >= 1 && n1SMTow <= fEcal->MaxTowInSM())
357 if (i0TowEcha >=0 && i0TowEcha < fEcal->MaxCrysInTow())
359 n1SMCrys = fT2dSMCrys[n1SMTow-1][i0TowEcha];
364 cout <<
"!TEcnaNumbering::Get1SMCrysFrom1SMTowAnd0TowEcha(...)> Electronic Channel in Tower out of range."
365 <<
" i0TowEcha = " << i0TowEcha <<
"(n1SMTow = " << n1SMTow <<
")" << fTTBELL << endl;
371 cout <<
"!TEcnaNumbering::Get1SMCrysFrom1SMTowAnd0TowEcha(...)> Tower number in SM out of range."
372 <<
" n1SMTow = " << n1SMTow <<
"(i0TowEcha = " << i0TowEcha <<
")" << fTTBELL << endl;
388 Int_t i0TowEcha = -1;
390 if( n1SMCrys >= 1 && n1SMCrys <= fEcal->MaxCrysInSM() )
392 i0TowEcha = fT1dTowEcha[n1SMCrys-1];
397 cout <<
"!TEcnaNumbering::Get0TowEchaFrom1SMCrys(...)> Crystal number in SM out of range."
398 <<
" n1SMCrys = " << n1SMCrys << fTTBELL << endl;
409 if( n1SMCrys >= 1 && n1SMCrys <= fEcal->MaxCrysInSM() )
411 n1SMtox = fT1dSMTow[n1SMCrys-1];
416 cout <<
"!TEcnaNumbering::Get1SMTowFrom1SMCrys(...)> Crystal number in SM out of range."
417 <<
" n1SMCrys = " << n1SMCrys << fTTBELL << endl;
433 Int_t n1SMTow = i0SMEcha/fEcal->MaxCrysInTow()+1;
434 Int_t i0TowEcha = i0SMEcha - fEcal->MaxCrysInTow()*(n1SMTow-1);
443 Int_t n1SMTow = i0SMEcha/fEcal->MaxCrysInTow()+1;
452 Int_t i0SMEcha = (n1SMTow-1)*fEcal->MaxCrysInTow()+i0TowEcha;
465 if( IEta > 0 ){Hashed = (85 + IEta - 1)*360 + IPhi - 1;}
466 if( IEta < 0 ){Hashed = (85 + IEta)*360 + IPhi - 1;}
475 if( GetSMHalfBarrel(SMNumber) ==
"EB+" ){IEta = Hashed/360 - 85 + 1;}
476 if( GetSMHalfBarrel(SMNumber) ==
"EB-" ){IEta = 85 + Hashed/360;}
483 Int_t IPhi = Hashed%360 + 1;
494 TString lvrb_type = GetTowerLvrbType(n1SMTow);
501 TString
type = fCodeChNumberingLvrbTop;
503 if (n1SMTow >= 1 && n1SMTow <= 12){type = fCodeChNumberingLvrbBot;}
504 if (n1SMTow >= 21 && n1SMTow <= 28){type = fCodeChNumberingLvrbBot;}
505 if (n1SMTow >= 37 && n1SMTow <= 44){type = fCodeChNumberingLvrbBot;}
506 if (n1SMTow >= 53 && n1SMTow <= 60){type = fCodeChNumberingLvrbBot;}
517 const Int_t& i0TowEcha)
521 Double_t
eta = (Double_t)0.;
523 Int_t max_crys_eta_in_tower = fEcal->MaxCrysEtaInTow();
524 Int_t max_tow_eta_in_sm = fEcal->MaxTowEtaInSM();
525 Int_t max_sm_in_barrel = fEcal->MaxSMInEB();
527 if ( n1EBSM >= 1 && n1EBSM <= max_sm_in_barrel )
529 for (Int_t i_sm_tow_eta = 0; i_sm_tow_eta < max_tow_eta_in_sm; i_sm_tow_eta++)
531 Int_t i_crys_eta_min = (Int_t)(1 + i_sm_tow_eta*(max_crys_eta_in_tower-1));
532 Int_t i_crys_eta_max = (Int_t)((i_sm_tow_eta+1)*(max_crys_eta_in_tower-1));
533 Int_t i_crys_eta = (Int_t)(i_sm_tow_eta*max_crys_eta_in_tower);
535 Double_t d_echa_eta = (Double_t)(i0TowEcha/max_crys_eta_in_tower);
537 if ( n1SMTow >= i_crys_eta_min && n1SMTow <= i_crys_eta_max )
539 if (GetTowerLvrbType(n1SMTow) == fCodeChNumberingLvrbTop)
540 {eta = (Double_t)(i_crys_eta) + d_echa_eta + 1;}
541 if (GetTowerLvrbType(n1SMTow) == fCodeChNumberingLvrbBot)
542 {eta = (Double_t)(i_crys_eta+max_crys_eta_in_tower)-d_echa_eta;}
545 if ( GetSMHalfBarrel(n1EBSM) ==
"EB-" ){eta = -
eta;}
549 cout <<
"TEcnaNumbering::GetEta(...)> SM = " << n1EBSM
550 <<
". Out of range (range = [1," << fEcal->MaxSMInEB() <<
"])"
560 Int_t max_tow_eta_in_sm = fEcal->MaxTowEtaInSM();
561 Int_t max_crys_eta_in_tower = fEcal->MaxCrysEtaInTow();
563 Double_t eta_min = (Double_t)0.;
565 for (Int_t i_sm_tow_eta = 0; i_sm_tow_eta < max_tow_eta_in_sm; i_sm_tow_eta++)
567 Int_t i_crys_eta_min = (Int_t)(1 + i_sm_tow_eta*(max_crys_eta_in_tower-1));
568 Int_t i_crys_eta_max = (Int_t)((i_sm_tow_eta+1)*(max_crys_eta_in_tower-1));
569 Int_t i_crys_eta = (Int_t)(i_sm_tow_eta*max_crys_eta_in_tower);
571 if ( n1SMTow >= i_crys_eta_min && n1SMTow <= i_crys_eta_max )
573 if (GetSMHalfBarrel(n1EBSM) ==
"EB+")
574 {eta_min = (Double_t)i_crys_eta;}
575 if (GetSMHalfBarrel(n1EBSM) ==
"EB-")
576 {eta_min = -(Double_t)(i_crys_eta + max_crys_eta_in_tower);}
586 Int_t max_tow_eta_in_sm = fEcal->MaxTowEtaInSM();
587 Int_t max_crys_eta_in_tower = fEcal->MaxCrysEtaInTow();
589 Double_t eta_max = (max_crys_eta_in_tower-1);
591 for (Int_t i_sm_tow_eta = 0; i_sm_tow_eta < max_tow_eta_in_sm; i_sm_tow_eta++)
593 Int_t i_crys_eta_min = (Int_t)(1 + i_sm_tow_eta*(max_crys_eta_in_tower-1));
594 Int_t i_crys_eta_max = (Int_t)((i_sm_tow_eta+1)*(max_crys_eta_in_tower-1));
595 Int_t i_crys_eta = (Int_t)(i_sm_tow_eta*max_crys_eta_in_tower);
597 if ( n1SMTow >= i_crys_eta_min && n1SMTow <= i_crys_eta_max )
599 if (GetSMHalfBarrel(n1EBSM) ==
"EB+")
600 {eta_max = (Double_t)(i_crys_eta + max_crys_eta_in_tower);}
601 if (GetSMHalfBarrel(n1EBSM) ==
"EB-")
602 {eta_max = -(Double_t)i_crys_eta;}
613 Double_t i_eta_min = (Int_t)0.;
615 if(GetSMHalfBarrel(n1EBSM) ==
"EB+")
616 {i_eta_min = (Double_t)GetEtaMin(n1EBSM, n1SMTow)+(Double_t)0.5;}
617 if(GetSMHalfBarrel(n1EBSM) ==
"EB-")
618 {i_eta_min = (Double_t)GetEtaMin(n1EBSM, n1SMTow)-(Double_t)0.5;}
627 Double_t i_eta_max = (Int_t)0.;
629 if(GetSMHalfBarrel(n1EBSM) ==
"EB+")
630 {i_eta_max = (Double_t)GetEtaMax(n1EBSM, n1SMTow)+(Double_t)0.5;}
631 if(GetSMHalfBarrel(n1EBSM) ==
"EB-")
632 {i_eta_max = (Double_t)GetEtaMax(n1EBSM, n1SMTow)-(Double_t)0.5;}
641 Double_t i_eta_min = (Int_t)0.;
643 Int_t n1SMTowPlus = (Int_t)1;
644 Int_t n1SMTowMinus = (Int_t)fEcal->MaxTowInSM();
646 if( GetSMHalfBarrel(n1EBSM) ==
"EB+" )
647 {i_eta_min = (Double_t)GetIEtaMin(n1EBSM, n1SMTowPlus );}
648 if( GetSMHalfBarrel(n1EBSM) ==
"EB-" )
649 {i_eta_min = (Double_t)GetIEtaMin(n1EBSM, n1SMTowMinus);}
658 Double_t i_eta_max = (Int_t)0.;
660 Int_t n1SMTowPlus = (Int_t)fEcal->MaxTowInSM();
661 Int_t n1SMTowMinus = (Int_t)1;
663 if( GetSMHalfBarrel(n1EBSM) ==
"EB+")
664 {i_eta_max = (Double_t)GetIEtaMax(n1EBSM, n1SMTowPlus );}
665 if( GetSMHalfBarrel(n1EBSM) ==
"EB-")
666 {i_eta_max = (Double_t)GetIEtaMax(n1EBSM, n1SMTowMinus);}
681 Double_t central_phi = (Double_t)10.;
683 if (GetSMHalfBarrel(n1EBSM) ==
"EB+"){central_phi = 10. + (Double_t)20.*(n1EBSM-1);}
684 if (GetSMHalfBarrel(n1EBSM) ==
"EB-"){central_phi = 10. + (Double_t)20.*(n1EBSM-19);}
690 const Int_t& n1SMTow,
const Int_t& i0TowEcha)
694 Double_t phi_in_SM = (Double_t)0.;
696 Int_t rest_temp =(Int_t)(n1SMTow%(fEcal->MaxCrysPhiInTow()-1));
698 if ( n1EBSM >= 1 && n1EBSM <= fEcal->MaxSMInEB() )
700 if( rest_temp == 1 ){phi_in_SM = (Double_t)15.;}
701 if( rest_temp == 2 ){phi_in_SM = (Double_t)10.;}
702 if( rest_temp == 3 ){phi_in_SM = (Double_t)5.;}
703 if( rest_temp == 0 ){phi_in_SM = (Double_t)0.;}
705 if (GetTowerLvrbType(n1SMTow) == fCodeChNumberingLvrbTop)
707 if( i0TowEcha == 4 || i0TowEcha == 5 || i0TowEcha == 14 || i0TowEcha == 15 || i0TowEcha == 24 )
708 {phi_in_SM = phi_in_SM + 0;}
710 if( i0TowEcha == 3 || i0TowEcha == 6 || i0TowEcha == 13 || i0TowEcha == 16 || i0TowEcha == 23 )
711 {phi_in_SM = phi_in_SM + 1;}
713 if( i0TowEcha == 2 || i0TowEcha == 7 || i0TowEcha == 12 || i0TowEcha == 17 || i0TowEcha == 22 )
714 {phi_in_SM = phi_in_SM + 2;}
716 if( i0TowEcha == 1 || i0TowEcha == 8 || i0TowEcha == 11 || i0TowEcha == 18 || i0TowEcha == 21 )
717 {phi_in_SM = phi_in_SM + 3;}
719 if( i0TowEcha == 0 || i0TowEcha == 9 || i0TowEcha == 10 || i0TowEcha == 19 || i0TowEcha == 20 )
720 {phi_in_SM = phi_in_SM + 4;}
722 if (GetTowerLvrbType(n1SMTow) == fCodeChNumberingLvrbBot)
724 if( i0TowEcha == 20 || i0TowEcha == 19 || i0TowEcha == 10 || i0TowEcha == 9 || i0TowEcha == 0 )
725 {phi_in_SM = phi_in_SM + 0;}
727 if( i0TowEcha == 21 || i0TowEcha == 18 || i0TowEcha == 11 || i0TowEcha == 8 || i0TowEcha == 1 )
728 {phi_in_SM = phi_in_SM + 1;}
730 if( i0TowEcha == 22 || i0TowEcha == 17 || i0TowEcha == 12 || i0TowEcha == 7 || i0TowEcha == 2 )
731 {phi_in_SM = phi_in_SM + 2;}
733 if( i0TowEcha == 23 || i0TowEcha == 16 || i0TowEcha == 13 || i0TowEcha == 6 || i0TowEcha == 3 )
734 {phi_in_SM = phi_in_SM + 3;}
736 if( i0TowEcha == 24 || i0TowEcha == 15 || i0TowEcha == 14 || i0TowEcha == 5 || i0TowEcha == 4 )
737 {phi_in_SM = phi_in_SM + 4;}
742 cout <<
"TEcnaNumbering::GetPhiInSM(...)> SM = " << n1EBSM
743 <<
". Out of range (range = [1," << fEcal->MaxSMInEB() <<
"])"
746 phi_in_SM = 20 - phi_in_SM;
751 const Int_t& n1SMTow,
const Int_t& i0TowEcha)
755 Double_t
phi = (Double_t)0.;
757 if ( n1EBSM >= 1 && n1EBSM <= fEcal->MaxSMInEB() )
759 Double_t phiInSM = GetPhiInSM(n1EBSM, n1SMTow, i0TowEcha);
760 Double_t phi_start = GetSMCentralPhi(n1EBSM);
762 phi = 20 - phiInSM + phi_start -(Double_t)10.;
766 cout <<
"TEcnaNumbering::GetPhi(...)> SM = " << n1EBSM
767 <<
". Out of range (range = [1," << fEcal->MaxSMInEB() <<
"])"
778 Int_t max_crys_phi_in_tower = fEcal->MaxCrysPhiInTow();
780 Double_t phi_min = (Double_t)0.;
781 Double_t phi_start = GetSMCentralPhi(n1EBSM);
783 Int_t rest_temp =(Int_t)(n1SMTow%(max_crys_phi_in_tower-1));
785 if(GetSMHalfBarrel(n1EBSM) ==
"EB+")
787 if ( rest_temp == 1 ) {phi_min = phi_start + (Double_t)5.;}
788 if ( rest_temp == 2 ) {phi_min = phi_start + (Double_t)0.;}
789 if ( rest_temp == 3 ) {phi_min = phi_start - (Double_t)5.;}
790 if ( rest_temp == 0 ) {phi_min = phi_start - (Double_t)10.;}
792 if(GetSMHalfBarrel(n1EBSM) ==
"EB-")
794 if ( rest_temp == 0 ) {phi_min = phi_start + (Double_t)5.;}
795 if ( rest_temp == 3 ) {phi_min = phi_start + (Double_t)0.;}
796 if ( rest_temp == 2 ) {phi_min = phi_start - (Double_t)5.;}
797 if ( rest_temp == 1 ) {phi_min = phi_start - (Double_t)10.;}
806 Int_t max_crys_phi_in_tower = fEcal->MaxCrysPhiInTow();
808 Double_t phi_max = (Double_t)20.;
809 Double_t phi_start = GetSMCentralPhi(n1EBSM);
811 Int_t rest_temp =(Int_t)(n1SMTow%(max_crys_phi_in_tower-1));
813 if(GetSMHalfBarrel(n1EBSM) ==
"EB+")
815 if ( rest_temp == 1 ) {phi_max = phi_start + (Double_t)10.;}
816 if ( rest_temp == 2 ) {phi_max = phi_start + (Double_t)5.;}
817 if ( rest_temp == 3 ) {phi_max = phi_start - (Double_t)0.;}
818 if ( rest_temp == 0 ) {phi_max = phi_start - (Double_t)5.;}
821 if(GetSMHalfBarrel(n1EBSM) ==
"EB-")
823 if ( rest_temp == 0 ) {phi_max = phi_start + (Double_t)10.;}
824 if ( rest_temp == 3 ) {phi_max = phi_start + (Double_t)5.;}
825 if ( rest_temp == 2 ) {phi_max = phi_start - (Double_t)0.;}
826 if ( rest_temp == 1 ) {phi_max = phi_start - (Double_t)5.;}
836 Double_t phi_min = GetSMCentralPhi(n1EBSM) - (Double_t)10.;
845 Double_t phi_max = GetSMCentralPhi(n1EBSM) + (Double_t)10.;
854 Double_t j_phi_min = (Double_t)1.;
855 Int_t max_crys_phi_in_tower = fEcal->MaxCrysPhiInTow();
856 Int_t rest_temp =(Int_t)(n1SMTow%(max_crys_phi_in_tower-1));
858 if ( rest_temp == 1 ){j_phi_min = (Double_t) 1. - (Double_t)0.5;}
859 if ( rest_temp == 2 ){j_phi_min = (Double_t) 6. - (Double_t)0.5;}
860 if ( rest_temp == 3 ){j_phi_min = (Double_t)11. - (Double_t)0.5;}
861 if ( rest_temp == 0 ){j_phi_min = (Double_t)16. - (Double_t)0.5;}
870 Double_t j_phi_max = (Double_t)20.;
871 Int_t max_crys_phi_in_tower = fEcal->MaxCrysPhiInTow();
872 Int_t rest_temp =(Int_t)(n1SMTow%(max_crys_phi_in_tower-1));
874 if ( rest_temp == 1 ){j_phi_max = (Double_t) 5. + (Double_t)0.5;}
875 if ( rest_temp == 2 ){j_phi_max = (Double_t)10. + (Double_t)0.5;}
876 if ( rest_temp == 3 ){j_phi_max = (Double_t)15. + (Double_t)0.5;}
877 if ( rest_temp == 0 ){j_phi_max = (Double_t)20. + (Double_t)0.5;}
887 Double_t j_phi_min = (Double_t)1. - (Double_t)0.5;
896 Double_t j_phi_max = (Double_t)20. + (Double_t)0.5;
910 TString xdirection =
"x";
912 if( GetSMHalfBarrel(SMNumber) ==
"EB+" ){xdirection =
"x";}
913 if( GetSMHalfBarrel(SMNumber) ==
"EB-" ){xdirection =
"x";}
920 TString ydirection =
"-x";
922 if( GetSMHalfBarrel(SMNumber) ==
"EB+" ){ydirection =
"-x";}
923 if( GetSMHalfBarrel(SMNumber) ==
"EB-" ){ydirection =
"-x";}
931 TString jydirection =
"-x";
933 if( GetSMHalfBarrel(SMNumber) ==
"EB+" ){jydirection =
"x";}
934 if( GetSMHalfBarrel(SMNumber) ==
"EB-" ){jydirection =
"-x";}
944 TString
type =
"EB-";
946 if ( SMNumber >= 1 && SMNumber <= fEcal->MaxSMInEBPlus() ){type =
"EB+";}
947 if ( SMNumber > fEcal->MaxSMInEBPlus() && SMNumber <= fEcal->MaxSMInEB() ){type =
"EB-";}
954 Int_t PMSMNumber = PlusSMNumber;
955 if( PlusSMNumber > fEcal->MaxSMPhiInEB() ){PMSMNumber = - PlusSMNumber + fEcal->MaxSMPhiInEB();}
991 if ( fT3dDeeCrys == 0 )
993 Int_t MaxDeeSC = fEcal->MaxSCEcnaInDee();
994 Int_t MaxSCEcha = fEcal->MaxCrysInSC();
995 Int_t MaxDeeCrys = fEcal->MaxCrysEcnaInDee();
997 Int_t MaxDirections = 2;
1000 fT3dDeeCrys =
new Int_t**[MaxDeeSC]; fCnew++;
1001 fT2dDeeCrys =
new Int_t*[MaxDeeSC*MaxSCEcha]; fCnew++;
1002 fT1dDeeCrys =
new Int_t[MaxDeeSC*MaxSCEcha*MaxDirections]; fCnew++;
1004 for(Int_t i_DeeSC = 0; i_DeeSC < MaxDeeSC; i_DeeSC++){
1005 fT3dDeeCrys[i_DeeSC] = &fT2dDeeCrys[0] + i_DeeSC*MaxSCEcha;
1006 for(Int_t i_SCEcha = 0; i_SCEcha < MaxSCEcha; i_SCEcha++){
1007 fT2dDeeCrys[i_DeeSC*MaxSCEcha + i_SCEcha] = &fT1dDeeCrys[0]
1008 + (i_DeeSC*MaxSCEcha + i_SCEcha)*MaxDirections;}}
1009 for(Int_t
i=0;
i<MaxDeeSC;
i++)
1010 {
for(Int_t
j=0;
j<MaxSCEcha;
j++)
1011 {
for(Int_t
k=0;
k<MaxDirections;
k++){fT3dDeeCrys[
i][
j][
k]=0;}}}
1013 fT2dDeeSC =
new Int_t*[MaxDeeCrys]; fCnew++;
1014 fT1dDeeSC =
new Int_t[MaxDeeCrys*MaxDirections]; fCnew++;
1015 for(Int_t i_DeeCrys = 0 ; i_DeeCrys < MaxDeeCrys ; i_DeeCrys++){
1016 fT2dDeeSC[i_DeeCrys] = &fT1dDeeSC[0] + i_DeeCrys*MaxDirections;}
1017 for(Int_t
i=0;
i<MaxDeeCrys;
i++)
1018 {
for(Int_t
j=0;
j<MaxDirections;
j++){fT2dDeeSC[
i][
j]=0;}}
1020 fT2dSCEcha =
new Int_t*[MaxDeeCrys]; fCnew++;
1021 fT1dSCEcha =
new Int_t[MaxDeeCrys*MaxDirections]; fCnew++;
1022 for(Int_t i_DeeCrys = 0 ; i_DeeCrys < MaxDeeCrys ; i_DeeCrys++){
1023 fT2dSCEcha[i_DeeCrys] = &fT1dSCEcha[0] + i_DeeCrys*MaxDirections;}
1024 for(Int_t
i=0;
i<MaxDeeCrys;
i++)
1025 {
for(Int_t
j=0;
j<MaxDirections;
j++){fT2dSCEcha[
i][
j]=0;}}
1028 Int_t MaxTyp = (Int_t)4;
1029 Int_t MaxCrysP1 = (Int_t)(fEcal->MaxCrysInSC()+1);
1032 fT2d_jch_JY =
new Int_t*[MaxTyp]; fCnew++;
1033 fT1d_jch_JY =
new Int_t[MaxTyp*MaxCrysP1]; fCnew++;
1034 for(Int_t i_MaxTyp = 0 ; i_MaxTyp < MaxTyp ; i_MaxTyp++){
1035 fT2d_jch_JY[i_MaxTyp] = &fT1d_jch_JY[0] + i_MaxTyp*MaxCrysP1;}
1040 for(Int_t
k= 5;
k>= 1;
k--){fT2d_jch_JY[0][
k] = 4;}
1041 for(Int_t
k=10;
k>= 6;
k--){fT2d_jch_JY[0][
k] = 3;}
1042 for(Int_t
k=15;
k>=11;
k--){fT2d_jch_JY[0][
k] = 2;}
1043 for(Int_t
k=20;
k>=16;
k--){fT2d_jch_JY[0][
k] = 1;}
1044 for(Int_t
k=25;
k>=21;
k--){fT2d_jch_JY[0][
k] = 0;}
1046 for(Int_t
k= 5;
k>= 1;
k--){fT2d_jch_JY[1][
k] = 5-
k;}
1047 for(Int_t
k=10;
k>= 6;
k--){fT2d_jch_JY[1][
k] = 10-
k;}
1048 for(Int_t
k=15;
k>=11;
k--){fT2d_jch_JY[1][
k] = 15-
k;}
1049 for(Int_t
k=20;
k>=16;
k--){fT2d_jch_JY[1][
k] = 20-
k;}
1050 for(Int_t
k=25;
k>=21;
k--){fT2d_jch_JY[1][
k] = 25-
k;}
1052 for(Int_t
k= 1;
k<=5;
k++){fT2d_jch_JY[2][
k] = 0;}
1053 for(Int_t
k= 6;
k<=10;
k++){fT2d_jch_JY[2][
k] = 1;}
1054 for(Int_t
k=11;
k<=15;
k++){fT2d_jch_JY[2][
k] = 2;}
1055 for(Int_t
k=16;
k<=20;
k++){fT2d_jch_JY[2][
k] = 3;}
1056 for(Int_t
k=21;
k<=25;
k++){fT2d_jch_JY[2][
k] = 4;}
1058 for(Int_t
k= 1;
k<=5;
k++){fT2d_jch_JY[3][
k] =
k-1;}
1059 for(Int_t
k= 6;
k<=10;
k++){fT2d_jch_JY[3][
k] =
k-6;}
1060 for(Int_t
k=11;
k<=15;
k++){fT2d_jch_JY[3][
k] =
k-11;}
1061 for(Int_t
k=16;
k<=20;
k++){fT2d_jch_JY[3][
k] =
k-16;}
1062 for(Int_t
k=21;
k<=25;
k++){fT2d_jch_JY[3][
k] =
k-21;}
1065 fT2d_ich_IX =
new Int_t*[MaxTyp]; fCnew++;
1066 fT1d_ich_IX =
new Int_t[MaxTyp*MaxCrysP1]; fCnew++;
1067 for(Int_t i_MaxTyp = 0 ; i_MaxTyp < MaxTyp ; i_MaxTyp++){
1068 fT2d_ich_IX[i_MaxTyp] = &fT1d_ich_IX[0] + i_MaxTyp*MaxCrysP1;}
1071 for(Int_t
k= 5;
k>= 1;
k--){fT2d_ich_IX[0][
k] = 5-
k;}
1072 for(Int_t
k=10;
k>= 6;
k--){fT2d_ich_IX[0][
k] = 10-
k;}
1073 for(Int_t
k=15;
k>=11;
k--){fT2d_ich_IX[0][
k] = 15-
k;}
1074 for(Int_t
k=20;
k>=16;
k--){fT2d_ich_IX[0][
k] = 20-
k;}
1075 for(Int_t
k=25;
k>=21;
k--){fT2d_ich_IX[0][
k] = 25-
k;}
1077 for(Int_t
k= 5;
k>= 1;
k--){fT2d_ich_IX[1][
k] = 4;}
1078 for(Int_t
k=10;
k>= 6;
k--){fT2d_ich_IX[1][
k] = 3;}
1079 for(Int_t
k=15;
k>=11;
k--){fT2d_ich_IX[1][
k] = 2;}
1080 for(Int_t
k=20;
k>=16;
k--){fT2d_ich_IX[1][
k] = 1;}
1081 for(Int_t
k=25;
k>=21;
k--){fT2d_ich_IX[1][
k] = 0;}
1083 for(Int_t
k=1;
k<=5;
k++){fT2d_ich_IX[2][
k] = 5-
k;}
1084 for(Int_t
k=6;
k<=10;
k++){fT2d_ich_IX[2][
k] = 10-
k;}
1085 for(Int_t
k=11;
k<=15;
k++){fT2d_ich_IX[2][
k] = 15-
k;}
1086 for(Int_t
k=16;
k<=20;
k++){fT2d_ich_IX[2][
k] = 20-
k;}
1087 for(Int_t
k=21;
k<=25;
k++){fT2d_ich_IX[2][
k] = 25-
k;}
1089 for(Int_t
k= 1;
k<= 5;
k++){fT2d_ich_IX[3][
k] = 4;}
1090 for(Int_t
k= 6;
k<=10;
k++){fT2d_ich_IX[3][
k] = 3;}
1091 for(Int_t
k=11;
k<=15;
k++){fT2d_ich_IX[3][
k] = 2;}
1092 for(Int_t
k=16;
k<=20;
k++){fT2d_ich_IX[3][
k] = 1;}
1093 for(Int_t
k=21;
k<=25;
k++){fT2d_ich_IX[3][
k] = 0;}
1096 Int_t Nb_DeeSC_JY = fEcal->MaxSCIYInDee();
1097 Int_t**
type =
new Int_t*[Nb_DeeSC_JY]; fCnew++;
1098 Int_t* type_d1 =
new Int_t[Nb_DeeSC_JY*MaxDirections]; fCnew++;
1099 for(Int_t i_DeeSC_JY = 0 ; i_DeeSC_JY < Nb_DeeSC_JY ; i_DeeSC_JY++){
1100 type[i_DeeSC_JY] = &type_d1[0] + i_DeeSC_JY*MaxDirections;}
1150 Int_t Nb_SCCrys_IX = fEcal->MaxCrysIXInSC();
1151 Int_t Nb_SCCrys_JY = fEcal->MaxCrysIYInSC();
1153 for(Int_t kSC=0; kSC<MaxDeeSC; kSC++)
1155 for(Int_t n_Echa=1; n_Echa<=MaxSCEcha; n_Echa++)
1157 for(Int_t idir=0; idir<2; idir++)
1159 Int_t ikSC = kSC / Nb_DeeSC_JY;
1160 Int_t jkSC = kSC % Nb_DeeSC_JY;
1162 Int_t icrys = ikSC*Nb_SCCrys_IX + fT2d_ich_IX[type[jkSC][idir]][n_Echa];
1167 Int_t jcrys = jkSC*Nb_SCCrys_JY + fT2d_jch_JY[type[jkSC][idir]][n_Echa];
1172 Int_t n_DeeCrys = icrys*Nb_DeeSC_JY*Nb_SCCrys_JY+jcrys+1;
1174 fT3dDeeCrys[kSC][n_Echa-1][idir] = n_DeeCrys;
1175 fT2dDeeSC[n_DeeCrys-1][idir] = kSC+1;
1176 fT2dSCEcha[n_DeeCrys-1][idir] = n_Echa;
1182 delete []
type; fCdelete++;
1183 delete [] type_d1; fCdelete++;
1210 Int_t MaxEEDee = fEcal->MaxDeeInEE();
1211 Int_t MaxDeeSC = fEcal->MaxSCEcnaInDee();
1212 Int_t MaxEESCForCons = 2*fEcal->MaxSCForConsInDee();
1214 fT2d_DS =
new Int_t*[MaxEEDee]; fCnew++;
1215 fT1d_DS =
new Int_t[MaxEEDee*MaxDeeSC]; fCnew++;
1216 for(Int_t i_DeeCrys = 0 ; i_DeeCrys < MaxEEDee ; i_DeeCrys++){
1217 fT2d_DS[i_DeeCrys] = &fT1d_DS[0] + i_DeeCrys*MaxDeeSC;}
1218 for(Int_t
i=0;
i<MaxEEDee;
i++)
1219 {
for(Int_t
j=0;
j<MaxDeeSC;
j++){fT2d_DS[
i][
j]=0;}}
1221 fT2d_DSSC =
new Int_t*[MaxEEDee]; fCnew++;
1222 fT1d_DSSC =
new Int_t[MaxEEDee*MaxDeeSC]; fCnew++;
1223 for(Int_t i_DeeCrys = 0 ; i_DeeCrys < MaxEEDee ; i_DeeCrys++){
1224 fT2d_DSSC[i_DeeCrys] = &fT1d_DSSC[0] + i_DeeCrys*MaxDeeSC;}
1225 for(Int_t
i=0;
i<MaxEEDee;
i++)
1226 {
for(Int_t
j=0;
j<MaxDeeSC;
j++){fT2d_DSSC[
i][
j]=0;}}
1228 fT2d_DeeSCCons =
new Int_t*[MaxEEDee]; fCnew++;
1229 fT1d_DeeSCCons =
new Int_t[MaxEEDee*MaxDeeSC]; fCnew++;
1230 for(Int_t i_DeeCrys = 0 ; i_DeeCrys < MaxEEDee ; i_DeeCrys++){
1231 fT2d_DeeSCCons[i_DeeCrys] = &fT1d_DeeSCCons[0] + i_DeeCrys*MaxDeeSC;}
1232 for(Int_t
i=0;
i<MaxEEDee;
i++)
1233 {
for(Int_t
j=0;
j<MaxDeeSC;
j++){fT2d_DeeSCCons[
i][
j]=0;}}
1235 fT2d_RecovDeeSC =
new Int_t*[MaxEEDee]; fCnew++;
1236 fT1d_RecovDeeSC =
new Int_t[MaxEEDee*MaxEESCForCons]; fCnew++;
1237 for(Int_t i_DeeCrys = 0 ; i_DeeCrys < MaxEEDee ; i_DeeCrys++){
1238 fT2d_RecovDeeSC[i_DeeCrys] = &fT1d_RecovDeeSC[0] + i_DeeCrys*MaxEESCForCons;}
1239 for(Int_t
i=0;
i<MaxEEDee;
i++)
1240 {
for(Int_t
j=0;
j<MaxEESCForCons;
j++){fT2d_RecovDeeSC[
i][
j]=0;}}
1248 for(Int_t dee = 1; dee<=4; dee++)
1250 if( dee == 1 || dee == 4 ){ids = 1;}
1251 if( dee == 2 || dee == 3 ){ids = 9;}
1252 for(Int_t isc= 13; isc<= 20; isc++)fT2d_DS[dee-1][isc-1] = ids;
1253 for(Int_t isc= 33; isc<= 40; isc++)fT2d_DS[dee-1][isc-1] = ids;
1254 for(Int_t isc= 54; isc<= 60; isc++)fT2d_DS[dee-1][isc-1] = ids;
1255 for(Int_t isc= 75; isc<= 79; isc++)fT2d_DS[dee-1][isc-1] = ids;
1256 for(Int_t isc= 96; isc<= 99; isc++)fT2d_DS[dee-1][isc-1] = ids;
1257 for(Int_t isc=118; isc<=119; isc++)fT2d_DS[dee-1][isc-1] = ids;
1260 for(Int_t dee = 1; dee<=4; dee++)
1262 if( dee == 1 || dee == 4 ){ids = 2;}
1263 if( dee == 2 || dee == 3 ){ids = 8;}
1264 for(Int_t isc= 32; isc<= 32; isc++)fT2d_DS[dee-1][isc-1] = ids;
1265 for(Int_t isc= 51; isc<= 53; isc++)fT2d_DS[dee-1][isc-1] = ids;
1266 for(Int_t isc= 72; isc<= 74; isc++)fT2d_DS[dee-1][isc-1] = ids;
1267 for(Int_t isc= 92; isc<= 95; isc++)fT2d_DS[dee-1][isc-1] = ids;
1268 for(Int_t isc=112; isc<=117; isc++)fT2d_DS[dee-1][isc-1] = ids;
1269 for(Int_t isc=132; isc<=138; isc++)fT2d_DS[dee-1][isc-1] = ids;
1270 for(Int_t isc=152; isc<=157; isc++)fT2d_DS[dee-1][isc-1] = ids;
1271 for(Int_t isc=173; isc<=176; isc++)fT2d_DS[dee-1][isc-1] = ids;
1272 for(Int_t isc=193; isc<=193; isc++)fT2d_DS[dee-1][isc-1] = ids;
1275 for(Int_t dee = 1; dee<=4; dee++)
1277 if( dee == 1 || dee == 4 ){ids = 3;}
1278 if( dee == 2 || dee == 3 ){ids = 7;}
1279 for(Int_t isc= 50; isc<= 50; isc++)fT2d_DS[dee-1][isc-1] = ids;
1280 for(Int_t isc= 69; isc<= 71; isc++)fT2d_DS[dee-1][isc-1] = ids;
1281 for(Int_t isc= 88; isc<= 91; isc++)fT2d_DS[dee-1][isc-1] = ids;
1282 for(Int_t isc=108; isc<=111; isc++)fT2d_DS[dee-1][isc-1] = ids;
1283 for(Int_t isc=127; isc<=131; isc++)fT2d_DS[dee-1][isc-1] = ids;
1284 for(Int_t isc=147; isc<=151; isc++)fT2d_DS[dee-1][isc-1] = ids;
1285 for(Int_t isc=166; isc<=172; isc++)fT2d_DS[dee-1][isc-1] = ids;
1286 for(Int_t isc=188; isc<=192; isc++)fT2d_DS[dee-1][isc-1] = ids;
1289 for(Int_t dee = 1; dee<=4; dee++)
1291 if( dee == 1 || dee == 4 ){ids = 4;}
1292 if( dee == 2 || dee == 3 ){ids = 6;}
1293 for(Int_t isc= 27; isc<= 29; isc++)fT2d_DS[dee-1][isc-1] = ids;
1294 for(Int_t isc= 44; isc<= 49; isc++)fT2d_DS[dee-1][isc-1] = ids;
1295 for(Int_t isc= 62; isc<= 68; isc++)fT2d_DS[dee-1][isc-1] = ids;
1296 for(Int_t isc= 82; isc<= 87; isc++)fT2d_DS[dee-1][isc-1] = ids;
1297 for(Int_t isc=102; isc<=107; isc++)fT2d_DS[dee-1][isc-1] = ids;
1298 for(Int_t isc=123; isc<=126; isc++)fT2d_DS[dee-1][isc-1] = ids;
1299 for(Int_t isc=144; isc<=146; isc++)fT2d_DS[dee-1][isc-1] = ids;
1300 for(Int_t isc=165; isc<=165; isc++)fT2d_DS[dee-1][isc-1] = ids;
1303 for(Int_t dee = 1; dee<=4; dee++)
1305 for(Int_t isc= 1; isc<= 8; isc++)fT2d_DS[dee-1][isc-1] = 5;
1306 for(Int_t isc= 21; isc<= 26; isc++)fT2d_DS[dee-1][isc-1] = 5;
1307 for(Int_t isc= 41; isc<= 43; isc++)fT2d_DS[dee-1][isc-1] = 5;
1312 for(Int_t dee=1; dee<=4; dee++)
1314 for(Int_t isc=1; isc<=MaxDeeSC; isc++)
1315 {fT2d_DSSC[dee-1][isc-1] = -1;}
1317 fT2d_DSSC[dee-1][13-1] = 12;
1318 fT2d_DSSC[dee-1][14-1] = 11;
1319 fT2d_DSSC[dee-1][15-1] = 10;
1320 fT2d_DSSC[dee-1][16-1] = 9;
1321 fT2d_DSSC[dee-1][17-1] = 4;
1322 fT2d_DSSC[dee-1][18-1] = 3;
1323 fT2d_DSSC[dee-1][19-1] = 2;
1324 fT2d_DSSC[dee-1][20-1] = 1;
1326 fT2d_DSSC[dee-1][33-1] = 16;
1327 fT2d_DSSC[dee-1][34-1] = 15;
1328 fT2d_DSSC[dee-1][35-1] = 14;
1329 fT2d_DSSC[dee-1][36-1] = 13;
1330 fT2d_DSSC[dee-1][37-1] = 8;
1331 fT2d_DSSC[dee-1][38-1] = 7;
1332 fT2d_DSSC[dee-1][39-1] = 6;
1333 fT2d_DSSC[dee-1][40-1] = 5;
1335 fT2d_DSSC[dee-1][54-1] = 33;
1336 fT2d_DSSC[dee-1][55-1] = 31;
1337 fT2d_DSSC[dee-1][56-1] = 27;
1338 fT2d_DSSC[dee-1][57-1] = 24;
1339 fT2d_DSSC[dee-1][58-1] = 20;
1340 fT2d_DSSC[dee-1][59-1] = 17;
1341 fT2d_DSSC[dee-1][60-1] = 30;
1343 fT2d_DSSC[dee-1][75-1] = 32;
1344 fT2d_DSSC[dee-1][76-1] = 28;
1345 fT2d_DSSC[dee-1][77-1] = 25;
1346 fT2d_DSSC[dee-1][78-1] = 21;
1347 fT2d_DSSC[dee-1][79-1] = 18;
1349 fT2d_DSSC[dee-1][96-1] = 29;
1350 fT2d_DSSC[dee-1][97-1] = 26;
1351 fT2d_DSSC[dee-1][98-1] = 22;
1352 fT2d_DSSC[dee-1][99-1] = 19;
1354 fT2d_DSSC[dee-1][118-1] = 23;
1355 fT2d_DSSC[dee-1][119-1] = 30;
1358 fT2d_DSSC[dee-1][32-1] = 25;
1360 fT2d_DSSC[dee-1][51-1] = 32;
1361 fT2d_DSSC[dee-1][52-1] = 26;
1362 fT2d_DSSC[dee-1][53-1] = 18;
1364 fT2d_DSSC[dee-1][72-1] = 27;
1365 fT2d_DSSC[dee-1][73-1] = 19;
1366 fT2d_DSSC[dee-1][74-1] = 12;
1368 fT2d_DSSC[dee-1][92-1] = 28;
1369 fT2d_DSSC[dee-1][93-1] = 20;
1370 fT2d_DSSC[dee-1][94-1] = 13;
1371 fT2d_DSSC[dee-1][95-1] = 7;
1373 fT2d_DSSC[dee-1][112-1] = 29;
1374 fT2d_DSSC[dee-1][113-1] = 21;
1375 fT2d_DSSC[dee-1][114-1] = 14;
1376 fT2d_DSSC[dee-1][115-1] = 8;
1377 fT2d_DSSC[dee-1][116-1] = 4;
1378 fT2d_DSSC[dee-1][117-1] = 1;
1380 fT2d_DSSC[dee-1][132-1] = 30;
1381 fT2d_DSSC[dee-1][133-1] = 22;
1382 fT2d_DSSC[dee-1][134-1] = 15;
1383 fT2d_DSSC[dee-1][135-1] = 9;
1384 fT2d_DSSC[dee-1][136-1] = 5;
1385 fT2d_DSSC[dee-1][137-1] = 2;
1386 fT2d_DSSC[dee-1][138-1] = 3;
1388 fT2d_DSSC[dee-1][152-1] = 31;
1389 fT2d_DSSC[dee-1][153-1] = 23;
1390 fT2d_DSSC[dee-1][154-1] = 16;
1391 fT2d_DSSC[dee-1][155-1] = 10;
1392 fT2d_DSSC[dee-1][156-1] = 6;
1393 fT2d_DSSC[dee-1][157-1] = 3;
1395 fT2d_DSSC[dee-1][173-1] = 24;
1396 fT2d_DSSC[dee-1][174-1] = 17;
1397 fT2d_DSSC[dee-1][175-1] = 11;
1398 fT2d_DSSC[dee-1][176-1] = 25;
1400 fT2d_DSSC[dee-1][193-1] = 25;
1403 fT2d_DSSC[dee-1][50-1] = 10;
1405 fT2d_DSSC[dee-1][69-1] = 18;
1406 fT2d_DSSC[dee-1][70-1] = 11;
1407 fT2d_DSSC[dee-1][71-1] = 3;
1409 fT2d_DSSC[dee-1][88-1] = 25;
1410 fT2d_DSSC[dee-1][89-1] = 19;
1411 fT2d_DSSC[dee-1][90-1] = 12;
1412 fT2d_DSSC[dee-1][91-1] = 4;
1414 fT2d_DSSC[dee-1][108-1] = 26;
1415 fT2d_DSSC[dee-1][109-1] = 20;
1416 fT2d_DSSC[dee-1][110-1] = 13;
1417 fT2d_DSSC[dee-1][111-1] = 5;
1419 fT2d_DSSC[dee-1][127-1] = 31;
1420 fT2d_DSSC[dee-1][128-1] = 27;
1421 fT2d_DSSC[dee-1][129-1] = 21;
1422 fT2d_DSSC[dee-1][130-1] = 14;
1423 fT2d_DSSC[dee-1][131-1] = 6;
1425 fT2d_DSSC[dee-1][147-1] = 32;
1426 fT2d_DSSC[dee-1][148-1] = 28;
1427 fT2d_DSSC[dee-1][149-1] = 22;
1428 fT2d_DSSC[dee-1][150-1] = 15;
1429 fT2d_DSSC[dee-1][151-1] = 7;
1431 fT2d_DSSC[dee-1][166-1] = 33;
1432 fT2d_DSSC[dee-1][167-1] = 30;
1433 fT2d_DSSC[dee-1][168-1] = 29;
1434 fT2d_DSSC[dee-1][169-1] = 23;
1435 fT2d_DSSC[dee-1][170-1] = 16;
1436 fT2d_DSSC[dee-1][171-1] = 8;
1437 fT2d_DSSC[dee-1][172-1] = 1;
1439 fT2d_DSSC[dee-1][188-1] = 34;
1440 fT2d_DSSC[dee-1][189-1] = 24;
1441 fT2d_DSSC[dee-1][190-1] = 17;
1442 fT2d_DSSC[dee-1][191-1] = 9;
1443 fT2d_DSSC[dee-1][192-1] = 2;
1446 fT2d_DSSC[dee-1][27-1] = 33;
1447 fT2d_DSSC[dee-1][28-1] = 32;
1448 fT2d_DSSC[dee-1][29-1] = 14;
1450 fT2d_DSSC[dee-1][44-1] = 22;
1451 fT2d_DSSC[dee-1][45-1] = 15;
1452 fT2d_DSSC[dee-1][46-1] = 8;
1453 fT2d_DSSC[dee-1][47-1] = 4;
1454 fT2d_DSSC[dee-1][48-1] = 2;
1455 fT2d_DSSC[dee-1][49-1] = 1;
1457 fT2d_DSSC[dee-1][62-1] = 29;
1458 fT2d_DSSC[dee-1][63-1] = 28;
1459 fT2d_DSSC[dee-1][64-1] = 23;
1460 fT2d_DSSC[dee-1][65-1] = 16;
1461 fT2d_DSSC[dee-1][66-1] = 9;
1462 fT2d_DSSC[dee-1][67-1] = 5;
1463 fT2d_DSSC[dee-1][68-1] = 3;
1465 fT2d_DSSC[dee-1][82-1] = 31;
1466 fT2d_DSSC[dee-1][83-1] = 30;
1467 fT2d_DSSC[dee-1][84-1] = 24;
1468 fT2d_DSSC[dee-1][85-1] = 17;
1469 fT2d_DSSC[dee-1][86-1] = 10;
1470 fT2d_DSSC[dee-1][87-1] = 6;
1472 fT2d_DSSC[dee-1][102-1] = 21;
1473 fT2d_DSSC[dee-1][103-1] = 27;
1474 fT2d_DSSC[dee-1][104-1] = 25;
1475 fT2d_DSSC[dee-1][105-1] = 18;
1476 fT2d_DSSC[dee-1][106-1] = 11;
1477 fT2d_DSSC[dee-1][107-1] = 7;
1479 fT2d_DSSC[dee-1][123-1] = 21;
1480 fT2d_DSSC[dee-1][124-1] = 26;
1481 fT2d_DSSC[dee-1][125-1] = 19;
1482 fT2d_DSSC[dee-1][126-1] = 12;
1484 fT2d_DSSC[dee-1][144-1] = 14;
1485 fT2d_DSSC[dee-1][145-1] = 20;
1486 fT2d_DSSC[dee-1][146-1] = 13;
1488 fT2d_DSSC[dee-1][165-1] = 14;
1491 if(dee == 1 || dee == 3)
1493 fT2d_DSSC[dee-1][1-1] = 34;
1494 fT2d_DSSC[dee-1][2-1] = 33;
1495 fT2d_DSSC[dee-1][3-1] = 32;
1496 fT2d_DSSC[dee-1][4-1] = 31;
1497 fT2d_DSSC[dee-1][5-1] = 26;
1498 fT2d_DSSC[dee-1][6-1] = 25;
1499 fT2d_DSSC[dee-1][7-1] = 24;
1500 fT2d_DSSC[dee-1][8-1] = 23;
1502 fT2d_DSSC[dee-1][21-1] = 30;
1503 fT2d_DSSC[dee-1][22-1] = 29;
1504 fT2d_DSSC[dee-1][23-1] = 28;
1505 fT2d_DSSC[dee-1][24-1] = 27;
1506 fT2d_DSSC[dee-1][25-1] = 22;
1507 fT2d_DSSC[dee-1][26-1] = 21;
1509 fT2d_DSSC[dee-1][41-1] = 20;
1510 fT2d_DSSC[dee-1][42-1] = 19;
1511 fT2d_DSSC[dee-1][43-1] = 18;
1514 if(dee == 2 || dee == 4)
1516 fT2d_DSSC[dee-1][1-1] = 17;
1517 fT2d_DSSC[dee-1][2-1] = 16;
1518 fT2d_DSSC[dee-1][3-1] = 15;
1519 fT2d_DSSC[dee-1][4-1] = 14;
1520 fT2d_DSSC[dee-1][5-1] = 9;
1521 fT2d_DSSC[dee-1][6-1] = 8;
1522 fT2d_DSSC[dee-1][7-1] = 7;
1523 fT2d_DSSC[dee-1][8-1] = 6;
1525 fT2d_DSSC[dee-1][21-1] = 13;
1526 fT2d_DSSC[dee-1][22-1] = 12;
1527 fT2d_DSSC[dee-1][23-1] = 11;
1528 fT2d_DSSC[dee-1][24-1] = 10;
1529 fT2d_DSSC[dee-1][25-1] = 5;
1530 fT2d_DSSC[dee-1][26-1] = 4;
1532 fT2d_DSSC[dee-1][41-1] = 3;
1533 fT2d_DSSC[dee-1][42-1] = 2;
1534 fT2d_DSSC[dee-1][43-1] = 1;
1541 for(Int_t dee=1; dee<=4; dee++)
1542 {
for(Int_t isc=1; isc<=MaxDeeSC; isc++)
1543 {fT2d_DeeSCCons[dee-1][isc-1] = -1;}}
1545 for(Int_t i_dee_type=1; i_dee_type<=2; i_dee_type++)
1548 if( i_dee_type == 1 ){dee = 1;}
1549 if( i_dee_type == 2 ){dee = 3;}
1553 fT2d_DeeSCCons[dee-1][13-1] = 161; fT2d_DeeSCCons[dee][13-1] = 12;
1554 fT2d_DeeSCCons[dee-1][14-1] = 160; fT2d_DeeSCCons[dee][14-1] = 11;
1555 fT2d_DeeSCCons[dee-1][15-1] = 159; fT2d_DeeSCCons[dee][15-1] = 10;
1556 fT2d_DeeSCCons[dee-1][16-1] = 158; fT2d_DeeSCCons[dee][16-1] = 9;
1557 fT2d_DeeSCCons[dee-1][17-1] = 153; fT2d_DeeSCCons[dee][17-1] = 4;
1558 fT2d_DeeSCCons[dee-1][18-1] = 152; fT2d_DeeSCCons[dee][18-1] = 3;
1559 fT2d_DeeSCCons[dee-1][19-1] = 151; fT2d_DeeSCCons[dee][19-1] = 2;
1560 fT2d_DeeSCCons[dee-1][20-1] = 150; fT2d_DeeSCCons[dee][20-1] = 1;
1562 fT2d_DeeSCCons[dee-1][33-1] = 165; fT2d_DeeSCCons[dee][33-1] = 16;
1563 fT2d_DeeSCCons[dee-1][34-1] = 164; fT2d_DeeSCCons[dee][34-1] = 15;
1564 fT2d_DeeSCCons[dee-1][35-1] = 163; fT2d_DeeSCCons[dee][35-1] = 14;
1565 fT2d_DeeSCCons[dee-1][36-1] = 162; fT2d_DeeSCCons[dee][36-1] = 13;
1566 fT2d_DeeSCCons[dee-1][37-1] = 157; fT2d_DeeSCCons[dee][37-1] = 8;
1567 fT2d_DeeSCCons[dee-1][38-1] = 156; fT2d_DeeSCCons[dee][38-1] = 7;
1568 fT2d_DeeSCCons[dee-1][39-1] = 155; fT2d_DeeSCCons[dee][39-1] = 6;
1569 fT2d_DeeSCCons[dee-1][40-1] = 154; fT2d_DeeSCCons[dee][40-1] = 5;
1571 fT2d_DeeSCCons[dee-1][54-1] = 193; fT2d_DeeSCCons[dee][54-1] = 44;
1572 fT2d_DeeSCCons[dee-1][55-1] = 186; fT2d_DeeSCCons[dee][55-1] = 37;
1573 fT2d_DeeSCCons[dee-1][56-1] = 179; fT2d_DeeSCCons[dee][56-1] = 30;
1574 fT2d_DeeSCCons[dee-1][57-1] = 173; fT2d_DeeSCCons[dee][57-1] = 24;
1575 fT2d_DeeSCCons[dee-1][58-1] = 169; fT2d_DeeSCCons[dee][58-1] = 20;
1576 fT2d_DeeSCCons[dee-1][59-1] = 166; fT2d_DeeSCCons[dee][59-1] = 17;
1577 fT2d_DeeSCCons[dee-1][60-1] = 182; fT2d_DeeSCCons[dee][60-1] = 33;
1579 fT2d_DeeSCCons[dee-1][75-1] = 187; fT2d_DeeSCCons[dee][75-1] = 38;
1580 fT2d_DeeSCCons[dee-1][76-1] = 180; fT2d_DeeSCCons[dee][76-1] = 31;
1581 fT2d_DeeSCCons[dee-1][77-1] = 174; fT2d_DeeSCCons[dee][77-1] = 25;
1582 fT2d_DeeSCCons[dee-1][78-1] = 170; fT2d_DeeSCCons[dee][78-1] = 21;
1583 fT2d_DeeSCCons[dee-1][79-1] = 167; fT2d_DeeSCCons[dee][79-1] = 18;
1585 fT2d_DeeSCCons[dee-1][96-1] = 181; fT2d_DeeSCCons[dee][96-1] = 32;
1586 fT2d_DeeSCCons[dee-1][97-1] = 175; fT2d_DeeSCCons[dee][97-1] = 26;
1587 fT2d_DeeSCCons[dee-1][98-1] = 171; fT2d_DeeSCCons[dee][98-1] = 22;
1588 fT2d_DeeSCCons[dee-1][99-1] = 168; fT2d_DeeSCCons[dee][99-1] = 19;
1590 fT2d_DeeSCCons[dee-1][118-1] = 172; fT2d_DeeSCCons[dee][118-1] = 23;
1591 fT2d_DeeSCCons[dee-1][119-1] = 182; fT2d_DeeSCCons[dee][119-1] = 33;
1594 fT2d_DeeSCCons[dee-1][32-1] = 178; fT2d_DeeSCCons[dee][32-1] = 29;
1596 fT2d_DeeSCCons[dee-1][51-1] = 216; fT2d_DeeSCCons[dee][51-1] = 67;
1597 fT2d_DeeSCCons[dee-1][52-1] = 208; fT2d_DeeSCCons[dee][52-1] = 59;
1598 fT2d_DeeSCCons[dee-1][53-1] = 200; fT2d_DeeSCCons[dee][53-1] = 51;
1600 fT2d_DeeSCCons[dee-1][72-1] = 209; fT2d_DeeSCCons[dee][72-1] = 60;
1601 fT2d_DeeSCCons[dee-1][73-1] = 201; fT2d_DeeSCCons[dee][73-1] = 52;
1602 fT2d_DeeSCCons[dee-1][74-1] = 194; fT2d_DeeSCCons[dee][74-1] = 45;
1604 fT2d_DeeSCCons[dee-1][92-1] = 210; fT2d_DeeSCCons[dee][92-1] = 61;
1605 fT2d_DeeSCCons[dee-1][93-1] = 202; fT2d_DeeSCCons[dee][93-1] = 53;
1606 fT2d_DeeSCCons[dee-1][94-1] = 195; fT2d_DeeSCCons[dee][94-1] = 46;
1607 fT2d_DeeSCCons[dee-1][95-1] = 188; fT2d_DeeSCCons[dee][95-1] = 39;
1609 fT2d_DeeSCCons[dee-1][112-1] = 211; fT2d_DeeSCCons[dee][112-1] = 62;
1610 fT2d_DeeSCCons[dee-1][113-1] = 203; fT2d_DeeSCCons[dee][113-1] = 54;
1611 fT2d_DeeSCCons[dee-1][114-1] = 196; fT2d_DeeSCCons[dee][114-1] = 47;
1612 fT2d_DeeSCCons[dee-1][115-1] = 189; fT2d_DeeSCCons[dee][115-1] = 40;
1613 fT2d_DeeSCCons[dee-1][116-1] = 183; fT2d_DeeSCCons[dee][116-1] = 34;
1614 fT2d_DeeSCCons[dee-1][117-1] = 176; fT2d_DeeSCCons[dee][117-1] = 27;
1616 fT2d_DeeSCCons[dee-1][132-1] = 212; fT2d_DeeSCCons[dee][132-1] = 63;
1617 fT2d_DeeSCCons[dee-1][133-1] = 204; fT2d_DeeSCCons[dee][133-1] = 55;
1618 fT2d_DeeSCCons[dee-1][134-1] = 197; fT2d_DeeSCCons[dee][134-1] = 48;
1619 fT2d_DeeSCCons[dee-1][135-1] = 190; fT2d_DeeSCCons[dee][135-1] = 41;
1620 fT2d_DeeSCCons[dee-1][136-1] = 184; fT2d_DeeSCCons[dee][136-1] = 35;
1621 fT2d_DeeSCCons[dee-1][137-1] = 177; fT2d_DeeSCCons[dee][137-1] = 28;
1622 fT2d_DeeSCCons[dee-1][138-1] = 178; fT2d_DeeSCCons[dee][138-1] = 29;
1624 fT2d_DeeSCCons[dee-1][152-1] = 213; fT2d_DeeSCCons[dee][152-1] = 64;
1625 fT2d_DeeSCCons[dee-1][153-1] = 205; fT2d_DeeSCCons[dee][153-1] = 56;
1626 fT2d_DeeSCCons[dee-1][154-1] = 198; fT2d_DeeSCCons[dee][154-1] = 49;
1627 fT2d_DeeSCCons[dee-1][155-1] = 191; fT2d_DeeSCCons[dee][155-1] = 42;
1628 fT2d_DeeSCCons[dee-1][156-1] = 185; fT2d_DeeSCCons[dee][156-1] = 36;
1629 fT2d_DeeSCCons[dee-1][157-1] = 178; fT2d_DeeSCCons[dee][157-1] = 29;
1631 fT2d_DeeSCCons[dee-1][173-1] = 206; fT2d_DeeSCCons[dee][173-1] = 57;
1632 fT2d_DeeSCCons[dee-1][174-1] = 199; fT2d_DeeSCCons[dee][174-1] = 50;
1633 fT2d_DeeSCCons[dee-1][175-1] = 192; fT2d_DeeSCCons[dee][175-1] = 43;
1634 fT2d_DeeSCCons[dee-1][176-1] = 207; fT2d_DeeSCCons[dee][176-1] = 58;
1636 fT2d_DeeSCCons[dee-1][193-1] = 207; fT2d_DeeSCCons[dee][193-1] = 58;
1639 fT2d_DeeSCCons[dee-1][50-1] = 224; fT2d_DeeSCCons[dee][50-1] = 75;
1641 fT2d_DeeSCCons[dee-1][69-1] = 233; fT2d_DeeSCCons[dee][69-1] = 84;
1642 fT2d_DeeSCCons[dee-1][70-1] = 225; fT2d_DeeSCCons[dee][70-1] = 76;
1643 fT2d_DeeSCCons[dee-1][71-1] = 217; fT2d_DeeSCCons[dee][71-1] = 68;
1645 fT2d_DeeSCCons[dee-1][88-1] = 242; fT2d_DeeSCCons[dee][88-1] = 93;
1646 fT2d_DeeSCCons[dee-1][89-1] = 234; fT2d_DeeSCCons[dee][89-1] = 85;
1647 fT2d_DeeSCCons[dee-1][90-1] = 226; fT2d_DeeSCCons[dee][90-1] = 77;
1648 fT2d_DeeSCCons[dee-1][91-1] = 218; fT2d_DeeSCCons[dee][91-1] = 69;
1650 fT2d_DeeSCCons[dee-1][108-1] = 243; fT2d_DeeSCCons[dee][108-1] = 94;
1651 fT2d_DeeSCCons[dee-1][109-1] = 235; fT2d_DeeSCCons[dee][109-1] = 86;
1652 fT2d_DeeSCCons[dee-1][110-1] = 227; fT2d_DeeSCCons[dee][110-1] = 78;
1653 fT2d_DeeSCCons[dee-1][111-1] = 219; fT2d_DeeSCCons[dee][111-1] = 70;
1655 fT2d_DeeSCCons[dee-1][127-1] = 252; fT2d_DeeSCCons[dee][127-1] = 103;
1656 fT2d_DeeSCCons[dee-1][128-1] = 244; fT2d_DeeSCCons[dee][128-1] = 95;
1657 fT2d_DeeSCCons[dee-1][129-1] = 236; fT2d_DeeSCCons[dee][129-1] = 87;
1658 fT2d_DeeSCCons[dee-1][130-1] = 228; fT2d_DeeSCCons[dee][130-1] = 79;
1659 fT2d_DeeSCCons[dee-1][131-1] = 220; fT2d_DeeSCCons[dee][131-1] = 71;
1661 fT2d_DeeSCCons[dee-1][147-1] = 253; fT2d_DeeSCCons[dee][147-1] = 104;
1662 fT2d_DeeSCCons[dee-1][148-1] = 245; fT2d_DeeSCCons[dee][148-1] = 96;
1663 fT2d_DeeSCCons[dee-1][149-1] = 237; fT2d_DeeSCCons[dee][149-1] = 88;
1664 fT2d_DeeSCCons[dee-1][150-1] = 229; fT2d_DeeSCCons[dee][150-1] = 80;
1665 fT2d_DeeSCCons[dee-1][151-1] = 221; fT2d_DeeSCCons[dee][151-1] = 72;
1667 fT2d_DeeSCCons[dee-1][166-1] = 254; fT2d_DeeSCCons[dee][166-1] = 105;
1668 fT2d_DeeSCCons[dee-1][167-1] = 247; fT2d_DeeSCCons[dee][167-1] = 98;
1669 fT2d_DeeSCCons[dee-1][168-1] = 246; fT2d_DeeSCCons[dee][168-1] = 97;
1670 fT2d_DeeSCCons[dee-1][169-1] = 238; fT2d_DeeSCCons[dee][169-1] = 89;
1671 fT2d_DeeSCCons[dee-1][170-1] = 230; fT2d_DeeSCCons[dee][170-1] = 81;
1672 fT2d_DeeSCCons[dee-1][171-1] = 222; fT2d_DeeSCCons[dee][171-1] = 73;
1673 fT2d_DeeSCCons[dee-1][172-1] = 214; fT2d_DeeSCCons[dee][172-1] = 65;
1675 fT2d_DeeSCCons[dee-1][188-1] = 298; fT2d_DeeSCCons[dee][188-1] = 149;
1676 fT2d_DeeSCCons[dee-1][189-1] = 239; fT2d_DeeSCCons[dee][189-1] = 90;
1677 fT2d_DeeSCCons[dee-1][190-1] = 231; fT2d_DeeSCCons[dee][190-1] = 82;
1678 fT2d_DeeSCCons[dee-1][191-1] = 223; fT2d_DeeSCCons[dee][191-1] = 74;
1679 fT2d_DeeSCCons[dee-1][192-1] = 215; fT2d_DeeSCCons[dee][192-1] = 66;
1682 fT2d_DeeSCCons[dee-1][29-1] = 261; fT2d_DeeSCCons[dee][29-1] = 112;
1683 fT2d_DeeSCCons[dee-1][27-1] = 283; fT2d_DeeSCCons[dee][27-1] = 134;
1684 fT2d_DeeSCCons[dee-1][28-1] = 282; fT2d_DeeSCCons[dee][28-1] = 133;
1686 fT2d_DeeSCCons[dee-1][44-1] = 269; fT2d_DeeSCCons[dee][44-1] = 120;
1687 fT2d_DeeSCCons[dee-1][45-1] = 262; fT2d_DeeSCCons[dee][45-1] = 113;
1688 fT2d_DeeSCCons[dee-1][46-1] = 255; fT2d_DeeSCCons[dee][46-1] = 106;
1689 fT2d_DeeSCCons[dee-1][47-1] = 248; fT2d_DeeSCCons[dee][47-1] = 99;
1690 fT2d_DeeSCCons[dee-1][48-1] = 240; fT2d_DeeSCCons[dee][48-1] = 91;
1691 fT2d_DeeSCCons[dee-1][49-1] = 232; fT2d_DeeSCCons[dee][49-1] = 83;
1693 fT2d_DeeSCCons[dee-1][62-1] = 276; fT2d_DeeSCCons[dee][62-1] = 127;
1694 fT2d_DeeSCCons[dee-1][63-1] = 275; fT2d_DeeSCCons[dee][63-1] = 126;
1695 fT2d_DeeSCCons[dee-1][64-1] = 270; fT2d_DeeSCCons[dee][64-1] = 121;
1696 fT2d_DeeSCCons[dee-1][65-1] = 263; fT2d_DeeSCCons[dee][65-1] = 114;
1697 fT2d_DeeSCCons[dee-1][66-1] = 256; fT2d_DeeSCCons[dee][66-1] = 107;
1698 fT2d_DeeSCCons[dee-1][67-1] = 249; fT2d_DeeSCCons[dee][67-1] = 100;
1699 fT2d_DeeSCCons[dee-1][68-1] = 241; fT2d_DeeSCCons[dee][68-1] = 92;
1701 fT2d_DeeSCCons[dee-1][82-1] = 278; fT2d_DeeSCCons[dee][82-1] = 129;
1702 fT2d_DeeSCCons[dee-1][83-1] = 277; fT2d_DeeSCCons[dee][83-1] = 128;
1703 fT2d_DeeSCCons[dee-1][84-1] = 271; fT2d_DeeSCCons[dee][84-1] = 122;
1704 fT2d_DeeSCCons[dee-1][85-1] = 264; fT2d_DeeSCCons[dee][85-1] = 115;
1705 fT2d_DeeSCCons[dee-1][86-1] = 257; fT2d_DeeSCCons[dee][86-1] = 108;
1706 fT2d_DeeSCCons[dee-1][87-1] = 250; fT2d_DeeSCCons[dee][87-1] = 101;
1708 fT2d_DeeSCCons[dee-1][102-1] = 268; fT2d_DeeSCCons[dee][102-1] = 119;
1709 fT2d_DeeSCCons[dee-1][103-1] = 274; fT2d_DeeSCCons[dee][103-1] = 125;
1710 fT2d_DeeSCCons[dee-1][104-1] = 272; fT2d_DeeSCCons[dee][104-1] = 123;
1711 fT2d_DeeSCCons[dee-1][105-1] = 265; fT2d_DeeSCCons[dee][105-1] = 116;
1712 fT2d_DeeSCCons[dee-1][106-1] = 258; fT2d_DeeSCCons[dee][106-1] = 109;
1713 fT2d_DeeSCCons[dee-1][107-1] = 251; fT2d_DeeSCCons[dee][107-1] = 102;
1715 fT2d_DeeSCCons[dee-1][123-1] = 268; fT2d_DeeSCCons[dee][123-1] = 119;
1716 fT2d_DeeSCCons[dee-1][124-1] = 273; fT2d_DeeSCCons[dee][124-1] = 124;
1717 fT2d_DeeSCCons[dee-1][125-1] = 266; fT2d_DeeSCCons[dee][125-1] = 117;
1718 fT2d_DeeSCCons[dee-1][126-1] = 259; fT2d_DeeSCCons[dee][126-1] = 110;
1720 fT2d_DeeSCCons[dee-1][144-1] = 261; fT2d_DeeSCCons[dee][144-1] = 112;
1721 fT2d_DeeSCCons[dee-1][145-1] = 267; fT2d_DeeSCCons[dee][145-1] = 118;
1722 fT2d_DeeSCCons[dee-1][146-1] = 260; fT2d_DeeSCCons[dee][146-1] = 111;
1724 fT2d_DeeSCCons[dee-1][165-1] = 261; fT2d_DeeSCCons[dee][165-1] = 112;
1727 fT2d_DeeSCCons[dee-1][1-1] = 297;
1728 fT2d_DeeSCCons[dee-1][2-1] = 296;
1729 fT2d_DeeSCCons[dee-1][3-1] = 295;
1730 fT2d_DeeSCCons[dee-1][4-1] = 294;
1731 fT2d_DeeSCCons[dee-1][5-1] = 289;
1732 fT2d_DeeSCCons[dee-1][6-1] = 288;
1733 fT2d_DeeSCCons[dee-1][7-1] = 287;
1734 fT2d_DeeSCCons[dee-1][8-1] = 286;
1736 fT2d_DeeSCCons[dee-1][21-1] = 293;
1737 fT2d_DeeSCCons[dee-1][22-1] = 292;
1738 fT2d_DeeSCCons[dee-1][23-1] = 291;
1739 fT2d_DeeSCCons[dee-1][24-1] = 290;
1740 fT2d_DeeSCCons[dee-1][25-1] = 285;
1741 fT2d_DeeSCCons[dee-1][26-1] = 284;
1743 fT2d_DeeSCCons[dee-1][41-1] = 281;
1744 fT2d_DeeSCCons[dee-1][42-1] = 280;
1745 fT2d_DeeSCCons[dee-1][43-1] = 279;
1748 fT2d_DeeSCCons[dee][1-1] = 148;
1749 fT2d_DeeSCCons[dee][2-1] = 147;
1750 fT2d_DeeSCCons[dee][3-1] = 146;
1751 fT2d_DeeSCCons[dee][4-1] = 145;
1752 fT2d_DeeSCCons[dee][5-1] = 140;
1753 fT2d_DeeSCCons[dee][6-1] = 139;
1754 fT2d_DeeSCCons[dee][7-1] = 138;
1755 fT2d_DeeSCCons[dee][8-1] = 137;
1757 fT2d_DeeSCCons[dee][21-1] = 144;
1758 fT2d_DeeSCCons[dee][22-1] = 143;
1759 fT2d_DeeSCCons[dee][23-1] = 142;
1760 fT2d_DeeSCCons[dee][24-1] = 141;
1761 fT2d_DeeSCCons[dee][25-1] = 136;
1762 fT2d_DeeSCCons[dee][26-1] = 135;
1764 fT2d_DeeSCCons[dee][41-1] = 132;
1765 fT2d_DeeSCCons[dee][42-1] = 131;
1766 fT2d_DeeSCCons[dee][43-1] = 130;
1771 for(Int_t i0EEDee=0; i0EEDee<MaxEEDee; i0EEDee++)
1773 for(Int_t i_ecna=0; i_ecna<MaxDeeSC; i_ecna++)
1777 if( fT2d_DeeSCCons[i0EEDee][i_ecna] >= 0 && fT2d_DeeSCCons[i0EEDee][i_ecna] <= MaxEESCForCons )
1779 fT2d_RecovDeeSC[i0EEDee][fT2d_DeeSCCons[i0EEDee][i_ecna]-1] = i_ecna+1;
1793 const Int_t& i0SCEcha,
1794 const TString& sDeeDir)
1799 Int_t n1DeeCrys = 0;
1800 Int_t i0DeeDir = GetDeeDirIndex(sDeeDir);
1802 if( fT3dDeeCrys == 0 ){BuildEndcapCrysTable();}
1804 if( (n1DeeSCEcna >= 1) && (n1DeeSCEcna <= fEcal->MaxSCEcnaInDee()) )
1806 if (i0SCEcha >=0 && i0SCEcha < fEcal->MaxCrysInSC())
1808 n1DeeCrys = fT3dDeeCrys[n1DeeSCEcna-1][i0SCEcha][i0DeeDir];
1813 cout <<
"!TEcnaNumbering::Get1DeeCrysFrom1DeeSCEcnaAnd0SCEcha(...)> Electronic Channel in SuperCrystal = "
1814 << i0SCEcha+1 <<
". Out of range (range = [1," << fEcal->MaxCrysInSC() <<
"])" << fTTBELL << endl;
1820 cout <<
"!TEcnaNumbering::Get1DeeCrysFrom1DeeSCEcnaAnd0SCEcha(...)> Super-Crystal number in Dee out of range."
1821 <<
" n1DeeSCEcna = " << n1DeeSCEcna << fTTBELL << endl;
1837 Int_t n1SCEcha = -1;
1838 Int_t iDeeDir = GetDeeDirIndex(sDeeDir);
1840 if( n1DeeCrys >= 1 && n1DeeCrys <= fEcal->MaxCrysEcnaInDee() )
1842 n1SCEcha = fT2dSCEcha[n1DeeCrys-1][iDeeDir];
1847 cout <<
"!TEcnaNumbering::Get1SCEchaFrom1DeeCrys(...)> Crystal number in Dee out of range."
1848 <<
" n1DeeCrys = " << n1DeeCrys <<
"(max = " << fEcal->MaxCrysEcnaInDee() <<
")" << fTTBELL << endl;
1857 Int_t n1DeeSCEcna = 0;
1858 Int_t iDeeDir = GetDeeDirIndex(sDeeDir);
1860 if( n1DeeCrys >= 1 && n1DeeCrys <= fEcal->MaxCrysEcnaInDee() )
1862 n1DeeSCEcna = fT2dDeeSC[n1DeeCrys-1][iDeeDir];
1867 cout <<
"!TEcnaNumbering::Get1DeeSCEcnaFrom1DeeCrys(...)> Crystal number in Dee out of range."
1868 <<
" n1DeeCrys = " << n1DeeCrys <<
"(max = " << fEcal->MaxCrysEcnaInDee() <<
")" << fTTBELL << endl;
1884 Int_t i0DeeSC = i0DeeEcha/fEcal->MaxCrysInSC();
1885 Int_t n1SCEcha = i0DeeEcha - fEcal->MaxCrysInSC()*i0DeeSC + 1;
1894 Int_t n1DeeSC = i0DeeEcha/fEcal->MaxCrysInSC()+1;
1914 Int_t data_sector = -1;
1916 if( n1DeeNumber > 0 && n1DeeNumber <= fEcal->MaxDeeInEE() )
1918 if( n1DeeSCEcna > 0 && n1DeeSCEcna <= fEcal->MaxSCEcnaInDee() )
1920 data_sector = fT2d_DS[n1DeeNumber-1][n1DeeSCEcna-1];
1924 cout <<
"!TEcnaNumbering::GetDSFrom1DeeSCEcna(...)> n1DeeSCEcna = " << n1DeeSCEcna
1925 <<
". Out of range ( range = [1," << fEcal->MaxSCEcnaInDee() <<
"] )"
1931 if( n1DeeNumber != 0 )
1933 cout <<
"!TEcnaNumbering::GetDSFrom1DeeSCEcna(...)> n1DeeNumber = " << n1DeeNumber
1934 <<
". Out of range ( range = [1," << fEcal->MaxDeeInEE() <<
"] )"
1939 cout <<
"TEcnaNumbering::GetDSFrom1DeeSCEcna(...)> Dee = " << n1DeeNumber
1940 <<
". Out of range (range = [1," << fEcal->MaxDeeInEE() <<
"])"
1948 const Int_t& n1SCEcha)
1951 Int_t ds_sc = GetDSSCFrom1DeeSCEcna(n1DeeNumber, n1DeeSCEcna);
1953 if( n1DeeSCEcna == 29 || n1DeeSCEcna == 32 )
1955 if( n1SCEcha == 11 )
1957 if( ds_sc == 14 ){ds_sc= 21;}
1959 if( n1SCEcha == 1 || n1SCEcha == 2 || n1SCEcha == 3 ||
1960 n1SCEcha == 6 || n1SCEcha == 7 )
1962 if( ds_sc == 3 ){ds_sc = 25;}
1974 if( n1DeeNumber > 0 && n1DeeNumber <= fEcal->MaxDeeInEE() )
1976 if( n1DeeSCEcna > 0 && n1DeeSCEcna <= fEcal->MaxSCEcnaInDee() )
1978 ds_sc = fT2d_DSSC[n1DeeNumber-1][n1DeeSCEcna-1];
1983 cout <<
"!TEcnaNumbering::GetDSSCFrom1DeeSCEcna(...)> n1DeeSCEcna = " << n1DeeSCEcna
1984 <<
". Out of range ( range = [1," << fEcal->MaxSCEcnaInDee() <<
"] )"
1990 if( n1DeeNumber != 0 )
1992 cout <<
"!TEcnaNumbering::GetDSSCFrom1DeeSCEcna(...)> n1DeeNumber = " << n1DeeNumber
1993 <<
". Out of range ( range = [1," << fEcal->MaxDeeInEE() <<
"] )"
1998 cout <<
"TEcnaNumbering::GetDSSCFrom1DeeSCEcna(...)> Dee = " << n1DeeNumber
1999 <<
". Out of range (range = [1," << fEcal->MaxDeeInEE() <<
"])"
2010 Int_t dee_sc_cons = -1;
2012 if( n1DeeNumber > 0 && n1DeeNumber <= fEcal->MaxDeeInEE() )
2014 if( n1DeeSCEcna > 0 && n1DeeSCEcna <= fEcal->MaxSCEcnaInDee() )
2016 dee_sc_cons = fT2d_DeeSCCons[n1DeeNumber-1][n1DeeSCEcna-1];
2020 cout <<
"!TEcnaNumbering::GetDeeSCConsFrom1DeeSCEcna(...)> *** WARNING *** n1DeeSCEcna = " << n1DeeSCEcna
2021 <<
". Out of range ( range = [1," << fEcal->MaxSCEcnaInDee()
2022 <<
"] ). Nb for const. forced to " << fT2d_DeeSCCons[n1DeeNumber-1][19] <<
"." << endl;
2023 dee_sc_cons = fT2d_DeeSCCons[n1DeeNumber-1][19];
2028 if( n1DeeNumber != 0 )
2030 cout <<
"!TEcnaNumbering::GetDeeSCConsFrom1DeeSCEcna(...)> n1DeeNumber = " << n1DeeNumber
2031 <<
". Out of range ( range = [1," << fEcal->MaxDeeInEE() <<
"] )"
2036 cout <<
"TEcnaNumbering::GetDeeSCConsFrom1DeeSCEcna(...)> Dee = " << n1DeeNumber
2037 <<
". Out of range (range = [1," << fEcal->MaxDeeInEE() <<
"])"
2045 const Int_t& n1SCEcha)
2048 Int_t dee_sc_cons = GetDeeSCConsFrom1DeeSCEcna(n1DeeNumber, n1DeeSCEcna);
2050 if( n1DeeSCEcna == 29 || n1DeeSCEcna == 32 )
2052 if( n1SCEcha == 11 )
2054 if( dee_sc_cons == 261 ){dee_sc_cons = 268;}
2055 if( dee_sc_cons == 112 ){dee_sc_cons = 119;}
2057 if( n1SCEcha == 1 || n1SCEcha == 2 || n1SCEcha == 3 ||
2058 n1SCEcha == 6 || n1SCEcha == 7 )
2060 if( dee_sc_cons == 178 ){dee_sc_cons = 207;}
2061 if( dee_sc_cons == 29 ){dee_sc_cons = 58;}
2071 Int_t dee_sc_ecna = -1;
2073 if( n1DeeNumber > 0 && n1DeeNumber <= fEcal->MaxDeeInEE() )
2075 Int_t off_set_cons = 0;
2076 if( n1DeeNumber == 1 || n1DeeNumber == 3 ){off_set_cons = fEcal->MaxSCForConsInDee();}
2078 if( DeeSCCons > off_set_cons && DeeSCCons <= fEcal->MaxSCForConsInDee()+off_set_cons )
2080 dee_sc_ecna = fT2d_RecovDeeSC[n1DeeNumber-1][DeeSCCons-1];
2084 cout <<
"!TEcnaNumbering::Get1DeeSCEcnaFromDeeSCCons(...)> DeeSCCons = " << DeeSCCons
2085 <<
". Out of range ( range = [ " << off_set_cons+1
2086 <<
"," << fEcal->MaxSCForConsInDee()+off_set_cons <<
"] )"
2092 if( n1DeeNumber != 0 )
2094 cout <<
"!TEcnaNumbering::Get1DeeSCEcnaFromDeeSCCons(...)> n1DeeNumber = " << n1DeeNumber
2095 <<
". Out of range ( range = [1," << fEcal->MaxDeeInEE() <<
"] )"
2100 cout <<
"TEcnaNumbering::Get1DeeSCEcnaFromDeeSCCons(...)> Dee = " << n1DeeNumber
2101 <<
". Out of range (range = [1," << fEcal->MaxDeeInEE() <<
"])"
2112 TString SCType =
"Connected";
2114 if( nb_for_cons == 182 || nb_for_cons == 33 ){SCType =
"NotConnected";}
2116 if( nb_for_cons == 178 || nb_for_cons == 29 ){SCType =
"NotConnected";}
2117 if( nb_for_cons == 207 || nb_for_cons == 58 ){SCType =
"NotConnected";}
2119 if( nb_for_cons == 298 || nb_for_cons == 149 ){SCType =
"NotConnected";}
2121 if( nb_for_cons == 261 || nb_for_cons == 112 ){SCType =
"NotConnected";}
2122 if( nb_for_cons == 268 || nb_for_cons == 119 ){SCType =
"NotConnected";}
2124 if( nb_for_cons == 281 || nb_for_cons == 132 ){SCType =
"NotConnected";}
2126 if( nb_for_cons == 161 || nb_for_cons == 12 ){SCType =
"NotComplete";}
2127 if( nb_for_cons == 216 || nb_for_cons == 67 ){SCType =
"NotComplete";}
2128 if( nb_for_cons == 224 || nb_for_cons == 75 ){SCType =
"NotComplete";}
2129 if( nb_for_cons == 286 || nb_for_cons == 137 ){SCType =
"NotComplete";}
2136 Int_t n1StexStin = Get1StexStinFrom0StexEcha(i0StexEcha);
2137 return fT2d_DeeSCCons[n1DeeNumber-1][n1StexStin-1];
2151 TString SCQuad =
"top";
2153 if (n1DeeSCEcna >= 1 && n1DeeSCEcna <= 10){SCQuad =
"bottom";}
2154 if (n1DeeSCEcna >= 21 && n1DeeSCEcna <= 30){SCQuad =
"bottom";}
2155 if (n1DeeSCEcna >= 41 && n1DeeSCEcna <= 50){SCQuad =
"bottom";}
2156 if (n1DeeSCEcna >= 61 && n1DeeSCEcna <= 70){SCQuad =
"bottom";}
2157 if (n1DeeSCEcna >= 81 && n1DeeSCEcna <= 90){SCQuad =
"bottom";}
2158 if (n1DeeSCEcna >= 101 && n1DeeSCEcna <= 110){SCQuad =
"bottom";}
2159 if (n1DeeSCEcna >= 121 && n1DeeSCEcna <= 130){SCQuad =
"bottom";}
2160 if (n1DeeSCEcna >= 141 && n1DeeSCEcna <= 150){SCQuad =
"bottom";}
2161 if (n1DeeSCEcna >= 161 && n1DeeSCEcna <= 170){SCQuad =
"bottom";}
2162 if (n1DeeSCEcna >= 181 && n1DeeSCEcna <= 190){SCQuad =
"bottom";}
2172 if ( SCQuadType ==
"top" && sDeeDir ==
"right" ){itype = 0;}
2173 if ( SCQuadType ==
"top" && sDeeDir ==
"left" ){itype = 1;}
2174 if ( SCQuadType ==
"bottom" && sDeeDir ==
"left" ){itype = 2;}
2175 if ( SCQuadType ==
"bottom" && sDeeDir ==
"right" ){itype = 3;}
2187 TString eetype =
"EE+";
2188 if ( n1DeeNumber == 1 || n1DeeNumber == 2 ){eetype =
"EE+";}
2189 if ( n1DeeNumber == 3 || n1DeeNumber == 4 ){eetype =
"EE-";}
2196 TString
type =
"EE+F";
2197 if ( n1DeeNumber == 1 ){type =
"EE+F";}
2198 if ( n1DeeNumber == 2 ){type =
"EE+N";}
2199 if ( n1DeeNumber == 3 ){type =
"EE-N";}
2200 if ( n1DeeNumber == 4 ){type =
"EE-F";}
2209 TString sDeeDir =
"right";
2210 if ( (n1DeeNumber == 1) || (n1DeeNumber == 3) ){sDeeDir =
"right";}
2211 if ( (n1DeeNumber == 2) || (n1DeeNumber == 4) ){sDeeDir =
"left" ;}
2220 if ( sDeeDir ==
"right" ){iDeeDir = 0;}
2221 if ( sDeeDir ==
"left" ){iDeeDir = 1;}
2233 const Int_t& i0SCEcha)
2237 TString SCQuadType = GetSCQuadFrom1DeeSCEcna(DeeSC);
2238 TString sDeeDir = GetDeeDirViewedFromIP(n1DeeNumber);
2239 Int_t type_index = GetSCQuadTypeIndex(SCQuadType, sDeeDir);
2240 Int_t IXCrysInSC = fT2d_ich_IX[type_index][i0SCEcha+1] + 1;
2248 Int_t IXSCInDee = (DeeSC-1)/fEcal->MaxSCIYInDee() + 1;
2253 const Int_t& i0SCEcha)
2258 (GetIXSCInDee(DeeSC)-1)*fEcal->MaxCrysIXInSC() +
2259 GetIXCrysInSC(n1DeeNumber, DeeSC, i0SCEcha);
2264 const Int_t& i0SCEcha)
2268 TString SCQuadType = GetSCQuadFrom1DeeSCEcna(DeeSC);
2269 TString sDeeDir = GetDeeDirViewedFromIP(n1DeeNumber);
2270 Int_t type_index = GetSCQuadTypeIndex(SCQuadType, sDeeDir);
2271 Int_t JYCrysInSC = fT2d_jch_JY[type_index][i0SCEcha+1] + 1;
2279 Int_t JYSCInDee = (DeeSC-1)%fEcal->MaxSCIYInDee() + 1;
2284 const Int_t& i0SCEcha)
2289 (GetJYSCInDee(DeeSC)-1)*fEcal->MaxCrysIYInSC() +
2290 GetJYCrysInSC(n1DeeNumber, DeeSC, i0SCEcha);
2298 Int_t nb_of_sc = -1;
2299 if( DeeDS == 1 || DeeDS == 9 ){nb_of_sc = 33;}
2300 if( DeeDS == 2 || DeeDS == 8 ){nb_of_sc = 32;}
2301 if( DeeDS == 3 || DeeDS == 7 ){nb_of_sc = 34;}
2302 if( DeeDS == 4 || DeeDS == 6 ){nb_of_sc = 33;}
2303 if( DeeDS == 5){nb_of_sc = 34;}
2317 Double_t IX_min = (Double_t)((DeeSC-1)/fEcal->MaxSCIYInDee())*fEcal->MaxCrysIXInSC() + 1.;
2325 Double_t IX_max = ((Double_t)((DeeSC-1)/fEcal->MaxSCIYInDee())+1.)*fEcal->MaxCrysIXInSC();
2333 Double_t i_IX_min = (Int_t)1.;
2341 Double_t i_IX_max = (Int_t)fEcal->MaxSCIXInDee();
2354 Double_t IY_DeeSC = DeeSC%fEcal->MaxSCIYInDee();
2355 if( IY_DeeSC == 0. ){IY_DeeSC = fEcal->MaxSCIYInDee();}
2357 Double_t j_IY_min = (IY_DeeSC-1)*fEcal->MaxCrysIYInSC() + 1.;
2366 Double_t IY_DeeSC = DeeSC%fEcal->MaxSCIYInDee();
2367 if( IY_DeeSC == 0 ){IY_DeeSC = fEcal->MaxSCIYInDee();}
2369 Double_t j_IY_max = IY_DeeSC*fEcal->MaxCrysIYInSC();
2379 Double_t j_IY_min = (Double_t)1.;
2388 Double_t j_IY_max = (Double_t)fEcal->MaxSCIYInDee();
2397 TString
type =
"EE-";
2399 if ( n1DeeNumber == 1 || n1DeeNumber == 2 ){type =
"EE+";}
2400 if ( n1DeeNumber == 3 || n1DeeNumber == 4 ){type =
"EE-";}
2411 TString xdirection =
"x";
2413 if( GetEEDeeType(n1DeeNumber) ==
"EE+F" ){xdirection =
"-x";}
2414 if( GetEEDeeType(n1DeeNumber) ==
"EE+N" ){xdirection =
"-x";}
2415 if( GetEEDeeType(n1DeeNumber) ==
"EE-N" ){xdirection =
"x";}
2416 if( GetEEDeeType(n1DeeNumber) ==
"EE-F" ){xdirection =
"x";}
2423 TString ydirection =
"-x";
2425 if( GetEEDeeType(n1DeeNumber) ==
"endcap+" ){ydirection =
"-x";}
2426 if( GetEEDeeType(n1DeeNumber) ==
"endcap-" ){ydirection =
"-x";}
2434 TString jydirection =
"x";
2456 Int_t n1StexStin = 0;
2458 if( fFlagSubDet ==
"EB" ){n1StexStin = Get1SMTowFrom0SMEcha(i0StexEcha);}
2459 if( fFlagSubDet ==
"EE" ){n1StexStin = Get1DeeSCEcnaFrom0DeeEcha(i0StexEcha);}
2465 const Int_t& i0StinEcha)
2470 Int_t StexEcha = (Int_t)(-1.);
2472 if ( n1StexStin > 0 && n1StexStin <= fEcal->MaxStinEcnaInStex() &&
2473 i0StinEcha >= 0 && i0StinEcha < fEcal->MaxCrysInStin() )
2474 {StexEcha = (n1StexStin-1)*fEcal->MaxCrysInStin() + i0StinEcha;}
2477 cout <<
"!TEcnaNumbering::Get0StexEchaFrom1StexStinAnd0StinEcha *** ERROR ***> VALUE"
2478 <<
" OUT OF RANGE. Forced to -1. Argument values: n1StexStin = " << n1StexStin
2479 <<
", channel = " << i0StinEcha
2485 const Int_t& i0StinEcha,
const Int_t& StexNumber)
2491 Int_t n1StexCrys = (Int_t)0;
2492 if( fFlagSubDet ==
"EB" ){n1StexCrys = Get1SMCrysFrom1SMTowAnd0TowEcha(n1StexStin, i0StinEcha);}
2493 if( fFlagSubDet ==
"EE" ){TString sDeeDir = GetDeeDirViewedFromIP(StexNumber);
2494 n1StexCrys = Get1DeeCrysFrom1DeeSCEcnaAnd0SCEcha(n1StexStin, i0StinEcha, sDeeDir);}
2506 Double_t IHocoMin = (Double_t)0.;
2507 if(fFlagSubDet ==
"EB" ){IHocoMin = GetIEtaMin(Stex, StexStin);}
2508 if(fFlagSubDet ==
"EE" ){IHocoMin = GetIIXMin(StexStin);}
2514 Double_t IHocoMax = (Double_t)0.;
2515 if(fFlagSubDet ==
"EB" ){IHocoMax = GetIEtaMax(Stex, StexStin);}
2516 if(fFlagSubDet ==
"EE" ){IHocoMax = GetIIXMax(StexStin);}
2522 Double_t IVecoMin = (Double_t)0.;
2523 if(fFlagSubDet ==
"EB" ){IVecoMin = GetPhiMin(Stex, StexStin);}
2524 if(fFlagSubDet ==
"EE" ){IVecoMin = GetJIYMin(Stex, StexStin);}
2530 Double_t IVecoMax = (Double_t)0.;
2531 if(fFlagSubDet ==
"EB" ){IVecoMax = GetPhiMax(Stex, StexStin);}
2532 if(fFlagSubDet ==
"EE" ){IVecoMax = GetJIYMax(Stex, StexStin);}
2538 Double_t JVecoMin = (Double_t)0.;
2539 if(fFlagSubDet ==
"EB" ){JVecoMin = GetJPhiMin(Stex, StexStin);}
2540 if(fFlagSubDet ==
"EE" ){JVecoMin = GetJIYMin(Stex, StexStin);}
2545 Double_t JVecoMax = (Double_t)0.;
2546 if(fFlagSubDet ==
"EB" ){JVecoMax = GetJPhiMax(Stex, StexStin);}
2547 if(fFlagSubDet ==
"EE" ){JVecoMax = GetJIYMax(Stex, StexStin);}
2557 TString half_stas =
"EB? EE?";
2559 if( fFlagSubDet ==
"EB" ){half_stas = GetSMHalfBarrel(SMNumber);}
2560 if( fFlagSubDet ==
"EE" ){half_stas = GetDeeHalfEndcap(SMNumber);}
2571 Int_t EBSMNumber = 0;
2572 if( FEDNumber >= 610 && FEDNumber <= 645 ){EBSMNumber = FEDNumber - 609;}
2578 Int_t EEDSNumber = 0;
2580 if( FEDNumber >= 600 && FEDNumber <= 609 ){EEDSNumber = FEDNumber - 599;}
2581 if( FEDNumber >= 646 && FEDNumber <= 655 ){EEDSNumber = FEDNumber - 645;}
2592 Int_t max_crys = fEcal->MaxCrysInStin();
2596 if(fFlagSubDet ==
"EE")
2598 Int_t n_for_cons = GetDeeSCConsFrom1DeeSCEcna(n1DeeNumber, n1DeeSCEcna);
2601 if( n_for_cons == 12 || n_for_cons == 67 || n_for_cons == 75 || n_for_cons == 137 ||
2602 n_for_cons == 161 || n_for_cons == 216 || n_for_cons == 224 || n_for_cons == 286 ){max_crys = 20;}
2605 if( (n_for_cons == 182 || n_for_cons == 33) && (n1DeeSCEcna == 60 || n1DeeSCEcna == 119) ){max_crys = 10;}
2607 if( (n_for_cons == 178 || n_for_cons == 29) && (n1DeeSCEcna == 138 || n1DeeSCEcna == 157) ){max_crys = 10;}
2608 if( (n_for_cons == 207 || n_for_cons == 58) && (n1DeeSCEcna == 176 || n1DeeSCEcna == 193) ){max_crys = 10;}
2610 if( (n_for_cons == 298 || n_for_cons == 149) && (n1DeeSCEcna == 188) ){max_crys = 10;}
2612 if( (n_for_cons == 261 || n_for_cons == 112) && (n1DeeSCEcna == 144 || n1DeeSCEcna == 165) ){max_crys = 10;}
2613 if( (n_for_cons == 268 || n_for_cons == 119) && (n1DeeSCEcna == 102 || n1DeeSCEcna == 123) ){max_crys = 10;}
2615 if( (n_for_cons == 281 || n_for_cons == 132) && (n1DeeSCEcna == 41) ){max_crys = 10;}
2618 if( s_option ==
"TEcnaRun" || s_option ==
"TEcnaRead" )
2620 if( s_option ==
"TEcnaRun" )
2623 if( n1DeeSCEcna == 29 || n1DeeSCEcna == 32 ){max_crys = 5;}
2624 if( n1DeeSCEcna == 10 || n1DeeSCEcna == 11 ){max_crys = 1;}
2626 if( s_option ==
"TEcnaRead" )
2629 if( n1DeeSCEcna == 29 || n1DeeSCEcna == 32 ){max_crys = 5;}
2630 if( n1DeeSCEcna == 10 || n1DeeSCEcna == 11 ){max_crys = 1;}
2635 cout <<
"!TEcnaNumbering::MaxCrysInStinEcna(...)> " << s_option
2636 <<
": unknown option." << fTTBELL << endl;
Double_t GetEtaMax(const Int_t &, const Int_t &)
Int_t Get1StexStinFrom0StexEcha(const Int_t &)
void BuildBarrelCrysTable()
TString GetSCQuadFrom1DeeSCEcna(const Int_t &)
Double_t GetVecoMin(const Int_t &, const Int_t &)
Int_t Get0SMEchaFrom1SMTowAnd0TowEcha(const Int_t &, const Int_t &)
Int_t Get1DeeSCEcnaFromDeeSCCons(const Int_t &, const Int_t &)
Double_t GetPhiMin(const Int_t &, const Int_t &)
Int_t GetSMFromFED(const Int_t &)
TString GetYDirectionEB(const Int_t &)
TString GetSMHalfBarrel(const Int_t &)
TString GetDeeDirViewedFromIP(const Int_t &)
TString GetJYDirectionEB(const Int_t &)
Double_t GetJPhiMax(const Int_t &, const Int_t &)
Int_t Get1DeeSCEcnaFrom0DeeEcha(const Int_t &)
TString GetEEDeeType(const Int_t &)
TString GetStinLvrbType(const Int_t &)
Double_t GetPhiMax(const Int_t &, const Int_t &)
Int_t Get1SCEchaFrom0DeeEcha(const Int_t &)
Double_t GetEtaMin(const Int_t &, const Int_t &)
Int_t Get0TowEchaFrom1SMCrys(const Int_t &)
Int_t GetIXSCInDee(const Int_t &)
Double_t GetIHocoMin(const Int_t &, const Int_t &)
Int_t Get1DeeSCEcnaFrom1DeeCrys(const Int_t &, const TString &)
Int_t GetHashedNumberFromIEtaAndIPhi(const Int_t &, const Int_t &)
Int_t Get1SMTowFrom1SMCrys(const Int_t &)
Bool_t RegisterPointer(const TString &, const Long_t &)
Int_t GetJYSCInDee(const Int_t &)
TString GetXDirectionEE(const Int_t &)
void BuildEndcapCrysTable()
TString GetTowerLvrbType(const Int_t &)
Double_t GetJVecoMin(const Int_t &, const Int_t &)
Int_t Get0TowEchaFrom0SMEcha(const Int_t &)
Double_t GetJIYMax(const Int_t &, const Int_t &)
Int_t GetJYCrysInDee(const Int_t &, const Int_t &, const Int_t &)
Int_t Get1SCEchaFrom1DeeCrys(const Int_t &, const TString &)
TString GetDeeHalfEndcap(const Int_t &)
Double_t GetJPhiMin(const Int_t &, const Int_t &)
TString GetYDirectionEE(const Int_t &)
Int_t Get1SMTowFrom0SMEcha(const Int_t &)
Int_t GetDSSCFrom1DeeSCEcna(const Int_t &, const Int_t &, const Int_t &)
Int_t GetDSFromFED(const Int_t &)
Double_t GetVecoMax(const Int_t &, const Int_t &)
Int_t StexEchaForCons(const Int_t &, const Int_t &)
Double_t GetJIYMin(const Int_t &, const Int_t &)
Int_t GetDSFrom1DeeSCEcna(const Int_t &, const Int_t &)
Int_t GetDeeSCConsFrom1DeeSCEcna(const Int_t &, const Int_t &)
Int_t Get1DeeCrysFrom1DeeSCEcnaAnd0SCEcha(const Int_t &, const Int_t &, const TString &)
Double_t GetEta(const Int_t &, const Int_t &, const Int_t &)
Int_t Get1SMCrysFrom1SMTowAnd0TowEcha(const Int_t &, const Int_t &)
Int_t MaxCrysInStinEcna(const Int_t &, const Int_t &, const TString &)
void BuildEndcapSCTable()
Int_t GetIXCrysInSC(const Int_t &, const Int_t &, const Int_t &)
Double_t GetIEtaMin(const Int_t &, const Int_t &)
Int_t GetIPhiFromHashed(const Int_t &)
Int_t GetMaxSCInDS(const Int_t &)
Double_t GetPhiInSM(const Int_t &, const Int_t &, const Int_t &)
Int_t GetSCQuadTypeIndex(const TString &, const TString &)
Int_t GetIEtaFromHashed(const Int_t &, const Int_t &)
Int_t GetJYCrysInSC(const Int_t &, const Int_t &, const Int_t &)
Double_t GetPhi(const Int_t &, const Int_t &, const Int_t &)
TString GetSCType(const Int_t &)
Double_t GetIHocoMax(const Int_t &, const Int_t &)
Int_t GetDeeDirIndex(const TString &)
Int_t GetIXCrysInDee(const Int_t &, const Int_t &, const Int_t &)
Int_t PlusMinusSMNumber(const Int_t &)
Int_t Get0StexEchaFrom1StexStinAnd0StinEcha(const Int_t &, const Int_t &)
Double_t GetIEtaMax(const Int_t &, const Int_t &)
TString GetStexHalfStas(const Int_t &)
TString GetEEDeeEndcap(const Int_t &)
TString GetEcalSubDetector()
Double_t GetSMCentralPhi(const Int_t &)
TString GetJYDirectionEE(const Int_t &)
Double_t GetJVecoMax(const Int_t &, const Int_t &)
void SetEcalSubDetector(const TString &)
Int_t Get1StexCrysFrom1StexStinAnd0StinEcha(const Int_t &, const Int_t &, const Int_t &)
TString GetXDirectionEB(const Int_t &)
Long_t GetPointerValue(const TString &)