9 #define TRG_SHORT_NAMES
10 #define TRGECLCLUSTER_SHORT_NAMES
11 #include <framework/gearbox/Unit.h>
13 #include <trg/ecl/TrgEclBeamBKG.h>
20 TrgEclBeamBKG::TrgEclBeamBKG()
22 for (
int iii = 0; iii <= 2; iii++) {
23 for (
int jjj = 0; jjj <= 3; jjj++) {
24 Quadrant[iii][jjj] = 0;
33 TrgEclBeamBKG::~TrgEclBeamBKG()
41 int TrgEclBeamBKG::GetBeamBkg(std::vector<std::vector<double>> ThetaRingSum)
45 for (
int iFwd = 0 ; iFwd < 32 ; iFwd++) {
47 if (ThetaRingSum[0][iFwd] > 0) {
48 if ((phiid >= 1 && phiid <= 9) || phiid == 32) {
51 if (phiid >= 8 && phiid <= 17) {
54 if (phiid >= 16 && phiid <= 25) {
57 if ((phiid >= 24 && phiid <= 32) || phiid == 1) {
63 for (
int iBr = 0 ; iBr < 36 ; iBr++) {
65 if (ThetaRingSum[1][iBr] > 0) {
66 if ((phiid >= 1 && phiid <= 10) || phiid == 36) {
69 if (phiid >= 9 && phiid <= 19) {
72 if (phiid >= 18 && phiid <= 28) {
75 if ((phiid >= 27 && phiid <= 36) || phiid == 1) {
82 ((Quadrant[0][0] && Quadrant[0][2]) ||
83 (Quadrant[0][1] && Quadrant[0][3]));
86 ((Quadrant[1][0] && Quadrant[1][2]) ||
87 (Quadrant[1][1] && Quadrant[1][3]));
89 int iBeamBkgVeto0 = 0;
90 int iBeamBkgVeto1 = 0;
91 int iBeamBkgVeto2 = 0;
92 if (boolForward || boolBarrel) {
95 if ((!boolForward) && boolBarrel) {
98 if (boolForward && (!boolBarrel)) {
103 BeamBkgVeto |= (iBeamBkgVeto2 & 0x01);
105 BeamBkgVeto |= (iBeamBkgVeto1 & 0x01);
107 BeamBkgVeto |= (iBeamBkgVeto0 & 0x01);
Abstract base class for different kinds of events.