25 const std::string& name,
26 const IInterface* parent )
30 declareInterface< IElectronCnvTool >(
this);
38 "Most likely used for trigger objects");
47 return StatusCode::SUCCESS;
52 return convert(aod,xaod,&xaodFrwd);
61 return StatusCode::SUCCESS;
65 for(
const egamma* eg : *aod) {
76 electron->setPtEtaPhi(eg->pt(),eg->eta(),eg->phi());
78 electron->setAuthor( eg->author() );
80 electron->setOQ( eg->isgoodoq() );
93 if (eg->trackParticle()) {
94 double clE = eg->cluster()->e();
96 double eta = eg->trackParticle()->eta();
97 double phi = eg->trackParticle()->phi();
98 electron->setPtEtaPhi(pt,
eta,
phi);
101 electron->setPtEtaPhi(eg->pt(),eg->eta(),eg->phi());
104 electron->setAuthor( eg->author() );
106 electron->setOQ( eg->isgoodoq() );
108 electron->setCharge( eg->charge() );
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);
122 Eigen::Matrix<double,4,4> covMatrix= jacobian*matrix*jacobian.transpose();
123 electron->setCovMatrix(covMatrix.cast<
float>());
145 return StatusCode::SUCCESS;
194 float parameter =
static_cast<float>(
result);
213 float isolation =
static_cast<float>(
result);
236 float isolation =
static_cast<float>(
result);
244 std::string clusterContainerName;
251 std::vector< ElementLink< xAOD::TrackParticleContainer > > linksToTracks;
262 std::vector< ElementLink< xAOD::TrackParticleContainer > > linksToTracks;
276 std::vector< ElementLink< xAOD::TrackParticleContainer > > linksToTracks;
284 if (clusterContainerName.empty())
290 std::vector< ElementLink< xAOD::CaloClusterContainer > > linksToClusters;
291 linksToClusters.push_back(newclusterElementLink);
299 const std::string& name)
const{
301 std::string linkname = name;
303 if (linkname.empty())
304 linkname = oldLink.
dataID();
317 float reta = (e277 != 0) ? e237/e277 : 0;
323 float rphi = (e237 != 0) ? e233/e237 : 0;
333 float esums1 = emaxs1 + e2tsts1;
334 if (fabs(esums1) > 0.0) dEmaxs1 = (emaxs1 - e2tsts1)/esums1;
341 float deltaE = e2tsts1 - emins1;
347 if(el_cl !=
nullptr) {
348 float elEta = fabs(el_cl->
etaBE(2));
349 float elEt = el_cl->
e()/cosh(elEta);
352 float raphad = fabs(elEt) != 0. ? ethad/elEt : 0.;
359 float raphad1 = fabs(elEt) != 0. ? ethad1/elEt : 0.;
363 ATH_MSG_WARNING(
"No xAOD::CaloCluster was found during the conversion egammaContainer -> xAOD::ElectronContainer");
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
#define ATH_MSG_WARNING(x)
Helpers for checking error return status codes and reporting errors.
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
value_type push_back(value_type pElem)
Add an element to the end of the collection.
ElementLink implementation for ROOT usage.
const ID_type & dataID() const
Get the key that we reference, as a string.
void resetWithKeyAndIndex(const ID_type &dataID, index_type elemID, IProxyDict *sg=0)
Set the link to an element given by string key and index.
index_type index() const
Get the index of the element inside of its container.
bool isValid() const
Test to see if the link can be dereferenced.
This is a data object, containing a collection of egamma Objects.
double detailValue(egammaParameters::ParamDef key, const std::string &name="", unsigned int index=0) const
get the float value of key in the container name
unsigned int author() const
Reconstruction Author.
ElementLink< Rec::TrackParticleContainer > trackParticleElementLink(unsigned int index=0) const
element link to trackParticle
unsigned int nTrackParticles() const
const ElementLink< CaloClusterContainer > & clusterElementLink() const
element link to cluster
virtual double e() const
The total energy of the particle.
float etaBE(const unsigned layer) const
Get the eta in one layer of the EM Calo.
bool setShowerShapeValue(float value, const EgammaParameters::ShowerShapeType information)
Set method for Shower Shape values.
void setCaloClusterLinks(const CLELVec_t &links)
set Pointer to the xAOD::CaloCluster
bool showerShapeValue(float &value, const EgammaParameters::ShowerShapeType information) const
Accessor for ShowerShape values.
bool setIsolationValue(float value, const Iso::IsolationType information)
old set method for Isolation values.
const xAOD::CaloCluster * caloCluster(size_t index=0) const
Pointer to the xAOD::CaloCluster/s that define the electron candidate.
void setTrackParticleLinks(const TPELVec_t &links)
Set the ElementLinks to the xAOD::TrackParticle/s that match the electron candidate.
bool setTrackCaloMatchValue(const float value, const EgammaParameters::TrackCaloMatchType information)
Set method for Track to Calo Match values.
constexpr double electronMassInMeV
the mass of the electron (in MeV)
const unsigned int AuthorElectron
Electron reconstructed by standard cluster-based algorithm.
const unsigned int AuthorFrwd
Electron reconstructed by the Forward cluster-based algorithm.
@ ethad1
transverse energy in the first sampling of the hadronic calorimeters behind the cluster calculated fr...
@ deltaPhi2
difference between the cluster phi (second sampling) and the phi of the track extrapolated to the sec...
@ ecore
core energy in em calo E(core) = E0(3x3) + E1(15x2) + E2(5x5) + E3(3x5)
@ topoetcone30
Topo cluster ET in a cone with half-opening angle 0.30.
@ ethad
ET leakage into hadronic calorimeter with exclusion of energy in CaloSampling::TileGap3.
@ barys1
barycentre in sampling 1 calculated in 3 strips
@ e2tsts1
energy of the cell corresponding to second energy maximum in the first sampling
@ poscs1
relative position in eta within cell in 1st sampling
@ deltaEta3
difference between the cluster eta (3rd sampling) and the eta of the track extrapolated to the 3rd sa...
@ e277
uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 7x7
@ ptcone40
summed pt of tracks in a cone with half-opening angle 0.4
@ e337
uncalibrated energy (sum of cells) of the third sampling in a rectangle of size 3x7
@ f1core
E1(3x1)/E = fraction of the energy reconstructed in the first longitudinal compartment of the electro...
@ deltaEta1
difference between the cluster eta (first sampling) and the eta of the track extrapolated to the firs...
@ weta2
the lateral width is calculated with a window of 3x5 cells using the energy weighted sum over all cel...
@ e1152
uncalibrated energy (sum of cells) in strips in a 15x2 window in cells in eta X phi
@ deltaPhiRescaled
difference between the cluster phi (sampling 2) and the phi of the track extrapolated from the perige...
@ e235
uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 3x5
@ e033
uncalibrated energy (sum of cells) in presampler in a 3x3 window in cells in eta X phi
@ emaxs1
energy of strip with maximal energy deposit
@ f3core
E3(3x3)/E fraction of the energy reconstructed in the third compartment of the electromagnetic calori...
@ r33over37allcalo
1-ratio of energy in 3x3 over 3x7 cells; E(3x3) = E0(1x1) + E1(3x1) + E2(3x3) + E3(3x3); E(3x7) = E0(...
@ wtots1
shower width is determined in a window detaxdphi = 0,0625 ~0,2, corresponding typically to 20 strips ...
@ f3
fraction of energy reconstructed in 3rd sampling
@ e011
uncorrected energy 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
@ etcone40
ET in a cone with half-opening angle 0.4, with exclusion of a window of size 7x5 in electromagnetic c...
@ e333
uncalibrated energy (sum of cells) of the third sampling in a rectangle of size 3x3
@ e233
uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 3x3 (in cell units e...
@ poscs2
relative position in eta within cell in 2nd sampling
@ deltaPhiFromLastMeasurement
difference between the cluster phi (sampling 2) and the eta of the track extrapolated from the last m...
@ widths1
same as egammaParameters::weta1 but without corrections on particle impact point inside the cell
@ e377
uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 7x7
@ topoetcone40
Topo cluster ET in a cone with half-opening angle 0.30.
@ fracs1
shower shape in the shower core : [E(+/-3)-E(+/-1)]/E(+/-1), where E(+/-n) is the energy in +- n stri...
@ f1
E1/E = fraction of energy reconstructed in the first sampling, where E1 is energy in all strips belon...
@ emins1
energy reconstructed in the strip with the minimal value between the first and second maximum
@ deltaPhi0
difference between the cluster phi (presampler) and the eta of the track extrapolated to the presampl...
@ deltaEta0
difference between the cluster eta (presampler) and the eta of the track extrapolated to the presampl...
@ e335
uncalibrated energy (sum of cells) of the third sampling in a rectangle of size 3x5
@ widths2
same as egammaParameters::weta2 but without corrections on particle impact point inside the cell
@ ptcone30
summed pt of tracks in a cone with half-opening angle 0.3
@ etcone20
ET in a cone with half-opening angle 0.2, with exclusion of a window of size 7x5 in electromagnetic c...
@ e132
uncalibrated energy (sum of cells) in strips in a 3x2 window in cells in eta X phi
@ e255
uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 5x5
@ deltaPhi1
difference between the cluster eta (1st sampling) and the eta of the track extrapolated to the 1st sa...
@ etcone30
ET in a cone with half-opening angle 0.3, with exclusion of a window of size 7x5 in electromagnetic c...
@ weta1
shower width using +/-1 strips around the one with the maximal energy deposit: w3 strips = sqrt{sum(E...
@ ehad1
E leakage into 1st sampling of had calo (CaloSampling::HEC0 + CaloSampling::TileBar0 + CaloSampling::...
@ deltaEta2
difference between the cluster eta (second sampling) and the eta of the track extrapolated to the sec...
@ 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=...
@ e2ts1
2nd max in strips calc by summing 3 strips
@ pos
difference between shower cell and predicted track in +/- 1 cells
@ topoetcone20
Topo cluster ET in a cone with half-opening angle 0.20.
@ deltaPhi3
difference between the cluster eta (3rd sampling) and the eta of the track extrapolated to the 3rd sa...
@ asy1
uncorr asymmetry in 3 strips in the 1st sampling
const unsigned int AuthorSofte
Electron reconstructed by the track-based algorithm.
@ deltaPhi3
difference between the cluster eta (3rd sampling) and the eta of the track extrapolated to the 3rd sa...
@ deltaPhiFromLastMeasurement
difference between the cluster phi (sampling 2) and the eta of the track extrapolated from the last m...
@ deltaPhi1
difference between the cluster eta (1st sampling) and the eta of the track extrapolated to the 1st sa...
@ deltaEta2
difference between the cluster eta (second sampling) and the eta of the track extrapolated to the sec...
@ deltaEta0
difference between the cluster eta (presampler) and the eta of the track extrapolated to the presampl...
@ deltaPhi0
difference between the cluster phi (presampler) and the eta of the track extrapolated to the presampl...
@ deltaEta3
difference between the cluster eta (3rd sampling) and the eta of the track extrapolated to the 3rd sa...
@ deltaPhiRescaled2
difference between the cluster phi (second sampling) and the phi of the track extrapolated to the sec...
@ deltaPhi2
difference between the cluster phi (second sampling) and the phi of the track extrapolated to the sec...
@ deltaEta1
difference between the cluster eta (first sampling) and the eta of the track extrapolated to the firs...
@ e235
uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 3x5
@ e337
uncalibrated energy (sum of cells) of the third 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...
@ 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=...
@ f3core
E3(3x3)/E fraction of the energy reconstructed in the third compartment of the electromagnetic calori...
@ ethad1
transverse energy in the first sampling of the hadronic calorimeters behind the cluster calculated fr...
@ e277
uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 7x7
@ e237
uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 3x7
@ ethad
ET leakage into hadronic calorimeter with exclusion of energy in CaloSampling::TileGap3.
@ e1152
uncalibrated energy (sum of cells) in strips in a 15x2 window in cells in eta X phi
@ f3
fraction of energy reconstructed in 3rd sampling
@ poscs2
relative position in eta within cell in 2nd sampling
@ ecore
core energy in em calo E(core) = E0(3x3) + E1(15x2) + E2(5x5) + E3(3x5)
@ f1
E1/E = fraction of energy reconstructed in the first sampling, where E1 is energy in all strips belon...
@ pos
difference between shower cell and predicted track in +/- 1 cells
@ widths2
same as egammaParameters::weta2 but without corrections on particle impact point inside the cell
@ e2ts1
2nd max in strips calc by summing 3 strips
@ poscs1
relative position in eta within cell in 1st sampling
@ Eratio
(emaxs1-e2tsts1)/(emaxs1+e2tsts1)
@ e335
uncalibrated energy (sum of cells) of the third sampling in a rectangle of size 3x5
@ e377
uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 7x7
@ e333
uncalibrated energy (sum of cells) of the third sampling in a rectangle of size 3x3
@ emaxs1
energy of strip with maximal energy deposit
@ e255
uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 5x5
@ ehad1
E leakage into 1st sampling of had calo (CaloSampling::HEC0 + CaloSampling::TileBar0 + CaloSampling::...
@ barys1
barycentre in sampling 1 calculated in 3 strips
@ e233
uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 3x3 (in cell units e...
@ asy1
uncorr asymmetry in 3 strips in the 1st sampling
@ e033
uncalibrated energy (sum of cells) in presampler in a 3x3 window in cells in eta X phi
@ e132
uncalibrated energy (sum of cells) in strips in a 3x2 window in cells in eta X phi
@ fracs1
shower shape in the shower core : [E(+/-3)-E(+/-1)]/E(+/-1), where E(+/-n) is the energy in ± n strip...
@ r33over37allcalo
1-ratio of energy in 3x3 over 3x7 cells; E(3x3) = E0(1x1) + E1(3x1) + E2(3x3) + E3(3x3); E(3x7) = E0(...
@ weta2
the lateral width is calculated with a window of 3x5 cells using the energy weighted sum over all cel...
@ e011
uncalibrated energy (sum of cells) in presampler in a 1x1 window in cells in eta X phi
@ weta1
shower width using +/-3 strips around the one with the maximal energy deposit: w3 strips = sqrt{sum(E...
@ e2tsts1
energy of the cell corresponding to second energy maximum in the first sampling
@ emins1
energy reconstructed in the strip with the minimal value between the first and second maximum
@ widths1
same as egammaParameters::weta1 but without corrections on particle impact point inside the cell
@ f1core
E1(3x1)/E = fraction of the energy reconstructed in the first longitudinal compartment of the electro...
IsolationType
Overall enumeration for isolation types in xAOD files.
@ topoetcone20
Topo-cluster ET-sum.
@ etcone20
Calorimeter isolation.
ElectronContainer_v1 ElectronContainer
Definition of the current "electron container version".
CaloCluster_v1 CaloCluster
Define the latest version of the calorimeter cluster class.
Electron_v1 Electron
Definition of the current "egamma version".