ATLAS Offline Software
Loading...
Searching...
No Matches
EMConversionBuilder Class Referencefinal

EMConversion data object builder. More...

#include <EMConversionBuilder.h>

Inheritance diagram for EMConversionBuilder:
Collaboration diagram for EMConversionBuilder:

Public Member Functions

 EMConversionBuilder (const std::string &type, const std::string &name, const IInterface *parent)
 Default constructor.
virtual ~EMConversionBuilder ()=default
 Destructor.
StatusCode initialize () override final
 initialize method
virtual StatusCode executeRec (const EventContext &ctx, egammaRec *egRec) const override final
 execute method
ServiceHandle< StoreGateSvc > & evtStore ()
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
const ServiceHandle< StoreGateSvc > & detStore () const
 The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
virtual StatusCode sysInitialize () override
 Perform system initialization for an algorithm.
virtual StatusCode sysStart () override
 Handle START transition.
virtual std::vector< Gaudi::DataHandle * > inputHandles () const override
 Return this algorithm's input handles.
virtual std::vector< Gaudi::DataHandle * > outputHandles () const override
 Return this algorithm's output handles.
Gaudi::Details::PropertyBase & declareProperty (Gaudi::Property< T, V, H > &t)
void updateVHKA (Gaudi::Details::PropertyBase &)
MsgStream & msg () const
bool msgLvl (const MSG::Level lvl) const

Static Public Member Functions

static const InterfaceID & interfaceID ()
 AlgTool interface methods.

Protected Member Functions

void renounceArray (SG::VarHandleKeyArray &handlesArray)
 remove all handles from I/O resolution
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.

Private Types

typedef ServiceHandle< StoreGateSvcStoreGateSvc_t

Private Member Functions

StatusCode vertexExecute (const EventContext &ctx, egammaRec *egRec, const xAOD::VertexContainer *conversions) const
 actual implementation method
bool passPtAndEoverP (const EventContext &ctx, const xAOD::Vertex &, const xAOD::CaloCluster &) const
 Return true if vertex and cluster pass Pt and E/p cuts.
float getMaxTRTTubeHitFraction (const xAOD::Vertex &vertex) const
 Return the maximum fraction of TRT tube hits among the tracks.
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey>

Private Attributes

SG::ReadHandleKey< xAOD::VertexContainerm_conversionContainerKey
 Name of conversion container.
ToolHandle< IEMExtrapolationToolsm_extrapolationTool
 EMExtrapolationTools.
Gaudi::Property< bool > m_rejectAllTRT
 Ignore all conversion vertices that contain exclusively TRT-only tracks.
Gaudi::Property< int > m_minTRTHits
 minimum number of TRT hits for TRT-only tracks (both single and double track conversion vertices)
Gaudi::Property< float > m_minPt_singleTrack
 minimum pT for single-track conversion vertices
Gaudi::Property< float > m_minPt_singleTRT
 minimum pT for TRT-only single-track conversion vertices
Gaudi::Property< float > m_minTRTonlyTrackPt
 minimum pT for each track in TRT-only double-track conversion vertices
Gaudi::Property< float > m_minSumPt_double
 minimum sum pT for double track conversion vertices
Gaudi::Property< float > m_minSumPt_doubleTRT
 minimum sum pT for double TRT track conversion vertices
Gaudi::Property< float > m_maxEoverP_singleTrack
 maximum E/p for single track conversion vertices (E is not calibrated)
Gaudi::Property< float > m_maxEoverP_singleTrack_EtSf
 Scale maxEoverP_singleTrack by 1+sf*Et(cluster)/GeV.
Gaudi::Property< float > m_maxTRTTubeHitFraction
 "Maximum fraction of tube hits for vertices with TRT tracks
StoreGateSvc_t m_evtStore
 Pointer to StoreGate (event store by default)
StoreGateSvc_t m_detStore
 Pointer to StoreGate (detector store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
bool m_varHandleArraysDeclared

Detailed Description

EMConversion data object builder.

This is an Algorithm class. Selects conversion vertices reconstructed by the ID software after matching them to an EM calorimeter cluster. For normal two-track conversions the original photon track parameters at the conversion vertex are reconstructed. It is then extrapolated to the calorimeter and checked whether it matches the cluster. For single-track conversions, the reconstructed electron track is extrapolated to the calorimeter. A TrackToCalo extrapolation tool that can handle both neutral and charged track parameters (using a Trk::ParametersBase interface) is used throughout. The extrapolation starts at the last track measurement. Matching is done in both eta and phi. The eta matching WAS disabled for TRT-only tracks due to lack of accurate eta prediction BEFORE 12/2011.

Author
D. Zerwas

changes: June 16, 2010 (JM) bring some stuff from PhotonRecoveryTool here Mar, 2014 (BL) xAOD migration and new logic 2020 Athena Mt migration.

Definition at line 42 of file EMConversionBuilder.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

◆ EMConversionBuilder()

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

Default constructor.

Definition at line 77 of file EMConversionBuilder.cxx.

80 : AthAlgTool(type, name, parent)
81{
82
83 // declare interface
84 declareInterface<IEMConversionBuilder>(this);
85}
AthAlgTool()
Default constructor:

◆ ~EMConversionBuilder()

virtual EMConversionBuilder::~EMConversionBuilder ( )
virtualdefault

Destructor.

Member Function Documentation

◆ declareGaudiProperty()

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

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

Definition at line 156 of file AthCommonDataStore.h.

158 {
160 hndl.value(),
161 hndl.documentation());
162
163 }
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)

◆ declareProperty()

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

Definition at line 145 of file AthCommonDataStore.h.

145 {
146 typedef typename SG::HandleClassifier<T>::type htype;
148 }
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>

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

◆ evtStore()

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.

◆ executeRec()

StatusCode EMConversionBuilder::executeRec ( const EventContext & ctx,
egammaRec * egRec ) const
finaloverridevirtual

execute method

Implements IEMConversionBuilder.

Definition at line 106 of file EMConversionBuilder.cxx.

107{
108 // retrieve Conversion Container
109
110 SG::ReadHandle<xAOD::VertexContainer> conversions(m_conversionContainerKey,
111 ctx);
112
113 // only for serial running; remove for MT
114 ATH_CHECK(conversions.isValid());
115 // reset the vertices
116 std::vector<ElementLink<xAOD::VertexContainer>> vertices;
117 egRec->setVertices(vertices);
118 ATH_CHECK(vertexExecute(ctx, egRec, conversions.cptr()));
119 return StatusCode::SUCCESS;
120}
#define ATH_CHECK
Evaluate an expression and check for errors.
StatusCode vertexExecute(const EventContext &ctx, egammaRec *egRec, const xAOD::VertexContainer *conversions) const
actual implementation method
SG::ReadHandleKey< xAOD::VertexContainer > m_conversionContainerKey
Name of conversion container.
void setVertices(const std::vector< ElementLink< xAOD::VertexContainer > > &links)
set Pointer to the xAOD::vertex/vertices that match the photon candidate

◆ 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

◆ getMaxTRTTubeHitFraction()

float EMConversionBuilder::getMaxTRTTubeHitFraction ( const xAOD::Vertex & vertex) const
private

Return the maximum fraction of TRT tube hits among the tracks.

Definition at line 217 of file EMConversionBuilder.cxx.

218{
219 auto getTRTTubeHitFraction = [](const xAOD::TrackParticle* trk) {
220 uint8_t nTRT;
221 uint8_t nTRTTube;
222 if (!trk || !trk->summaryValue(nTRT, xAOD::numberOfTRTHits) || !nTRT)
223 return 0.;
224 return trk->summaryValue(nTRTTube, xAOD::numberOfTRTTubeHits)
225 ? 1. * nTRTTube / nTRT
226 : 0.;
227 };
228
229 float maxTubeHitFraction = 0.;
230 for (unsigned int i = 0; i < vertex.nTrackParticles(); ++i) {
231 if (!vertex.trackParticle(i)) {
232 ATH_MSG_WARNING("NULL pointer to track particle in conversion vertex");
233 } else {
234 float tubeHitFraction = getTRTTubeHitFraction(vertex.trackParticle(i));
235 if (tubeHitFraction > maxTubeHitFraction) {
236 maxTubeHitFraction = tubeHitFraction;
237 }
238 }
239 }
240 return maxTubeHitFraction;
241}
#define ATH_MSG_WARNING(x)
TrackParticle_v1 TrackParticle
Reference the current persistent version:
@ numberOfTRTHits
number of TRT hits [unit8_t].
@ numberOfTRTTubeHits
number of TRT tube hits [unit8_t].

◆ initialize()

StatusCode EMConversionBuilder::initialize ( )
finaloverridevirtual

initialize method

Implements IEMConversionBuilder.

Definition at line 88 of file EMConversionBuilder.cxx.

89{
90
91 ATH_MSG_DEBUG("Initializing EMConversionBuilder");
92
94
95 // the extrapolation tool
96 if (m_extrapolationTool.retrieve().isFailure()) {
97 ATH_MSG_ERROR("Cannot retrieve extrapolationTool " << m_extrapolationTool);
98 return StatusCode::FAILURE;
99 }
100 ATH_MSG_DEBUG("Retrieved extrapolationTool " << m_extrapolationTool);
101
102 return StatusCode::SUCCESS;
103}
#define ATH_MSG_ERROR(x)
#define ATH_MSG_DEBUG(x)
ToolHandle< IEMExtrapolationTools > m_extrapolationTool
EMExtrapolationTools.

◆ inputHandles()

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

Return this algorithm's input handles.

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

◆ interfaceID()

const InterfaceID & IEMConversionBuilder::interfaceID ( )
inlinestaticinherited

AlgTool interface methods.

Definition at line 48 of file IEMConversionBuilder.h.

49{
51}
static const InterfaceID IID_IEMConversionBuilder("IEMConversionBuilder", 1, 0)

◆ msg()

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

Definition at line 24 of file AthCommonMsg.h.

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

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

◆ passPtAndEoverP()

bool EMConversionBuilder::passPtAndEoverP ( const EventContext & ctx,
const xAOD::Vertex & vertex,
const xAOD::CaloCluster & cluster ) const
private

Return true if vertex and cluster pass Pt and E/p cuts.

Definition at line 179 of file EMConversionBuilder.cxx.

182{
184 m_extrapolationTool->getMomentumAtVertex(ctx, vertex);
185 float pt = momentum.perp();
186 float EoverP = cluster.e() / momentum.mag();
187
188 auto convType = xAOD::EgammaHelpers::conversionType(&vertex);
189 bool isSingle = (convType == singleTRT || convType == singleSi);
190 bool isTRT =
191 (convType == singleTRT || convType == xAOD::EgammaParameters::doubleTRT);
192 float EoverPcut = m_maxEoverP_singleTrack *
193 (1 + m_maxEoverP_singleTrack_EtSf * cluster.et() * 1e-3);
194
195 // Check TRT tube hit fraction
196 float tubeHitFraction = getMaxTRTTubeHitFraction(vertex);
197 if (isTRT && tubeHitFraction > m_maxTRTTubeHitFraction) {
198 ATH_MSG_DEBUG("Conversion failed cut on TRT tube hit fraction: "
199 << tubeHitFraction << " vs. " << m_maxTRTTubeHitFraction);
200 return false;
201 }
202
203 bool reject =
204 ((isTRT && m_rejectAllTRT) || (isSingle && pt < m_minPt_singleTrack) ||
205 (!isSingle && pt < m_minSumPt_double) ||
206 (isSingle && EoverP > EoverPcut) ||
207 (convType == singleTRT && pt < m_minPt_singleTRT) ||
208 (convType == doubleTRT && pt < m_minSumPt_doubleTRT));
209
210 if (reject) {
211 ATH_MSG_DEBUG("Conversion failed pt or E/p cuts");
212 }
213 return !reject;
214}
Gaudi::Property< float > m_minPt_singleTrack
minimum pT for single-track conversion vertices
float getMaxTRTTubeHitFraction(const xAOD::Vertex &vertex) const
Return the maximum fraction of TRT tube hits among the tracks.
Gaudi::Property< float > m_maxEoverP_singleTrack
maximum E/p for single track conversion vertices (E is not calibrated)
Gaudi::Property< float > m_minSumPt_doubleTRT
minimum sum pT for double TRT track conversion vertices
Gaudi::Property< bool > m_rejectAllTRT
Ignore all conversion vertices that contain exclusively TRT-only tracks.
Gaudi::Property< float > m_minSumPt_double
minimum sum pT for double track conversion vertices
Gaudi::Property< float > m_minPt_singleTRT
minimum pT for TRT-only single-track conversion vertices
Gaudi::Property< float > m_maxTRTTubeHitFraction
"Maximum fraction of tube hits for vertices with TRT tracks
Gaudi::Property< float > m_maxEoverP_singleTrack_EtSf
Scale maxEoverP_singleTrack by 1+sf*Et(cluster)/GeV.
virtual double e() const
The total energy of the particle.
Eigen::Matrix< double, 3, 1 > Vector3D
xAOD::EgammaParameters::ConversionType conversionType(const xAOD::Photon *ph)
return the photon conversion type (see EgammaEnums)
@ singleSi
one track only, with Si hits
@ doubleTRT
two tracks, none with Si hits (TRT only)
@ singleTRT
one track only, no Si hits (TRT only)

◆ 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();
384 }
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)

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

◆ sysInitialize()

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

Perform system initialization for an algorithm.

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

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

◆ 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) {
313 for (auto k : keys) {
314 k->setOwner(this);
315 }
316 }
317 }
std::vector< SG::VarHandleKeyArray * > m_vhka

◆ vertexExecute()

StatusCode EMConversionBuilder::vertexExecute ( const EventContext & ctx,
egammaRec * egRec,
const xAOD::VertexContainer * conversions ) const
private

actual implementation method

Definition at line 123 of file EMConversionBuilder.cxx.

127{
128
129 if (!egRec || !conversions) {
131 "trackExecute: NULL pointer to egammaRec or VertexContainer");
132 return StatusCode::SUCCESS;
133 }
134
135 static const SG::AuxElement::Accessor<float> accetaAtCalo("etaAtCalo");
136 static const SG::AuxElement::Accessor<float> accphiAtCalo("phiAtCalo");
137
138 float etaAtCalo(0);
139 float phiAtCalo(0);
140 for (unsigned int iVtx = 0; iVtx < conversions->size(); ++iVtx) {
141
142 const xAOD::Vertex* vertex = conversions->at(iVtx);
143 // Check if vertex was already decorated with etaAtCalo, phiAtCalo
144 if (accetaAtCalo.isAvailable(*vertex) &&
145 accphiAtCalo.isAvailable(*vertex)) {
146 etaAtCalo = accetaAtCalo(*vertex);
147 phiAtCalo = accphiAtCalo(*vertex);
148 }
149 // check extrapolation, skip vertex in case of failure
150 else if (!m_extrapolationTool->getEtaPhiAtCalo(
151 ctx, vertex, &etaAtCalo, &phiAtCalo)) {
152 continue;
153 }
154 const xAOD::CaloCluster* cluster = egRec->caloCluster();
155 if (!passPtAndEoverP(ctx, *vertex, *cluster)) {
156 continue;
157 }
158 if (!m_extrapolationTool->matchesAtCalo(
159 cluster, vertex, etaAtCalo, phiAtCalo)) {
160 continue;
161 }
162 const ElementLink<xAOD::VertexContainer> vertexLink(*conversions, iVtx, ctx);
163
164 // If this is the best (or the first) vertex, push front and keep deltaEta,
165 // deltaPhi
166 if (!egRec->getNumberOfVertices() ||
167 ConvVxSorter(*vertex, *egRec->vertex())) {
168 egRec->pushFrontVertex(vertexLink);
169 egRec->setDeltaEtaVtx(cluster->etaBE(2) - etaAtCalo);
170 egRec->setDeltaPhiVtx(P4Helpers::deltaPhi(cluster->phiBE(2), phiAtCalo));
171 } else { // Not the best vertex, push back
172 egRec->pushBackVertex(vertexLink);
173 }
174 }
175 return StatusCode::SUCCESS;
176}
const T * at(size_type n) const
Access an element, as an rvalue.
size_type size() const noexcept
Returns the number of elements in the collection.
bool passPtAndEoverP(const EventContext &ctx, const xAOD::Vertex &, const xAOD::CaloCluster &) const
Return true if vertex and cluster pass Pt and E/p cuts.
void pushBackVertex(const ElementLink< xAOD::VertexContainer > &vertexElementLink)
Push back another vertex.
Definition egammaRec.cxx:76
void pushFrontVertex(const ElementLink< xAOD::VertexContainer > &vertexElementLink)
Push front another vertex.
Definition egammaRec.cxx:82
const xAOD::Vertex * vertex(size_t index=0) const
Pointer to the xAOD::Vertex/es that match the photon candidate.
Definition egammaRec.cxx:54
void setDeltaPhiVtx(float value)
set deltaPhiVtx
const xAOD::CaloCluster * caloCluster(size_t index=0) const
Pointer to the xAOD::CaloCluster/s that define the electron candidate.
Definition egammaRec.cxx:8
void setDeltaEtaVtx(float value)
set deltaEtaVtx
size_t getNumberOfVertices() const
Return the number xAOD::Vertex/vertices that match the photon candidate.
float phiBE(const unsigned layer) const
Get the phi in one layer of the EM Calo.
float etaBE(const unsigned layer) const
Get the eta in one layer of the EM Calo.
double deltaPhi(double phiA, double phiB)
delta Phi in range [-pi,pi[
Definition P4Helpers.h:34
CaloCluster_v1 CaloCluster
Define the latest version of the calorimeter cluster class.
Vertex_v1 Vertex
Define the latest version of the vertex class.

Member Data Documentation

◆ m_conversionContainerKey

SG::ReadHandleKey<xAOD::VertexContainer> EMConversionBuilder::m_conversionContainerKey
private
Initial value:
{
this,
"ConversionContainerName",
"PhotonConversionVertices",
"Name of the input conversion container"
}

Name of conversion container.

Definition at line 78 of file EMConversionBuilder.h.

78 {
79 this,
80 "ConversionContainerName",
81 "PhotonConversionVertices",
82 "Name of the input conversion container"
83 };

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

ToolHandle<IEMExtrapolationTools> EMConversionBuilder::m_extrapolationTool
private
Initial value:
{
this,
"ExtrapolationTool",
"EMExtrapolationTools",
"Handle of the extrapolation tool"
}

EMExtrapolationTools.

Definition at line 86 of file EMConversionBuilder.h.

86 {
87 this,
88 "ExtrapolationTool",
89 "EMExtrapolationTools",
90 "Handle of the extrapolation tool"
91 };

◆ m_maxEoverP_singleTrack

Gaudi::Property<float> EMConversionBuilder::m_maxEoverP_singleTrack
private
Initial value:
{
this,
"maxEoverP_singleTrack",
10.,
"Maximum E/p for single track conversion vertices"
}

maximum E/p for single track conversion vertices (E is not calibrated)

Definition at line 155 of file EMConversionBuilder.h.

155 {
156 this,
157 "maxEoverP_singleTrack",
158 10.,
159 "Maximum E/p for single track conversion vertices"
160 };

◆ m_maxEoverP_singleTrack_EtSf

Gaudi::Property<float> EMConversionBuilder::m_maxEoverP_singleTrack_EtSf
private
Initial value:
{
this,
"maxEoverP_singleTrack_EtSf",
0.01,
"Scale maxEoverP_singleTrack by ( 1+sf*Et(cluster)/GeV )"
}

Scale maxEoverP_singleTrack by 1+sf*Et(cluster)/GeV.

Definition at line 163 of file EMConversionBuilder.h.

163 {
164 this,
165 "maxEoverP_singleTrack_EtSf",
166 0.01,
167 "Scale maxEoverP_singleTrack by ( 1+sf*Et(cluster)/GeV )"
168 };

◆ m_maxTRTTubeHitFraction

Gaudi::Property<float> EMConversionBuilder::m_maxTRTTubeHitFraction
private
Initial value:
{
this,
"maxTRTTubeHitFraction",
999.,
"Maximum fraction of tube hits for vertices with TRT tracks"
}

"Maximum fraction of tube hits for vertices with TRT tracks

Definition at line 171 of file EMConversionBuilder.h.

171 {
172 this,
173 "maxTRTTubeHitFraction",
174 999.,
175 "Maximum fraction of tube hits for vertices with TRT tracks"
176 };

◆ m_minPt_singleTrack

Gaudi::Property<float> EMConversionBuilder::m_minPt_singleTrack
private
Initial value:
{
this,
"minPt_singleTrack",
0 * Gaudi::Units::GeV,
"minimum pT for single-track conversion vertices"
}

minimum pT for single-track conversion vertices

Definition at line 113 of file EMConversionBuilder.h.

113 {
114 this,
115 "minPt_singleTrack",
116 0 * Gaudi::Units::GeV,
117 "minimum pT for single-track conversion vertices"
118 };

◆ m_minPt_singleTRT

Gaudi::Property<float> EMConversionBuilder::m_minPt_singleTRT
private
Initial value:
{
this,
"minPt_singleTRT",
2 * Gaudi::Units::GeV,
"minimum pT for TRT-only single-track conversion vertices"
}

minimum pT for TRT-only single-track conversion vertices

Definition at line 121 of file EMConversionBuilder.h.

121 {
122 this,
123 "minPt_singleTRT",
124 2 * Gaudi::Units::GeV,
125 "minimum pT for TRT-only single-track conversion vertices"
126 };

◆ m_minSumPt_double

Gaudi::Property<float> EMConversionBuilder::m_minSumPt_double
private
Initial value:
{
this,
"minSumPt_double",
0 * Gaudi::Units::GeV,
"minimum sum pT for double track conversion vertices"
}

minimum sum pT for double track conversion vertices

Definition at line 138 of file EMConversionBuilder.h.

138 {
139 this,
140 "minSumPt_double",
141 0 * Gaudi::Units::GeV,
142 "minimum sum pT for double track conversion vertices"
143 };

◆ m_minSumPt_doubleTRT

Gaudi::Property<float> EMConversionBuilder::m_minSumPt_doubleTRT
private
Initial value:
{
this,
"minSumPt_doubleTRT",
2 * Gaudi::Units::GeV,
"minimum sum pT for double TRT track conversion vertices"
}

minimum sum pT for double TRT track conversion vertices

Definition at line 146 of file EMConversionBuilder.h.

146 {
147 this,
148 "minSumPt_doubleTRT",
149 2 * Gaudi::Units::GeV,
150 "minimum sum pT for double TRT track conversion vertices"
151 };

◆ m_minTRTHits

Gaudi::Property<int> EMConversionBuilder::m_minTRTHits
private
Initial value:
{
this,
"minTRTHits",
0,
"minimum number of TRT hits for TRT-only tracks (both single and double "
"track conversion vertices)"
}

minimum number of TRT hits for TRT-only tracks (both single and double track conversion vertices)

Definition at line 104 of file EMConversionBuilder.h.

104 {
105 this,
106 "minTRTHits",
107 0,
108 "minimum number of TRT hits for TRT-only tracks (both single and double "
109 "track conversion vertices)"
110 };

◆ m_minTRTonlyTrackPt

Gaudi::Property<float> EMConversionBuilder::m_minTRTonlyTrackPt
private
Initial value:
{
this,
"minTRTonlyTrackPt",
0 * Gaudi::Units::GeV,
"minimum pT for each track in TRT-only double-track conversion vertices"
}

minimum pT for each track in TRT-only double-track conversion vertices

Definition at line 130 of file EMConversionBuilder.h.

130 {
131 this,
132 "minTRTonlyTrackPt",
133 0 * Gaudi::Units::GeV,
134 "minimum pT for each track in TRT-only double-track conversion vertices"
135 };

◆ m_rejectAllTRT

Gaudi::Property<bool> EMConversionBuilder::m_rejectAllTRT
private
Initial value:
{
this,
"RejectAllTRTConversions",
false,
"Ignore all conversion vertices containing exclusively TRT-only tracks"
}

Ignore all conversion vertices that contain exclusively TRT-only tracks.

Definition at line 95 of file EMConversionBuilder.h.

95 {
96 this,
97 "RejectAllTRTConversions",
98 false,
99 "Ignore all conversion vertices containing exclusively TRT-only tracks"
100 };

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