13#include "GaudiKernel/MsgStream.h"
19static const double DELTA = 0.001;
89 double stmp = modf(
m_sigma_pt/10000., &ftmp)*1000000.;
90 return static_cast<float>(stmp);
100 else return static_cast<int>(floor(
m_sigma_pt/10000.));
103 int a =
static_cast<int>(
m_flag/10000);
109 int a =
static_cast<int>(
m_flag/10000);
110 int b =
static_cast<int>((
m_flag-
a*10000)/100);
115 int a =
static_cast<int>(
m_flag/10000);
116 int b =
static_cast<int>((
m_flag-
a*10000)/100);
117 int c =
static_cast<int>(
m_flag-
a*10000-b*100);
164 return m_IDTrack.isValid() ? (*m_IDTrack)->param()->eta() : 0.0;
168 return m_IDTrack.isValid() ? (*m_IDTrack)->param()->phi0() : 0.0;
175 std::stringstream
ss;
176 ss <<
"Pt: " << d.pt()
177 <<
"; sigmaPt: " << d.sigma_pt()
178 <<
"; charge: " << d.charge()
179 <<
"; flag: " << d.getFlag()
180 <<
"; Eta: " << d.eta()
181 <<
"; Phi: " << d.phi();
188 return ( m <<
str( d ) );
193 if( std::abs(
a.pt() - b.pt() ) >
DELTA )
return false;
194 if( std::abs(
a.charge() - b.charge() ) >
DELTA )
return false;
195 if( std::abs(
a.sigma_pt() - b.sigma_pt() ) >
DELTA )
return false;
196 if( std::abs(
a.getFlag() - b.getFlag() ) >
DELTA )
return false;
197 if( std::abs(
a.eta() - b.eta() ) >
DELTA )
return false;
198 if( std::abs(
a.phi() - b.phi() ) >
DELTA )
return false;
213 std::map< std::string, double >& variableChange ) {
215 if( std::abs(
a.pt() - b.pt() ) >
DELTA ) {
216 variableChange[
"Pt" ] =
a.pt() - b.pt();
218 if( std::abs(
a.charge() - b.charge() ) >
DELTA ) {
219 variableChange[
"Charge" ] =
a.charge() - b.charge();
221 if( std::abs(
a.sigma_pt() - b.sigma_pt() ) >
DELTA ) {
222 variableChange[
"sigmaPt" ] =
a.sigma_pt() - b.sigma_pt();
224 if( std::abs(
a.getFlag() - b.getFlag() ) >
DELTA ) {
225 variableChange[
"flag" ] =
a.getFlag() - b.getFlag();
227 if( std::abs(
a.eta() - b.eta() ) >
DELTA ) {
228 variableChange[
"Eta" ] =
a.eta() - b.eta();
230 if( std::abs(
a.phi() - b.phi() ) >
DELTA ) {
231 variableChange[
"Phi" ] =
a.phi() - b.phi();
void diff(const CombinedMuonFeature &a, const CombinedMuonFeature &b, std::map< std::string, double > &variableChange)
Function compares two objects and returns "semi verbose" output in the form of map where there are va...
MsgStream & operator<<(MsgStream &m, const CombinedMuonFeature &d)
Helper operator for printing the object.
bool operator==(const CombinedMuonFeature &a, const CombinedMuonFeature &b)
Operator comparing two CombinedMuonFeature objects for equality.
static const double DELTA
CombinedMuonFeature & operator=(const CombinedMuonFeature &muon_feature)
int comb_errorFlag(void) const
ElementLink< MuonFeatureContainer > m_muFastTrack
double pt(void) const
transverse momentum
int comb_matchFlag(void) const
double sigma_pt(void) const
double eta(void) const
pseudo rapidity
ElementLink< TrigInDetTrackCollection > m_IDTrack
double phi(void) const
phi in [-pi,pi[
int comb_strategy(void) const
ElementLink implementation for ROOT usage.
I4Momentum is an abstract base class providing 4-momentum behavior.
P4PtEtaPhiMBase is a base class for classes with 4-momentum behavior, for which pt,...