ATLAS Offline Software
Loading...
Searching...
No Matches
HIVertexSelectionTool.h
Go to the documentation of this file.
1// -*- c++ -*-
2
3/*
4 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
5*/
6
7#pragma once
8#ifndef HIEVENTUTILS_HIVERTEXSELECTIONTOOL_H
9#define HIEVENTUTILS_HIVERTEXSELECTIONTOOL_H
10
12#include "AsgTools/AsgTool.h"
13#include "AsgTools/ToolHandle.h"
15
16namespace HI {
17
19 public asg::AsgTool {
23 public:
24
25 HIVertexSelectionTool( const std::string& name );
27
28 virtual StatusCode initialize() override;
29 virtual StatusCode finalize() override;
30 //R.Longo 13-10-2019 - Replacing PATCore/TAccept (inherited from 21.0 HI-equalization)
31 virtual const asg::AcceptInfo& getAcceptInfo() const override;
32 // we have to implement the IParticle function in order to inherit from IAsgSelectionTool
33 // it will throw an exception
34 virtual asg::AcceptData accept( const xAOD::IParticle* ) const override;
35 virtual asg::AcceptData accept( const xAOD::Vertex& ) const override;
36
37 private:
39
40 // configureable properties
41 bool m_requirePrimary = true;
42 double m_maxAbsZ = -1;
43
44 ToolHandle< InDet::IInDetTrackSelectionTool > m_trkSelTool;
45 int m_minNtrk = -1;
46 double m_minRmsPt = -1.;
47 bool m_checkTracks = false; // an internal flag to indicate whether or not to loop over the vertex's track
48
49 };
50}
51
52
53#endif // HIEVENTUTILS_HIVERTEXSELECTIONTOOL_H
#define ASG_TOOL_CLASS2(CLASSNAME, INT1, INT2)
virtual asg::AcceptData accept(const xAOD::IParticle *) const override
The main accept method: the actual cuts are applied here.
virtual const asg::AcceptInfo & getAcceptInfo() const override
Declare the interface ID for this pure-virtual interface class to the Athena framework.
virtual StatusCode initialize() override
double m_maxAbsZ
maximum |z| position of the vertex
ToolHandle< InDet::IInDetTrackSelectionTool > m_trkSelTool
track selection tool which can be optionally used for N_trk and sum pt cuts
ASG_TOOL_CLASS2(HIVertexSelectionTool, IAsgSelectionTool, HI::IHIVertexSelectionTool) public ~HIVertexSelectionTool()
virtual StatusCode finalize() override
bool m_requirePrimary
require the vertex to be of type PriVtx
Base class for the dual-use tool implementation classes.
Definition AsgTool.h:47
Class providing the definition of the 4-vector interface.
Vertex_v1 Vertex
Define the latest version of the vertex class.