|
ATLAS Offline Software
|
Go to the documentation of this file.
4 #ifndef DERIVATIONFRAMEWORK_FourLeptonVertexingAlgorithm_H
5 #define DERIVATIONFRAMEWORK_FourLeptonVertexingAlgorithm_H
49 "Location of the input muon container in the StoreGate"};
51 "Location of the electron container in the store gate"};
54 ToolHandle<CP::IMuonSelectionTool>
m_muonSelTool{
this,
"MuonSelectionTool",
"",
55 "Applied preselection on the muons. Will be ignored if empty"};
56 ToolHandle<IAsgElectronLikelihoodTool>
m_elecSelTool{
this,
"ElectronSelectionTool",
"",
57 "Applied preselection on the electrons. Will be ignored if empty"};
59 ToolHandle<Trk::IVertexFitter>
m_fitter{
this,
"VertexFitter",
"",
"Vertex fitter tool"};
62 "Minimum pt cut applied on the muon -- Unfortunately not handled by the MST"};
65 using MuonTrk = xAOD::Muon::TrackParticleType;
66 Gaudi::Property<int>
m_muonTrkProp{
this,
"PickMuonTrk", MuonTrk::InnerDetectorTrackParticle,
67 "Pick the proper track particle from the muon"};
71 "If this property is set to true it will pick up the electron GSF track"};
74 "All leptons in the quadruplet have to be seperated from each other by maximum"};
83 Gaudi::Property<float>
m_VtxChi2Cut{
this,
"VertexChi2Cut", 20,
"Maximal chii n.D.o.F cut on the reconstructed vertex" };
87 Gaudi::Property<bool>
m_pruneCov{
this,
"PruneCovariance",
true,
"Clears the covariance vector"};
88 Gaudi::Property<bool>
m_pruneWeight{
this,
"PruneTrackWeights",
true,
"Clears the track weight vector"};
Property holding a SG store/key/clid from which a ReadHandle is made.
Gaudi::Property< float > m_VtxChi2Cut
Gaudi::Property< float > m_z0Cut
Gaudi::Property< float > m_minMuonPt
SG::WriteHandleKey< xAOD::VertexContainer > m_vtxKey
std::array< std::atomic< unsigned int >, 8 > m_num_lep ATLAS_THREAD_SAFE
Simple counter to evaluate the number of leptons per event.
SG::ReadHandleKey< xAOD::ElectronContainer > m_elecKey
std::unique_ptr< xAOD::Vertex > fitQuadruplet(const EventContext &ctx, const LeptonQuadruplet &quad) const
StatusCode finalize() override
Gaudi::Property< float > m_highPair_Cut
std::vector< LeptonQuadruplet > buildAllQuadruplets(const EventContext &ctx) const
Property holding a SG store/key/clid from which a ReadHandle is made.
Class providing the definition of the 4-vector interface.
SG::ReadHandleKey< xAOD::EventInfo > m_evtKey
const xAOD::TrackParticle * trackParticle(const xAOD::IParticle *part) const
An algorithm that can be simultaneously executed in multiple threads.
Gaudi::Property< float > m_SubLeadPtCut
FourLeptonVertexingAlgorithm(const std::string &n, ISvcLocator *p)
xAOD::Muon::TrackParticleType MuonTrk
StatusCode initialize() override
Property holding a SG store/key/clid from which a WriteHandle is made.
::StatusCode StatusCode
StatusCode definition for legacy code.
ToolHandle< IAsgElectronLikelihoodTool > m_elecSelTool
ToolHandle< CP::IMuonSelectionTool > m_muonSelTool
Gaudi::Property< float > m_minElecPt
Property holding a SG store/key/clid from which a WriteHandle is made.
Gaudi::Property< float > m_lowSFOS_Cut
StatusCode execute(const EventContext &ctx) const override
Gaudi::Property< int > m_muonTrkProp
int charge(const xAOD::IParticle *part) const
ToolHandle< Trk::IVertexFitter > m_fitter
std::array< const xAOD::IParticle *, 4 > LeptonQuadruplet
Gaudi::Property< bool > m_pruneWeight
Gaudi::Property< bool > m_elecUseGSF
Class describing a TrackParticle.
Define macros for attributes used to control the static checker.
Gaudi::Property< bool > m_pruneCov
bool passSelection(const xAOD::Electron *elec) const
std::atomic< unsigned int > m_good_fits
How many vertex fits were actually successful.
std::atomic< unsigned int > m_tried_fits
How many vertex fits were attempted.
SG::ReadHandleKey< xAOD::MuonContainer > m_muonKey
Input containers.
Gaudi::Property< float > m_LeadPtCut