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

Implementation for the tool creating ElectronContainer from an AOD. More...

#include <ElectronCnvTool.h>

Inheritance diagram for xAODMaker::ElectronCnvTool:
Collaboration diagram for xAODMaker::ElectronCnvTool:

Public Member Functions

 ElectronCnvTool (const std::string &type, const std::string &name, const IInterface *parent)
 Regular AlgTool constructor. More...
 
virtual StatusCode convert (const egammaContainer *aod, xAOD::ElectronContainer *xaod) const override
 Function that fills an existing xAOD::ElectronContainer (xaod or xaodForward can be NULL) More...
 
virtual StatusCode convert (const egammaContainer *aod, xAOD::ElectronContainer *xaod, xAOD::ElectronContainer *xaodFrwd) const override
 Function that fills an existing xAOD::ElectronContainer (xaod or xaodForward can be NULL) 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 ()
 Gaudi interface definition. More...
 

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

void setParameters (const egamma &, xAOD::Electron &) const
 Fills in the shower shape variables. More...
 
void checkAndSetParameter (egammaParameters::ParamDef aodParameter, xAOD::EgammaParameters::ShowerShapeType xaodParameter, const egamma &, xAOD::Electron &) const
 
void setIsolations (const egamma &aodmuon, xAOD::Electron &xaodmuon) const
 Fills in the isolation variables. More...
 
void checkAndSetIsolation (egammaParameters::ParamDef aodParameter, xAOD::Iso::IsolationType xaodParameter, const egamma &, xAOD::Electron &) const
 
void setTrackMatch (const egamma &aodmuon, xAOD::Electron &xaodmuon) const
 Fills in the track match variables
More...
 
void checkAndSetTrackMatch (egammaParameters::ParamDef aodParameter, xAOD::EgammaParameters::TrackCaloMatchType xaodParameter, const egamma &, xAOD::Electron &) const
 
void setLinks (const egamma &, xAOD::Electron &) const
 Set the element links between the various particles. More...
 
ElementLink< xAOD::TrackParticleContainergetNewLink (const ElementLink< Rec::TrackParticleContainer > &oldLink, const std::string &name) const
 
void setDerivedParameters (xAOD::Electron &) const
 Fills in some extra derived shower shape variables. More...
 
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

std::string m_inDetTrackParticlesGSF
 Other Keys. More...
 
std::string m_inDetTrackParticles
 Location/Key for xAOD::TrackParticles from ID. More...
 
std::string m_caloClusters
 Location/Key for xAOD::CaloClusters for electrons and photons
More...
 
std::string m_caloClustersSofte
 Location/Key for xAOD::CaloClusters for softe electrons. More...
 
std::string m_caloClustersFrwd
 Location/Key for xAOD::CaloClusters for forward electrons. More...
 
std::string m_caloClustersOther
 Location/Key for xAOD::CaloClusters for other (trigger?) electrons. More...
 
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

Implementation for the tool creating ElectronContainer from an AOD.

   This interface is implemented by the tool that converts the
   egamma (Electron) Container into an xAOD::ElectronContainer.
Author
Jovan Mitrevski Jovan.nosp@m..Mit.nosp@m.revsk.nosp@m.i@ce.nosp@m.rn.ch

Definition at line 34 of file ElectronCnvTool.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

◆ ElectronCnvTool()

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

Regular AlgTool constructor.

Definition at line 24 of file ElectronCnvTool.cxx.

27  : AthAlgTool( type, name, parent )
28  {
29  // Declare the interface(s) provided by the tool:
30  declareInterface< IElectronCnvTool >(this);
31 
32  declareProperty( "xAODElectronTrackContainerName", m_inDetTrackParticlesGSF = "GSFTrackParticles" );
33  declareProperty( "xAODElectronOrigTrackContainerName", m_inDetTrackParticles = "InDetTrackParticles" );
34  declareProperty( "xAODCaloClusterContainerName", m_caloClusters = "egClusterCollection");
35  declareProperty( "xAODCaloClusterSofteContainerName", m_caloClustersSofte = "LArClusterEMSofte");
36  declareProperty( "xAODCaloClusterFrwdContainerName", m_caloClustersFrwd = "LArClusterEMFrwd");
37  declareProperty( "xAODCaloClusterOtherContainerName", m_caloClustersOther = "egClusterCollection",
38  "Most likely used for trigger objects");
39 
40  }

Member Function Documentation

◆ checkAndSetIsolation()

void xAODMaker::ElectronCnvTool::checkAndSetIsolation ( egammaParameters::ParamDef  aodParameter,
xAOD::Iso::IsolationType  xaodParameter,
const egamma aodel,
xAOD::Electron xaodel 
) const
private

Definition at line 209 of file ElectronCnvTool.cxx.

211  {
212  double result = aodel.detailValue(aodParameter);
213  float isolation = static_cast<float>(result);
214  xaodel.setIsolationValue(isolation, xaodParameter);
215  }

◆ checkAndSetParameter()

void xAODMaker::ElectronCnvTool::checkAndSetParameter ( egammaParameters::ParamDef  aodParameter,
xAOD::EgammaParameters::ShowerShapeType  xaodParameter,
const egamma aodel,
xAOD::Electron xaodel 
) const
private

Definition at line 190 of file ElectronCnvTool.cxx.

192  {
193  double result = aodel.detailValue(aodParameter);
194  float parameter = static_cast<float>(result);
195  xaodel.setShowerShapeValue(parameter, xaodParameter);
196  }

◆ checkAndSetTrackMatch()

void xAODMaker::ElectronCnvTool::checkAndSetTrackMatch ( egammaParameters::ParamDef  aodParameter,
xAOD::EgammaParameters::TrackCaloMatchType  xaodParameter,
const egamma aodel,
xAOD::Electron xaodel 
) const
private

Definition at line 232 of file ElectronCnvTool.cxx.

234  {
235  double result = aodel.detailValue(aodParameter);
236  float isolation = static_cast<float>(result);
237  xaodel.setTrackCaloMatchValue(isolation, xaodParameter);
238  }

◆ convert() [1/2]

StatusCode xAODMaker::ElectronCnvTool::convert ( const egammaContainer aod,
xAOD::ElectronContainer xaod 
) const
overridevirtual

Function that fills an existing xAOD::ElectronContainer (xaod or xaodForward can be NULL)

Implements xAODMaker::IElectronCnvTool.

Definition at line 42 of file ElectronCnvTool.cxx.

44  {
45  if (!aod) {
46  ATH_MSG_WARNING("No input Electron Collection passed");
47  return StatusCode::SUCCESS;
48  }
49  //Create the container for forward electrons
50  xAOD::ElectronContainer xaodFrwd;
51 
52  return convert(aod,xaod,&xaodFrwd);
53  }

◆ convert() [2/2]

StatusCode xAODMaker::ElectronCnvTool::convert ( const egammaContainer aod,
xAOD::ElectronContainer xaod,
xAOD::ElectronContainer xaodFrwd 
) const
overridevirtual

Function that fills an existing xAOD::ElectronContainer (xaod or xaodForward can be NULL)

Implements xAODMaker::IElectronCnvTool.

Definition at line 55 of file ElectronCnvTool.cxx.

58  {
59  if (!aod) {
60  ATH_MSG_WARNING("No input Electron Collection passed");
61  return StatusCode::SUCCESS;
62  }
63 
64  // Create the xAOD objects:
65  for(const egamma* eg : *aod) {
66 
67  // ATH_MSG_DEBUG("Electron author = " << eg->author()
68  // << ", container = " << eg->clusterElementLink().proxy()->name());
69 
70  //special treatment for forward electrons
71  if(eg->author(egammaParameters::AuthorFrwd)) {
72  if (xaodFrwd) {
74  xaodFrwd->push_back( electron );
75  // p4
76  electron->setP4(eg->pt(),eg->eta(),eg->phi(), eg->m());
77  // author(s)
78  electron->setAuthor( eg->author() );
79  //OQ
80  electron->setOQ( eg->isgoodoq() );
81  //set Links
82  setLinks(*eg,*electron);
83  } else {
84  ATH_MSG_WARNING("Found a foward electron, but xaodFrwd == NULL");
85  }
86  }//end if forward electron
87  else{
88  if (xaod) {
90  // Create the xAOD object:
91  xaod->push_back( electron );
92  // p4
93  if (eg->trackParticle()) {
94  double clE = eg->cluster()->e();
95  double pt = sqrt(clE*clE - 0.511*0.511)/cosh(eg->trackParticle()->eta());
96  double eta = eg->trackParticle()->eta();
97  double phi = eg->trackParticle()->phi();
98  electron->setP4(pt, eta, phi, 0.511);
99  }
100  else
101  electron->setP4(eg->pt(),eg->eta(),eg->phi(), eg->m());
102 
103  // author(s)
104  electron->setAuthor( eg->author() );
105  //OQ
106  electron->setOQ( eg->isgoodoq() );
107  // charge
108  electron->setCharge( eg->charge() );
109 
110  // Error Matrix
111  if(eg->errors()){
112 
113  const ErrorMatrixEEtaPhiM* oldMatrix = eg->errors()->eEtaPhiMMatrix();
114  if(oldMatrix){
115  Eigen::Matrix<double,4,4> matrix;
116  for(int i(0);i<4;++i){
117  for(int j(0);j<4;++j){
118  matrix(i,j) = (*oldMatrix)(i,j);
119  }
120  }
121  Eigen::Matrix<double,4,4> jacobian (EigenP4JacobianEEtaPhiM2PtEtaPhiM(eg->e(),eg->eta(), eg->m()));
122  Eigen::Matrix<double,4,4> covMatrix= jacobian*matrix*jacobian.transpose();
123  electron->setCovMatrix(covMatrix.cast<float>());
124  }
125  }
126 
127  //setParameters
129  //setIsolations
131  //setTrackMatch
133  // set Links
134  setLinks(*eg,*electron);
135  // set derived parameters - should be done last
137 
138  } else {
139  ATH_MSG_WARNING("Found a regular electron, but xaod == NULL");
140  }
141 
142  }//end If not forward
143  }
144  // Return gracefully:
145  return StatusCode::SUCCESS;
146  }

◆ 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

◆ getNewLink()

ElementLink< xAOD::TrackParticleContainer > xAODMaker::ElectronCnvTool::getNewLink ( const ElementLink< Rec::TrackParticleContainer > &  oldLink,
const std::string &  name 
) const
private

Definition at line 298 of file ElectronCnvTool.cxx.

299  {
301  std::string linkname = name;
302  // If not set, use same name as in original link.
303  if (linkname.empty())
304  linkname = oldLink.dataID();
305  newLink.resetWithKeyAndIndex( linkname, oldLink.index() );
306  return newLink;
307  }

◆ 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()

static const InterfaceID& xAODMaker::IElectronCnvTool::interfaceID ( )
inlinestaticinherited

Gaudi interface definition.

Definition at line 49 of file IElectronCnvTool.h.

49  {
50  return IID_IElectronCnvTool;
51  }

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

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

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

◆ setDerivedParameters()

void xAODMaker::ElectronCnvTool::setDerivedParameters ( xAOD::Electron xaodel) const
private

Fills in some extra derived shower shape variables.

e237/e277

e233/e237

(emaxs1-e2tsts1)/(emaxs1+e2tsts1)

e2tsts1-emins1

ethad/et

ethad1/et

Definition at line 309 of file ElectronCnvTool.cxx.

309  {
310 
311  // Set some extra derived variables:
313  float e237 = 0;
314  float e277 = 0;
317  float reta = (e277 != 0) ? e237/e277 : 0;
319  }
321  float e233 = 0;
323  float rphi = (e237 != 0) ? e233/e237 : 0;
325  }
327  // Eratio
328  float emaxs1 = 0;
329  float e2tsts1 = 0;
332  float dEmaxs1 = 0;
333  float esums1 = emaxs1 + e2tsts1;
334  if (fabs(esums1) > 0.0) dEmaxs1 = (emaxs1 - e2tsts1)/esums1;
336  }
337 
339  float emins1 = 0;
341  float deltaE = e2tsts1 - emins1;
343  }
344 
346  const xAOD::CaloCluster* el_cl = xaodel.caloCluster();
347  if(el_cl != nullptr) {
348  float elEta = fabs(el_cl->etaBE(2));
349  float elEt = el_cl->e()/cosh(elEta);
350  float ethad = 0;
352  float raphad = fabs(elEt) != 0. ? ethad/elEt : 0.;
354  }
355 
357  float ethad1 = 0;
359  float raphad1 = fabs(elEt) != 0. ? ethad1/elEt : 0.;
361  }
362  } else {
363  ATH_MSG_WARNING("No xAOD::CaloCluster was found during the conversion egammaContainer -> xAOD::ElectronContainer");
364  }
365  }

◆ setIsolations()

void xAODMaker::ElectronCnvTool::setIsolations ( const egamma aodmuon,
xAOD::Electron xaodmuon 
) const
private

◆ setLinks()

void xAODMaker::ElectronCnvTool::setLinks ( const egamma aodel,
xAOD::Electron xaodel 
) const
private

Set the element links between the various particles.

Definition at line 242 of file ElectronCnvTool.cxx.

243  {
244  std::string clusterContainerName;
245 
246  // Need to reset links from old CaloCluster to xAOD::CaloCluster
247  ElementLink<xAOD::CaloClusterContainer> newclusterElementLink;
249  clusterContainerName = m_caloClusters;
250 
251  std::vector< ElementLink< xAOD::TrackParticleContainer > > linksToTracks;
252  for(unsigned int i(0); i<aodel.nTrackParticles(); ++i){
253  linksToTracks.push_back( getNewLink(aodel.trackParticleElementLink(i), m_inDetTrackParticlesGSF) );
254  }
255  xaodel.setTrackParticleLinks( linksToTracks );
256 
257  }
258  else if ( aodel.author(egammaParameters::AuthorSofte) ) {
259  clusterContainerName = m_caloClustersSofte;
260 
261  //softe do not use GSF Tracks
262  std::vector< ElementLink< xAOD::TrackParticleContainer > > linksToTracks;
263  for(unsigned int i(0); i<aodel.nTrackParticles(); ++i){
264  linksToTracks.push_back( getNewLink(aodel.trackParticleElementLink(i), m_inDetTrackParticles) );
265  }
266  xaodel.setTrackParticleLinks( linksToTracks );
267 
268  }
269  else if ( aodel.author(egammaParameters::AuthorFrwd) ) {
270  clusterContainerName = m_caloClustersFrwd;
271  }
272  else { // assume a trigger object
273  clusterContainerName = m_caloClustersOther;
274 
275  // trigger does not use GSF
276  std::vector< ElementLink< xAOD::TrackParticleContainer > > linksToTracks;
277  for(unsigned int i(0); i<aodel.nTrackParticles(); ++i){
278  linksToTracks.push_back( getNewLink(aodel.trackParticleElementLink(i), m_inDetTrackParticles) );
279  }
280  xaodel.setTrackParticleLinks( linksToTracks );
281  }
282 
283  // If EL name not set, use the original name.
284  if (clusterContainerName.empty())
285  clusterContainerName = aodel.clusterElementLink().dataID();
286 
287  newclusterElementLink.resetWithKeyAndIndex( clusterContainerName,
288  aodel.clusterElementLink().index() );
289 
290  std::vector< ElementLink< xAOD::CaloClusterContainer > > linksToClusters;
291  linksToClusters.push_back(newclusterElementLink);
292  xaodel.setCaloClusterLinks(linksToClusters);
293 
294  if (!newclusterElementLink.isValid()) ATH_MSG_WARNING("Invalid link to cluster");
295 
296  }

◆ setParameters()

void xAODMaker::ElectronCnvTool::setParameters ( const egamma aodel,
xAOD::Electron xaodel 
) const
private

Fills in the shower shape variables.

Definition at line 148 of file ElectronCnvTool.cxx.

148  {
149  // We're not doing all AOD parameters here because some are dropped, and some are moved elsewhere.
188  }

◆ setTrackMatch()

void xAODMaker::ElectronCnvTool::setTrackMatch ( const egamma aodmuon,
xAOD::Electron xaodmuon 
) const
private

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

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

std::string xAODMaker::ElectronCnvTool::m_caloClusters
private

Location/Key for xAOD::CaloClusters for electrons and photons

Definition at line 74 of file ElectronCnvTool.h.

◆ m_caloClustersFrwd

std::string xAODMaker::ElectronCnvTool::m_caloClustersFrwd
private

Location/Key for xAOD::CaloClusters for forward electrons.

Definition at line 76 of file ElectronCnvTool.h.

◆ m_caloClustersOther

std::string xAODMaker::ElectronCnvTool::m_caloClustersOther
private

Location/Key for xAOD::CaloClusters for other (trigger?) electrons.

Definition at line 77 of file ElectronCnvTool.h.

◆ m_caloClustersSofte

std::string xAODMaker::ElectronCnvTool::m_caloClustersSofte
private

Location/Key for xAOD::CaloClusters for softe electrons.

Definition at line 75 of file ElectronCnvTool.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_inDetTrackParticles

std::string xAODMaker::ElectronCnvTool::m_inDetTrackParticles
private

Location/Key for xAOD::TrackParticles from ID.

Definition at line 73 of file ElectronCnvTool.h.

◆ m_inDetTrackParticlesGSF

std::string xAODMaker::ElectronCnvTool::m_inDetTrackParticlesGSF
private

Other Keys.

Location/Key for xAOD::TrackParticles from ID

Definition at line 72 of file ElectronCnvTool.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:
xAOD::EgammaParameters::ehad1
@ ehad1
E leakage into 1st sampling of had calo (CaloSampling::HEC0 + CaloSampling::TileBar0 + CaloSampling::...
Definition: EgammaEnums.h:48
xAOD::EgammaParameters::e233
@ e233
uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 3x3 (in cell units e...
Definition: EgammaEnums.h:68
test_pyathena.eta
eta
Definition: test_pyathena.py:10
egammaParameters::deltaPhiRescaled
@ deltaPhiRescaled
difference between the cluster phi (sampling 2) and the phi of the track extrapolated from the perige...
Definition: egammaParamDefs.h:595
egammaParameters::emaxs1
@ emaxs1
energy of strip with maximal energy deposit
Definition: egammaParamDefs.h:189
xAODMaker::ElectronCnvTool::setDerivedParameters
void setDerivedParameters(xAOD::Electron &) const
Fills in some extra derived shower shape variables.
Definition: ElectronCnvTool.cxx:309
xAOD::EgammaParameters::deltaPhi0
@ deltaPhi0
difference between the cluster phi (presampler) and the eta of the track extrapolated to the presampl...
Definition: EgammaEnums.h:193
xAOD::Iso::topoetcone20
@ topoetcone20
Topo-cluster ET-sum.
Definition: IsolationType.h:48
xAOD::Electron
Electron_v1 Electron
Definition of the current "egamma version".
Definition: Event/xAOD/xAODEgamma/xAODEgamma/Electron.h:17
egammaParameters::e337
@ e337
uncalibrated energy (sum of cells) of the third sampling in a rectangle of size 3x7
Definition: egammaParamDefs.h:147
xAOD::EgammaParameters::e033
@ e033
uncalibrated energy (sum of cells) in presampler in a 3x3 window in cells in eta X phi
Definition: EgammaEnums.h:33
get_generator_info.result
result
Definition: get_generator_info.py:21
ErrorMatrixEEtaPhiM
Definition: ErrorMatrixEEtaPhiM.h:12
egamma::trackParticleElementLink
ElementLink< Rec::TrackParticleContainer > trackParticleElementLink(unsigned int index=0) const
element link to trackParticle
Definition: egamma.cxx:433
xAOD::EgammaParameters::deltaPhi3
@ deltaPhi3
difference between the cluster eta (3rd sampling) and the eta of the track extrapolated to the 3rd sa...
Definition: EgammaEnums.h:207
egammaParameters::e333
@ e333
uncalibrated energy (sum of cells) of the third sampling in a rectangle of size 3x3
Definition: egammaParamDefs.h:143
ParticleTest.eg
eg
Definition: ParticleTest.py:29
xAOD::EgammaParameters::Reta
@ Reta
e237/e277
Definition: EgammaEnums.h:154
xAOD::EgammaParameters::e2ts1
@ e2ts1
2nd max in strips calc by summing 3 strips
Definition: EgammaEnums.h:105
xAODMaker::ElectronCnvTool::m_caloClusters
std::string m_caloClusters
Location/Key for xAOD::CaloClusters for electrons and photons
Definition: ElectronCnvTool.h:74
xAOD::EgammaParameters::asy1
@ asy1
uncorr asymmetry in 3 strips in the 1st sampling
Definition: EgammaEnums.h:123
AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
xAOD::EgammaParameters::e235
@ e235
uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 3x5
Definition: EgammaEnums.h:71
egammaParameters::topoetcone40
@ topoetcone40
Topo cluster ET in a cone with half-opening angle 0.30.
Definition: egammaParamDefs.h:731
egammaParameters::AuthorSofte
const unsigned int AuthorSofte
Electron reconstructed by the track-based algorithm.
Definition: egammaParamDefs.h:64
xAOD::EgammaParameters::ecore
@ ecore
core energy in em calo E(core) = E0(3x3) + E1(15x2) + E2(5x5) + E3(3x5)
Definition: EgammaEnums.h:152
xAODMaker::ElectronCnvTool::m_caloClustersSofte
std::string m_caloClustersSofte
Location/Key for xAOD::CaloClusters for softe electrons.
Definition: ElectronCnvTool.h:75
xAODMaker::ElectronCnvTool::m_caloClustersOther
std::string m_caloClustersOther
Location/Key for xAOD::CaloClusters for other (trigger?) electrons.
Definition: ElectronCnvTool.h:77
xAOD::EgammaParameters::deltaEta0
@ deltaEta0
difference between the cluster eta (presampler) and the eta of the track extrapolated to the presampl...
Definition: EgammaEnums.h:176
xAOD::Iso::ptcone30
@ ptcone30
Definition: IsolationType.h:41
test_pyathena.pt
pt
Definition: test_pyathena.py:11
xAOD::EgammaParameters::deltaEta2
@ deltaEta2
difference between the cluster eta (second sampling) and the eta of the track extrapolated to the sec...
Definition: EgammaEnums.h:187
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
xAOD::Iso::etcone40
@ etcone40
Definition: IsolationType.h:34
xAOD::EgammaParameters::ethad1
@ ethad1
transverse energy in the first sampling of the hadronic calorimeters behind the cluster calculated fr...
Definition: EgammaEnums.h:42
egammaParameters::e233
@ e233
uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 3x3 (in cell units e...
Definition: egammaParamDefs.h:133
xAOD::Iso::topoetcone30
@ topoetcone30
Definition: IsolationType.h:49
egammaParameters::e033
@ e033
uncalibrated energy (sum of cells) in presampler in a 3x3 window in cells in eta X phi
Definition: egammaParamDefs.h:112
xAODMaker::ElectronCnvTool::m_caloClustersFrwd
std::string m_caloClustersFrwd
Location/Key for xAOD::CaloClusters for forward electrons.
Definition: ElectronCnvTool.h:76
egammaParameters::emins1
@ emins1
energy reconstructed in the strip with the minimal value between the first and second maximum
Definition: egammaParamDefs.h:187
xAOD::Iso::etcone30
@ etcone30
Definition: IsolationType.h:33
xAOD::EgammaParameters::Rphi
@ Rphi
e233/e237
Definition: EgammaEnums.h:156
xAOD::Electron_v1::setTrackParticleLinks
void setTrackParticleLinks(const TPELVec_t &links)
Set the ElementLinks to the xAOD::TrackParticle/s that match the electron candidate.
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
egammaParameters::deltaEta2
@ deltaEta2
difference between the cluster eta (second sampling) and the eta of the track extrapolated to the sec...
Definition: egammaParamDefs.h:206
xAOD::EgammaParameters::f1core
@ f1core
E1(3x1)/E = fraction of the energy reconstructed in the first longitudinal compartment of the electro...
Definition: EgammaEnums.h:60
egammaParameters::f3
@ f3
fraction of energy reconstructed in 3rd sampling
Definition: egammaParamDefs.h:127
egammaParameters::e2ts1
@ e2ts1
2nd max in strips calc by summing 3 strips
Definition: egammaParamDefs.h:157
egamma::detailValue
double detailValue(egammaParameters::ParamDef key, const std::string &name="", unsigned int index=0) const
get the float value of key in the container name
Definition: egamma.cxx:899
xAODMaker::ElectronCnvTool::getNewLink
ElementLink< xAOD::TrackParticleContainer > getNewLink(const ElementLink< Rec::TrackParticleContainer > &oldLink, const std::string &name) const
Definition: ElectronCnvTool.cxx:298
xAOD::EgammaParameters::wtots1
@ wtots1
shower width is determined in a window detaxdphi = 0,0625 ×~0,2, corresponding typically to 20 strips...
Definition: EgammaEnums.h:140
egammaParameters::deltaPhi3
@ deltaPhi3
difference between the cluster eta (3rd sampling) and the eta of the track extrapolated to the 3rd sa...
Definition: egammaParamDefs.h:223
xAOD::Egamma_v1::showerShapeValue
bool showerShapeValue(float &value, const EgammaParameters::ShowerShapeType information) const
Accessor for ShowerShape values.
Definition: Egamma_v1.cxx:207
xAODMaker::ElectronCnvTool::m_inDetTrackParticlesGSF
std::string m_inDetTrackParticlesGSF
Other Keys.
Definition: ElectronCnvTool.h:72
egammaParameters::deltaPhi1
@ deltaPhi1
difference between the cluster eta (1st sampling) and the eta of the track extrapolated to the 1st sa...
Definition: egammaParamDefs.h:215
egammaParameters::deltaEta3
@ deltaEta3
difference between the cluster eta (3rd sampling) and the eta of the track extrapolated to the 3rd sa...
Definition: egammaParamDefs.h:209
egamma
Definition: egamma.h:58
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
egammaParameters::ethad
@ ethad
ET leakage into hadronic calorimeter with exclusion of energy in CaloSampling::TileGap3.
Definition: egammaParamDefs.h:121
xAODMaker::ElectronCnvTool::checkAndSetIsolation
void checkAndSetIsolation(egammaParameters::ParamDef aodParameter, xAOD::Iso::IsolationType xaodParameter, const egamma &, xAOD::Electron &) const
Definition: ElectronCnvTool.cxx:209
xAOD::EgammaParameters::deltaPhi1
@ deltaPhi1
difference between the cluster eta (1st sampling) and the eta of the track extrapolated to the 1st sa...
Definition: EgammaEnums.h:196
IDTPMcnv.htype
htype
Definition: IDTPMcnv.py:29
xAOD::EgammaParameters::e333
@ e333
uncalibrated energy (sum of cells) of the third sampling in a rectangle of size 3x3
Definition: EgammaEnums.h:83
egammaParameters::deltaPhiFromLastMeasurement
@ deltaPhiFromLastMeasurement
difference between the cluster phi (sampling 2) and the eta of the track extrapolated from the last m...
Definition: egammaParamDefs.h:590
xAOD::phi
setEt phi
Definition: TrigEMCluster_v1.cxx:29
EigenP4JacobianEEtaPhiM2PtEtaPhiM
Definition: EigenP4JacobianEEtaPhiM2PtEtaPhiM.h:10
xAODMaker::ElectronCnvTool::setLinks
void setLinks(const egamma &, xAOD::Electron &) const
Set the element links between the various particles.
Definition: ElectronCnvTool.cxx:242
xAOD::EgammaParameters::f3
@ f3
fraction of energy reconstructed in 3rd sampling
Definition: EgammaEnums.h:54
egammaParameters::fracs1
@ fracs1
shower shape in the shower core : [E(+/-3)-E(+/-1)]/E(+/-1), where E(+/-n) is the energy in +- n stri...
Definition: egammaParamDefs.h:161
xAOD::CaloCluster_v1::etaBE
float etaBE(const unsigned layer) const
Get the eta in one layer of the EM Calo.
Definition: CaloCluster_v1.cxx:644
xAOD::EgammaParameters::e1152
@ e1152
uncalibrated energy (sum of cells) in strips in a 15x2 window in cells in eta X phi
Definition: EgammaEnums.h:39
xAOD::EgammaParameters::deltaPhiFromLastMeasurement
@ deltaPhiFromLastMeasurement
difference between the cluster phi (sampling 2) and the eta of the track extrapolated from the last m...
Definition: EgammaEnums.h:210
xAODMaker::ElectronCnvTool::checkAndSetTrackMatch
void checkAndSetTrackMatch(egammaParameters::ParamDef aodParameter, xAOD::EgammaParameters::TrackCaloMatchType xaodParameter, const egamma &, xAOD::Electron &) const
Definition: ElectronCnvTool.cxx:232
xAOD::EgammaParameters::ethad
@ ethad
ET leakage into hadronic calorimeter with exclusion of energy in CaloSampling::TileGap3.
Definition: EgammaEnums.h:45
egammaParameters::ecore
@ ecore
core energy in em calo E(core) = E0(3x3) + E1(15x2) + E2(5x5) + E3(3x5)
Definition: egammaParamDefs.h:195
egammaParameters::e2tsts1
@ e2tsts1
energy of the cell corresponding to second energy maximum in the first sampling
Definition: egammaParamDefs.h:159
xAOD::CaloCluster_v1
Description of a calorimeter cluster.
Definition: CaloCluster_v1.h:59
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
AthCommonDataStore
Definition: AthCommonDataStore.h:52
egamma::nTrackParticles
unsigned int nTrackParticles() const
Definition: egamma.cxx:405
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
xAOD::EgammaParameters::f1
@ f1
E1/E = fraction of energy reconstructed in the first sampling, where E1 is energy in all strips belon...
Definition: EgammaEnums.h:52
egammaParameters::etcone20
@ etcone20
ET in a cone with half-opening angle 0.2, with exclusion of a window of size 7x5 in electromagnetic c...
Definition: egammaParamDefs.h:104
xAOD::Egamma_v1::setIsolationValue
bool setIsolationValue(float value, const Iso::IsolationType information)
old set method for Isolation values.
Definition: Egamma_v1.h:268
lumiFormat.i
int i
Definition: lumiFormat.py:85
xAODMaker::ElectronCnvTool::convert
virtual StatusCode convert(const egammaContainer *aod, xAOD::ElectronContainer *xaod) const override
Function that fills an existing xAOD::ElectronContainer (xaod or xaodForward can be NULL)
Definition: ElectronCnvTool.cxx:42
xAOD::Iso::etcone20
@ etcone20
Calorimeter isolation.
Definition: IsolationType.h:32
xAOD::EgammaParameters::pos7
@ pos7
Difference between the track and the shower positions: sum_{i=i_m-7}^{i=i_m+7}E_i x (i-i_m) / sum_{i=...
Definition: EgammaEnums.h:133
xAOD::covMatrix
covMatrix
Definition: TrackMeasurement_v1.cxx:19
xAOD::EgammaParameters::emins1
@ emins1
energy reconstructed in the strip with the minimal value between the first and second maximum
Definition: EgammaEnums.h:143
xAOD::EgammaParameters::poscs2
@ poscs2
relative position in eta within cell in 2nd sampling
Definition: EgammaEnums.h:121
xAOD::Egamma_v1::caloCluster
const xAOD::CaloCluster * caloCluster(size_t index=0) const
Pointer to the xAOD::CaloCluster/s that define the electron candidate.
Definition: Egamma_v1.cxx:388
xAOD::EgammaParameters::e011
@ e011
uncalibrated energy (sum of cells) in presampler in a 1x1 window in cells in eta X phi
Definition: EgammaEnums.h:30
test_pyathena.parent
parent
Definition: test_pyathena.py:15
xAOD::EgammaParameters::deltaEta3
@ deltaEta3
difference between the cluster eta (3rd sampling) and the eta of the track extrapolated to the 3rd sa...
Definition: EgammaEnums.h:190
egammaParameters::e237
@ e237
uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 3x7
Definition: egammaParamDefs.h:139
egammaParameters::wtots1
@ wtots1
shower width is determined in a window detaxdphi = 0,0625 ~0,2, corresponding typically to 20 strips ...
Definition: egammaParamDefs.h:185
xAOD::EgammaParameters::deltaPhiRescaled2
@ deltaPhiRescaled2
difference between the cluster phi (second sampling) and the phi of the track extrapolated to the sec...
Definition: EgammaEnums.h:225
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Definition: AthCommonDataStore.h:393
DataVector
Derived DataVector<T>.
Definition: DataVector.h:794
xAOD::Egamma_v1::setCaloClusterLinks
void setCaloClusterLinks(const CLELVec_t &links)
set Pointer to the xAOD::CaloCluster
AthAlgTool::AthAlgTool
AthAlgTool()
Default constructor:
xAOD::EgammaParameters::Rhad1
@ Rhad1
ethad1/et
Definition: EgammaEnums.h:162
egammaParameters::AuthorElectron
const unsigned int AuthorElectron
Electron reconstructed by standard cluster-based algorithm.
Definition: egammaParamDefs.h:62
SG::VarHandleKeyArray::renounce
virtual void renounce()=0
egammaParameters::ethad1
@ ethad1
transverse energy in the first sampling of the hadronic calorimeters behind the cluster calculated fr...
Definition: egammaParamDefs.h:119
egammaParameters::e132
@ e132
uncalibrated energy (sum of cells) in strips in a 3x2 window in cells in eta X phi
Definition: egammaParamDefs.h:114
SG::HandleClassifier::type
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
Definition: HandleClassifier.h:54
xAOD::EgammaParameters::e377
@ e377
uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 7x7
Definition: EgammaEnums.h:92
egammaParameters::f3core
@ f3core
E3(3x3)/E fraction of the energy reconstructed in the third compartment of the electromagnetic calori...
Definition: egammaParamDefs.h:131
egamma::author
unsigned int author() const
Reconstruction Author
Definition: egamma.h:244
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
xAOD::EgammaParameters::poscs1
@ poscs1
relative position in eta within cell in 1st sampling
Definition: EgammaEnums.h:119
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
egammaParameters::e1152
@ e1152
uncalibrated energy (sum of cells) in strips in a 15x2 window in cells in eta X phi
Definition: egammaParamDefs.h:116
egammaParameters::topoetcone20
@ topoetcone20
Topo cluster ET in a cone with half-opening angle 0.20.
Definition: egammaParamDefs.h:727
egammaParameters::r33over37allcalo
@ r33over37allcalo
1-ratio of energy in 3x3 over 3x7 cells; E(3x3) = E0(1x1) + E1(3x1) + E2(3x3) + E3(3x3); E(3x7) = E0(...
Definition: egammaParamDefs.h:192
egammaParameters::e277
@ e277
uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 7x7
Definition: egammaParamDefs.h:141
egammaParameters::weta2
@ weta2
the lateral width is calculated with a window of 3x5 cells using the energy weighted sum over all cel...
Definition: egammaParamDefs.h:155
egammaParameters::barys1
@ barys1
barycentre in sampling 1 calculated in 3 strips
Definition: egammaParamDefs.h:183
egammaParameters::poscs2
@ poscs2
relative position in eta within cell in 2nd sampling
Definition: egammaParamDefs.h:170
xAOD::EgammaParameters::deltaPhi2
@ deltaPhi2
difference between the cluster phi (second sampling) and the phi of the track extrapolated to the sec...
Definition: EgammaEnums.h:204
DataVector::push_back
value_type push_back(value_type pElem)
Add an element to the end of the collection.
egammaParameters::ptcone40
@ ptcone40
summed pt of tracks in a cone with half-opening angle 0.4
Definition: egammaParamDefs.h:698
xAODMaker::ElectronCnvTool::checkAndSetParameter
void checkAndSetParameter(egammaParameters::ParamDef aodParameter, xAOD::EgammaParameters::ShowerShapeType xaodParameter, const egamma &, xAOD::Electron &) const
Definition: ElectronCnvTool.cxx:190
xAOD::EgammaParameters::barys1
@ barys1
barycentre in sampling 1 calculated in 3 strips
Definition: EgammaEnums.h:135
xAOD::Electron_v1
Definition: Electron_v1.h:34
xAOD::Iso::ptcone40
@ ptcone40
Definition: IsolationType.h:42
egammaParameters::deltaEta1
@ deltaEta1
difference between the cluster eta (first sampling) and the eta of the track extrapolated to the firs...
Definition: egammaParamDefs.h:204
egammaParameters::asy1
@ asy1
uncorr asymmetry in 3 strips in the 1st sampling
Definition: egammaParamDefs.h:172
python.testIfMatch.matrix
matrix
Definition: testIfMatch.py:66
egammaParameters::pos
@ pos
difference between shower cell and predicted track in +/- 1 cells
Definition: egammaParamDefs.h:174
egammaParameters::e255
@ e255
uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 5x5
Definition: egammaParamDefs.h:137
egammaParameters::e235
@ e235
uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 3x5
Definition: egammaParamDefs.h:135
a
TList * a
Definition: liststreamerinfos.cxx:10
egammaParameters::etcone30
@ etcone30
ET in a cone with half-opening angle 0.3, with exclusion of a window of size 7x5 in electromagnetic c...
Definition: egammaParamDefs.h:106
h
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
xAOD::EgammaParameters::e255
@ e255
uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 5x5
Definition: EgammaEnums.h:74
xAOD::EgammaParameters::e337
@ e337
uncalibrated energy (sum of cells) of the third sampling in a rectangle of size 3x7
Definition: EgammaEnums.h:89
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
xAOD::EgammaParameters::r33over37allcalo
@ r33over37allcalo
1-ratio of energy in 3x3 over 3x7 cells; E(3x3) = E0(1x1) + E1(3x1) + E2(3x3) + E3(3x3); E(3x7) = E0(...
Definition: EgammaEnums.h:149
egammaParameters::deltaEta0
@ deltaEta0
difference between the cluster eta (presampler) and the eta of the track extrapolated to the presampl...
Definition: egammaParamDefs.h:202
xAODMaker::ElectronCnvTool::setIsolations
void setIsolations(const egamma &aodmuon, xAOD::Electron &xaodmuon) const
Fills in the isolation variables.
Definition: ElectronCnvTool.cxx:198
egammaParameters::AuthorFrwd
const unsigned int AuthorFrwd
Electron reconstructed by the Forward cluster-based algorithm.
Definition: egammaParamDefs.h:68
xAOD::EgammaParameters::electron
@ electron
Definition: EgammaEnums.h:18
egammaParameters::f1core
@ f1core
E1(3x1)/E = fraction of the energy reconstructed in the first longitudinal compartment of the electro...
Definition: egammaParamDefs.h:129
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:623
egammaParameters::ptcone30
@ ptcone30
summed pt of tracks in a cone with half-opening angle 0.3
Definition: egammaParamDefs.h:577
xAOD::EgammaParameters::e277
@ e277
uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 7x7
Definition: EgammaEnums.h:80
xAOD::EgammaParameters::widths1
@ widths1
same as egammaParameters::weta1 but without corrections on particle impact point inside the cell
Definition: EgammaEnums.h:114
egamma::clusterElementLink
const ElementLink< CaloClusterContainer > & clusterElementLink() const
element link to cluster
Definition: egamma.cxx:427
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:798
egammaParameters::e335
@ e335
uncalibrated energy (sum of cells) of the third sampling in a rectangle of size 3x5
Definition: egammaParamDefs.h:145
xAOD::EgammaParameters::weta1
@ weta1
shower width using +/-3 strips around the one with the maximal energy deposit: w3 strips = sqrt{sum(E...
Definition: EgammaEnums.h:97
xAOD::EgammaParameters::e132
@ e132
uncalibrated energy (sum of cells) in strips in a 3x2 window in cells in eta X phi
Definition: EgammaEnums.h:36
egammaParameters::e011
@ e011
uncorrected energy in presampler in a 1x1 window in cells in eta X phi
Definition: egammaParamDefs.h:110
xAOD::EgammaParameters::Eratio
@ Eratio
(emaxs1-e2tsts1)/(emaxs1+e2tsts1)
Definition: EgammaEnums.h:158
egammaParameters::ehad1
@ ehad1
E leakage into 1st sampling of had calo (CaloSampling::HEC0 + CaloSampling::TileBar0 + CaloSampling::...
Definition: egammaParamDefs.h:123
egammaParameters::poscs1
@ poscs1
relative position in eta within cell in 1st sampling
Definition: egammaParamDefs.h:168
xAOD::EgammaParameters::e237
@ e237
uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 3x7
Definition: EgammaEnums.h:77
xAOD::Iso::topoetcone40
@ topoetcone40
Definition: IsolationType.h:50
xAOD::EgammaParameters::deltaEta1
@ deltaEta1
difference between the cluster eta (first sampling) and the eta of the track extrapolated to the firs...
Definition: EgammaEnums.h:184
egammaParameters::etcone40
@ etcone40
ET in a cone with half-opening angle 0.4, with exclusion of a window of size 7x5 in electromagnetic c...
Definition: egammaParamDefs.h:108
xAOD::Egamma_v1::setShowerShapeValue
bool setShowerShapeValue(float value, const EgammaParameters::ShowerShapeType information)
Set method for Shower Shape values.
Definition: Egamma_v1.cxx:226
xAOD::EgammaParameters::f3core
@ f3core
E3(3x3)/E fraction of the energy reconstructed in the third compartment of the electromagnetic calori...
Definition: EgammaEnums.h:65
egammaParameters::deltaPhi0
@ deltaPhi0
difference between the cluster phi (presampler) and the eta of the track extrapolated to the presampl...
Definition: egammaParamDefs.h:212
egammaParameters::topoetcone30
@ topoetcone30
Topo cluster ET in a cone with half-opening angle 0.30.
Definition: egammaParamDefs.h:729
xAOD::EgammaParameters::e2tsts1
@ e2tsts1
energy of the cell corresponding to second energy maximum in the first sampling
Definition: EgammaEnums.h:108
xAOD::EgammaParameters::Rhad
@ Rhad
ethad/et
Definition: EgammaEnums.h:160
xAOD::EgammaParameters::widths2
@ widths2
same as egammaParameters::weta2 but without corrections on particle impact point inside the cell
Definition: EgammaEnums.h:117
xAOD::EgammaParameters::DeltaE
@ DeltaE
e2tsts1-emins1
Definition: EgammaEnums.h:164
egammaParameters::weta1
@ weta1
shower width using +/-1 strips around the one with the maximal energy deposit: w3 strips = sqrt{sum(E...
Definition: egammaParamDefs.h:152
egammaParameters::pos7
@ pos7
Difference between the track and the shower positions: sum_{i=i_m-7}^{i=i_m+7}E_i x (i-i_m) / sum_{i=...
Definition: egammaParamDefs.h:181
xAOD::EgammaParameters::e335
@ e335
uncalibrated energy (sum of cells) of the third sampling in a rectangle of size 3x5
Definition: EgammaEnums.h:86
xAODMaker::ElectronCnvTool::setTrackMatch
void setTrackMatch(const egamma &aodmuon, xAOD::Electron &xaodmuon) const
Fills in the track match variables
Definition: ElectronCnvTool.cxx:218
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
xAOD::EgammaParameters::emaxs1
@ emaxs1
energy of strip with maximal energy deposit
Definition: EgammaEnums.h:145
xAOD::CaloCluster_v1::e
virtual double e() const
The total energy of the particle.
Definition: CaloCluster_v1.cxx:265
egammaParameters::f1
@ f1
E1/E = fraction of energy reconstructed in the first sampling, where E1 is energy in all strips belon...
Definition: egammaParamDefs.h:125
egammaParameters::deltaPhi2
@ deltaPhi2
difference between the cluster phi (second sampling) and the phi of the track extrapolated to the sec...
Definition: egammaParamDefs.h:220
xAODMaker::ElectronCnvTool::m_inDetTrackParticles
std::string m_inDetTrackParticles
Location/Key for xAOD::TrackParticles from ID.
Definition: ElectronCnvTool.h:73
xAODMaker::ElectronCnvTool::setParameters
void setParameters(const egamma &, xAOD::Electron &) const
Fills in the shower shape variables.
Definition: ElectronCnvTool.cxx:148
egammaParameters::e377
@ e377
uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 7x7
Definition: egammaParamDefs.h:149
xAOD::EgammaParameters::fracs1
@ fracs1
shower shape in the shower core : [E(+/-3)-E(+/-1)]/E(+/-1), where E(+/-n) is the energy in ± n strip...
Definition: EgammaEnums.h:111
xAOD::EgammaParameters::pos
@ pos
difference between shower cell and predicted track in +/- 1 cells
Definition: EgammaEnums.h:125
fitman.k
k
Definition: fitman.py:528
egammaParameters::widths1
@ widths1
same as egammaParameters::weta1 but without corrections on particle impact point inside the cell
Definition: egammaParamDefs.h:164
xAOD::Electron_v1::setTrackCaloMatchValue
bool setTrackCaloMatchValue(const float value, const EgammaParameters::TrackCaloMatchType information)
Set method for Track to Calo Match values.
xAOD::EgammaParameters::weta2
@ weta2
the lateral width is calculated with a window of 3x5 cells using the energy weighted sum over all cel...
Definition: EgammaEnums.h:103
egammaParameters::widths2
@ widths2
same as egammaParameters::weta2 but without corrections on particle impact point inside the cell
Definition: egammaParamDefs.h:166