#include "AthenaKernel/CLASS_DEF.h"
#include "AthContainers/DataVector.h"
#include "TrigMissingEtEvent/TrigMissingEtComponent.h"
#include "GaudiKernel/MsgStream.h"
#include <vector>
#include <string>
#include <map>
#include <math.h>
Go to the source code of this file.
◆ diff()
Comparison with feedback. 
Definition at line 342 of file TrigMissingET.cxx.
  345   const double DELTA=1
e-3; 
 
  347   int Na = 
a.getNumOfComponents();
 
  348   int Nb = 
b.getNumOfComponents();
 
  350     variableChange[ 
"NumOfComponents" ] = Na - Nb;
 
  355     variableChange[ 
"FlagsXOR" ] = aFlag ^ bFlag;
 
  357   unsigned long aRoI = (
unsigned long) 
a.RoIword();
 
  358   unsigned long bRoI = (
unsigned long) 
b.RoIword();
 
  360     variableChange[ 
"RoIwordsXOR" ] = aRoI ^ bRoI;
 
  364   if( fabsf(aEx - bEx) > DELTA )
 
  365      variableChange[ 
"Ex" ] = aEx - bEx;
 
  369   if( fabsf(aEy - bEy) > DELTA )
 
  370      variableChange[ 
"Ey" ] = aEy - bEy;
 
  374   if( fabsf(aEz - bEz) > DELTA )
 
  375      variableChange[ 
"Ez" ] = aEz - bEz;
 
  377   float aSumEt = 
a.sumEt();
 
  378   float bSumEt = 
b.sumEt();
 
  379   if( fabsf(aSumEt - bSumEt) > DELTA )
 
  380      variableChange[ 
"sumEt" ] = aSumEt - bSumEt;
 
  382   float aSumE = 
a.sumE();
 
  383   float bSumE = 
b.sumE();
 
  384   if( fabsf(aSumE - bSumE) > DELTA )
 
  385      variableChange[ 
"sumE" ] = aSumE - bSumE;
 
  387   for (
unsigned u=0; 
u<
a.getNumOfComponents(); ++
u) {
 
  391     if( 
a.getNameOfComponent(
u) != 
b.getNameOfComponent(
u) ) {
 
  393       variableChange[ 
key.c_str() ] = 
 
  394     strcmp(
a.getNameOfComponent(
u).c_str(),
 
  395            b.getNameOfComponent(
u).c_str());
 
  400     if( aFlag != bFlag ) {
 
  402       variableChange[ 
key.c_str() ] = aFlag ^ bFlag;
 
  405     int aSigns = 
a.getSumOfSigns(
u);
 
  406     int bSigns = 
b.getSumOfSigns(
u);
 
  407     if( aSigns != bSigns ) {
 
  409       variableChange[ 
key.c_str() ] = aSigns - bSigns;
 
  412     int aChans = 
a.getUsedChannels(
u);
 
  413     int bChans = 
b.getUsedChannels(
u);
 
  414     if( aChans != bChans ) {
 
  416       variableChange[ 
key.c_str() ] = aChans - bChans;
 
  419     float aEx = 
a.getExComponent(
u);
 
  420     float bEx = 
b.getExComponent(
u);
 
  421     if( fabsf(aEx - bEx) > DELTA ) {
 
  423       variableChange[ 
key.c_str() ] = aEx - bEx;
 
  426     float aEy = 
a.getEyComponent(
u);
 
  427     float bEy = 
b.getEyComponent(
u);
 
  428     if( fabsf(aEy - bEy) > DELTA ) {
 
  430       variableChange[ 
key.c_str() ] = aEy - bEy;
 
  433     float aEz = 
a.getEzComponent(
u);
 
  434     float bEz = 
b.getEzComponent(
u);
 
  435     if( fabsf(aEz - bEz) > DELTA ) {
 
  437       variableChange[ 
key.c_str() ] = aEz - bEz;
 
  440     float aSumEt = 
a.getSumEtComponent(
u);
 
  441     float bSumEt = 
b.getSumEtComponent(
u);
 
  442     if( fabsf(aSumEt - bSumEt) > DELTA ) {
 
  444       variableChange[ 
key.c_str() ] = aSumEt - bSumEt;
 
  447     float aSumE = 
a.getSumEComponent(
u);
 
  448     float bSumE = 
b.getSumEComponent(
u);
 
  449     if( fabsf(aSumE - bSumE) > DELTA ) {
 
  451       variableChange[ 
key.c_str() ] = aSumE - bSumE;
 
  454     float aCalib0 = 
a.getComponentCalib0(
u);
 
  455     float bCalib0 = 
b.getComponentCalib0(
u);
 
  456     if( fabsf(aCalib0 - bCalib0) > DELTA ) {
 
  458       variableChange[ 
key.c_str() ] = aCalib0 - bCalib0;
 
  461     float aCalib1 = 
a.getComponentCalib1(
u);
 
  462     float bCalib1 = 
b.getComponentCalib1(
u);
 
  463     if( fabsf(aCalib1 - bCalib1) > DELTA ) {
 
  465       variableChange[ 
key.c_str() ] = aCalib1 - bCalib1;
 
 
 
 
◆ operator!=()
◆ operator==()
Operator comparing two objects for equality. 
Definition at line 241 of file TrigMissingET.cxx.
  243    const double DELTA=1
e-3; 
 
  245    if( 
a.getNumOfComponents() != 
b.getNumOfComponents() )
 
  247    if( 
a.getFlag() != 
b.getFlag() )
 
  249    if( 
a.RoIword() != 
b.RoIword() )
 
  252    if( fabsf(
a.ex() - 
b.ex()) > DELTA )
 
  254    if( fabsf(
a.ey() - 
b.ey()) > DELTA )
 
  256    if( fabsf(
a.ez() - 
b.ez()) > DELTA )
 
  258    if( fabsf(
a.sumEt() - 
b.sumEt()) > DELTA )
 
  260    if( fabsf(
a.sumE() - 
b.sumE()) > DELTA )
 
  263    for (
unsigned u=0; 
u<
a.getNumOfComponents(); ++
u) {
 
  264      if( 
a.getNameOfComponent(
u) != 
b.getNameOfComponent(
u) )
 
  266      if( 
a.getStatus(
u) != 
b.getStatus(
u) )
 
  268      if( 
a.getSumOfSigns(
u) != 
b.getSumOfSigns(
u) )
 
  270      if( 
a.getUsedChannels(
u) != 
b.getUsedChannels(
u) )
 
  272      if( fabsf(
a.getExComponent(
u) - 
b.getExComponent(
u)) > DELTA )
 
  274      if( fabsf(
a.getEyComponent(
u) - 
b.getEyComponent(
u)) > DELTA )
 
  276      if( fabsf(
a.getEzComponent(
u) - 
b.getEzComponent(
u)) > DELTA )
 
  278      if( fabsf(
a.getSumEtComponent(
u) - 
b.getSumEtComponent(
u)) > DELTA )
 
  280      if( fabsf(
a.getSumEComponent(
u) - 
b.getSumEComponent(
u)) > DELTA )
 
  282      if( fabsf(
a.getComponentCalib0(
u) - 
b.getComponentCalib0(
u)) > DELTA )
 
  284      if( fabsf(
a.getComponentCalib1(
u) - 
b.getComponentCalib1(
u)) > DELTA )
 
 
 
 
◆ str()
conversion to formatted string: multi-line! 
Definition at line 292 of file TrigMissingET.cxx.
  301   float et = std::sqrt(
a.ex()*
a.ex()+
a.ey()*
a.ey());
 
  306   s += 
strformat(
"Event status = 0x%08x\n", (
unsigned)
a.getFlag());
 
  307   unsigned int N = 
a.getNumOfComponents();
 
  313   s += 
"__name_____status__usedCh.__sumOfSigns__calib1_calib0";
 
  314   s += 
"/MeV___Ex/MeV_____Ey/MeV_____Ez/MeV___SumE/MeV__SumEt/MeV\n";
 
  316   for (
unsigned int i=0; 
i<
N; ++
i){
 
  318       "%10s 0x%04x %8d %11d %7.2f %8.2f %10.2f %10.2f %10.2f %10.2f %10.2f\n", 
 
  319          a.getNameOfComponent(
i).c_str(), 
 
  320          (
unsigned)
a.getStatus(
i),
 
  321          a.getUsedChannels(
i),
 
  323          a.getComponentCalib1(
i),
 
  324          a.getComponentCalib0(
i),
 
  328          a.getSumEComponent(
i),
 
  329          a.getSumEtComponent(
i));