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

This class implements the CaloDetDescr/ICaloCoordinateTool and handles the translation between : More...

#include <TBCaloCoordinate.h>

Inheritance diagram for TBCaloCoordinate:
Collaboration diagram for TBCaloCoordinate:

Public Member Functions

 TBCaloCoordinate (const std::string &type, const std::string &name, const IInterface *parent)
 
 ~TBCaloCoordinate ()
 
StatusCode initialize ()
 
StatusCode finalize ()
 
void ctb_to_local (Amg::Vector3D &pt_ctb, Amg::Vector3D &pt_local)
 General use method: basic translation between the 2 cartesian coordinate systems: More...
 
void local_to_ctb (Amg::Vector3D &pt_local, Amg::Vector3D &pt_ctb)
 General use method: basic translation between the 2 cartesian coordinate systems: More...
 
void ctb_to_local (double &x_ctb, double &y_ctb, double &z_ctb, double &x_local, double &y_local, double &z_local)
 General use method: basic translation between the 2 cartesian coordinate systems: More...
 
void local_to_ctb (double &x_local, double &y_local, double &z_local, double &x_ctb, double &y_ctb, double &z_ctb)
 General use method: basic translation between the 2 cartesian coordinate systems: More...
 
double beam_local_eta ()
 the most common use-case : the H8 beam goes along the x axis -> that are the local calorimeters eta and phi seen by the beam ? More...
 
double beam_local_phi ()
 the most common use-case : the H8 beam goes along the x axis -> that are the local calorimeters eta and phi seen by the beam ? More...
 
virtual void read_table_position ()
 clients who want the real position must call this More...
 
virtual void read_fake_table_position ()
 clients who want to avoid the DB-decoding, and force a fixed eta must call this : More...
 
Amg::Transform3Dtransform_calo_to_ctb ()
 method accessing the transformations More...
 
Amg::Transform3Dtransform_ctb_to_calo ()
 method accessing the transformations More...
 
void print_transform (Amg::Transform3D &htrans)
 printout method More...
 
ServiceHandle< StoreGateSvc > & evtStore ()
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. More...
 
const ServiceHandle< StoreGateSvc > & evtStore () const
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. More...
 
const ServiceHandle< StoreGateSvc > & detStore () const
 The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc. More...
 
virtual StatusCode sysInitialize () override
 Perform system initialization for an algorithm. More...
 
virtual StatusCode sysStart () override
 Handle START transition. More...
 
virtual std::vector< Gaudi::DataHandle * > inputHandles () const override
 Return this algorithm's input handles. More...
 
virtual std::vector< Gaudi::DataHandle * > outputHandles () const override
 Return this algorithm's output handles. More...
 
Gaudi::Details::PropertyBase & declareProperty (Gaudi::Property< T > &t)
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &)
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, T &property, const std::string &doc="none")
 Declare a new Gaudi property. More...
 
void updateVHKA (Gaudi::Details::PropertyBase &)
 
MsgStream & msg () const
 
MsgStream & msg (const MSG::Level lvl) const
 
bool msgLvl (const MSG::Level lvl) const
 

Static Public Member Functions

static const InterfaceID & interfaceID ()
 

Protected Member Functions

void renounceArray (SG::VarHandleKeyArray &handlesArray)
 remove all handles from I/O resolution More...
 
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce (T &h)
 
void extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps)
 Add StoreName to extra input/output deps as needed. More...
 

Private Types

typedef ServiceHandle< StoreGateSvcStoreGateSvc_t
 

Private Member Functions

 TBCaloCoordinate (const TBCaloCoordinate &)
 
TBCaloCoordinateoperator= (const TBCaloCoordinate &)
 
bool read_data_position ()
 
bool read_MC_position ()
 
void read_user_position ()
 
void read_neutral_position ()
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyArrayType &)
 specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleType &)
 specialization for handling Gaudi::Property<SG::VarHandleBase> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &t, const SG::NotHandleType &)
 specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More...
 

Private Attributes

double m_table_axis_data
 
double m_table_axis_MC
 
double m_table_proj_data
 
double m_table_proj_MC
 
double m_table_eta
 
double m_calo_phi_shift
 
double m_calo_theta_shift
 
double m_calo_psi_shift
 
double m_calo_x_shift
 
double m_calo_y_shift
 
double m_calo_z_shift
 
double m_table_theta
 
double m_table_z
 
double m_table_delta
 
double m_table_calc_theta
 
double m_table_calc_x
 
int m_DBRead
 
int m_PoolRead
 
Amg::RotationMatrix3Dm_table_rotate
 
Amg::Translation3Dm_table_shift
 
Amg::Transform3D m_rotz_extra_calo_to_ctb
 
Amg::Transform3D m_roty_extra_calo_to_ctb
 
Amg::Transform3D m_rotx_extra_calo_to_ctb
 
Amg::Transform3D m_translxyz_extra_calo_to_ctb
 
Amg::Transform3Dm_transform_calo_to_ctb
 
Amg::Transform3Dm_transform_ctb_to_calo
 
long m_runNumber
 
int m_firstevt
 
ITBCaloPosToolm_postool
 
const TBDetDescrManagerm_MCmgr
 
CaloPhiRangem_range
 
StoreGateSvc_t m_evtStore
 Pointer to StoreGate (event store by default) More...
 
StoreGateSvc_t m_detStore
 Pointer to StoreGate (detector store by default) More...
 
std::vector< SG::VarHandleKeyArray * > m_vhka
 
bool m_varHandleArraysDeclared
 

Detailed Description

This class implements the CaloDetDescr/ICaloCoordinateTool and handles the translation between :

Most clients are only interested in the methods TBCaloCoordinate::ctb_to_local and TBCaloCoordinate::local_to_ctb, which convert a given point from one coordinate system into another. The read_table_position() in called internally, is is transparent to the user.

But Atlantis clients need access to the HepTransforms used internally. Some public methods are thus provided. Note that, for these methods, the user has to call read_table_position() before hand.

Definition at line 67 of file TBCaloCoordinate.h.

Member Typedef Documentation

◆ StoreGateSvc_t

typedef ServiceHandle<StoreGateSvc> AthCommonDataStore< AthCommonMsg< AlgTool > >::StoreGateSvc_t
privateinherited

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ TBCaloCoordinate() [1/2]

TBCaloCoordinate::TBCaloCoordinate ( const std::string &  type,
const std::string &  name,
const IInterface *  parent 
)

Definition at line 47 of file TBCaloCoordinate.cxx.

49  :
53  m_table_eta(0.),
57  m_table_theta(0.), m_table_z(0.), m_table_delta(0.),
59  m_DBRead(-1), m_PoolRead(-1), m_runNumber(0), m_firstevt(0)
60 {
61  declareInterface<TBCaloCoordinate>( this );
62 
63  // by default, assume Atlas : m_DBRead=-1, m_PoolRead=-1
64  // other clients need to include the jobOpt fragment and set
65  // what they want via the properties :
66 
67  declareProperty("DBRead",m_DBRead);
68  declareProperty("PoolRead",m_PoolRead);
69 
70  declareProperty("calo_phi_shift",m_calo_phi_shift);
71  declareProperty("calo_theta_shift",m_calo_theta_shift);
72  declareProperty("calo_psi_shift",m_calo_psi_shift);
73  declareProperty("calo_x_shift",m_calo_x_shift);
74  declareProperty("calo_y_shift",m_calo_y_shift);
75  declareProperty("calo_z_shift",m_calo_z_shift);
76 
77  declareProperty("table_eta",m_table_eta);
78 
79  // default values for MC, will be overwritten by Pool numbers
80  m_table_axis_MC = 6062.;
81  m_table_proj_MC = 1276. - 6062.;
82 
83  // number taken from the note ATC-TT-IN-0001, Feb 12, 2005:
84  m_table_axis_data = 6208.;
85 
86  // number extracted from the Tiles table rotation program, S. Solodkov, Nov 2004
87  m_table_proj_data = -3910. ;
88 
89  // this will be calculated
91  m_table_calc_x=0.;
92 
95  //m_table_rotate = new Rotate3D();
96  m_table_rotate = new RotationMatrix3D(); // uninitialized, but always assigned before use
97  m_table_shift = new Translation3D(0.,0.,0.);
98  m_postool=0;
99  m_MCmgr=0;
100  m_range = new CaloPhiRange;
101 }

◆ ~TBCaloCoordinate()

TBCaloCoordinate::~TBCaloCoordinate ( )

Definition at line 130 of file TBCaloCoordinate.cxx.

131 {
134  delete m_table_rotate;
135  delete m_table_shift;
136  delete m_range;
137 }

◆ TBCaloCoordinate() [2/2]

TBCaloCoordinate::TBCaloCoordinate ( const TBCaloCoordinate )
private

Member Function Documentation

◆ beam_local_eta()

double TBCaloCoordinate::beam_local_eta ( )
virtual

the most common use-case : the H8 beam goes along the x axis -> that are the local calorimeters eta and phi seen by the beam ?

Implements ICaloCoordinateTool.

Definition at line 201 of file TBCaloCoordinate.cxx.

202 {
204  return m_table_eta;
205 }

◆ beam_local_phi()

double TBCaloCoordinate::beam_local_phi ( )
virtual

the most common use-case : the H8 beam goes along the x axis -> that are the local calorimeters eta and phi seen by the beam ?

Implements ICaloCoordinateTool.

Definition at line 208 of file TBCaloCoordinate.cxx.

209 {
211  return m_table_delta;
212 }

◆ ctb_to_local() [1/2]

void TBCaloCoordinate::ctb_to_local ( Amg::Vector3D pt_ctb,
Amg::Vector3D pt_local 
)
virtual

General use method: basic translation between the 2 cartesian coordinate systems:

Implements ICaloCoordinateTool.

◆ ctb_to_local() [2/2]

void TBCaloCoordinate::ctb_to_local ( double &  x_ctb,
double &  y_ctb,
double &  z_ctb,
double &  x_local,
double &  y_local,
double &  z_local 
)
virtual

General use method: basic translation between the 2 cartesian coordinate systems:

Implements ICaloCoordinateTool.

Definition at line 163 of file TBCaloCoordinate.cxx.

165 {
166  Vector3D pt_ctb(x_ctb,y_ctb,z_ctb);
167  Vector3D pt_local(0.,0.,0.);
168 
169  ctb_to_local(pt_ctb,pt_local);
170 
171  x_local = pt_local.x();
172  y_local = pt_local.y();
173  z_local = pt_local.z();
174 
175  //log << MSG::DEBUG << "ctb : " << x_ctb << " " << y_ctb << " "
176  // << z_ctb << " " << endmsg;
177  //log << MSG::DEBUG << " ==> local : " << x_local << " " << y_local << " "
178  // << z_local << " " << endmsg;
179 }

◆ declareGaudiProperty() [1/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleKeyArrayType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKeyArray>

Definition at line 170 of file AthCommonDataStore.h.

172  {
173  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
174  hndl.value(),
175  hndl.documentation());
176 
177  }

◆ declareGaudiProperty() [2/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleKeyType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKey>

Definition at line 156 of file AthCommonDataStore.h.

158  {
159  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
160  hndl.value(),
161  hndl.documentation());
162 
163  }

◆ declareGaudiProperty() [3/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleBase>

Definition at line 184 of file AthCommonDataStore.h.

186  {
187  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
188  hndl.value(),
189  hndl.documentation());
190  }

◆ declareGaudiProperty() [4/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T > &  t,
const SG::NotHandleType  
)
inlineprivateinherited

specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray>

Definition at line 199 of file AthCommonDataStore.h.

200  {
201  return PBASE::declareProperty(t);
202  }

◆ declareProperty() [1/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleBase hndl,
const std::string &  doc,
const SG::VarHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation string for the property.

This is the version for types that derive from SG::VarHandleBase. The property value object is put on the input and output lists as appropriate; then we forward to the base class.

Definition at line 245 of file AthCommonDataStore.h.

249  {
250  this->declare(hndl.vhKey());
251  hndl.vhKey().setOwner(this);
252 
253  return PBASE::declareProperty(name,hndl,doc);
254  }

◆ declareProperty() [2/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleKey hndl,
const std::string &  doc,
const SG::VarHandleKeyType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation string for the property.

This is the version for types that derive from SG::VarHandleKey. The property value object is put on the input and output lists as appropriate; then we forward to the base class.

Definition at line 221 of file AthCommonDataStore.h.

225  {
226  this->declare(hndl);
227  hndl.setOwner(this);
228 
229  return PBASE::declareProperty(name,hndl,doc);
230  }

◆ declareProperty() [3/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleKeyArray hndArr,
const std::string &  doc,
const SG::VarHandleKeyArrayType  
)
inlineinherited

Definition at line 259 of file AthCommonDataStore.h.

263  {
264 
265  // std::ostringstream ost;
266  // ost << Algorithm::name() << " VHKA declareProp: " << name
267  // << " size: " << hndArr.keys().size()
268  // << " mode: " << hndArr.mode()
269  // << " vhka size: " << m_vhka.size()
270  // << "\n";
271  // debug() << ost.str() << endmsg;
272 
273  hndArr.setOwner(this);
274  m_vhka.push_back(&hndArr);
275 
276  Gaudi::Details::PropertyBase* p = PBASE::declareProperty(name, hndArr, doc);
277  if (p != 0) {
278  p->declareUpdateHandler(&AthCommonDataStore<PBASE>::updateVHKA, this);
279  } else {
280  ATH_MSG_ERROR("unable to call declareProperty on VarHandleKeyArray "
281  << name);
282  }
283 
284  return p;
285 
286  }

◆ declareProperty() [4/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc,
const SG::NotHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation string for the property.

This is the generic version, for types that do not derive from SG::VarHandleKey. It just forwards to the base class version of declareProperty.

Definition at line 333 of file AthCommonDataStore.h.

337  {
338  return PBASE::declareProperty(name, property, doc);
339  }

◆ declareProperty() [5/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc = "none" 
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation string for the property.

This dispatches to either the generic declareProperty or the one for VarHandle/Key/KeyArray.

Definition at line 352 of file AthCommonDataStore.h.

355  {
356  typedef typename SG::HandleClassifier<T>::type htype;
357  return declareProperty (name, property, doc, htype());
358  }

◆ declareProperty() [6/6]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( Gaudi::Property< T > &  t)
inlineinherited

Definition at line 145 of file AthCommonDataStore.h.

145  {
146  typedef typename SG::HandleClassifier<T>::type htype;
148  }

◆ detStore()

const ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< AlgTool > >::detStore ( ) const
inlineinherited

The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 95 of file AthCommonDataStore.h.

95 { return m_detStore; }

◆ evtStore() [1/2]

ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< AlgTool > >::evtStore ( )
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 85 of file AthCommonDataStore.h.

85 { return m_evtStore; }

◆ evtStore() [2/2]

const ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< AlgTool > >::evtStore ( ) const
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 90 of file AthCommonDataStore.h.

90 { return m_evtStore; }

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::extraDeps_update_handler ( Gaudi::Details::PropertyBase &  ExtraDeps)
protectedinherited

Add StoreName to extra input/output deps as needed.

use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given

◆ finalize()

StatusCode TBCaloCoordinate::finalize ( )

Definition at line 140 of file TBCaloCoordinate.cxx.

141 {
142  StatusCode sc = StatusCode::SUCCESS;
143  return sc;
144 }

◆ initialize()

StatusCode TBCaloCoordinate::initialize ( )

Definition at line 104 of file TBCaloCoordinate.cxx.

105 {
106  float eta = -1.*std::log(tan( (float)
107  ((m_calo_theta_shift+m_range->twopi()/4.)/2.)));
108 
110  ( " Numbers used for Calo geometry : "
111  << "phi=" << m_calo_phi_shift << " theta="
112  << m_calo_theta_shift << " (=> deta=" << eta << ") psi="
113  << m_calo_psi_shift << " x,y,z= "
114  << m_calo_x_shift << " "
115  << m_calo_y_shift << " "
116  << m_calo_z_shift );
117 
118  // For global Calo position build HepTransforms according to
119  // jobOpt parameters :
120 
125 
126  StatusCode sc = StatusCode::SUCCESS;
127  return sc;
128 }

◆ inputHandles()

virtual std::vector<Gaudi::DataHandle*> AthCommonDataStore< AthCommonMsg< AlgTool > >::inputHandles ( ) const
overridevirtualinherited

Return this algorithm's input handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ interfaceID()

const InterfaceID & TBCaloCoordinate::interfaceID ( )
static

Definition at line 44 of file TBCaloCoordinate.cxx.

45 { return IID_TBCaloCoordinate; }

◆ local_to_ctb() [1/2]

void TBCaloCoordinate::local_to_ctb ( Amg::Vector3D pt_local,
Amg::Vector3D pt_ctb 
)
virtual

General use method: basic translation between the 2 cartesian coordinate systems:

Implements ICaloCoordinateTool.

◆ local_to_ctb() [2/2]

void TBCaloCoordinate::local_to_ctb ( double &  x_local,
double &  y_local,
double &  z_local,
double &  x_ctb,
double &  y_ctb,
double &  z_ctb 
)
virtual

General use method: basic translation between the 2 cartesian coordinate systems:

Implements ICaloCoordinateTool.

Definition at line 182 of file TBCaloCoordinate.cxx.

184 {
185  Vector3D pt_local(x_local,y_local,z_local);
186  Vector3D pt_ctb(0.,0.,0.);
187 
188  local_to_ctb(pt_local,pt_ctb);
189 
190  x_ctb = pt_ctb.x();
191  y_ctb = pt_ctb.y();
192  z_ctb = pt_ctb.z();
193 
194  //log << MSG::DEBUG << " local : " << x_local << " " << y_local << " "
195  // << z_local << " " << endmsg;
196  //log << MSG::DEBUG << " ==> ctb : " << x_ctb << " " << y_ctb << " "
197  // << z_ctb << " " << endmsg;
198 }

◆ msg() [1/2]

MsgStream& AthCommonMsg< AlgTool >::msg ( ) const
inlineinherited

Definition at line 24 of file AthCommonMsg.h.

24  {
25  return this->msgStream();
26  }

◆ msg() [2/2]

MsgStream& AthCommonMsg< AlgTool >::msg ( const MSG::Level  lvl) const
inlineinherited

Definition at line 27 of file AthCommonMsg.h.

27  {
28  return this->msgStream(lvl);
29  }

◆ msgLvl()

bool AthCommonMsg< AlgTool >::msgLvl ( const MSG::Level  lvl) const
inlineinherited

Definition at line 30 of file AthCommonMsg.h.

30  {
31  return this->msgLevel(lvl);
32  }

◆ operator=()

TBCaloCoordinate& TBCaloCoordinate::operator= ( const TBCaloCoordinate )
private

◆ outputHandles()

virtual std::vector<Gaudi::DataHandle*> AthCommonDataStore< AthCommonMsg< AlgTool > >::outputHandles ( ) const
overridevirtualinherited

Return this algorithm's output handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ print_transform()

void TBCaloCoordinate::print_transform ( Amg::Transform3D htrans)
virtual

printout method

Implements ICaloCoordinateTool.

Definition at line 262 of file TBCaloCoordinate.cxx.

263 {
264  RotationMatrix3D junkrot = htrans.rotation();
265  double alpha = Eigen::AngleAxisd(junkrot).angle();
266  Eigen::Vector3d junkaxis = Eigen::AngleAxisd(junkrot).axis();
267 
268  ATH_MSG_INFO ("");
269 
270  ATH_MSG_INFO ( " -> Rotation : axis x,y,z = " << junkaxis[Amg::x]
271  << " " << junkaxis[Amg::y] << " " << junkaxis[Amg::z]);
272  ATH_MSG_INFO ( " angle = " << alpha );
273 
274  Amg::Vector3D junktransl = htrans.translation();
275 
276  ATH_MSG_INFO ( " -> Translation : x,y,z = " <<
277  junktransl[Amg::x] << " " << junktransl[Amg::y] << " " << junktransl[Amg::z] );
278 
279  ATH_MSG_INFO ("");
280 
281 }

◆ read_data_position()

bool TBCaloCoordinate::read_data_position ( )
private

Definition at line 284 of file TBCaloCoordinate.cxx.

285 {
286  // -------- Access to DB tool : will try once, if fails will use the default (user)
287 
288  if ( m_DBRead == 0 ) {
289 
290  // Horrible hack : DCS update were missing for the end of the data-taking
291  if ( m_runNumber >= 2102455 ) {
292  m_DBRead = -1;
293  return false;
294  }
295  // Horrible hack : DCS indicated infinite eta value for some runs
296  if ( m_runNumber > 2102164 && m_runNumber <= 2102208 ) {
297  m_DBRead = -1;
298  return false;
299  }
300 
301  IToolSvc* p_toolSvc = 0;
302  StatusCode sc = service("ToolSvc", p_toolSvc);
303  if (sc.isFailure()) {
304  ATH_MSG_ERROR ( "Cannot find ToolSvc ??? " );
305  m_DBRead = -1;
306  return false;
307  }
308  else {
309  sc = p_toolSvc->retrieveTool("TBCaloPosTool", m_postool);
310  if(sc.isFailure()) {
312  ( "Cannot get Calo table position from DB : keep default" );
313  m_DBRead = -1;
314  return false;
315  }
316  else {
317  ATH_MSG_DEBUG ( "Did get Calo table position from DB !" );
318  m_DBRead = 1;
319  }
320  }
321  }
322 
323  if ( m_DBRead > 0 ) {
324  m_table_eta = m_postool->eta();
326  m_table_z = m_postool->z();
328 
329  // Protection : if result is crasy, switch to handcoded default
330  if ( m_table_eta < 0. || m_table_eta > 1.5 ) {
331  ATH_MSG_INFO ( " ==> Calorimeter table position read from DB makes no sense, DB updates will be overwitten " );
332  ATH_MSG_INFO ( " " );
333  m_DBRead = 1;
334  return false;
335  }
336 
337  if (m_firstevt == 1 ) {
338  ATH_MSG_INFO ( " --------------------------------------------------------------------- " );
339  ATH_MSG_INFO ( " " );
340  ATH_MSG_INFO ( " Calorimeter table position is read from DB : for run " << m_runNumber
341  << " eta is = " << m_table_eta );
342  ATH_MSG_INFO ( " " );
343 
344 
345  ATH_MSG_INFO ( " If it does not match the LAr logbook, inform LAr people " );
346  ATH_MSG_INFO ( " " );
347  ATH_MSG_INFO ( " " );
348  ATH_MSG_INFO ( " Other (unused) table numbers are : theta=" << m_table_theta
349  << " z=" << m_table_z << " delta=" << m_table_delta );
350  ATH_MSG_INFO ( " --------------------------------------------------------------------- " );
351 
352  m_firstevt = 2;
353  }
354  }
355 
356  // ------- OK, it worked : now do the work
357 
358  // in Atlas, theta is the angle with the z axis, and it is
359  // given by the formula atan(exp(-m_table_eta))*2.
360  // but here, we want the angle against the y axis :
363 
365  //*m_table_shift = TranslateX3D(m_table_calc_x);
367 
369 
370  //print_transform( *m_transform_calo_to_ctb );
371 
373 
374  ATH_MSG_DEBUG ( "Calculated table position is : " );
375  ATH_MSG_DEBUG ( " angle against y axis = "
376  << m_table_calc_theta );
377  ATH_MSG_DEBUG ( " x shift = " << m_table_calc_x );
378 
379  ATH_MSG_DEBUG ( " Final corresponding Moovement : " );
380  //print_transform( *m_transform_calo_to_ctb );
381 
382  return true;
383 }

◆ read_fake_table_position()

void TBCaloCoordinate::read_fake_table_position ( )
virtual

clients who want to avoid the DB-decoding, and force a fixed eta must call this :

Implements ICaloCoordinateTool.

Definition at line 238 of file TBCaloCoordinate.cxx.

239 {
240  if ( m_firstevt == 0 ) m_firstevt = 1;
241 
242  if ( m_DBRead >= 0 || m_PoolRead >= 0) {
244  }
245  else
247 }

◆ read_MC_position()

bool TBCaloCoordinate::read_MC_position ( )
private

Definition at line 386 of file TBCaloCoordinate.cxx.

387 {
388  if (!m_MCmgr) {
389  ATH_MSG_INFO ( "Retreiving TBDetDescrManager" );
390 
391  // get the manager used for simulation :
392 
393  ATH_CHECK( detStore()->retrieve( m_MCmgr ), false );
394  }
395 
396  ATH_MSG_DEBUG ( " found TBDetDescrManager " );
397 
398  TBElement LArTileMother = m_MCmgr->getElement(TBElementID::CALO);
399  if (LArTileMother.id() == TBElementID::Unknown ) return false;
400 
401  ATH_MSG_DEBUG ( " found CALO envelope " );
402 
403  // ------- OK, now do the work :
404 
405  Vector3D pos = LArTileMother.position();
406  *m_table_shift = Translation3D(pos.x(),pos.y(),pos.z());
407 
408  // FIXME : rotation has the wrong sign !
409  *m_table_rotate = (LArTileMother.rotation()).inverse();
410 
411  *m_transform_calo_to_ctb = (*m_table_shift)*(*m_table_rotate);
412 
413  // Extract m_table_eta
414  // Not completely satisfactory : it's wrong if the calorimeter is rotated
415  // around z and/or x in addition to y (it's not supposed
416  // to be the case in MC but still ...)
417  //float angle = m_transform_calo_to_ctb->getRotation().delta();
418  float angle = Eigen::AngleAxisd(m_transform_calo_to_ctb->rotation()).angle();
419  m_table_eta = -1.*std::log(tan((float) (m_range->twopi()/4. - angle)/2.));
420 
421  if(m_table_eta<0. || m_table_eta > 1.5) {
422  ATH_MSG_INFO ( " m_table_eta is not in [0,1.5] -> will set it to 0. " );
423  m_table_eta = 0.;
424  }
425 
426  //log << MSG::DEBUG << " Enveloppe position is read from Pool, and is : "
427  // << endmsg;
428  //print_transform( *m_transform_calo_to_ctb );
429 
431 
432  return true;
433 }

◆ read_neutral_position()

void TBCaloCoordinate::read_neutral_position ( )
private

Definition at line 507 of file TBCaloCoordinate.cxx.

508 {
509  // do the work once :
510  if (m_firstevt > 1 ) return;
511 
512  m_table_calc_theta= 0.;
513  m_table_calc_x= 0;
514 
516  //*m_table_shift = TranslateX3D(m_table_calc_x);
518  *m_transform_calo_to_ctb = (*m_table_shift)*(*m_table_rotate);
520 
521  m_firstevt = 2;
522 
523  ATH_MSG_DEBUG ( " Neutral Moovement : " );
524  //print_transform( *m_transform_calo_to_ctb );
525 
526 }

◆ read_table_position()

void TBCaloCoordinate::read_table_position ( )
virtual

clients who want the real position must call this

Implements ICaloCoordinateTool.

Definition at line 217 of file TBCaloCoordinate.cxx.

218 {
219  if ( m_firstevt == 0 ) {
220  const EventContext& ctx = Gaudi::Hive::currentContext();
221  m_runNumber = ctx.eventID().run_number();
222  m_firstevt = 1;
223  }
224 
225  if ( m_DBRead >= 0 ) {
226  bool result = read_data_position();
227  if (!result) read_user_position();
228  }
229  else if ( m_PoolRead >= 0 ) {
230  bool result = read_MC_position();
231  if (!result) read_user_position();
232  }
233  else
235 
236 }

◆ read_user_position()

void TBCaloCoordinate::read_user_position ( )
private

Definition at line 436 of file TBCaloCoordinate.cxx.

437 {
438  // This is a fall back solution if numbers are not found anywhere else
439  // Note that the hypothesis is that it is DATA
440 
441  // do the work once :
442  //if (m_firstevt > 1 ) return;
443 
444  // default :
445  m_table_eta = 0.45;
446 
447  // Horrible hack : DCS indicated infinite eta for some periods
448  if ( m_runNumber >= 2102181 && m_runNumber < 2102208 ) m_table_eta = 0.55;
449  if ( m_runNumber == 2102208 ) m_table_eta = 0.42;
450 
451  // Horrible hack : DCS update were missing for the end of the data-taking
452  if ( m_runNumber >= 2102455 && m_runNumber < 2102470 ) m_table_eta = 0.1;
453  if ( m_runNumber >= 2102470 && m_runNumber < 2102478 ) m_table_eta = 0.2;
454  if ( m_runNumber >= 2102478 && m_runNumber < 2102488 ) m_table_eta = 0.3;
455  if ( m_runNumber >= 2102488 && m_runNumber < 2102498 ) m_table_eta = 0.4;
456  if ( m_runNumber >= 2102498 && m_runNumber < 2102512 ) m_table_eta = 0.5;
457  if ( m_runNumber >= 2102512 && m_runNumber < 2102530 ) m_table_eta = 0.7;
458  if ( m_runNumber >= 2102530 && m_runNumber < 2102758 ) m_table_eta = 0.6;
459 
460  if ( m_runNumber >= 2102758 && m_runNumber < 2102903 ) m_table_eta = 0.55;
461  if ( m_runNumber >= 2102903 && m_runNumber < 2102936 ) m_table_eta = 0.5;
462  if ( m_runNumber >= 2102936 && m_runNumber < 2102953 ) m_table_eta = 0.3;
463  if ( m_runNumber >= 2102953 && m_runNumber < 2102980 ) m_table_eta = 0.4;
464  if ( m_runNumber >= 2102980 ) m_table_eta = 0.3;
465 
466  ATH_MSG_DEBUG ( " --------------------------------------------------------------------- " );
467  ATH_MSG_DEBUG ( " " );
468  ATH_MSG_DEBUG ( " Calorimeter table DCS either OFF of not used, position is hardcoded : for run "
469  << m_runNumber << " eta is = " << m_table_eta );
470  ATH_MSG_DEBUG ( " " );
471  ATH_MSG_DEBUG ( " If it does not match the LAr logbook, inform LAr people " );
472  ATH_MSG_DEBUG ( " " );
473  ATH_MSG_DEBUG ( " --------------------------------------------------------------------- " );
474 
476 
477  if(m_DBRead >= 0)
479  else
481 
483  //*m_table_shift = TranslateX3D(m_table_calc_x);
485 
487 
488  //print_transform( *m_transform_calo_to_ctb );
489 
491 
492  ATH_MSG_DEBUG ( " Moovement defined by hardcoded numbers : eta was set to "
493  << m_table_eta);
494 
495  ATH_MSG_DEBUG ( "Calculated table position is : " );
496  ATH_MSG_DEBUG ( " angle against y axis = "
497  << m_table_calc_theta );
498 
499  m_firstevt = 2;
500 
501  //log << MSG::DEBUG << " x shift = " << m_table_calc_x << endmsg;
502  //print_transform( *m_transform_calo_to_ctb );
503 
504 }

◆ renounce()

std::enable_if_t<std::is_void_v<std::result_of_t<decltype(&T::renounce)(T)> > && !std::is_base_of_v<SG::VarHandleKeyArray, T> && std::is_base_of_v<Gaudi::DataHandle, T>, void> AthCommonDataStore< AthCommonMsg< AlgTool > >::renounce ( T &  h)
inlineprotectedinherited

Definition at line 380 of file AthCommonDataStore.h.

381  {
382  h.renounce();
383  PBASE::renounce (h);
384  }

◆ renounceArray()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::renounceArray ( SG::VarHandleKeyArray handlesArray)
inlineprotectedinherited

remove all handles from I/O resolution

Definition at line 364 of file AthCommonDataStore.h.

364  {
365  handlesArray.renounce();
366  }

◆ sysInitialize()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysInitialize ( )
overridevirtualinherited

Perform system initialization for an algorithm.

We override this to declare all the elements of handle key arrays at the end of initialization. See comments on updateVHKA.

Reimplemented in DerivationFramework::CfAthAlgTool, AthCheckedComponent< AthAlgTool >, AthCheckedComponent<::AthAlgTool >, and asg::AsgMetadataTool.

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysStart ( )
overridevirtualinherited

Handle START transition.

We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.

◆ transform_calo_to_ctb()

Transform3D * TBCaloCoordinate::transform_calo_to_ctb ( )
virtual

method accessing the transformations

Implements ICaloCoordinateTool.

Definition at line 250 of file TBCaloCoordinate.cxx.

251 {
253 }

◆ transform_ctb_to_calo()

Transform3D * TBCaloCoordinate::transform_ctb_to_calo ( )
virtual

method accessing the transformations

Implements ICaloCoordinateTool.

Definition at line 256 of file TBCaloCoordinate.cxx.

257 {
259 }

◆ updateVHKA()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::updateVHKA ( Gaudi::Details::PropertyBase &  )
inlineinherited

Definition at line 308 of file AthCommonDataStore.h.

308  {
309  // debug() << "updateVHKA for property " << p.name() << " " << p.toString()
310  // << " size: " << m_vhka.size() << endmsg;
311  for (auto &a : m_vhka) {
312  std::vector<SG::VarHandleKey*> keys = a->keys();
313  for (auto k : keys) {
314  k->setOwner(this);
315  }
316  }
317  }

Member Data Documentation

◆ m_calo_phi_shift

double TBCaloCoordinate::m_calo_phi_shift
private

Definition at line 144 of file TBCaloCoordinate.h.

◆ m_calo_psi_shift

double TBCaloCoordinate::m_calo_psi_shift
private

Definition at line 146 of file TBCaloCoordinate.h.

◆ m_calo_theta_shift

double TBCaloCoordinate::m_calo_theta_shift
private

Definition at line 145 of file TBCaloCoordinate.h.

◆ m_calo_x_shift

double TBCaloCoordinate::m_calo_x_shift
private

Definition at line 147 of file TBCaloCoordinate.h.

◆ m_calo_y_shift

double TBCaloCoordinate::m_calo_y_shift
private

Definition at line 148 of file TBCaloCoordinate.h.

◆ m_calo_z_shift

double TBCaloCoordinate::m_calo_z_shift
private

Definition at line 149 of file TBCaloCoordinate.h.

◆ m_DBRead

int TBCaloCoordinate::m_DBRead
private

Definition at line 160 of file TBCaloCoordinate.h.

◆ m_detStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
privateinherited

Pointer to StoreGate (detector store by default)

Definition at line 393 of file AthCommonDataStore.h.

◆ m_evtStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
privateinherited

Pointer to StoreGate (event store by default)

Definition at line 390 of file AthCommonDataStore.h.

◆ m_firstevt

int TBCaloCoordinate::m_firstevt
private

Definition at line 184 of file TBCaloCoordinate.h.

◆ m_MCmgr

const TBDetDescrManager* TBCaloCoordinate::m_MCmgr
private

Definition at line 187 of file TBCaloCoordinate.h.

◆ m_PoolRead

int TBCaloCoordinate::m_PoolRead
private

Definition at line 161 of file TBCaloCoordinate.h.

◆ m_postool

ITBCaloPosTool* TBCaloCoordinate::m_postool
private

Definition at line 186 of file TBCaloCoordinate.h.

◆ m_range

CaloPhiRange* TBCaloCoordinate::m_range
private

Definition at line 188 of file TBCaloCoordinate.h.

◆ m_rotx_extra_calo_to_ctb

Amg::Transform3D TBCaloCoordinate::m_rotx_extra_calo_to_ctb
private

Definition at line 173 of file TBCaloCoordinate.h.

◆ m_roty_extra_calo_to_ctb

Amg::Transform3D TBCaloCoordinate::m_roty_extra_calo_to_ctb
private

Definition at line 172 of file TBCaloCoordinate.h.

◆ m_rotz_extra_calo_to_ctb

Amg::Transform3D TBCaloCoordinate::m_rotz_extra_calo_to_ctb
private

Definition at line 171 of file TBCaloCoordinate.h.

◆ m_runNumber

long TBCaloCoordinate::m_runNumber
private

Definition at line 181 of file TBCaloCoordinate.h.

◆ m_table_axis_data

double TBCaloCoordinate::m_table_axis_data
private

Definition at line 132 of file TBCaloCoordinate.h.

◆ m_table_axis_MC

double TBCaloCoordinate::m_table_axis_MC
private

Definition at line 133 of file TBCaloCoordinate.h.

◆ m_table_calc_theta

double TBCaloCoordinate::m_table_calc_theta
private

Definition at line 156 of file TBCaloCoordinate.h.

◆ m_table_calc_x

double TBCaloCoordinate::m_table_calc_x
private

Definition at line 157 of file TBCaloCoordinate.h.

◆ m_table_delta

double TBCaloCoordinate::m_table_delta
private

Definition at line 154 of file TBCaloCoordinate.h.

◆ m_table_eta

double TBCaloCoordinate::m_table_eta
private

Definition at line 140 of file TBCaloCoordinate.h.

◆ m_table_proj_data

double TBCaloCoordinate::m_table_proj_data
private

Definition at line 135 of file TBCaloCoordinate.h.

◆ m_table_proj_MC

double TBCaloCoordinate::m_table_proj_MC
private

Definition at line 136 of file TBCaloCoordinate.h.

◆ m_table_rotate

Amg::RotationMatrix3D* TBCaloCoordinate::m_table_rotate
private

Definition at line 165 of file TBCaloCoordinate.h.

◆ m_table_shift

Amg::Translation3D* TBCaloCoordinate::m_table_shift
private

Definition at line 167 of file TBCaloCoordinate.h.

◆ m_table_theta

double TBCaloCoordinate::m_table_theta
private

Definition at line 152 of file TBCaloCoordinate.h.

◆ m_table_z

double TBCaloCoordinate::m_table_z
private

Definition at line 153 of file TBCaloCoordinate.h.

◆ m_transform_calo_to_ctb

Amg::Transform3D* TBCaloCoordinate::m_transform_calo_to_ctb
private

Definition at line 177 of file TBCaloCoordinate.h.

◆ m_transform_ctb_to_calo

Amg::Transform3D* TBCaloCoordinate::m_transform_ctb_to_calo
private

Definition at line 178 of file TBCaloCoordinate.h.

◆ m_translxyz_extra_calo_to_ctb

Amg::Transform3D TBCaloCoordinate::m_translxyz_extra_calo_to_ctb
private

Definition at line 174 of file TBCaloCoordinate.h.

◆ m_varHandleArraysDeclared

bool AthCommonDataStore< AthCommonMsg< AlgTool > >::m_varHandleArraysDeclared
privateinherited

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

std::vector<SG::VarHandleKeyArray*> AthCommonDataStore< AthCommonMsg< AlgTool > >::m_vhka
privateinherited

Definition at line 398 of file AthCommonDataStore.h.


The documentation for this class was generated from the following files:
python.PyKernel.retrieve
def retrieve(aClass, aKey=None)
Definition: PyKernel.py:110
TBCaloCoordinate::m_table_theta
double m_table_theta
Definition: TBCaloCoordinate.h:152
TBCaloCoordinate::m_table_axis_data
double m_table_axis_data
Definition: TBCaloCoordinate.h:132
TBCaloCoordinate::m_table_axis_MC
double m_table_axis_MC
Definition: TBCaloCoordinate.h:133
TBCaloCoordinate::local_to_ctb
void local_to_ctb(Amg::Vector3D &pt_local, Amg::Vector3D &pt_ctb)
General use method: basic translation between the 2 cartesian coordinate systems:
TBCaloCoordinate::m_table_delta
double m_table_delta
Definition: TBCaloCoordinate.h:154
CaloPhiRange
This class defines the phi convention for Calorimeters.
Definition: CaloPhiRange.h:28
TBCaloCoordinate::m_table_calc_theta
double m_table_calc_theta
Definition: TBCaloCoordinate.h:156
get_generator_info.result
result
Definition: get_generator_info.py:21
TBCaloCoordinate::m_calo_y_shift
double m_calo_y_shift
Definition: TBCaloCoordinate.h:148
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
ITBCaloPosTool::eta
virtual double eta()=0
access eta value
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
TBCaloCoordinate::m_rotz_extra_calo_to_ctb
Amg::Transform3D m_rotz_extra_calo_to_ctb
Definition: TBCaloCoordinate.h:171
TBCaloCoordinate::m_table_z
double m_table_z
Definition: TBCaloCoordinate.h:153
TBCaloCoordinate::m_transform_ctb_to_calo
Amg::Transform3D * m_transform_ctb_to_calo
Definition: TBCaloCoordinate.h:178
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:79
AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
Amg::y
@ y
Definition: GeoPrimitives.h:35
TBCaloCoordinate::m_calo_x_shift
double m_calo_x_shift
Definition: TBCaloCoordinate.h:147
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
Definition: AthCommonDataStore.h:390
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_vhka
std::vector< SG::VarHandleKeyArray * > m_vhka
Definition: AthCommonDataStore.h:398
TBCaloCoordinate::read_table_position
virtual void read_table_position()
clients who want the real position must call this
Definition: TBCaloCoordinate.cxx:217
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
drawFromPickle.exp
exp
Definition: drawFromPickle.py:36
TBDetDescrManager::getElement
const TBElement & getElement(TBElementID::TBElementID id) const
Definition: TBDetDescrManager.cxx:121
TBCaloCoordinate::m_transform_calo_to_ctb
Amg::Transform3D * m_transform_calo_to_ctb
Definition: TBCaloCoordinate.h:177
drawFromPickle.atan
atan
Definition: drawFromPickle.py:36
TBCaloCoordinate::m_calo_theta_shift
double m_calo_theta_shift
Definition: TBCaloCoordinate.h:145
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
AthCommonDataStore< AthCommonMsg< AlgTool > >::detStore
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
Definition: AthCommonDataStore.h:95
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
TBCaloCoordinate::m_table_rotate
Amg::RotationMatrix3D * m_table_rotate
Definition: TBCaloCoordinate.h:165
TBCaloCoordinate::m_translxyz_extra_calo_to_ctb
Amg::Transform3D m_translxyz_extra_calo_to_ctb
Definition: TBCaloCoordinate.h:174
TBCaloCoordinate::m_postool
ITBCaloPosTool * m_postool
Definition: TBCaloCoordinate.h:186
TBCaloCoordinate::m_calo_psi_shift
double m_calo_psi_shift
Definition: TBCaloCoordinate.h:146
TBCaloCoordinate::m_calo_phi_shift
double m_calo_phi_shift
Definition: TBCaloCoordinate.h:144
Amg::z
@ z
Definition: GeoPrimitives.h:36
TBCaloCoordinate::m_table_eta
double m_table_eta
Definition: TBCaloCoordinate.h:140
AthCommonDataStore
Definition: AthCommonDataStore.h:52
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
ITBCaloPosTool::delta
virtual double delta()=0
access delta value
TBCaloCoordinate::m_roty_extra_calo_to_ctb
Amg::Transform3D m_roty_extra_calo_to_ctb
Definition: TBCaloCoordinate.h:172
TBCaloCoordinate::m_runNumber
long m_runNumber
Definition: TBCaloCoordinate.h:181
TBElementID::Unknown
@ Unknown
Definition: TBElementID.h:12
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
angle
double angle(const GeoTrf::Vector2D &a, const GeoTrf::Vector2D &b)
Definition: TRTDetectorFactory_Full.cxx:73
Amg::x
@ x
Definition: GeoPrimitives.h:34
TBCaloCoordinate::m_table_calc_x
double m_table_calc_x
Definition: TBCaloCoordinate.h:157
Amg::Transform3D
Eigen::Affine3d Transform3D
Definition: GeoPrimitives.h:46
TBCaloCoordinate::m_firstevt
int m_firstevt
Definition: TBCaloCoordinate.h:184
test_pyathena.parent
parent
Definition: test_pyathena.py:15
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
drawFromPickle.tan
tan
Definition: drawFromPickle.py:36
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Definition: AthCommonDataStore.h:393
CaloPhiRange::twopi
static double twopi()
Definition: CaloPhiRange.h:46
TBCaloCoordinate::read_user_position
void read_user_position()
Definition: TBCaloCoordinate.cxx:436
TBElement::position
Amg::Vector3D position() const
Definition: TBElement.h:35
TBElement::rotation
Amg::RotationMatrix3D rotation() const
Definition: TBElement.h:36
ITBCaloPosTool::theta
virtual double theta()=0
access eta value
AthAlgTool::AthAlgTool
AthAlgTool()
Default constructor:
TBCaloCoordinate::m_table_proj_data
double m_table_proj_data
Definition: TBCaloCoordinate.h:135
SG::VarHandleKeyArray::renounce
virtual void renounce()=0
TBCaloCoordinate::m_DBRead
int m_DBRead
Definition: TBCaloCoordinate.h:160
SG::HandleClassifier::type
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
Definition: HandleClassifier.h:54
ITBCaloPosTool::z
virtual double z()=0
access eta value
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
python.LumiBlobConversion.pos
pos
Definition: LumiBlobConversion.py:18
TBElementID::CALO
@ CALO
Definition: TBElementID.h:27
a
TList * a
Definition: liststreamerinfos.cxx:10
h
TBCaloCoordinate::m_calo_z_shift
double m_calo_z_shift
Definition: TBCaloCoordinate.h:149
TBCaloCoordinate::ctb_to_local
void ctb_to_local(Amg::Vector3D &pt_ctb, Amg::Vector3D &pt_local)
General use method: basic translation between the 2 cartesian coordinate systems:
TBCaloCoordinate::read_neutral_position
void read_neutral_position()
Definition: TBCaloCoordinate.cxx:507
Amg::RotationMatrix3D
Eigen::Matrix< double, 3, 3 > RotationMatrix3D
Definition: GeoPrimitives.h:49
TBCaloCoordinate::m_rotx_extra_calo_to_ctb
Amg::Transform3D m_rotx_extra_calo_to_ctb
Definition: TBCaloCoordinate.h:173
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
Amg::Translation3D
Eigen::Translation< double, 3 > Translation3D
Definition: GeoPrimitives.h:44
python.CaloCondTools.log
log
Definition: CaloCondTools.py:20
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:616
TBCaloCoordinate::m_PoolRead
int m_PoolRead
Definition: TBCaloCoordinate.h:161
TBElement
Definition: TBElement.h:20
declareProperty
#define declareProperty(n, p, h)
Definition: BaseFakeBkgTool.cxx:15
TBCaloCoordinate::read_MC_position
bool read_MC_position()
Definition: TBCaloCoordinate.cxx:386
Amg::AngleAxis3D
Eigen::AngleAxisd AngleAxis3D
Definition: GeoPrimitives.h:45
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:790
TBCaloCoordinate::read_data_position
bool read_data_position()
Definition: TBCaloCoordinate.cxx:284
TBCaloCoordinate::m_table_shift
Amg::Translation3D * m_table_shift
Definition: TBCaloCoordinate.h:167
TBCaloCoordinate::m_table_proj_MC
double m_table_proj_MC
Definition: TBCaloCoordinate.h:136
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
TBCaloCoordinate::m_range
CaloPhiRange * m_range
Definition: TBCaloCoordinate.h:188
TBElement::id
TBElementID::TBElementID id() const
Definition: TBElement.h:33
fitman.k
k
Definition: fitman.py:528
TBCaloCoordinate::m_MCmgr
const TBDetDescrManager * m_MCmgr
Definition: TBCaloCoordinate.h:187