7#include "GaudiKernel/MsgStream.h"
10 m_e(),
m_ehad0(),
m_eem0(),
m_eta(),
m_phi(),
m_grid(0),
m_roiWord(),
m_nLeadingCells(),
m_hecf(),
m_jetQuality(),
m_emf(),
m_jetTimeCells()
19 const double DELTA=1e-3;
21 if ( std::abs(
a.e() - b.e()) >
DELTA)
return false;
22 if ( std::abs(
a.ehad0() - b.ehad0()) >
DELTA)
return false;
23 if ( std::abs(
a.eem0() - b.eem0()) >
DELTA)
return false;
24 if ( std::abs(
a.eta() - b.eta()) >
DELTA)
return false;
25 if ( std::abs(
a.phi() - b.phi()) >
DELTA)
return false;
26 if(
a.RoIword() != b.RoIword() )
return false;
28 if(
a.nLeadingCells() != b.nLeadingCells() )
return false;
29 if( std::abs(
a.hecf() - b.hecf()) >
DELTA )
return false;
30 if( std::abs(
a.jetQuality() - b.jetQuality()) >
DELTA )
return false;
31 if( std::abs(
a.emf() - b.emf()) >
DELTA )
return false;
32 if( std::abs(
a.jetTimeCells() - b.jetTimeCells()) >
DELTA )
return false;
43 std::sprintf(buff,
"L2 Jet E = %10.2f MeV\n",
a.e()); s += buff;
44 std::sprintf(buff,
"L2 Jet EHad0 = %10.2f MeV\n",
a.ehad0()); s += buff;
45 std::sprintf(buff,
"L2 Jet EEM0 = %10.2f MeV\n",
a.eem0()); s += buff;
46 std::sprintf(buff,
"L2 Jet Eta = %10.2f \n",
a.eta()); s += buff;
47 std::sprintf(buff,
"L2 Jet Phi = %10.2f \n",
a.phi()); s += buff;
50 std::sprintf(buff,
"Grid Members = %4d\n", (
int)
a.grid()->size()); s += buff;
59 return ( m <<
str( d ) );
63 std::map<std::string, double>& variableChange){
64 const double DELTA=1e-3;
66 unsigned long aRoI = (
unsigned long)
a.RoIword();
67 unsigned long bRoI = (
unsigned long) b.RoIword();
69 variableChange[
"RoIwordsXOR" ] = aRoI ^ bRoI;
73 if( fabsf(aE - bE) >
DELTA )
74 variableChange[
"E" ] = aE - bE;
76 float aEHad0 =
a.ehad0();
77 float bEHad0 = b.ehad0();
78 if( fabsf(aEHad0 - bEHad0) >
DELTA )
79 variableChange[
"EHad0" ] = aEHad0 - bEHad0;
81 float aEEM0 =
a.eem0();
82 float bEEM0 = b.eem0();
83 if( fabsf(aEEM0 - bEEM0) >
DELTA )
84 variableChange[
"EEM0" ] = aEEM0 - bEEM0;
88 if( fabsf(aEta - bEta) >
DELTA )
89 variableChange[
"Eta" ] = aEta - bEta;
93 if( fabsf(aPhi - bPhi) >
DELTA )
94 variableChange[
"Phi" ] = aPhi - bPhi;
97 int diffLeadingCells =
a.nLeadingCells() - b.nLeadingCells();
98 if( diffLeadingCells != 0){
99 variableChange[
"nLeadCells" ] = diffLeadingCells;
102 float diffhecf =
a.hecf() - b.hecf();
103 if( fabsf(diffhecf) >
DELTA){
104 variableChange[
"hecf" ] = diffhecf;
107 float diffjetQuality =
a.jetQuality() - b.jetQuality();
108 if( fabsf(diffjetQuality) >
DELTA){
109 variableChange[
"jetQual" ] = diffjetQuality;
112 float diffemf =
a.emf() - b.emf();
113 if( fabsf(diffemf) >
DELTA){
114 variableChange[
"emf" ] = diffemf;
117 float diffjetTime =
a.jetTimeCells() - b.jetTimeCells();
118 if( fabsf(diffjetTime) >
DELTA ){
119 variableChange[
"jetTime" ] = diffjetTime;
static const double DELTA
void diff(const TrigT2Jet &a, const TrigT2Jet &b, std::map< std::string, double > &variableChange)
Comparison with feedback.
MsgStream & operator<<(MsgStream &m, const TrigT2Jet &d)
formatted output
bool operator==(const TrigT2Jet &a, const TrigT2Jet &b)
Operator comparing two objects for equality.
double m_eem0
Electromagnetic Jet Energy before calibration.
int m_nLeadingCells
Jet nLeadingCells (e.g.
float m_jetTimeCells
Jet time.
double m_ehad0
Hadronic Jet Energy before calibration.
std::vector< Trig3Momentum > * m_grid
Jet coneRadius.
unsigned int m_roiWord
RoI Word.
float m_emf
Fraction of energy in EMC.
float m_hecf
Fraction of energy in HEC.
float m_jetQuality
fraction of jet energy from bad cells