ATLAS Offline Software
Loading...
Searching...
No Matches
TrigHitDVHypoTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4#ifndef TRIGLONGLIVEDPARTICLESHYPO_TRIGHITDVHYPOTOOL_H
5#define TRIGLONGLIVEDPARTICLESHYPO_TRIGHITDVHYPOTOOL_H
6
7#include <string>
8
9#include "Gaudi/Property.h"
14
15
16
22
23class TrigHitDVHypoTool : virtual public ::AthAlgTool
24{
25public:
26 TrigHitDVHypoTool( const std::string& type,
27 const std::string& name,
28 const IInterface* parent );
29
30 virtual ~TrigHitDVHypoTool();
31 virtual StatusCode initialize() override;
32
40
41 // seed type enum
42 enum SeedType {
43 HLTJet = 2,
44 SP = 4
45 };
46
50 StatusCode decide( std::vector<HitDVHypoInfo>& ) const;
51
52private:
53
55 Gaudi::Property< std::vector<float> > m_cutJetPtGeV { this, "cutJetPtGeV", { 20.0 }, "Jet pT requirement in GeV" };
56 Gaudi::Property< std::vector<float> > m_cutJetEta { this, "cutJetEta", { 2.5 }, "Jet Eta requirement" };
57 Gaudi::Property< std::vector<float> > m_effBDT { this, "effBDT", { 0.7 }, "Efficiency for BDT cut." };
58 Gaudi::Property< std::vector<bool> > m_doSPseed { this, "doSPseed", { true }, "Switch to do SP seeding" };
59
60 //
61 StatusCode inclusiveSelection(std::vector<HitDVHypoInfo>& ) const;
62 StatusCode multiplicitySelection(std::vector<HitDVHypoInfo>& ) const;
63 bool decideOnSingleObject( HitDVHypoInfo&, size_t, bool ) const;
64
65 //
66 float deltaR(float, float, float, float) const;
67 int getSPLayer(int, float) const;
68 StatusCode findSPSeeds( const xAOD::TrigCompositeContainer*, std::vector<float>&, std::vector<float>& ) const;
69 StatusCode findJetSeeds(const xAOD::JetContainer*, const float, const float, std::vector<float>&, std::vector<float>&) const;
71 const std::vector<float>&, const std::vector<float>&, const float, const int, xAOD::TrigCompositeContainer*, int&) const;
72 float getBDTthreshold_0eta1(float,float) const;
73 float getBDTthreshold_1eta2(float,float) const;
74 float getBDTthreshold(float) const;
75};
76
77#endif //> !TRIGLONGLIVEDPARTICLESHYPO_TRIGHITDVHYPOTOOL_H
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
Gaudi::Property< std::vector< float > > m_cutJetEta
Gaudi::Property< std::vector< bool > > m_doSPseed
Gaudi::Property< std::vector< float > > m_cutJetPtGeV
float getBDTthreshold(float) const
HLT::Identifier m_decisionId
float getBDTthreshold_0eta1(float, float) const
TrigHitDVHypoTool(const std::string &type, const std::string &name, const IInterface *parent)
float getBDTthreshold_1eta2(float, float) const
StatusCode decide(std::vector< HitDVHypoInfo > &) const
decides upon a collection of tracks
virtual StatusCode initialize() override
Gaudi::Property< std::vector< float > > m_effBDT
StatusCode findSPSeeds(const xAOD::TrigCompositeContainer *, std::vector< float > &, std::vector< float > &) const
StatusCode findJetSeeds(const xAOD::JetContainer *, const float, const float, std::vector< float > &, std::vector< float > &) const
StatusCode calculateBDT(const xAOD::TrigCompositeContainer *, const xAOD::TrigCompositeContainer *, const std::vector< float > &, const std::vector< float > &, const float, const int, xAOD::TrigCompositeContainer *, int &) const
StatusCode inclusiveSelection(std::vector< HitDVHypoInfo > &) const
int getSPLayer(int, float) const
StatusCode multiplicitySelection(std::vector< HitDVHypoInfo > &) const
float deltaR(float, float, float, float) const
bool decideOnSingleObject(HitDVHypoInfo &, size_t, bool) const
std::set< DecisionID > DecisionIDContainer
TrigCompositeContainer_v1 TrigCompositeContainer
Declare the latest version of the container.
TrigComposite_v1 TrigComposite
Declare the latest version of the class.
JetContainer_v1 JetContainer
Definition of the current "jet container version".
const xAOD::TrigComposite * hitDV
TrigCompositeUtils::Decision * decision
const TrigCompositeUtils::DecisionIDContainer previousDecisionsIDs