|
ATLAS Offline Software
|
Go to the documentation of this file.
29 #define CHECK_HITS(EXP) \
31 ATH_MSG_WARNING("Failed \"" << #EXP << "\""); \
39 :
asg::AsgTool(myname)
44 "Minimum number of silicon hits to be an electron==>not photon for sure");
48 "Minimum number of Pixel hits to be an electron==>not photon for sure");
51 "Maximum EoverP , more that this is ambiguous");
53 "minPCut",
m_minPtCut = 2000,
"Minimum Pt, less than that is ambiguous");
56 "Maximum value for Rconv - RfirstHit for Si+Si conversions "
57 "where both tracks have innermost hits");
60 "If true classify as ambiguous when there is no vertex and "
62 "If false classify no vertex as for sure not photon");
65 "When used as a selector accept the ambiguous as default");
70 return StatusCode::SUCCESS;
97 trkSiHits += trkPixelHits;
114 ATH_MSG_DEBUG(
"Vertex, SiSi, tracks with innermost pixel hits: "
115 << (vx !=
nullptr) <<
", " << vxDoubleSi <<
", " << nTrkVxWithInnermostHit);
116 ATH_MSG_DEBUG(
"Track, Si hits, pixel hits, has innermost pixel hit: "
117 << (
tp !=
nullptr) <<
", " << (
int) trkSiHits <<
", " << (
int) trkPixelHits
118 <<
" , " << (
int) trkHasInnermostHit);
139 (vxDoubleSi && !trkPixelHits && shareTrack)){
149 double track_ep = cluster_e * fabs(
tp->qOverP());
194 ATH_MSG_DEBUG(
"Returning Ambiguous due to no conv vertex and track with "
195 "no innermost hits");
202 if (trkHasInnermostHit && (!vxDoubleSi || nTrkVxWithInnermostHit == 1 ||
220 const double track_p = fabs(1.0/
tp->qOverP());
222 type = !vxDoubleSi || (fabs(track_p - cluster_e) < fabs(vertex_p- cluster_e))?
254 ATH_MSG_DEBUG(
"Author Fwd of Topo seeded. Do not do overlap or ambiguity");
259 if (!
egamma.ambiguousObject()){
313 if (trkNhits) {
return true;}
316 if (trkExpectHit) {
return false;}
319 if (trkNhits) {
return true;}
322 if (trkExpectHit) {
return false;}
345 if (
tp == &trk) {
return true;}
Electron_v1 Electron
Definition of the current "egamma version".
size_t nTrackParticles() const
Get the number of tracks associated with this vertex.
Helper class to provide type-safe access to aux data.
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
@ numberOfPixelHits
these are the pixel hits, including the b-layer [unit8_t].
@ expectInnermostPixelLayerHit
Do we expect a 0th-layer barrel hit for this track?
const uint16_t AuthorFwdElectron
Electron reconstructed by the Forward cluster-based algorithm.
ClusterSize clusterSize() const
Get cluster size.
Description of a calorimeter cluster.
@ expectNextToInnermostPixelLayerHit
Do we expect a 1st-layer barrel hit for this track?
const uint16_t AuthorCaloTopo35
Photon reconstructed by SW CaloTopo35 seeded clusters.
const uint16_t AuthorAmbiguous
Object Reconstructed by standard cluster-based algorithm.
::StatusCode StatusCode
StatusCode definition for legacy code.
Amg::Vector3D momentumAtVertex(const xAOD::Photon *, bool debug=false)
return the momentum at the vertex (which can be 0)
@ doubleSi
two tracks, both with Si hits
const TrackParticle * trackParticle(size_t i) const
Get the pointer to a given track that was used in vertex reco.
unsigned int author() const
Reconstruction Author
@ numberOfNextToInnermostPixelLayerHits
these are the hits in the 1st pixel barrel layer
flt_t altE() const
Get Energy in signal state ALTCALIBRATED.
float conversionRadius(const xAOD::Vertex *vx)
return the conversion radius or 9999.
Photon_v1 Photon
Definition of the current "egamma version".
Class describing a Vertex.
#define ATH_MSG_WARNING(x)
xAOD::EgammaParameters::ConversionType conversionType(const xAOD::Photon *ph)
return the photon conversion type (see EgammaEnums)
const uint16_t AuthorPhoton
Object Reconstructed by standard cluster-based algorithm.
@ numberOfSCTHits
number of hits in SCT [unit8_t].
bool isAvailable(const ELT &e) const
Test to see if this variable exists in the store.
Class describing a TrackParticle.
virtual double e() const
The total energy of the particle.
@ numberOfInnermostPixelLayerHits
these are the hits in the 0th pixel barrel layer
const uint16_t AuthorElectron
Object Reconstructed by standard cluster-based algorithm.