ATLAS Offline Software
Loading...
Searching...
No Matches
TrigT2Jet.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
7#include "GaudiKernel/MsgStream.h"
8
12
14 delete m_grid;
15}
16
17bool operator== ( const TrigT2Jet& a, const TrigT2Jet& b ) {
18
19 const double DELTA=1e-3; // distance used to compare floats
20
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;
27 // Cleaning:
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;
33
34
35 return true;
36}
37
38std::string str (const TrigT2Jet& a){
39
40 std::string s="";
41 char buff[1024];
42
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;
48
49 if(a.grid()) {
50 std::sprintf(buff,"Grid Members = %4d\n", (int)a.grid()->size()); s += buff;
51 }
52
53 return s;
54
55}
56
57
58MsgStream& operator<< (MsgStream& m, const TrigT2Jet& d) {
59 return ( m << str( d ) );
60}
61
62void diff(const TrigT2Jet& a, const TrigT2Jet& b,
63 std::map<std::string, double>& variableChange){
64 const double DELTA=1e-3; // distance used to compare floats
65
66 unsigned long aRoI = (unsigned long) a.RoIword();
67 unsigned long bRoI = (unsigned long) b.RoIword();
68 if( aRoI != bRoI )
69 variableChange[ "RoIwordsXOR" ] = aRoI ^ bRoI;
70
71 float aE = a.e();
72 float bE = b.e();
73 if( fabsf(aE - bE) > DELTA )
74 variableChange[ "E" ] = aE - bE;
75
76 float aEHad0 = a.ehad0();
77 float bEHad0 = b.ehad0();
78 if( fabsf(aEHad0 - bEHad0) > DELTA )
79 variableChange[ "EHad0" ] = aEHad0 - bEHad0;
80
81 float aEEM0 = a.eem0();
82 float bEEM0 = b.eem0();
83 if( fabsf(aEEM0 - bEEM0) > DELTA )
84 variableChange[ "EEM0" ] = aEEM0 - bEEM0;
85
86 float aEta = a.eta();
87 float bEta = b.eta();
88 if( fabsf(aEta - bEta) > DELTA )
89 variableChange[ "Eta" ] = aEta - bEta;
90
91 float aPhi = a.phi();
92 float bPhi = b.phi();
93 if( fabsf(aPhi - bPhi) > DELTA )
94 variableChange[ "Phi" ] = aPhi - bPhi;
95
96 // Cleaning:
97 int diffLeadingCells = a.nLeadingCells() - b.nLeadingCells();
98 if( diffLeadingCells != 0){
99 variableChange[ "nLeadCells" ] = diffLeadingCells;
100 }
101
102 float diffhecf = a.hecf() - b.hecf();
103 if( fabsf(diffhecf) > DELTA){
104 variableChange[ "hecf" ] = diffhecf;
105 }
106
107 float diffjetQuality = a.jetQuality() - b.jetQuality();
108 if( fabsf(diffjetQuality) > DELTA){
109 variableChange[ "jetQual" ] = diffjetQuality;
110 }
111
112 float diffemf = a.emf() - b.emf();
113 if( fabsf(diffemf) > DELTA){
114 variableChange[ "emf" ] = diffemf;
115 }
116
117 float diffjetTime = a.jetTimeCells() - b.jetTimeCells();
118 if( fabsf(diffjetTime) > DELTA ){
119 variableChange[ "jetTime" ] = diffjetTime;
120 }
121
122
123 return;
124}
static const double DELTA
static Double_t a
void diff(const TrigT2Jet &a, const TrigT2Jet &b, std::map< std::string, double > &variableChange)
Comparison with feedback.
Definition TrigT2Jet.cxx:62
MsgStream & operator<<(MsgStream &m, const TrigT2Jet &d)
formatted output
Definition TrigT2Jet.cxx:58
bool operator==(const TrigT2Jet &a, const TrigT2Jet &b)
Operator comparing two objects for equality.
Definition TrigT2Jet.cxx:17
LVL2 Trigger Jet Class.
Definition TrigT2Jet.h:32
double m_eem0
Electromagnetic Jet Energy before calibration.
Definition TrigT2Jet.h:112
double m_eta
Jet eta.
Definition TrigT2Jet.h:114
int m_nLeadingCells
Jet nLeadingCells (e.g.
Definition TrigT2Jet.h:128
TrigT2Jet()
Constructor.
Definition TrigT2Jet.cxx:9
float m_jetTimeCells
Jet time.
Definition TrigT2Jet.h:136
double m_e
Jet energy.
Definition TrigT2Jet.h:108
double m_ehad0
Hadronic Jet Energy before calibration.
Definition TrigT2Jet.h:110
std::vector< Trig3Momentum > * m_grid
Jet coneRadius.
Definition TrigT2Jet.h:121
unsigned int m_roiWord
RoI Word.
Definition TrigT2Jet.h:124
float m_emf
Fraction of energy in EMC.
Definition TrigT2Jet.h:134
~TrigT2Jet()
Destructor.
Definition TrigT2Jet.cxx:13
double m_phi
Jet phi.
Definition TrigT2Jet.h:116
float m_hecf
Fraction of energy in HEC.
Definition TrigT2Jet.h:130
float m_jetQuality
fraction of jet energy from bad cells
Definition TrigT2Jet.h:132