ATLAS Offline Software
Loading...
Searching...
No Matches
IsoMuonFeature.cxx File Reference
#include <sstream>
#include <cmath>
#include "GaudiKernel/MsgStream.h"
#include "TrigMuonEvent/IsoMuonFeature.h"
Include dependency graph for IsoMuonFeature.cxx:

Go to the source code of this file.

Functions

std::string str (const IsoMuonFeature &d)
 Helper function for printing the object.
MsgStream & operator<< (MsgStream &m, const IsoMuonFeature &d)
 Helper operator for printing the object.
bool operator== (const IsoMuonFeature &a, const IsoMuonFeature &b)
 Operator comparing two IsoMuonFeature objects for equality.
void diff (const IsoMuonFeature &a, const IsoMuonFeature &b, std::map< std::string, double > &variableChange)
 Function compares two objects and returns "semi verbose" output in the form of map where there are varaible names and relative differences between two obejcts.

Variables

static const double DELTA = 0.001

Function Documentation

◆ diff()

void diff ( const IsoMuonFeature & a,
const IsoMuonFeature & b,
std::map< std::string, double > & variableChange )

Function compares two objects and returns "semi verbose" output in the form of map where there are varaible names and relative differences between two obejcts.

Comparison with feedback.

Parameters
variableChangeMap to record the differences In case of collections (or objects when the size may be different) that information can also be returned in varaibleChange

Definition at line 239 of file IsoMuonFeature.cxx.

240 {
241
242 if( std::abs( a.getsumet01() - b.getsumet01() ) > DELTA ) {
243 variableChange[ "sumet01" ] = a.getsumet01() - b.getsumet01();
244 }
245 if( std::abs( a.getsumet02() - b.getsumet02() ) > DELTA ) {
246 variableChange[ "sumet02" ] = a.getsumet02() - b.getsumet02();
247 }
248 if( std::abs( a.getsumet03() - b.getsumet03() ) > DELTA ) {
249 variableChange[ "sumet03" ] = a.getsumet03() - b.getsumet03();
250 }
251 if( std::abs( a.getsumet04() - b.getsumet04() ) > DELTA ) {
252 variableChange[ "sumet04" ] = a.getsumet04() - b.getsumet04();
253 }
254 if( std::abs( a.getsumpt01() - b.getsumpt01() ) > DELTA ) {
255 variableChange[ "sumpt01" ] = a.getsumpt01() - b.getsumpt01();
256 }
257 if( std::abs( a.getsumet02() - b.getsumet02() ) > DELTA ) {
258 variableChange[ "sumet02" ] = a.getsumet02() - b.getsumpt02();
259 }
260 if( std::abs( a.getsumpt03() - b.getsumpt03() ) > DELTA ) {
261 variableChange[ "sumpt03" ] = a.getsumpt03() - b.getsumpt03();
262 }
263 if( std::abs( a.getsumpt04() - b.getsumpt04() ) > DELTA ) {
264 variableChange[ "sumpt04" ] = a.getsumpt04() - b.getsumpt04();
265 }
266 if( a.getFlag() != b.getFlag() ) {
267 variableChange[ "flag" ] = static_cast< double >( a.getFlag() -
268 b.getFlag() );
269 }
270 if( a.getRoiIdMu() != b.getRoiIdMu() ) {
271 variableChange[ "RoiIdMu" ] = static_cast< double >( a.getRoiIdMu() -
272 b.getRoiIdMu() );
273 }
274 if( std::abs( a.pt() - b.pt() ) > DELTA ) {
275 variableChange[ "PtMu" ] = a.pt() - b.pt();
276 }
277 if( std::abs( a.getQMu() - b.getQMu() ) > DELTA ) {
278 variableChange[ "QMu" ] = a.getQMu() - b.getQMu();
279 }
280 if( std::abs( a.getEtaMu() - b.getEtaMu() ) > DELTA ) {
281 variableChange[ "EtaMu" ] = a.getEtaMu() - b.getEtaMu();
282 }
283 if( std::abs( a.getPhiMu() - b.getPhiMu() ) > DELTA ) {
284 variableChange[ "PhiMu" ] = a.getPhiMu() - b.getPhiMu();
285 }
286
287 return;
288}
static const double DELTA
static Double_t a

◆ operator<<()

MsgStream & operator<< ( MsgStream & m,
const IsoMuonFeature & d )

Helper operator for printing the object.

Definition at line 187 of file IsoMuonFeature.cxx.

187 {
188
189 return ( m << str( d ) );
190}

◆ operator==()

bool operator== ( const IsoMuonFeature & a,
const IsoMuonFeature & b )

Operator comparing two IsoMuonFeature objects for equality.

Definition at line 192 of file IsoMuonFeature.cxx.

192 {
193
194 if( std::abs( a.getsumet01() - b.getsumet01() ) > DELTA )
195 return false;
196 if( std::abs( a.getsumet02() - b.getsumet02() ) > DELTA )
197 return false;
198 if( std::abs( a.getsumet03() - b.getsumet03() ) > DELTA )
199 return false;
200 if( std::abs( a.getsumet04() - b.getsumet04() ) > DELTA )
201 return false;
202 if( std::abs( a.getsumpt01() - b.getsumpt01() ) > DELTA )
203 return false;
204 if( std::abs( a.getsumpt02() - b.getsumpt02() ) > DELTA )
205 return false;
206 if( std::abs( a.getsumpt03() - b.getsumpt03() ) > DELTA )
207 return false;
208 if( std::abs( a.getsumpt04() - b.getsumpt04() ) > DELTA )
209 return false;
210 if( std::abs( a.getPtMuID() - b.getPtMuID() ) > DELTA )
211 return false;
212 if( std::abs( a.getMaxPtID() - b.getMaxPtID() ) > DELTA )
213 return false;
214 if( a.getFlag() != b.getFlag() )
215 return false;
216 if( a.getRoiIdMu() != b.getRoiIdMu() )
217 return false;
218 if( std::abs( a.pt() - b.pt() ) > DELTA )
219 return false;
220 if( std::abs( a.getQMu() - b.getQMu() ) > DELTA )
221 return false;
222 if( std::abs( a.getEtaMu() - b.getEtaMu() ) > DELTA )
223 return false;
224 if( std::abs( a.getPhiMu() - b.getPhiMu() ) > DELTA )
225 return false;
226
227 return true;
228}

◆ str()

std::string str ( const IsoMuonFeature & d)

Helper function for printing the object.

Definition at line 164 of file IsoMuonFeature.cxx.

164 {
165 std::stringstream ss;
166 ss << "sumet01: " << d.getsumet01()
167 << "; sumet02: " << d.getsumet02()
168 << "; sumet03: " << d.getsumet03()
169 << "; sumet04: " << d.getsumet04()
170 << "; sumpt01: " << d.getsumpt01()
171 << "; sumpt02: " << d.getsumpt02()
172 << "; sumpt03: " << d.getsumpt03()
173 << "; sumpt04: " << d.getsumpt04()
174 << "; PtMuID: " << d.getPtMuID()
175 << "; MaxPtID: " << d.getMaxPtID()
176 << "; flag: " << d.getFlag()
177 << "; RoiIdMu: " << d.getRoiIdMu()
178 << "; RoiIdMu: " << d.getRoiIdMu()
179 << "; PtMu: " << d.pt()
180 << "; QMu: " << d.getQMu()
181 << "; EtaMu: " << d.getEtaMu()
182 << "; PhiMu: " << d.getPhiMu();
183
184 return ss.str();
185}
static Double_t ss

Variable Documentation

◆ DELTA

const double DELTA = 0.001
static

Definition at line 27 of file IsoMuonFeature.cxx.