|
ATLAS Offline Software
|
Implementation for the tool creating PhotonContainer from an AOD.
More...
#include <PhotonCnvTool.h>
|
| PhotonCnvTool (const std::string &type, const std::string &name, const IInterface *parent) |
| Regular AlgTool constructor. More...
|
|
virtual StatusCode | convert (const egammaContainer *aod, xAOD::PhotonContainer *xaod) const override |
| Function that fills an existing xAOD::PhotonContainer. 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 |
|
|
void | setParameters (const egamma &, xAOD::Photon &) const |
| Fills in the shower shape variables. More...
|
|
void | checkAndSetParameter (egammaParameters::ParamDef aodParameter, xAOD::EgammaParameters::ShowerShapeType xaodParameter, const egamma &, xAOD::Photon &) const |
|
void | setIsolations (const egamma &aodmuon, xAOD::Photon &xaodmuon) const |
| Fills in the isolation variables. More...
|
|
void | checkAndSetIsolation (egammaParameters::ParamDef aodParameter, xAOD::Iso::IsolationType xaodParameter, const egamma &, xAOD::Photon &) const |
|
void | setLinks (const egamma &aodph, xAOD::Photon &xaodph) const |
|
ElementLink< xAOD::VertexContainer > | getNewLink (const ElementLink< VxContainer > &oldLink, const std::string &name) const |
|
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...
|
|
Implementation for the tool creating PhotonContainer from an AOD.
This interface is implemented by the tool that converts the
egamma (Photon) Container into an xAOD::PhotonContainer.
- Author
- Jovan Mitrevski Jovan.nosp@m..Mit.nosp@m.revsk.nosp@m.i@ce.nosp@m.rn.ch
Definition at line 32 of file PhotonCnvTool.h.
◆ StoreGateSvc_t
◆ PhotonCnvTool()
xAODMaker::PhotonCnvTool::PhotonCnvTool |
( |
const std::string & |
type, |
|
|
const std::string & |
name, |
|
|
const IInterface * |
parent |
|
) |
| |
Regular AlgTool constructor.
Definition at line 19 of file PhotonCnvTool.cxx.
25 declareInterface< IPhotonCnvTool >(
this);
31 "Most likely used for trigger objects");
◆ checkAndSetIsolation()
◆ checkAndSetParameter()
◆ convert()
Function that fills an existing xAOD::PhotonContainer.
Implements xAODMaker::IPhotonCnvTool.
Definition at line 37 of file PhotonCnvTool.cxx.
43 return StatusCode::SUCCESS;
47 return StatusCode::SUCCESS;
50 const auto end = aod->
end();
51 for(
auto itr = aod->
begin(); itr !=
end; ++itr ) {
57 photon->setP4((*itr)->pt(),(*itr)->eta(),(*itr)->phi(),(*itr)->m());
60 photon->setAuthor( (*itr)->author() );
63 photon->setOQ( (*itr)->isgoodoq() );
71 Eigen::Matrix<double,4,4>
matrix;
72 for(
int i(0);
i<4;++
i){
73 for(
int j(0);j<4;++j){
78 Eigen::Matrix<double,4,4>
covMatrix= jacobian*
matrix*jacobian.transpose();
93 return StatusCode::SUCCESS;
◆ declareGaudiProperty() [1/4]
specialization for handling Gaudi::Property<SG::VarHandleKeyArray>
Definition at line 170 of file AthCommonDataStore.h.
175 hndl.documentation());
◆ declareGaudiProperty() [2/4]
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
161 hndl.documentation());
◆ declareGaudiProperty() [3/4]
specialization for handling Gaudi::Property<SG::VarHandleBase>
Definition at line 184 of file AthCommonDataStore.h.
189 hndl.documentation());
◆ declareGaudiProperty() [4/4]
◆ declareProperty() [1/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation 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.
250 this->declare(hndl.
vhKey());
251 hndl.
vhKey().setOwner(
this);
253 return PBASE::declareProperty(
name,hndl,
doc);
◆ declareProperty() [2/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation 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.
229 return PBASE::declareProperty(
name,hndl,
doc);
◆ declareProperty() [3/6]
◆ declareProperty() [4/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation 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.
338 return PBASE::declareProperty(
name, property,
doc);
◆ declareProperty() [5/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation 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.
◆ declareProperty() [6/6]
◆ detStore()
◆ evtStore() [1/2]
◆ evtStore() [2/2]
◆ extraDeps_update_handler()
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()
◆ inputHandles()
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::IPhotonCnvTool::interfaceID |
( |
| ) |
|
|
inlinestaticinherited |
◆ msg() [1/2]
◆ msg() [2/2]
◆ msgLvl()
◆ outputHandles()
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()
◆ renounceArray()
◆ setIsolations()
◆ setLinks()
Definition at line 164 of file PhotonCnvTool.cxx.
166 std::string clusterContainerName;
183 if (clusterContainerName.empty())
189 std::vector< ElementLink< xAOD::CaloClusterContainer > > linksToClusters;
190 linksToClusters.push_back(newclusterElementLink);
197 std::vector< ElementLink< xAOD::VertexContainer > > linksToVertices;
◆ setParameters()
◆ sysInitialize()
◆ sysStart()
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
◆ updateVHKA()
◆ m_caloClusters
std::string xAODMaker::PhotonCnvTool::m_caloClusters |
|
private |
Location/Key for xAOD::CaloClusters for electrons and photons
Definition at line 58 of file PhotonCnvTool.h.
◆ m_caloClustersOther
std::string xAODMaker::PhotonCnvTool::m_caloClustersOther |
|
private |
Location/Key for xAOD::CaloClusters for other (trigger?) electrons.
Definition at line 60 of file PhotonCnvTool.h.
◆ m_caloClustersTopo
std::string xAODMaker::PhotonCnvTool::m_caloClustersTopo |
|
private |
Location/Key for xAOD::CaloClusters for topo seeded photons.
Definition at line 59 of file PhotonCnvTool.h.
◆ m_detStore
◆ m_evtStore
◆ m_varHandleArraysDeclared
◆ m_vertexContainer
std::string xAODMaker::PhotonCnvTool::m_vertexContainer |
|
private |
◆ m_vhka
The documentation for this class was generated from the following files:
@ ehad1
E leakage into 1st sampling of had calo (CaloSampling::HEC0 + CaloSampling::TileBar0 + CaloSampling::...
@ e233
uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 3x3 (in cell units e...
@ emaxs1
energy of strip with maximal energy deposit
@ topoetcone20
Topo-cluster ET-sum.
@ e337
uncalibrated energy (sum of cells) of the third sampling in a rectangle of size 3x7
@ e033
uncalibrated energy (sum of cells) in presampler in a 3x3 window in cells in eta X phi
@ e333
uncalibrated energy (sum of cells) of the third sampling in a rectangle of size 3x3
@ e2ts1
2nd max in strips calc by summing 3 strips
@ asy1
uncorr asymmetry in 3 strips in the 1st sampling
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
@ e235
uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 3x5
@ topoetcone40
Topo cluster ET in a cone with half-opening angle 0.30.
@ ecore
core energy in em calo E(core) = E0(3x3) + E1(15x2) + E2(5x5) + E3(3x5)
void setVertexLinks(const VxELVec_t &links)
set Pointer to the xAOD::vertex/vertices that match the photon candidate
@ ptcone20
Track isolation.
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
@ ethad1
transverse energy in the first sampling of the hadronic calorimeters behind the cluster calculated fr...
@ e233
uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 3x3 (in cell units e...
@ e033
uncalibrated energy (sum of cells) in presampler in a 3x3 window in cells in eta X phi
@ emins1
energy reconstructed in the strip with the minimal value between the first and second maximum
@ f1core
E1(3x1)/E = fraction of the energy reconstructed in the first longitudinal compartment of the electro...
@ f3
fraction of energy reconstructed in 3rd sampling
@ e2ts1
2nd max in strips calc by summing 3 strips
double detailValue(egammaParameters::ParamDef key, const std::string &name="", unsigned int index=0) const
get the float value of key in the container name
@ wtots1
shower width is determined in a window detaxdphi = 0,0625 ×~0,2, corresponding typically to 20 strips...
bool isValid() const
Test to see if the link can be dereferenced.
const ID_type & dataID() const
Get the key that we reference, as a string.
virtual void setOwner(IDataHandleHolder *o)=0
@ ethad
ET leakage into hadronic calorimeter with exclusion of energy in CaloSampling::TileGap3.
@ e333
uncalibrated energy (sum of cells) of the third sampling in a rectangle of size 3x3
@ f3
fraction of energy reconstructed in 3rd sampling
@ fracs1
shower shape in the shower core : [E(+/-3)-E(+/-1)]/E(+/-1), where E(+/-n) is the energy in +- n stri...
@ e1152
uncalibrated energy (sum of cells) in strips in a 15x2 window in cells in eta X phi
@ ethad
ET leakage into hadronic calorimeter with exclusion of energy in CaloSampling::TileGap3.
@ ecore
core energy in em calo E(core) = E0(3x3) + E1(15x2) + E2(5x5) + E3(3x5)
@ e2tsts1
energy of the cell corresponding to second energy maximum in the first sampling
void resetWithKeyAndIndex(const ID_type &dataID, index_type elemID, IProxyDict *sg=0)
Set the link to an element given by string key and index.
const unsigned int AuthorPhoton
Photon reconstructed by standard cluster-based algorithm.
@ f1
E1/E = fraction of energy reconstructed in the first sampling, where E1 is energy in all strips belon...
@ etcone20
ET in a cone with half-opening angle 0.2, with exclusion of a window of size 7x5 in electromagnetic c...
bool setIsolationValue(float value, const Iso::IsolationType information)
old set method for Isolation values.
@ etcone20
Calorimeter isolation.
@ 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=...
const unsigned int AuthorRConv
Photon that is duplicated with electron.
@ emins1
energy reconstructed in the strip with the minimal value between the first and second maximum
@ poscs2
relative position in eta within cell in 2nd sampling
@ e011
uncalibrated energy (sum of cells) in presampler in a 1x1 window in cells in eta X phi
@ e237
uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 3x7
@ wtots1
shower width is determined in a window detaxdphi = 0,0625 ~0,2, corresponding typically to 20 strips ...
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
void setCaloClusterLinks(const CLELVec_t &links)
set Pointer to the xAOD::CaloCluster
virtual void renounce()=0
@ ethad1
transverse energy in the first sampling of the hadronic calorimeters behind the cluster calculated fr...
@ e132
uncalibrated energy (sum of cells) in strips in a 3x2 window in cells in eta X phi
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
ElementLink implementation for ROOT usage.
@ e377
uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 7x7
@ f3core
E3(3x3)/E fraction of the energy reconstructed in the third compartment of the electromagnetic calori...
unsigned int author() const
Reconstruction Author
@ poscs1
relative position in eta within cell in 1st sampling
@ e1152
uncalibrated energy (sum of cells) in strips in a 15x2 window in cells in eta X phi
@ topoetcone20
Topo cluster ET in a cone with half-opening angle 0.20.
@ r33over37allcalo
1-ratio of energy in 3x3 over 3x7 cells; E(3x3) = E0(1x1) + E1(3x1) + E2(3x3) + E3(3x3); E(3x7) = E0(...
@ e277
uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 7x7
@ weta2
the lateral width is calculated with a window of 3x5 cells using the energy weighted sum over all cel...
@ barys1
barycentre in sampling 1 calculated in 3 strips
@ poscs2
relative position in eta within cell in 2nd sampling
ElementLink< VxContainer > conversionElementLink(unsigned int index=0) const
element link to conversion
value_type push_back(value_type pElem)
Add an element to the end of the collection.
@ ptcone40
summed pt of tracks in a cone with half-opening angle 0.4
@ barys1
barycentre in sampling 1 calculated in 3 strips
Photon_v1 Photon
Definition of the current "egamma version".
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
@ asy1
uncorr asymmetry in 3 strips in the 1st sampling
@ pos
difference between shower cell and predicted track in +/- 1 cells
@ e255
uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 5x5
@ e235
uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 3x5
@ etcone30
ET in a cone with half-opening angle 0.3, with exclusion of a window of size 7x5 in electromagnetic c...
const unsigned int AuthorCaloTopo35
Photon reconstructed by SW CaloTopo35 seeded clusters.
#define ATH_MSG_WARNING(x)
@ e255
uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 5x5
@ e337
uncalibrated energy (sum of cells) of the third sampling in a rectangle of size 3x7
@ r33over37allcalo
1-ratio of energy in 3x3 over 3x7 cells; E(3x3) = E0(1x1) + E1(3x1) + E2(3x3) + E3(3x3); E(3x7) = E0(...
index_type index() const
Get the index of the element inside of its container.
@ f1core
E1(3x1)/E = fraction of the energy reconstructed in the first longitudinal compartment of the electro...
@ ptcone20
summed pt of tracks in a cone with half-opening angle 0.2 (no zvx cut photons, 1mm electrons)
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
@ ptcone30
summed pt of tracks in a cone with half-opening angle 0.3
@ e277
uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 7x7
@ widths1
same as egammaParameters::weta1 but without corrections on particle impact point inside the cell
const ElementLink< CaloClusterContainer > & clusterElementLink() const
element link to cluster
@ e335
uncalibrated energy (sum of cells) of the third sampling in a rectangle of size 3x5
@ weta1
shower width using +/-3 strips around the one with the maximal energy deposit: w3 strips = sqrt{sum(E...
@ e132
uncalibrated energy (sum of cells) in strips in a 3x2 window in cells in eta X phi
@ e011
uncorrected energy in presampler in a 1x1 window in cells in eta X phi
@ ehad1
E leakage into 1st sampling of had calo (CaloSampling::HEC0 + CaloSampling::TileBar0 + CaloSampling::...
@ poscs1
relative position in eta within cell in 1st sampling
@ e237
uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 3x7
@ etcone40
ET in a cone with half-opening angle 0.4, with exclusion of a window of size 7x5 in electromagnetic c...
unsigned int nConversions() const
bool setShowerShapeValue(float value, const EgammaParameters::ShowerShapeType information)
Set method for Shower Shape values.
@ f3core
E3(3x3)/E fraction of the energy reconstructed in the third compartment of the electromagnetic calori...
@ topoetcone30
Topo cluster ET in a cone with half-opening angle 0.30.
@ e2tsts1
energy of the cell corresponding to second energy maximum in the first sampling
@ widths2
same as egammaParameters::weta2 but without corrections on particle impact point inside the cell
@ weta1
shower width using +/-1 strips around the one with the maximal energy deposit: w3 strips = sqrt{sum(E...
@ 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=...
@ e335
uncalibrated energy (sum of cells) of the third sampling in a rectangle of size 3x5
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
@ emaxs1
energy of strip with maximal energy deposit
@ f1
E1/E = fraction of energy reconstructed in the first sampling, where E1 is energy in all strips belon...
@ e377
uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 7x7
@ fracs1
shower shape in the shower core : [E(+/-3)-E(+/-1)]/E(+/-1), where E(+/-n) is the energy in ± n strip...
@ pos
difference between shower cell and predicted track in +/- 1 cells
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.
@ widths1
same as egammaParameters::weta1 but without corrections on particle impact point inside the cell
@ weta2
the lateral width is calculated with a window of 3x5 cells using the energy weighted sum over all cel...
@ widths2
same as egammaParameters::weta2 but without corrections on particle impact point inside the cell