222 for (
int ii = 0; ii < trgeclHitArray.
getEntries(); ii++) {
224 TRGECLHit* aTRGECLHit = trgeclHitArray[ii];
225 int iTCID = (aTRGECLHit->
getTCId() - 1);
241 double fluctuation = ((gRandom->Uniform(-1, 0))) * 125;
243 double check_window_start;
245 double check_window_end;
247 for (
int iBin = 0 ; iBin < nBin; iBin ++) {
249 check_window_start = iBin * (
m_TimeWindow / 3) + fluctuation - 4000;
250 WindowStart = check_window_start;
251 check_window_end = check_window_start +
m_TimeWindow / 3;
259 for (
int iTCId = 0; iTCId < 576; iTCId++) {
261 for (
int ihit = 0; ihit < hitsize; ihit++) {
262 if (
m_TCTiming[iTCId][ihit] > check_window_start &&
272 for (
int iTCId = 0; iTCId < 576; iTCId++) {
274 for (
int ihit = 0; ihit < hitsize; ihit++) {
286 if (noftchit == 0) {
continue;}
288 double eventtiming = 0;
296 int EventTimingQualityFlag =
m_obj_timing->getEventTimingQualityFlag();
300 std::vector<std::vector<double>> thetaringsum;
301 std::vector<double> phiringsum;
303 thetaringsum.clear();
305 thetaringsum.resize(3, std::vector<double>(36, 0));
306 phiringsum.resize(17, 0);
312 for (
int iii = 0; iii <= 16; iii++) {
313 if (iii > 0 && iii < 15) {E_phys += phiringsum[iii];}
314 E_total += phiringsum[iii];
316 if (E_total == 0) {
continue;}
317 int ELow = 0, EHigh = 0, ELum = 0;
350 std::vector<double> vct_bhabha;
353 int bhabha3D_veto = 0 ;
354 int bhabha3D_sel = 0;
356 int bhabha3DVetoInTrackFlag = 0;
357 int bhabha3DSelectionThetaFlag = 0;
362 bool b_2Dbhabha =
m_obj_bhabha->getBhabha00(phiringsum);
364 if (b_2Dbhabha && (icn < 4)) {bhabha2D = 1;}
366 if (b_3Dbhabha) {bhabha3D_veto = 1;}
368 if (b_3Dbhabha_sel) {bhabha3D_sel = 1;}
370 if (b_mumu) {mumu = 1;}
371 bhabha3DVetoInTrackFlag =
m_obj_bhabha->get3DBhabhaVetoInTrackFlag();
372 bhabha3DSelectionThetaFlag =
m_obj_bhabha->get3DBhabhaSelectionThetaFlag();
373 taub2bFlag = (
m_obj_bhabha->getTaub2b(E_total)) ? 1 : 0;
374 taub2b2Flag = (
m_obj_bhabha->getTaub2b2(E_total)) ? 1 : 0;
375 taub2b3Flag = (
m_obj_bhabha->getTaub2b3(E_total)) ? 1 : 0;
383 int bhabhaprescale = 0;
393 std::vector<double> ClusterTiming;
394 std::vector<double> ClusterEnergy;
395 std::vector<int> MaxTCId;
396 ClusterTiming.clear();
397 ClusterEnergy.clear();
400 for (
int ii = 0; ii < trgeclClusterArray.
getEntries(); ii++) {
404 double clustertiming = aTRGECLCluster->
getTimeAve();
405 ClusterTiming.push_back(clustertiming);
406 ClusterEnergy.push_back(clusterenergy);
407 MaxTCId.push_back(maxTCId);
414 int Timing = (int)(eventtiming + 0.5);
417 int etot = (int)(E_phys * 1000 + 0.5);
419 if ((etot > 1000 || icn > 3) && !(bhabha2D == 1)) {physics = 1;}
420 std::vector<int> bhabhabit;
422 int bhabhabitsize = vct_bhabha.size();
423 for (
int ibhabha = 0; ibhabha < bhabhabitsize; ibhabha++) {
424 bhabhabit.push_back((
int)vct_bhabha[ibhabha]);
427 int flagoverflow = 0;
428 if (ClusterOverflow > 0) {
432 makeTriggerBit(hit, Timing, 0, timingsource, E_phys, ELow, EHigh, ELum,
433 bhabha2D, physics, bhabhabit, icn, beambkgtag, flagoverflow,
435 bhabhaprescale, E_burst,
436 EventTimingQualityFlag,
437 bhabha3DVetoInTrackFlag,
438 bhabha3DSelectionThetaFlag,
447 m_hitEneNum = trgEcltrgArray.
getEntries() - 1;
451 trgEcltrgArray[m_hitEneNum]->setEventId(m_nEvent);
452 trgEcltrgArray[m_hitEneNum]->setPRS01(phiringsum[0]);
453 trgEcltrgArray[m_hitEneNum]->setPRS02(phiringsum[1]);
454 trgEcltrgArray[m_hitEneNum]->setPRS03(phiringsum[2]);
455 trgEcltrgArray[m_hitEneNum]->setPRS04(phiringsum[3]);
456 trgEcltrgArray[m_hitEneNum]->setPRS05(phiringsum[4]);
457 trgEcltrgArray[m_hitEneNum]->setPRS06(phiringsum[5]);
458 trgEcltrgArray[m_hitEneNum]->setPRS07(phiringsum[6]);
459 trgEcltrgArray[m_hitEneNum]->setPRS08(phiringsum[7]);
460 trgEcltrgArray[m_hitEneNum]->setPRS09(phiringsum[8]);
461 trgEcltrgArray[m_hitEneNum]->setPRS10(phiringsum[9]);
462 trgEcltrgArray[m_hitEneNum]->setPRS11(phiringsum[10]);
463 trgEcltrgArray[m_hitEneNum]->setPRS12(phiringsum[11]);
464 trgEcltrgArray[m_hitEneNum]->setPRS13(phiringsum[12]);
465 trgEcltrgArray[m_hitEneNum]->setPRS14(phiringsum[13]);
466 trgEcltrgArray[m_hitEneNum]->setPRS15(phiringsum[14]);
467 trgEcltrgArray[m_hitEneNum]->setPRS16(phiringsum[15]);
468 trgEcltrgArray[m_hitEneNum]->setPRS17(phiringsum[16]);
470 trgEcltrgArray[m_hitEneNum]->setEtot(E_phys);
471 trgEcltrgArray[m_hitEneNum]->setNofTCHit(noftchit);
473 trgEcltrgArray[m_hitEneNum]->setBhabha01(vct_bhabha[0]);
474 trgEcltrgArray[m_hitEneNum]->setBhabha02(vct_bhabha[1]);
475 trgEcltrgArray[m_hitEneNum]->setBhabha03(vct_bhabha[2]);
476 trgEcltrgArray[m_hitEneNum]->setBhabha04(vct_bhabha[3]);
477 trgEcltrgArray[m_hitEneNum]->setBhabha05(vct_bhabha[4]);
478 trgEcltrgArray[m_hitEneNum]->setBhabha06(vct_bhabha[5]);
479 trgEcltrgArray[m_hitEneNum]->setBhabha07(vct_bhabha[6]);
480 trgEcltrgArray[m_hitEneNum]->setBhabha08(vct_bhabha[7]);
481 trgEcltrgArray[m_hitEneNum]->setBhabha09(vct_bhabha[8]);
482 trgEcltrgArray[m_hitEneNum]->setBhabha10(vct_bhabha[9]);
483 trgEcltrgArray[m_hitEneNum]->setBhabha11(vct_bhabha[10]);
484 trgEcltrgArray[m_hitEneNum]->setBhabha12(vct_bhabha[11]);
485 trgEcltrgArray[m_hitEneNum]->setBhabha13(vct_bhabha[12]);
486 trgEcltrgArray[m_hitEneNum]->setBhabha14(vct_bhabha[13]);
487 trgEcltrgArray[m_hitEneNum]->setBhabha15(vct_bhabha[14]);
488 trgEcltrgArray[m_hitEneNum]->setBhabha16(vct_bhabha[15]);
489 trgEcltrgArray[m_hitEneNum]->setBhabha17(vct_bhabha[16]);
490 trgEcltrgArray[m_hitEneNum]->setBhabha18(vct_bhabha[17]);
492 trgEcltrgArray[m_hitEneNum]->setICN(icn);
493 trgEcltrgArray[m_hitEneNum]->setICNFw(icnfwd);
494 trgEcltrgArray[m_hitEneNum]->setICNBr(icnbr);
495 trgEcltrgArray[m_hitEneNum]->setICNBw(icnbwd);
497 trgEcltrgArray[m_hitEneNum]->setECLtoGDL(
m_Triggerbit[0], 0);
498 trgEcltrgArray[m_hitEneNum]->setECLtoGDL(
m_Triggerbit[1], 1);
499 trgEcltrgArray[m_hitEneNum]->setECLtoGDL(
m_Triggerbit[2], 2);
500 trgEcltrgArray[m_hitEneNum]->setECLtoGDL(
m_Triggerbit[3], 3);
502 trgEcltrgArray[m_hitEneNum]->setBhabhaVeto(bhabha2D);
503 trgEcltrgArray[m_hitEneNum]->setBeamBkgVeto(beambkgtag);
504 trgEcltrgArray[m_hitEneNum]->setEventTiming(eventtiming);
506 trgEcltrgArray[m_hitEneNum]->setHit(hit);
507 trgEcltrgArray[m_hitEneNum]->setRevoclk(RevoFAM);
508 trgEcltrgArray[m_hitEneNum]->setTimingSource(TimingSource);
509 trgEcltrgArray[m_hitEneNum]->setPhysics(physics) ;
510 trgEcltrgArray[m_hitEneNum]->set2DBhabha(bhabha2D);
511 trgEcltrgArray[m_hitEneNum]->set3DBhabha(bhabha3D_veto);
512 trgEcltrgArray[m_hitEneNum]->set3DBhabhaSel(bhabha3D_sel);
513 trgEcltrgArray[m_hitEneNum]->setmumuBit(mumu);
514 trgEcltrgArray[m_hitEneNum]->setBhabhaPrescaleBit(bhabhaprescale);
516 trgEcltrgArray[m_hitEneNum]->setELow(ELow) ;
517 trgEcltrgArray[m_hitEneNum]->setEHihg(EHigh);
518 trgEcltrgArray[m_hitEneNum]->setELum(ELum) ;
519 trgEcltrgArray[m_hitEneNum]->setClusterOverflow(ClusterOverflow) ;
555 for (
int ii = 0; ii < trgeclHitArray.
getEntries(); ii++) {
557 TRGECLHit* aTRGECLHit = trgeclHitArray[ii];
558 int iTCID = (aTRGECLHit->
getTCId() - 1);
570 double WindowStart = 0;
571 double WindowEnd = 0;
572 double fluctuation = ((gRandom->Uniform(-1, 0))) * 125;
574 int startBin = nBin / 2 - 1;
576 int endBin = nBin / 2 + 1;
586 for (
int iBin = startBin ; iBin <= endBin; iBin ++) {
589 if (iBin == 0) {WindowStart = - 4000 + fluctuation;}
594 for (
int iTCId = 0; iTCId < 576; iTCId++) {
596 for (
int ihit = 0; ihit < hitsize; ihit++) {
603 if (totalE == 0) {
continue;}
611 if (max_bin == 0) {WindowStart = - 4000 + fluctuation;}
620 for (
int iTCId = 0; iTCId < 576; iTCId++) {
622 for (
int ihit = 0; ihit < hitsize; ihit++) {
634 if (noftchit == 0) {
return;}
636 double eventtiming = 0;
645 int EventTimingQualityFlag =
m_obj_timing->getEventTimingQualityFlag();
649 std::vector<std::vector<double>> thetaringsum;
650 std::vector<double> phiringsum;
652 thetaringsum.clear();
654 thetaringsum.resize(3, std::vector<double>(36, 0));
655 phiringsum.resize(17, 0);
665 for (
int iii = 0; iii <= 16; iii++) {
666 if (iii > 0 && iii < 15) {E_phys += phiringsum[iii];}
670 E_total += phiringsum[iii];
673 if (E_total == 0) {
return;}
674 int ELow = 0, EHigh = 0, ELum = 0;
709 std::vector<double> vct_bhabha;
712 int bhabha3D_veto = 0 ;
713 int bhabha3D_sel = 0;
715 int bhabha3DVetoInTrackFlag = -1;
716 int bhabha3DSelectionThetaFlag = -1;
721 bool b_2Dbhabha =
m_obj_bhabha->getBhabha00(phiringsum);
723 if (b_2Dbhabha && (icn < 4)) {bhabha2D = 1;}
725 if (b_3Dbhabha) {bhabha3D_veto = 1;}
727 if (b_3Dbhabha_sel) {bhabha3D_sel = 1;}
729 if (b_mumu) {mumu = 1;}
730 int bhabhaprescale = 0;
737 bhabha3DVetoInTrackFlag =
m_obj_bhabha->get3DBhabhaVetoInTrackFlag();
738 bhabha3DSelectionThetaFlag =
m_obj_bhabha->get3DBhabhaSelectionThetaFlag();
739 taub2bFlag = (
m_obj_bhabha->getTaub2b(E_total)) ? 1 : 0;
740 taub2b2Flag = (
m_obj_bhabha->getTaub2b2(E_total)) ? 1 : 0;
741 taub2b3Flag = (
m_obj_bhabha->getTaub2b3(E_total)) ? 1 : 0;
746 int bhabha_addition =
m_obj_bhabha->getBhabhaAddition();
753 int bit_hie_bhav = 0;
755 bit_hie_bhav |= (~bhabha_addition & 0x01) & (~bhabha_addition >> 4 & 0x01);
757 bit_hie_bhav |= (~bhabha_addition & 0x01) & (~bhabha_addition >> 3 & 0x01);
759 bit_hie_bhav |= (~bhabha_addition & 0x01) & (~bhabha_addition >> 2 & 0x01);
761 bit_hie_bhav |= (~bhabha_addition & 0x01) & (~bhabha_addition >> 1 & 0x01);
766 std::vector<double> ClusterTiming;
767 std::vector<double> ClusterEnergy;
768 std::vector<int> MaxTCId;
769 std::vector<int> MaxThetaId;
770 ClusterTiming.clear();
771 ClusterEnergy.clear();
775 for (
int ii = 0; ii < trgeclClusterArray.
getEntries(); ii++) {
780 double clustertiming = aTRGECLCluster->
getTimeAve();
781 ClusterTiming.push_back(clustertiming);
782 ClusterEnergy.push_back(clusterenergy);
783 MaxTCId.push_back(maxTCId);
784 MaxThetaId.push_back(maxThetaId);
791 int Timing = (int)(eventtiming + 0.5);
794 int etot = (int)(E_phys * 1000 + 0.5);
798 if ((etot > 1000 || icn > 3) && !(bhabha2D == 1)) {physics = 1;}
799 std::vector<int> bhabhabit;
801 int bhabhabitsize = vct_bhabha.size();
802 for (
int ibhabha = 0; ibhabha < bhabhabitsize; ibhabha++) {
803 bhabhabit.push_back((
int)vct_bhabha[ibhabha]);
806 int flagoverflow = 0;
807 if (ClusterOverflow > 0) {
811 makeTriggerBit(hit, Timing, 0, timingsource, E_phys, ELow, EHigh, ELum,
812 bhabha2D, physics, bhabhabit, icn, beambkgtag, flagoverflow,
814 bhabhaprescale, E_burst,
815 EventTimingQualityFlag,
816 bhabha3DVetoInTrackFlag,
817 bhabha3DSelectionThetaFlag,
890 m_hitEneNum = trgEcltrgArray.
getEntries() - 1;
894 trgEcltrgArray[m_hitEneNum]->setEventId(m_nEvent);
895 trgEcltrgArray[m_hitEneNum]->setPRS01(phiringsum[0]);
896 trgEcltrgArray[m_hitEneNum]->setPRS02(phiringsum[1]);
897 trgEcltrgArray[m_hitEneNum]->setPRS03(phiringsum[2]);
898 trgEcltrgArray[m_hitEneNum]->setPRS04(phiringsum[3]);
899 trgEcltrgArray[m_hitEneNum]->setPRS05(phiringsum[4]);
900 trgEcltrgArray[m_hitEneNum]->setPRS06(phiringsum[5]);
901 trgEcltrgArray[m_hitEneNum]->setPRS07(phiringsum[6]);
902 trgEcltrgArray[m_hitEneNum]->setPRS08(phiringsum[7]);
903 trgEcltrgArray[m_hitEneNum]->setPRS09(phiringsum[8]);
904 trgEcltrgArray[m_hitEneNum]->setPRS10(phiringsum[9]);
905 trgEcltrgArray[m_hitEneNum]->setPRS11(phiringsum[10]);
906 trgEcltrgArray[m_hitEneNum]->setPRS12(phiringsum[11]);
907 trgEcltrgArray[m_hitEneNum]->setPRS13(phiringsum[12]);
908 trgEcltrgArray[m_hitEneNum]->setPRS14(phiringsum[13]);
909 trgEcltrgArray[m_hitEneNum]->setPRS15(phiringsum[14]);
910 trgEcltrgArray[m_hitEneNum]->setPRS16(phiringsum[15]);
911 trgEcltrgArray[m_hitEneNum]->setPRS17(phiringsum[16]);
913 trgEcltrgArray[m_hitEneNum]->setEtot(E_phys);
914 trgEcltrgArray[m_hitEneNum]->setNofTCHit(noftchit);
916 trgEcltrgArray[m_hitEneNum]->setBhabha01(vct_bhabha[0]);
917 trgEcltrgArray[m_hitEneNum]->setBhabha02(vct_bhabha[1]);
918 trgEcltrgArray[m_hitEneNum]->setBhabha03(vct_bhabha[2]);
919 trgEcltrgArray[m_hitEneNum]->setBhabha04(vct_bhabha[3]);
920 trgEcltrgArray[m_hitEneNum]->setBhabha05(vct_bhabha[4]);
921 trgEcltrgArray[m_hitEneNum]->setBhabha06(vct_bhabha[5]);
922 trgEcltrgArray[m_hitEneNum]->setBhabha07(vct_bhabha[6]);
923 trgEcltrgArray[m_hitEneNum]->setBhabha08(vct_bhabha[7]);
924 trgEcltrgArray[m_hitEneNum]->setBhabha09(vct_bhabha[8]);
925 trgEcltrgArray[m_hitEneNum]->setBhabha10(vct_bhabha[9]);
926 trgEcltrgArray[m_hitEneNum]->setBhabha11(vct_bhabha[10]);
927 trgEcltrgArray[m_hitEneNum]->setBhabha12(vct_bhabha[11]);
928 trgEcltrgArray[m_hitEneNum]->setBhabha13(vct_bhabha[12]);
929 trgEcltrgArray[m_hitEneNum]->setBhabha14(vct_bhabha[13]);
930 trgEcltrgArray[m_hitEneNum]->setBhabha15(vct_bhabha[14]);
931 trgEcltrgArray[m_hitEneNum]->setBhabha16(vct_bhabha[15]);
932 trgEcltrgArray[m_hitEneNum]->setBhabha17(vct_bhabha[16]);
933 trgEcltrgArray[m_hitEneNum]->setBhabha18(vct_bhabha[17]);
935 trgEcltrgArray[m_hitEneNum]->setICN(icn);
936 trgEcltrgArray[m_hitEneNum]->setICNFw(icnfwd);
937 trgEcltrgArray[m_hitEneNum]->setICNBr(icnbr);
938 trgEcltrgArray[m_hitEneNum]->setICNBw(icnbwd);
940 trgEcltrgArray[m_hitEneNum]->setECLtoGDL(
m_Triggerbit[0], 0);
941 trgEcltrgArray[m_hitEneNum]->setECLtoGDL(
m_Triggerbit[1], 1);
942 trgEcltrgArray[m_hitEneNum]->setECLtoGDL(
m_Triggerbit[2], 2);
943 trgEcltrgArray[m_hitEneNum]->setECLtoGDL(
m_Triggerbit[3], 3);
945 trgEcltrgArray[m_hitEneNum]->setBhabhaVeto(bhabha2D);
946 trgEcltrgArray[m_hitEneNum]->setBeamBkgVeto(beambkgtag);
947 trgEcltrgArray[m_hitEneNum]->setEventTiming(eventtiming);
949 trgEcltrgArray[m_hitEneNum]->setHit(hit);
950 trgEcltrgArray[m_hitEneNum]->setRevoclk(RevoFAM);
951 trgEcltrgArray[m_hitEneNum]->setTimingSource(TimingSource);
952 trgEcltrgArray[m_hitEneNum]->setPhysics(physics) ;
953 trgEcltrgArray[m_hitEneNum]->set2DBhabha(bhabha2D);
954 trgEcltrgArray[m_hitEneNum]->set3DBhabha(bhabha3D_veto);
955 trgEcltrgArray[m_hitEneNum]->set3DBhabhaSel(bhabha3D_sel);
956 trgEcltrgArray[m_hitEneNum]->setmumuBit(mumu);
957 trgEcltrgArray[m_hitEneNum]->setBhabhaPrescaleBit(bhabhaprescale);
959 trgEcltrgArray[m_hitEneNum]->setELow(ELow) ;
960 trgEcltrgArray[m_hitEneNum]->setEHihg(EHigh);
961 trgEcltrgArray[m_hitEneNum]->setELum(ELum) ;
962 trgEcltrgArray[m_hitEneNum]->setClusterOverflow(ClusterOverflow) ;
965 trgEcltrgArray[m_hitEneNum]->set3DBhabhaVetoInTrackFlag(
m_obj_bhabha->get3DBhabhaVetoInTrackFlag());
966 trgEcltrgArray[m_hitEneNum]->set3DBhabhaVetoClusterTCId(
m_obj_bhabha->get3DBhabhaVetoClusterTCId(0), 0);
967 trgEcltrgArray[m_hitEneNum]->set3DBhabhaVetoClusterTCId(
m_obj_bhabha->get3DBhabhaVetoClusterTCId(1), 1);
968 trgEcltrgArray[m_hitEneNum]->set3DBhabhaVetoClusterEnergy(
m_obj_bhabha->get3DBhabhaVetoClusterEnergy(0), 0);
969 trgEcltrgArray[m_hitEneNum]->set3DBhabhaVetoClusterEnergy(
m_obj_bhabha->get3DBhabhaVetoClusterEnergy(1), 1);
970 trgEcltrgArray[m_hitEneNum]->set3DBhabhaVetoClusterTiming(
m_obj_bhabha->get3DBhabhaVetoClusterTiming(0), 0);
971 trgEcltrgArray[m_hitEneNum]->set3DBhabhaVetoClusterTiming(
m_obj_bhabha->get3DBhabhaVetoClusterTiming(1), 1);
972 trgEcltrgArray[m_hitEneNum]->set3DBhabhaVetoClusterThetaId(
m_obj_bhabha->get3DBhabhaVetoClusterThetaId(0), 0);
973 trgEcltrgArray[m_hitEneNum]->set3DBhabhaVetoClusterThetaId(
m_obj_bhabha->get3DBhabhaVetoClusterThetaId(1), 1);
975 trgEcltrgArray[m_hitEneNum]->set3DBhabhaSelectionThetaFlag(
m_obj_bhabha->get3DBhabhaSelectionThetaFlag());
976 trgEcltrgArray[m_hitEneNum]->set3DBhabhaSelectionClusterTCId(
m_obj_bhabha->get3DBhabhaSelectionClusterTCId(0), 0);
977 trgEcltrgArray[m_hitEneNum]->set3DBhabhaSelectionClusterTCId(
m_obj_bhabha->get3DBhabhaSelectionClusterTCId(1), 1);
978 trgEcltrgArray[m_hitEneNum]->set3DBhabhaSelectionClusterEnergy(
m_obj_bhabha->get3DBhabhaSelectionClusterEnergy(0), 0);
979 trgEcltrgArray[m_hitEneNum]->set3DBhabhaSelectionClusterEnergy(
m_obj_bhabha->get3DBhabhaSelectionClusterEnergy(1), 1);
980 trgEcltrgArray[m_hitEneNum]->set3DBhabhaSelectionClusterTiming(
m_obj_bhabha->get3DBhabhaSelectionClusterTiming(0), 0);
981 trgEcltrgArray[m_hitEneNum]->set3DBhabhaSelectionClusterTiming(
m_obj_bhabha->get3DBhabhaSelectionClusterTiming(1), 1);
982 trgEcltrgArray[m_hitEneNum]->set3DBhabhaSelectionClusterThetaId(
m_obj_bhabha->get3DBhabhaSelectionClusterThetaId(0), 0);
983 trgEcltrgArray[m_hitEneNum]->set3DBhabhaSelectionClusterThetaId(
m_obj_bhabha->get3DBhabhaSelectionClusterThetaId(1), 1);
985 trgEcltrgArray[m_hitEneNum]->setEventTimingQualityFlag(
m_obj_timing->getEventTimingQualityFlag());
986 trgEcltrgArray[m_hitEneNum]->setEventTimingTCId(
m_obj_timing->getEventTimingTCId());
987 trgEcltrgArray[m_hitEneNum]->setEventTimingTCThetaId(
m_obj_timing->getEventTimingTCThetaId());
988 trgEcltrgArray[m_hitEneNum]->setEventTimingTCEnergy(
m_obj_timing->getEventTimingTCEnergy());
990 trgEcltrgArray[m_hitEneNum]->setEtot1to17(E_total);
991 trgEcltrgArray[m_hitEneNum]->setTaub2bFlag(taub2bFlag);
992 trgEcltrgArray[m_hitEneNum]->setTaub2bAngleFlag(
m_obj_bhabha->getTaub2bAngleFlag());
993 trgEcltrgArray[m_hitEneNum]->setTaub2bEtotFlag(
m_obj_bhabha->getTaub2bEtotFlag());
994 trgEcltrgArray[m_hitEneNum]->setTaub2bClusterEFlag(
m_obj_bhabha->getTaub2bClusterEFlag());
996 trgEcltrgArray[m_hitEneNum]->setNofCluster1to17(NofCluster1to17);
998 trgEcltrgArray[m_hitEneNum]->setDataClockWindowStartTime(WindowStart);
1057 double etot,
int elow,
int ehigh,
int elum,
1058 int bhabha2D,
int physics,
1059 std::vector<int> bhabhatype,
int ICN,
int BGVeto,
1060 int ClusterOverflow,
int bhabha3D,
int lowmultibit,
1061 int bhabha3D_sel,
int mumubit,
int prescale,
int burst,
1062 int EventTimingQualityFlag,
int bhabha3DVetoInTrackFlag,
1063 int bhabha3DSelectionThetaFlag,
1076 int Bhabhatype = bhabha2D;
1078 if (bhabhatype.size() > 14) {
1079 for (
int ibhabha = 0; ibhabha < 13; ibhabha++) {
1081 if (bhabhatype[ibhabha] == 1) {type = 0x01;}
1089 int bit_hit = hit & 0x01;
1090 int bit_Timing = (Timing & 0x7F) ;
1091 int bit_RevoFAM = (RevoFAM & 0x7F) ;
1092 int bit_TimingSource = (TimingSource & 0x07) ;
1093 int bit_physics = (physics & 0x01) ;
1094 int bit_2Dbhabha = (bhabhaveto & 0x01) ;
1095 int bit_bhabhatype = (Bhabhatype & 0x3FFF);
1096 int bit_etot = (((int)etot) & 0x1FFF) ;
1097 int bit_elow = (elow & 0x01);
1098 int bit_ehigh = (ehigh & 0x01) ;
1099 int bit_elum = (elum & 0x01) ;
1100 int bit_ICN = (ICN & 0x7F) ;
1101 int bit_BGVeto = (BGVeto & 0x07) ;
1102 int bit_ClusterOverflow = (ClusterOverflow & 0x01);
1103 int bit_3Dbhabha = (bhabha3D & 0x01);
1105 int bit_lowmulti1 = lowmultibit & 0x0FFF;
1106 int bit_lowmulti2 = (lowmultibit >>= 12) & 0x3;
1107 int bit_3DBhabha_sel = bhabha3D_sel & 0x01;
1108 int bit_mumu = mumubit & 0x01;
1109 int bit_prescale = prescale & 0x01;
1110 int bit_burst = burst & 0x01;
1112 int bit_eventtimingqualityflag = EventTimingQualityFlag & 0x03;
1113 int bit_bhabha3dvetointrackflag = 0;
1114 if (bhabha3D == 1) {
1115 bit_bhabha3dvetointrackflag = bhabha3DVetoInTrackFlag & 0x01;
1117 int bit_bhabha3dselectionthetaflag = 0;
1118 if (bhabha3D_sel == 1) {
1119 bit_bhabha3dselectionthetaflag = bhabha3DSelectionThetaFlag & 0x03;
1121 int bit_taub2bflag = taub2bFlag & 0x01;
1122 int bit_taub2b2flag = taub2b2Flag & 0x01;
1123 int bit_taub2b3flag = taub2b3Flag & 0x01;
1125 int bit_hie_bhav_hie123 = bit_hie_bhav & 0x7;
1126 int bit_hie_bhav_hie4 = (bit_hie_bhav >> 3) & 0x1;