106 const std::vector<TCS::TOBArray *> & output,
111 if( input.size() == 4) {
132 std::vector<u_int> jet_pt(6,0), tau_pt(4,0), mu_pt(4,0), met_pt(1,0);
133 std::vector<int> jet_eta(6,0), tau_eta(4,0), mu_eta(4,0);
134 std::vector<int> jet_phi(6,0), tau_phi(4,0), mu_phi(4,0), met_phi(1,0);
136 for (u_int i = 0; i<(*jets).size() && i<6; ++i) {
138 jet_pt[i] = (*jets)[i].Et();
139 jet_eta[i] = (*jets)[i].eta();
140 jet_phi[i] = (*jets)[i].phi();
142 for (u_int i = 0; i < (*taus).size() && i<4; ++i) {
144 tau_pt[i] = (*taus)[i].Et();
145 tau_eta[i] = (*taus)[i].eta();
146 tau_phi[i] = (*taus)[i].phi();
148 for (u_int i = 0; i < (*mus).size() && i<4; ++i) {
150 mu_pt[i] = (*mus)[i].Et();
151 mu_eta[i] = (*mus)[i].eta();
152 mu_phi[i] = (*mus)[i].phi();
154 for (u_int i = 0; i < (*met).size() && i<1; ++i) {
156 met_pt[i] = (*met)[i].Et();
157 met_phi[i] = (*met)[i].phi();
161 TRG_MSG_DEBUG(
"Jet0: " << jet_pt[0] <<
", " << jet_eta[0] <<
", " << jet_phi[0] );
162 TRG_MSG_DEBUG(
"Jet1: " << jet_pt[1] <<
", " << jet_eta[1] <<
", " << jet_phi[1] );
163 TRG_MSG_DEBUG(
"Jet2: " << jet_pt[2] <<
", " << jet_eta[2] <<
", " << jet_phi[2] );
164 TRG_MSG_DEBUG(
"Jet3: " << jet_pt[3] <<
", " << jet_eta[3] <<
", " << jet_phi[3] );
165 TRG_MSG_DEBUG(
"Jet4: " << jet_pt[4] <<
", " << jet_eta[4] <<
", " << jet_phi[4] );
166 TRG_MSG_DEBUG(
"Jet5: " << jet_pt[5] <<
", " << jet_eta[5] <<
", " << jet_phi[5] );
168 TRG_MSG_DEBUG(
"Tau0: " << tau_pt[0] <<
", " << tau_eta[0] <<
", " << tau_phi[0] );
169 TRG_MSG_DEBUG(
"Tau1: " << tau_pt[1] <<
", " << tau_eta[1] <<
", " << tau_phi[1] );
170 TRG_MSG_DEBUG(
"Tau2: " << tau_pt[2] <<
", " << tau_eta[2] <<
", " << tau_phi[2] );
171 TRG_MSG_DEBUG(
"Tau3: " << tau_pt[3] <<
", " << tau_eta[3] <<
", " << tau_phi[3] );
173 TRG_MSG_DEBUG(
"Mu0: " << mu_pt[0] <<
", " << mu_eta[0] <<
", " << mu_phi[0] );
174 TRG_MSG_DEBUG(
"Mu1: " << mu_pt[1] <<
", " << mu_eta[1] <<
", " << mu_phi[1] );
175 TRG_MSG_DEBUG(
"Mu2: " << mu_pt[2] <<
", " << mu_eta[2] <<
", " << mu_phi[2] );
176 TRG_MSG_DEBUG(
"Mu3: " << mu_pt[3] <<
", " << mu_eta[3] <<
", " << mu_phi[3] );
178 TRG_MSG_DEBUG(
"MET: " << met_pt[0] <<
", " << met_phi[0] << std::endl);
180 ADVAE2A::VAENetwork AD_Network( jet_pt[0], jet_eta[0], jet_phi[0],
181 jet_pt[1], jet_eta[1], jet_phi[1],
182 jet_pt[2], jet_eta[2], jet_phi[2],
183 jet_pt[3], jet_eta[3], jet_phi[3],
184 jet_pt[4], jet_eta[4], jet_phi[4],
185 jet_pt[5], jet_eta[5], jet_phi[5],
186 tau_pt[0], tau_eta[0], tau_phi[0],
187 tau_pt[1], tau_eta[1], tau_phi[1],
188 tau_pt[2], tau_eta[2], tau_phi[2],
189 tau_pt[3], tau_eta[3], tau_phi[3],
190 mu_pt [0], mu_eta [0], mu_phi [0],
191 mu_pt [1], mu_eta [1], mu_phi [1],
192 mu_pt [2], mu_eta [2], mu_phi [2],
193 mu_pt [3], mu_eta [3], mu_phi [3],
194 met_pt[0], met_phi[0] );
195 std::vector<int64_t> anomScoreInt64Vec = AD_Network.getAnomalyScoreInt64Vec();
202 int64_t anomScoreInt64 = 0;
209 for ( u_int j = 0; j<6 && j<(*jets).size(); ++j ) output[i]->push_back((*jets)[j]);
210 for ( u_int j = 0; j<4 && j<(*taus).size(); ++j ) output[i]->push_back((*
taus)[j]);
211 for ( u_int j = 0; j<4 && j<(*mus).size() ; ++j ) output[i]->push_back((*mus) [j]);
212 output[i]->push_back((*
met)[0]);
214 output[i]->setAmbiguityFlag(hasAmbiguousInputs);
222 TRG_MSG_DEBUG(
"Decision for bit" << i <<
": " << (accept?
"pass":
"fail") <<
" anomaly score = " << anomScoreInt64 << std::endl);
225 TCS_EXCEPTION(
"ADVAE_2A alg must have 4 inputs, but got " << input.size());
233 const std::vector<TCS::TOBArray *> & output,
238 if( input.size() == 4) {
249 std::vector<u_int> jet_pt(6,0), tau_pt(4,0), mu_pt(4,0), met_pt(1,0);
250 std::vector<int> jet_eta(6,0), tau_eta(4,0), mu_eta(4,0);
251 std::vector<int> jet_phi(6,0), tau_phi(4,0), mu_phi(4,0), met_phi(1,0);
253 for (u_int i = 0; i<(*jets).size() && i<6; ++i) {
255 jet_pt[i] = (*jets)[i].Et();
256 jet_eta[i] = (*jets)[i].eta();
257 jet_phi[i] = (*jets)[i].phi();
259 for (u_int i = 0; i < (*taus).size() && i<4; ++i) {
261 tau_pt[i] = (*taus)[i].Et();
262 tau_eta[i] = (*taus)[i].eta();
263 tau_phi[i] = (*taus)[i].phi();
265 for (u_int i = 0; i < (*mus).size() && i<4; ++i) {
267 mu_pt[i] = (*mus)[i].Et();
268 mu_eta[i] = (*mus)[i].eta();
269 mu_phi[i] = (*mus)[i].phi();
271 for (u_int i = 0; i < (*met).size() && i<1; ++i) {
273 met_pt[i] = (*met)[i].Et();
274 met_phi[i] = (*met)[i].phi();
277 ADVAE2A::VAENetwork AD_Network( jet_pt[0], jet_eta[0], jet_phi[0],
278 jet_pt[1], jet_eta[1], jet_phi[1],
279 jet_pt[2], jet_eta[2], jet_phi[2],
280 jet_pt[3], jet_eta[3], jet_phi[3],
281 jet_pt[4], jet_eta[4], jet_phi[4],
282 jet_pt[5], jet_eta[5], jet_phi[5],
283 tau_pt[0], tau_eta[0], tau_phi[0],
284 tau_pt[1], tau_eta[1], tau_phi[1],
285 tau_pt[2], tau_eta[2], tau_phi[2],
286 tau_pt[3], tau_eta[3], tau_phi[3],
287 mu_pt [0], mu_eta [0], mu_phi [0],
288 mu_pt [1], mu_eta [1], mu_phi [1],
289 mu_pt [2], mu_eta [2], mu_phi [2],
290 mu_pt [3], mu_eta [3], mu_phi [3],
291 met_pt[0], met_phi[0] );
292 std::vector<int64_t> anomScoreInt64Vec = AD_Network.getAnomalyScoreInt64Vec();
299 int64_t anomScoreInt64 = 0;
306 for ( u_int j = 0; j<6 && j<(*jets).size(); ++j ) output[i]->push_back((*jets)[j]);
307 for ( u_int j = 0; j<4 && j<(*taus).size(); ++j ) output[i]->push_back((*
taus)[j]);
308 for ( u_int j = 0; j<4 && j<(*mus).size() ; ++j ) output[i]->push_back((*mus) [j]);
309 output[i]->push_back((*
met)[0]);
318 TRG_MSG_DEBUG(
"Decision for bit" << i <<
": " << (accept?
"pass":
"fail") <<
" anomaly score = " << anomScoreInt64 << std::endl);
321 TCS_EXCEPTION(
"ADVAE_2A alg must have 4 inputs, but got " << input.size());