31{
32
33 uint8_t delta_strip_phi=dstrip_phi;
34 uint8_t delta_strip_eta=dstrip_eta;
35
36 for (
int i=0;
i<2;
i++){
37 for (
int j=0;
j<8;
j++){
38
41 auto trgRawData=std::make_unique< Muon::RpcBis78_TrigRawData>(sector, side, bcid);
42
43
45 unsigned int majority_eta=0;
uint8_t position_eta=0;
46 unsigned int majority_phi=0;
uint8_t position_phi=0;
47
48
49
50 for (
unsigned int istrip1=0; istrip1<
m_strip_phi[
i][
j][1].size(); istrip1++){
51 unsigned int majority=0;
52 for (
unsigned int istrip0=0; istrip0<
m_strip_phi[
i][
j][0].size(); istrip0++){
54 majority=1;
55 }
56 }
57 for (
unsigned int istrip2=0; istrip2<
m_strip_phi[
i][
j][2].size(); istrip2++){
59 if (majority>0) {
60 majority=2;
61 } else {
62 majority=1;
63 }
64 }
65 }
66 if (majority > majority_phi) {
67 majority_phi=majority;
69 }
70 }
71 if (majority_phi==0) {
72 for (
unsigned int istrip0=0; istrip0<
m_strip_phi[
i][
j][0].size(); istrip0++){
73 for (
unsigned int istrip2=0; istrip2<
m_strip_phi[
i][
j][2].size(); istrip2++){
76 majority_phi=1;
77 }
78 }
79 }
80 }
81
82 for (
unsigned int istrip1=0; istrip1<
m_strip_eta[
i][
j][1].size(); istrip1++){
83 unsigned int majority=0;
84 for (
unsigned int istrip0=0; istrip0<
m_strip_eta[
i][
j][0].size(); istrip0++){
86 majority=1;
87 }
88 }
89 for (
unsigned int istrip2=0; istrip2<
m_strip_eta[
i][
j][2].size(); istrip2++){
91 if (majority>0) {
92 majority=2;
93 } else {
94 majority=1;
95 }
96 }
97 }
98 if (majority > majority_eta) {
99 majority_eta=majority;
101 }
102 }
103 if (majority_eta==0) {
104 for (
unsigned int istrip0=0; istrip0<
m_strip_eta[
i][
j][0].size(); istrip0++){
105 for (
unsigned int istrip2=0; istrip2<
m_strip_eta[
i][
j][2].size(); istrip2++){
108 majority_eta=1;
109 }
110 }
111 }
112 }
113
114
115
116
117
118
119
120
121
122
123
124
127 if (majority_eta>0&&majority_phi>0){
128 if (majority_eta>1) flag3o3_eta=1;
129 if (majority_phi>1) flag3o3_phi=1;
130
131
132 trigword = ((position_eta & 0x3f) << 18)
133 + ((position_phi & 0x3f) << 12 )
134 + ((flag3o3_eta & 0x1) << 5 )
135 + ((flag3o3_phi & 0x1) << 4 );
136
137 auto bis_segment= std::make_unique<Muon::RpcBis78_TrigRawDataSegment>(position_eta,position_phi,
138 delta_strip_eta,delta_strip_phi,
139 flag3o3_eta,flag3o3_phi,trigword );
140
141 trgRawData->push_back(std::move(bis_segment));
142 trgContainer->
push_back(std::move(trgRawData));
143 }
144
145
146 }
147 }
148
149}
value_type push_back(value_type pElem)
Add an element to the end of the collection.
float j(const xAOD::IParticle &, const xAOD::TrackMeasurementValidation &hit, const Eigen::Matrix3d &jab_inv)