154 float Bend3_low[2] = {0.0079347, 0.021813};
155 float Bend3_high[4] = {0.437329, 0.0212849, 0.00000355516, -0.0000000147542};
159 current = fabs(current);
161 if (current <= 824.12) Bdl3 = Bend3_low[0] + Bend3_low[1]*current;
162 else Bdl3 = Bend3_high[0] + Bend3_high[1]*current + Bend3_high[2]*(current-824.12)*(current-824.12) + Bend3_high[3]*(current-824.12)*(current-824.12)*(current-824.12);
170 float Bend4_low[2] = {0.00786406, 0.021814};
171 float Bend4_high[4] = {0.434258, 0.0212899, 0.00000356113, -0.0000000147379};
175 current = fabs(current);
177 if (current <= 824.12) Bdl4 = Bend4_low[0] + Bend4_low[1]*current;
178 else Bdl4 = Bend4_high[0] + Bend4_high[1]*current + Bend4_high[2]*(current-824.12)*(current-824.12) + Bend4_high[3]*(current-824.12)*(current-824.12)*(current-824.12);
229 float Bdl_B3 =
GetBdl3(currB3);
230 float Bdl_B4 =
GetBdl4(currB4);
232 float B2dl_B3 = (Bdl_B3 * Bdl_B3)*(1./(Lmag*9));
233 float B2dl_B4 = (Bdl_B4 * Bdl_B4)*(1./(Lmag*9));
234 float B2dl_tot = B2dl_B3 + B2dl_B4;
236 float B5suB34 = 0.19;
237 float B6suB34 = 0.22;
238 float B56lB34 = 0.25;
240 float B2dl_B5 = (B2dl_B3 + B2dl_B4)*B5suB34*B5suB34*B56lB34;
241 float B2dl_B6 = (B2dl_B3 + B2dl_B4)*B6suB34*B6suB34*B56lB34;
243 float loss = 0.00000127*energy*energy*(3*B2dl_tot/2 + B2dl_B5 + B2dl_B6);
282 int event = eventNumber;
287 if (((
run < 2101225) && (
run >= 2101022)) || ((
run < 2102165) && (
run >= 2102003)))
312 float coll_equip[24];
353 float quad_equip[22];
354 float trim_equip[10];
358 for (
int i=0; i<nc_quad; i++)
368 folder =
"/TILE/DCS/SYSTEM1/BEAM";
373 folder =
"/TILE/DCS/SYSTEM1/BEAM";
378 if (StatusCode::SUCCESS!=
m_runpar->getVal(folder,val1,quad_file[i])) {
381 if (StatusCode::SUCCESS!=
m_runpar->getVal(folder,val2,quad_equip[i])){
385 (*m_quad_file)[i] = quad_file[i];
386 (*m_quad_equip)[i] = quad_equip[i];
392 for (
int i=0; i<nc_bend; i++)
401 folder =
"/TILE/DCS/SYSTEM1/BEAM";
405 folder =
"/TILE/DCS/TILE_LV_62/BEAM";
410 if (StatusCode::SUCCESS!=
m_runpar->getVal(folder,val1,bend_file[i])) {
413 if (StatusCode::SUCCESS!=
m_runpar->getVal(folder,val2,bend_equip[i])) {
417 (*m_bend_file)[i] = bend_file[i];
418 (*m_bend_equip)[i] = bend_equip[i];
438 for (
int i=0; i<nc_trim; i++)
447 folder =
"/TILE/DCS/SYSTEM1/BEAM";
451 folder =
"/TILE/DCS/TILE_LV_62/BEAM";
456 if (StatusCode::SUCCESS!=
m_runpar->getVal(folder,val1,trim_file[i])) {
459 if (StatusCode::SUCCESS!=
m_runpar->getVal(folder,val2,trim_equip[i])) {
463 (*m_trim_file)[i] = trim_file[i];
464 (*m_trim_equip)[i] = trim_equip[i];
470 for (
int i=0; i<nc_coll; i++)
480 folder =
"/TILE/DCS/SYSTEM1/BEAM";
484 folder =
"/TILE/DCS/TILE_LV_62/BEAM";
489 if (StatusCode::SUCCESS!=
m_runpar->getVal(folder,val1,coll_file[i])) {
492 if (StatusCode::SUCCESS!=
m_runpar->getVal(folder,val2,coll_equip[i])) {
496 (*m_coll_file)[i] = coll_file[i];
497 (*m_coll_equip)[i] = coll_equip[i];
501 for (
int i=0; i<nc_quad; i++)
505 for (
int i=0; i<nc_bend; i++)
509 for (
int i=0; i<nc_trim; i++)
513 for (
int i=0; i<nc_coll; i++)
524 for (
int i=0; i<nc_quad; i++)
528 for (
int i=0; i<nc_bend; i++)
532 for (
int i=0; i<nc_trim; i++)
536 for (
int i=0; i<nc_coll; i++)
555 for (
int i=0; i<nc_bend; i++)
562 folder =
"/TILE/DCS/SYSTEM1/BEAM";
566 folder =
"/TILE/DCS/TILE_LV_62/BEAM";
569 if (StatusCode::SUCCESS!=
m_runpar->getVal(folder,val2,bend_equip[i])) {
575 for (
int i=0; i<nc_coll; i++)
582 folder =
"/TILE/DCS/SYSTEM1/BEAM";
586 folder =
"/TILE/DCS/TILE_LV_62/BEAM";
589 if (StatusCode::SUCCESS!=
m_runpar->getVal(folder,val2,coll_equip[i])) {
613 m_B8_Bdl = 0.00530982*bend_equip[7] + 0.00000328502*bend_equip[7]*bend_equip[7] -
614 0.00000000532397*bend_equip[7]*bend_equip[7]*bend_equip[7]-
615 0.00000000000276483*bend_equip[7]*bend_equip[7]*bend_equip[7]*bend_equip[7]+
616 0.000000000000003368*bend_equip[7]*bend_equip[7]*bend_equip[7]*bend_equip[7]*bend_equip[7];
626 float coll12_opening = (fabs(coll_equip[11]) + fabs(coll_equip[23]))/2.0;