ATLAS Offline Software
Loading...
Searching...
No Matches
TrigdEdxTrackHypoTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3*/
4#ifndef TRIGLONGLIVEDPARTICLESHYPO_TRIGDEDXTRACKHYPOTOOL_H
5#define TRIGLONGLIVEDPARTICLESHYPO_TRIGDEDXTRACKHYPOTOOL_H
6
7#include "Gaudi/Property.h"
12#include <string>
13
19
20class TrigdEdxTrackHypoTool : virtual public ::AthAlgTool
21{
22public:
23 TrigdEdxTrackHypoTool( const std::string& type,
24 const std::string& name,
25 const IInterface* parent );
26
27 virtual ~TrigdEdxTrackHypoTool();
28 virtual StatusCode initialize() override;
29
35
39 StatusCode decide( std::vector<dEdxTrkHypoInfo>& ) const;
40
41private:
42
44 Gaudi::Property< std::vector<float> > m_cutTrackPtGeV { this, "cutTrackPtGeV", { float(20.0) }, "Track pT requirement in GeV" };
45 Gaudi::Property< std::vector<float> > m_cutTrackEta { this, "cutTrackEta", { float(2.5) }, "Track Eta requirement" };
46 Gaudi::Property< std::vector<float> > m_cutTracka0beam { this, "cutTracka0beam", { float(2.5) }, "Track a0beam requirement" };
47 Gaudi::Property< std::vector<float> > m_cutTrackdEdx { this, "cutTrackdEdx", { float(1.7) }, "Track dE/dx requirement" };
48 Gaudi::Property< std::vector<int> > m_cutTrackNhighdEdxHits { this, "cutTrackNhighdEdxHits", { int(2) }, "N high dEdx of pixel hits requirement" };
49 Gaudi::Property< std::vector<std::string> > m_cutTrackHighdEdxDef { this, "cutTrackHighdEdxDef", { std::string("1p70") }, "Definition / threshold of high dEdx hits" };
50
51 //
52 StatusCode inclusiveSelection(std::vector<dEdxTrkHypoInfo>& ) const;
53 StatusCode multiplicitySelection(std::vector<dEdxTrkHypoInfo>& ) const;
54 bool decideOnSingleObject( dEdxTrkHypoInfo&, size_t ) const;
55};
56
57#endif //> !TRIGLONGLIVEDPARTICLESHYPO_TRIGDEDXTRACKHYPOTOOL_H
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
StatusCode decide(std::vector< dEdxTrkHypoInfo > &) const
decides upon a collection of tracks
Gaudi::Property< std::vector< float > > m_cutTrackEta
Gaudi::Property< std::vector< std::string > > m_cutTrackHighdEdxDef
Gaudi::Property< std::vector< float > > m_cutTrackdEdx
TrigdEdxTrackHypoTool(const std::string &type, const std::string &name, const IInterface *parent)
Gaudi::Property< std::vector< float > > m_cutTracka0beam
virtual StatusCode initialize() override
Gaudi::Property< std::vector< int > > m_cutTrackNhighdEdxHits
Gaudi::Property< std::vector< float > > m_cutTrackPtGeV
StatusCode inclusiveSelection(std::vector< dEdxTrkHypoInfo > &) const
bool decideOnSingleObject(dEdxTrkHypoInfo &, size_t) const
StatusCode multiplicitySelection(std::vector< dEdxTrkHypoInfo > &) const
std::set< DecisionID > DecisionIDContainer
TrigComposite_v1 TrigComposite
Declare the latest version of the class.
TrigCompositeUtils::Decision * decision
const TrigCompositeUtils::DecisionIDContainer previousDecisionsIDs