![]() |
ATLAS Offline Software
|
EMConversion data object builder. More...
#include <EMConversionBuilder.h>
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< StoreGateSvc > | StoreGateSvc_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::VertexContainer > | m_conversionContainerKey |
| Name of conversion container. | |
| ToolHandle< IEMExtrapolationTools > | m_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 |
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.
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.
|
privateinherited |
Definition at line 388 of file AthCommonDataStore.h.
| EMConversionBuilder::EMConversionBuilder | ( | const std::string & | type, |
| const std::string & | name, | ||
| const IInterface * | parent ) |
Default constructor.
Definition at line 77 of file EMConversionBuilder.cxx.
|
virtualdefault |
Destructor.
|
inlineprivateinherited |
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
|
inlineinherited |
Definition at line 145 of file AthCommonDataStore.h.
|
inlineinherited |
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
Definition at line 95 of file AthCommonDataStore.h.
|
inlineinherited |
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
Definition at line 85 of file AthCommonDataStore.h.
|
finaloverridevirtual |
execute method
Implements IEMConversionBuilder.
Definition at line 106 of file EMConversionBuilder.cxx.
|
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
|
private |
Return the maximum fraction of TRT tube hits among the tracks.
Definition at line 217 of file EMConversionBuilder.cxx.
|
finaloverridevirtual |
initialize method
Implements IEMConversionBuilder.
Definition at line 88 of file EMConversionBuilder.cxx.
|
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.
|
inlinestaticinherited |
AlgTool interface methods.
Definition at line 48 of file IEMConversionBuilder.h.
|
inlineinherited |
Definition at line 24 of file AthCommonMsg.h.
|
inlineinherited |
Definition at line 30 of file AthCommonMsg.h.
|
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.
|
private |
Return true if vertex and cluster pass Pt and E/p cuts.
Definition at line 179 of file EMConversionBuilder.cxx.
|
inlineprotectedinherited |
Definition at line 380 of file AthCommonDataStore.h.
|
inlineprotectedinherited |
remove all handles from I/O resolution
Definition at line 364 of file AthCommonDataStore.h.
|
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.
|
overridevirtualinherited |
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
|
inlineinherited |
Definition at line 308 of file AthCommonDataStore.h.
|
private |
actual implementation method
Definition at line 123 of file EMConversionBuilder.cxx.
|
private |
Name of conversion container.
Definition at line 78 of file EMConversionBuilder.h.
|
privateinherited |
Pointer to StoreGate (detector store by default)
Definition at line 393 of file AthCommonDataStore.h.
|
privateinherited |
Pointer to StoreGate (event store by default)
Definition at line 390 of file AthCommonDataStore.h.
|
private |
Definition at line 86 of file EMConversionBuilder.h.
|
private |
maximum E/p for single track conversion vertices (E is not calibrated)
Definition at line 155 of file EMConversionBuilder.h.
|
private |
Scale maxEoverP_singleTrack by 1+sf*Et(cluster)/GeV.
Definition at line 163 of file EMConversionBuilder.h.
|
private |
"Maximum fraction of tube hits for vertices with TRT tracks
Definition at line 171 of file EMConversionBuilder.h.
|
private |
minimum pT for single-track conversion vertices
Definition at line 113 of file EMConversionBuilder.h.
|
private |
minimum pT for TRT-only single-track conversion vertices
Definition at line 121 of file EMConversionBuilder.h.
|
private |
minimum sum pT for double track conversion vertices
Definition at line 138 of file EMConversionBuilder.h.
|
private |
minimum sum pT for double TRT track conversion vertices
Definition at line 146 of file EMConversionBuilder.h.
|
private |
minimum number of TRT hits for TRT-only tracks (both single and double track conversion vertices)
Definition at line 104 of file EMConversionBuilder.h.
|
private |
minimum pT for each track in TRT-only double-track conversion vertices
Definition at line 130 of file EMConversionBuilder.h.
|
private |
Ignore all conversion vertices that contain exclusively TRT-only tracks.
Definition at line 95 of file EMConversionBuilder.h.
|
privateinherited |
Definition at line 399 of file AthCommonDataStore.h.
|
privateinherited |
Definition at line 398 of file AthCommonDataStore.h.