ATLAS Offline Software
Loading...
Searching...
No Matches
EMBremFit Class Reference

EMBremFit is made by EMBremsstrahlungBuilder. More...

#include <EMBremFit.h>

Inheritance diagram for EMBremFit:
Collaboration diagram for EMBremFit:

Public Member Functions

 EMBremFit ()
 Default constructor.
virtual ~EMBremFit ()=default
 Destructor.
void print () const
virtual const std::string & className () const
virtual int intParameter (egammaParameters::ParamDef) const
virtual double parameter (egammaParameters::ParamDef) const
virtual bool hasParameter (egammaParameters::ParamDef) const
virtual bool hasIntParameter (egammaParameters::ParamDef) const
 checks if the parameter is integer
void set_parameter (egammaParameters::ParamDef, double, bool overwrite=false)
 general set method for parameters
float bremD0 () const
 transverse impact parameter (distance of closest approach) after EMBremFit
float bremPhi0 () const
 azimuth angle of the momentum at the point of closest approach after EMBremFit
float bremInvpT () const
 1/pT estimate according to EMBremFit
float bremZ0 () const
 the z value at the point of closest approach after EMBremFit
float bremDzDr () const
 1/tan(theta) of the track after EMBremFit
float bremRadius () const
 estimated brem radius from EMBremFit (mm) [x-y plane]
float bremX () const
 EMBremFit track impact in 2nd.
float bremInvpTerr () const
 error associated to 1/pT by EMBremFit
int bremNTRT () const
 number of TRT hits included in the EMBremFit
int bremNR () const
 number of R hits included in the EMBremFit
int bremNZ () const
 number of Z hits included in the EMBremFit
float bremClusterRadius () const
 cluster radius (mm) [x-y plane] from EMBremFit (depth)
int bremFitStatus () const
 Minuit EMBremFit fit status.
int bremErrorFlag () const
 Flag to tell why the EMBremFit was not called.
float bremFitChi2 () const
 chi2 of EMBremFit
int linkIndex () const
 Index of track this EMBremFit belongs to.
void BremD0 (float)
void BremPhi0 (float)
void BremInvpT (float)
void BremZ0 (float)
void BremDzDr (float)
void BremRadius (float)
void BremX (float)
void BremInvpTerr (float)
void BremNTRT (int)
void BremNR (int)
void BremNZ (int)
void BremClusterRadius (float)
void BremFitStatus (int)
void BremErrorFlag (int)
void BremFitChi2 (float)
void set_linkIndex (int)
virtual bool boolParameter (egammaParameters::ParamDef) const
virtual bool hasBoolParameter (egammaParameters::ParamDef) const

Private Member Functions

void set_parameterInt (egammaParameters::ParamDef, int, bool overwrite=false)

Private Attributes

std::vector< std::pair< egammaParameters::ParamDef, double > > m_parameters
std::vector< std::pair< egammaParameters::ParamDef, int > > m_parametersInt

Static Private Attributes

static const std::string s_className = ClassName<EMBremFit>::name()

Detailed Description

EMBremFit is made by EMBremsstrahlungBuilder.

It is responsible for bremsstrahlung recovery using electromagnetic calorimeter. It re-calculates track pT accounting for energy of the photons emmitted in a hard bremsstrahlung.

Author
Anne-Catherine Le Bihan

Definition at line 26 of file EMBremFit.h.

Constructor & Destructor Documentation

◆ EMBremFit()

EMBremFit::EMBremFit ( )

Default constructor.

Definition at line 34 of file EMBremFit.cxx.

35 : egDetail()
36{ }
egDetail()=default
Default constructor.

◆ ~EMBremFit()

virtual EMBremFit::~EMBremFit ( )
virtualdefault

Destructor.

Member Function Documentation

◆ boolParameter()

bool egDetail::boolParameter ( egammaParameters::ParamDef ) const
virtualinherited

Reimplemented in EMConvert, and EMTrackMatch.

Definition at line 19 of file egDetail.cxx.

20{
21 return false;
22}

◆ BremClusterRadius()

void EMBremFit::BremClusterRadius ( float x)

Definition at line 194 of file EMBremFit.cxx.

#define x
void set_parameter(egammaParameters::ParamDef, double, bool overwrite=false)
general set method for parameters
Definition EMBremFit.cxx:66
@ bremClusterRadius
cluster radius (mm) [x-y plane] from EMBremFit (depth)

◆ bremClusterRadius()

float EMBremFit::bremClusterRadius ( ) const

cluster radius (mm) [x-y plane] from EMBremFit (depth)

Definition at line 171 of file EMBremFit.cxx.

virtual double parameter(egammaParameters::ParamDef) const
Definition EMBremFit.cxx:45

◆ BremD0()

void EMBremFit::BremD0 ( float x)

Definition at line 180 of file EMBremFit.cxx.

@ bremD0
transverse impact parameter (distance of closest approach) after EMBremFit

◆ bremD0()

float EMBremFit::bremD0 ( ) const

transverse impact parameter (distance of closest approach) after EMBremFit

Definition at line 157 of file EMBremFit.cxx.

◆ BremDzDr()

void EMBremFit::BremDzDr ( float x)

Definition at line 184 of file EMBremFit.cxx.

@ bremDzDr
1/tan(theta) of the track after EMBremFit

◆ bremDzDr()

float EMBremFit::bremDzDr ( ) const

1/tan(theta) of the track after EMBremFit

Definition at line 161 of file EMBremFit.cxx.

◆ BremErrorFlag()

void EMBremFit::BremErrorFlag ( int x)

Definition at line 197 of file EMBremFit.cxx.

void set_parameterInt(egammaParameters::ParamDef, int, bool overwrite=false)
@ bremErrorFlag
Flag to tell why the EMBremFit was not called.

◆ bremErrorFlag()

int EMBremFit::bremErrorFlag ( ) const

Flag to tell why the EMBremFit was not called.

Definition at line 174 of file EMBremFit.cxx.

virtual int intParameter(egammaParameters::ParamDef) const
Definition EMBremFit.cxx:95

◆ BremFitChi2()

void EMBremFit::BremFitChi2 ( float x)

Definition at line 198 of file EMBremFit.cxx.

@ bremFitChi2
chi2 of EMBremFit

◆ bremFitChi2()

float EMBremFit::bremFitChi2 ( ) const

chi2 of EMBremFit

Definition at line 175 of file EMBremFit.cxx.

◆ BremFitStatus()

void EMBremFit::BremFitStatus ( int x)

Definition at line 196 of file EMBremFit.cxx.

@ bremFitStatus
Minuit EMBremFit fit status.

◆ bremFitStatus()

int EMBremFit::bremFitStatus ( ) const

Minuit EMBremFit fit status.

Definition at line 173 of file EMBremFit.cxx.

◆ BremInvpT()

void EMBremFit::BremInvpT ( float x)

Definition at line 182 of file EMBremFit.cxx.

@ bremInvpT
1/pT estimate according to EMBremFit

◆ bremInvpT()

float EMBremFit::bremInvpT ( ) const

1/pT estimate according to EMBremFit

Definition at line 159 of file EMBremFit.cxx.

◆ BremInvpTerr()

void EMBremFit::BremInvpTerr ( float x)

Definition at line 188 of file EMBremFit.cxx.

@ bremInvpTerr
error associated to 1/pT by EMBremFit

◆ bremInvpTerr()

float EMBremFit::bremInvpTerr ( ) const

error associated to 1/pT by EMBremFit

Definition at line 165 of file EMBremFit.cxx.

◆ BremNR()

void EMBremFit::BremNR ( int x)

Definition at line 191 of file EMBremFit.cxx.

@ bremNR
number of R hits included in the EMBremFit

◆ bremNR()

int EMBremFit::bremNR ( ) const

number of R hits included in the EMBremFit

Definition at line 168 of file EMBremFit.cxx.

◆ BremNTRT()

void EMBremFit::BremNTRT ( int x)

Definition at line 190 of file EMBremFit.cxx.

@ bremNTRT
number of TRT hits included in the EMBremFit

◆ bremNTRT()

int EMBremFit::bremNTRT ( ) const

number of TRT hits included in the EMBremFit

Definition at line 167 of file EMBremFit.cxx.

◆ BremNZ()

void EMBremFit::BremNZ ( int x)

Definition at line 192 of file EMBremFit.cxx.

@ bremNZ
number of Z hits included in the EMBremFit

◆ bremNZ()

int EMBremFit::bremNZ ( ) const

number of Z hits included in the EMBremFit

Definition at line 169 of file EMBremFit.cxx.

◆ BremPhi0()

void EMBremFit::BremPhi0 ( float x)

Definition at line 181 of file EMBremFit.cxx.

@ bremPhi0
azimuth angle of the momentum at the point of closest approach after EMBremFit

◆ bremPhi0()

float EMBremFit::bremPhi0 ( ) const

azimuth angle of the momentum at the point of closest approach after EMBremFit

Definition at line 158 of file EMBremFit.cxx.

◆ BremRadius()

void EMBremFit::BremRadius ( float x)

Definition at line 185 of file EMBremFit.cxx.

@ bremRadius
estimated brem radius from EMBremFit (mm) [x-y plane]

◆ bremRadius()

float EMBremFit::bremRadius ( ) const

estimated brem radius from EMBremFit (mm) [x-y plane]

Definition at line 162 of file EMBremFit.cxx.

◆ BremX()

void EMBremFit::BremX ( float x)

Definition at line 186 of file EMBremFit.cxx.

@ bremX
EMBremFit track impact in 2nd sampling - cluster distance (mm): Delta phi(EMBremFit track impact in 2...

◆ bremX()

float EMBremFit::bremX ( ) const

EMBremFit track impact in 2nd.

sampling - cluster distance (mm): Delta phi(EMBremFit track impact in 2nd. sampling, cluster)*bremClusterRadius

Definition at line 163 of file EMBremFit.cxx.

◆ BremZ0()

void EMBremFit::BremZ0 ( float x)

Definition at line 183 of file EMBremFit.cxx.

@ bremZ0
the z value at the point of closest approach after EMBremFit

◆ bremZ0()

float EMBremFit::bremZ0 ( ) const

the z value at the point of closest approach after EMBremFit

Definition at line 160 of file EMBremFit.cxx.

◆ className()

const std::string & EMBremFit::className ( ) const
virtual

Reimplemented from egDetail.

Definition at line 40 of file EMBremFit.cxx.

41{
42 return s_className;
43}
static const std::string s_className
Definition EMBremFit.h:135

◆ hasBoolParameter()

bool egDetail::hasBoolParameter ( egammaParameters::ParamDef ) const
virtualinherited

Reimplemented in EMConvert, and EMTrackMatch.

Definition at line 34 of file egDetail.cxx.

35{
36 return false;
37}

◆ hasIntParameter()

bool EMBremFit::hasIntParameter ( egammaParameters::ParamDef key) const
virtual

checks if the parameter is integer

Reimplemented from egDetail.

Definition at line 216 of file EMBremFit.cxx.

216 {
217 if (key == egammaParameters::bremNR) return true;
218 if (key == egammaParameters::bremNZ) return true;
219 if (key == egammaParameters::bremNTRT) return true;
220 if (key == egammaParameters::bremFitStatus) return true;
221 if (key == egammaParameters::bremErrorFlag) return true;
222 if (key == egammaParameters::linkIndex) return true;
223 return false;
224}
@ linkIndex
link index for multiple track and vertex matches

◆ hasParameter()

bool EMBremFit::hasParameter ( egammaParameters::ParamDef key) const
virtual

Reimplemented from egDetail.

Definition at line 201 of file EMBremFit.cxx.

201 {
202 if ( hasIntParameter(key) ) return true;
203 if (key == egammaParameters::bremD0) return true;
204 if (key == egammaParameters::bremPhi0) return true;
205 if (key == egammaParameters::bremInvpT) return true;
206 if (key == egammaParameters::bremZ0) return true;
207 if (key == egammaParameters::bremDzDr) return true;
208 if (key == egammaParameters::bremRadius) return true;
209 if (key == egammaParameters::bremX) return true;
210 if (key == egammaParameters::bremInvpTerr) return true;
211 if (key == egammaParameters::bremClusterRadius) return true;
212 if (key == egammaParameters::bremFitChi2) return true;
213 return false;
214}
virtual bool hasIntParameter(egammaParameters::ParamDef) const
checks if the parameter is integer

◆ intParameter()

int EMBremFit::intParameter ( egammaParameters::ParamDef key) const
virtual

Reimplemented from egDetail.

Definition at line 95 of file EMBremFit.cxx.

95 {
96
97
98 using elParams = std::pair<egammaParameters::ParamDef, int>;
99
101 std::vector<elParams>::const_iterator p = m_parametersInt.begin();
102
103 for (;p !=m_parametersInt.end(); ++p) {
104 if ( (*p).first == key ){
105 result = (*p).second;
106 break;
107 }
108 }
109
110 return result;
111}
std::vector< std::pair< egammaParameters::ParamDef, int > > m_parametersInt
Definition EMBremFit.h:134
const double EgParamUndefined

◆ linkIndex()

int EMBremFit::linkIndex ( ) const
virtual

Index of track this EMBremFit belongs to.

Reimplemented from egDetail.

Definition at line 176 of file EMBremFit.cxx.

◆ parameter()

double EMBremFit::parameter ( egammaParameters::ParamDef key) const
virtual

Reimplemented from egDetail.

Definition at line 45 of file EMBremFit.cxx.

45 {
46
47 if ( hasIntParameter(key) ) {
48 return (double) intParameter(key);
49 }
50
51 using elParams = std::pair<egammaParameters::ParamDef, double>;
52
54 std::vector<elParams>::const_iterator p = m_parameters.begin();
55
56 for (;p !=m_parameters.end(); ++p) {
57 if ( (*p).first == key ) {
58 result = (*p).second;
59 break;
60 }
61 }
62
63 return result;
64}
std::vector< std::pair< egammaParameters::ParamDef, double > > m_parameters
Definition EMBremFit.h:133

◆ print()

void EMBremFit::print ( ) const

Definition at line 141 of file EMBremFit.cxx.

142{
143 std::cout << " EMBremFit : "<< parameter(egammaParameters::bremD0) << std::endl;
144 std::cout << " EMBremFit : "<< parameter(egammaParameters::bremPhi0) << std::endl;
145 std::cout << " EMBremFit : "<< parameter(egammaParameters::bremInvpT) << std::endl;
146 std::cout << " EMBremFit : "<< parameter(egammaParameters::bremZ0) << std::endl;
147 std::cout << " EMBremFit : "<< parameter(egammaParameters::bremDzDr) << std::endl;
148 std::cout << " EMBremFit : "<< parameter(egammaParameters::bremRadius)<< std::endl;
149 std::cout << " EMBremFit : "<< parameter(egammaParameters::bremX) << std::endl;
150 std::cout << " " << std::endl;
151
152 std::cout << " EMBremInput : fit status : "<< intParameter(egammaParameters::bremFitStatus) << std::endl;
153
154}

◆ set_linkIndex()

void EMBremFit::set_linkIndex ( int x)
virtual

Reimplemented from egDetail.

Definition at line 199 of file EMBremFit.cxx.

◆ set_parameter()

void EMBremFit::set_parameter ( egammaParameters::ParamDef key,
double value,
bool overwrite = false )

general set method for parameters

Definition at line 66 of file EMBremFit.cxx.

66 {
67
68 if ( hasIntParameter(key) ) {
69 set_parameterInt(key,(int)value,overwrite);
70 }
71
72 using elParams = std::pair<egammaParameters::ParamDef, double>;
73
74 std::vector<elParams>::iterator p = m_parameters.begin();
75
76 for (;p !=m_parameters.end(); ++p) {
77 if ( (*p).first == key ) break;
78 }
79
80 if ( p == m_parameters.end() ) {
81 m_parameters.emplace_back(key,value );
82 }
83 else {
84 if ( overwrite ) {
85 (*p).second = value;
86 }
87 else {
88 throw GaudiException("parameter not saved", "EMBremFit::set_parameter(...)", StatusCode::FAILURE);
89 }
90 }
91
92}

◆ set_parameterInt()

void EMBremFit::set_parameterInt ( egammaParameters::ParamDef key,
int value,
bool overwrite = false )
private

Definition at line 113 of file EMBremFit.cxx.

113 {
114
115 using elParams = std::pair<egammaParameters::ParamDef, int>;
116
117 std::vector<elParams>::iterator p = m_parametersInt.begin();
118
119 for (;p !=m_parametersInt.end(); ++p) {
120 if ( (*p).first == key ) break;
121 }
122
123 if ( p == m_parametersInt.end() ) {
124 m_parametersInt.emplace_back(key,value );
125 }
126 else {
127 if ( overwrite ) {
128 (*p).second = value;
129 }
130 else {
131 throw GaudiException("parameter not saved", "EMBremFit::set_parameter(...)", StatusCode::FAILURE);
132 }
133 }
134
135}

Member Data Documentation

◆ m_parameters

std::vector< std::pair<egammaParameters::ParamDef,double> > EMBremFit::m_parameters
private

Definition at line 133 of file EMBremFit.h.

◆ m_parametersInt

std::vector< std::pair<egammaParameters::ParamDef,int> > EMBremFit::m_parametersInt
private

Definition at line 134 of file EMBremFit.h.

◆ s_className

const std::string EMBremFit::s_className = ClassName<EMBremFit>::name()
staticprivate

Definition at line 135 of file EMBremFit.h.


The documentation for this class was generated from the following files: