ATLAS Offline Software
Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
EMBremFit Class Reference

#include <EMBremFit.h>

Inheritance diagram for EMBremFit:
Collaboration diagram for EMBremFit:

Public Member Functions

 EMBremFit ()
 Default constructor. More...
 
virtual ~EMBremFit ()=default
 Destructor. More...
 
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 More...
 
void set_parameter (egammaParameters::ParamDef, double, bool overwrite=false)
 general set method for parameters More...
 
float bremD0 () const
 transverse impact parameter (distance of closest approach) after EMBremFit More...
 
float bremPhi0 () const
 azimuth angle of the momentum at the point of closest approach after EMBremFit More...
 
float bremInvpT () const
 1/pT estimate according to EMBremFit More...
 
float bremZ0 () const
 the z value at the point of closest approach after EMBremFit More...
 
float bremDzDr () const
 1/tan(theta) of the track after EMBremFit More...
 
float bremRadius () const
 estimated brem radius from EMBremFit (mm) [x-y plane] More...
 
float bremX () const
 EMBremFit track impact in 2nd. More...
 
float bremInvpTerr () const
 error associated to 1/pT by EMBremFit More...
 
int bremNTRT () const
 number of TRT hits included in the EMBremFit More...
 
int bremNR () const
 number of R hits included in the EMBremFit More...
 
int bremNZ () const
 number of Z hits included in the EMBremFit More...
 
float bremClusterRadius () const
 cluster radius (mm) [x-y plane] from EMBremFit (depth) More...
 
int bremFitStatus () const
 Minuit EMBremFit fit status. More...
 
int bremErrorFlag () const
 Flag to tell why the EMBremFit was not called. More...
 
float bremFitChi2 () const
 chi2 of EMBremFit More...
 
int linkIndex () const
 Index of track this EMBremFit belongs to. More...
 
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 { }

◆ ~EMBremFit()

virtual EMBremFit::~EMBremFit ( )
virtualdefault

Destructor.

Member Function Documentation

◆ boolParameter()

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

Reimplemented in EMTrackMatch, and EMConvert.

Definition at line 19 of file egDetail.cxx.

20 {
21  return false;
22 }

◆ bremClusterRadius()

float EMBremFit::bremClusterRadius ( ) const

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

Definition at line 171 of file EMBremFit.cxx.

◆ BremClusterRadius()

void EMBremFit::BremClusterRadius ( float  x)

Definition at line 194 of file EMBremFit.cxx.

◆ bremD0()

float EMBremFit::bremD0 ( ) const

transverse impact parameter (distance of closest approach) after EMBremFit

Definition at line 157 of file EMBremFit.cxx.

◆ BremD0()

void EMBremFit::BremD0 ( float  x)

Definition at line 180 of file EMBremFit.cxx.

◆ bremDzDr()

float EMBremFit::bremDzDr ( ) const

1/tan(theta) of the track after EMBremFit

Definition at line 161 of file EMBremFit.cxx.

◆ BremDzDr()

void EMBremFit::BremDzDr ( float  x)

Definition at line 184 of file EMBremFit.cxx.

◆ bremErrorFlag()

int EMBremFit::bremErrorFlag ( ) const

Flag to tell why the EMBremFit was not called.

Definition at line 174 of file EMBremFit.cxx.

◆ BremErrorFlag()

void EMBremFit::BremErrorFlag ( int  x)

Definition at line 197 of file EMBremFit.cxx.

◆ bremFitChi2()

float EMBremFit::bremFitChi2 ( ) const

chi2 of EMBremFit

Definition at line 175 of file EMBremFit.cxx.

◆ BremFitChi2()

void EMBremFit::BremFitChi2 ( float  x)

Definition at line 198 of file EMBremFit.cxx.

◆ bremFitStatus()

int EMBremFit::bremFitStatus ( ) const

Minuit EMBremFit fit status.

Definition at line 173 of file EMBremFit.cxx.

◆ BremFitStatus()

void EMBremFit::BremFitStatus ( int  x)

Definition at line 196 of file EMBremFit.cxx.

◆ bremInvpT()

float EMBremFit::bremInvpT ( ) const

1/pT estimate according to EMBremFit

Definition at line 159 of file EMBremFit.cxx.

◆ BremInvpT()

void EMBremFit::BremInvpT ( float  x)

Definition at line 182 of file EMBremFit.cxx.

◆ bremInvpTerr()

float EMBremFit::bremInvpTerr ( ) const

error associated to 1/pT by EMBremFit

Definition at line 165 of file EMBremFit.cxx.

◆ BremInvpTerr()

void EMBremFit::BremInvpTerr ( float  x)

Definition at line 188 of file EMBremFit.cxx.

◆ bremNR()

int EMBremFit::bremNR ( ) const

number of R hits included in the EMBremFit

Definition at line 168 of file EMBremFit.cxx.

◆ BremNR()

void EMBremFit::BremNR ( int  x)

Definition at line 191 of file EMBremFit.cxx.

◆ bremNTRT()

int EMBremFit::bremNTRT ( ) const

number of TRT hits included in the EMBremFit

Definition at line 167 of file EMBremFit.cxx.

◆ BremNTRT()

void EMBremFit::BremNTRT ( int  x)

Definition at line 190 of file EMBremFit.cxx.

◆ bremNZ()

int EMBremFit::bremNZ ( ) const

number of Z hits included in the EMBremFit

Definition at line 169 of file EMBremFit.cxx.

◆ BremNZ()

void EMBremFit::BremNZ ( int  x)

Definition at line 192 of file EMBremFit.cxx.

◆ 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.

◆ BremPhi0()

void EMBremFit::BremPhi0 ( float  x)

Definition at line 181 of file EMBremFit.cxx.

◆ bremRadius()

float EMBremFit::bremRadius ( ) const

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

Definition at line 162 of file EMBremFit.cxx.

◆ BremRadius()

void EMBremFit::BremRadius ( float  x)

Definition at line 185 of file EMBremFit.cxx.

◆ 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.

◆ BremX()

void EMBremFit::BremX ( float  x)

Definition at line 186 of file EMBremFit.cxx.

◆ bremZ0()

float EMBremFit::bremZ0 ( ) const

the z value at the point of closest approach after EMBremFit

Definition at line 160 of file EMBremFit.cxx.

◆ BremZ0()

void EMBremFit::BremZ0 ( float  x)

Definition at line 183 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 }

◆ hasBoolParameter()

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

Reimplemented in EMTrackMatch, and EMConvert.

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 }

◆ 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 }

◆ 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 }

◆ 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 }

◆ 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 
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 
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 139 of file EMBremFit.h.

◆ m_parametersInt

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

Definition at line 140 of file EMBremFit.h.

◆ s_className

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

Definition at line 141 of file EMBremFit.h.


The documentation for this class was generated from the following files:
xAOD::iterator
JetConstituentVector::iterator iterator
Definition: JetConstituentVector.cxx:68
egammaParameters::bremRadius
@ bremRadius
estimated brem radius from EMBremFit (mm) [x-y plane]
Definition: egammaParamDefs.h:245
egammaParameters::bremNZ
@ bremNZ
number of Z hits included in the EMBremFit
Definition: egammaParamDefs.h:254
egammaParameters::bremNR
@ bremNR
number of R hits included in the EMBremFit
Definition: egammaParamDefs.h:252
egammaParameters::bremErrorFlag
@ bremErrorFlag
Flag to tell why the EMBremFit was not called.
Definition: egammaParamDefs.h:262
EMBremFit::set_parameter
void set_parameter(egammaParameters::ParamDef, double, bool overwrite=false)
general set method for parameters
Definition: EMBremFit.cxx:66
get_generator_info.result
result
Definition: get_generator_info.py:21
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
EMBremFit::intParameter
virtual int intParameter(egammaParameters::ParamDef) const
Definition: EMBremFit.cxx:95
CaloCellPos2Ntuple.int
int
Definition: CaloCellPos2Ntuple.py:24
egammaParameters::bremNTRT
@ bremNTRT
number of TRT hits included in the EMBremFit
Definition: egammaParamDefs.h:256
egammaParameters::bremPhi0
@ bremPhi0
azimuth angle of the momentum at the point of closest approach after EMBremFit
Definition: egammaParamDefs.h:237
egammaParameters::bremZ0
@ bremZ0
the z value at the point of closest approach after EMBremFit
Definition: egammaParamDefs.h:241
athena.value
value
Definition: athena.py:122
egammaParameters::EgParamUndefined
const double EgParamUndefined
Definition: egammaParamDefs.h:78
x
#define x
egammaParameters::bremFitChi2
@ bremFitChi2
chi2 of EMBremFit
Definition: egammaParamDefs.h:264
egammaParameters::bremD0
@ bremD0
transverse impact parameter (distance of closest approach) after EMBremFit
Definition: egammaParamDefs.h:235
EMBremFit::m_parametersInt
std::vector< std::pair< egammaParameters::ParamDef, int > > m_parametersInt
Definition: EMBremFit.h:140
egammaParameters::bremClusterRadius
@ bremClusterRadius
cluster radius (mm) [x-y plane] from EMBremFit (depth)
Definition: egammaParamDefs.h:258
egammaParameters::bremFitStatus
@ bremFitStatus
Minuit EMBremFit fit status.
Definition: egammaParamDefs.h:260
EMBremFit::s_className
static const std::string s_className
Definition: EMBremFit.h:141
egammaParameters::bremX
@ bremX
EMBremFit track impact in 2nd sampling - cluster distance (mm): Delta phi(EMBremFit track impact in 2...
Definition: egammaParamDefs.h:248
EMBremFit::m_parameters
std::vector< std::pair< egammaParameters::ParamDef, double > > m_parameters
Definition: EMBremFit.h:139
EMBremFit::set_parameterInt
void set_parameterInt(egammaParameters::ParamDef, int, bool overwrite=false)
Definition: EMBremFit.cxx:113
EMBremFit::parameter
virtual double parameter(egammaParameters::ParamDef) const
Definition: EMBremFit.cxx:45
egammaParameters::linkIndex
@ linkIndex
link index for multiple track and vertex matches
Definition: egammaParamDefs.h:574
egammaParameters::bremDzDr
@ bremDzDr
1/tan(theta) of the track after EMBremFit
Definition: egammaParamDefs.h:243
EMBremFit::hasIntParameter
virtual bool hasIntParameter(egammaParameters::ParamDef) const
checks if the parameter is integer
Definition: EMBremFit.cxx:216
egammaParameters::bremInvpT
@ bremInvpT
1/pT estimate according to EMBremFit
Definition: egammaParamDefs.h:239
egDetail::egDetail
egDetail()=default
Default constructor.
egammaParameters::bremInvpTerr
@ bremInvpTerr
error associated to 1/pT by EMBremFit
Definition: egammaParamDefs.h:250
mapkey::key
key
Definition: TElectronEfficiencyCorrectionTool.cxx:37