ATLAS Offline Software
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 
20 class TrigdEdxTrackHypoTool : virtual public ::AthAlgTool
21 {
22 public:
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 
30  struct dEdxTrkHypoInfo {
34  };
35 
39  StatusCode decide( std::vector<dEdxTrkHypoInfo>& ) const;
40 
41 private:
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
TrigdEdxTrackHypoTool::m_cutTrackPtGeV
Gaudi::Property< std::vector< float > > m_cutTrackPtGeV
Definition: TrigdEdxTrackHypoTool.h:44
TrigdEdxTrackHypoTool::dEdxTrkHypoInfo::decision
TrigCompositeUtils::Decision * decision
Definition: TrigdEdxTrackHypoTool.h:31
TrigdEdxTrackHypoTool
Generated the decision for hypo thats triggers on high pt isolated tracks.
Definition: TrigdEdxTrackHypoTool.h:21
TrigdEdxTrackHypoTool::inclusiveSelection
StatusCode inclusiveSelection(std::vector< dEdxTrkHypoInfo > &) const
Definition: TrigdEdxTrackHypoTool.cxx:69
TrackParticlexAODHelpers.h
TrigCompositeUtils.h
CaloCellPos2Ntuple.int
int
Definition: CaloCellPos2Ntuple.py:24
TrigdEdxTrackHypoTool::m_cutTrackEta
Gaudi::Property< std::vector< float > > m_cutTrackEta
Definition: TrigdEdxTrackHypoTool.h:45
TrigdEdxTrackHypoTool::decideOnSingleObject
bool decideOnSingleObject(dEdxTrkHypoInfo &, size_t) const
Definition: TrigdEdxTrackHypoTool.cxx:138
TrigdEdxTrackHypoTool::dEdxTrkHypoInfo::dedxTrk
const xAOD::TrigComposite * dedxTrk
Definition: TrigdEdxTrackHypoTool.h:32
TrigdEdxTrackHypoTool::m_decisionId
HLT::Identifier m_decisionId
Definition: TrigdEdxTrackHypoTool.h:43
TrigdEdxTrackHypoTool::dEdxTrkHypoInfo
Definition: TrigdEdxTrackHypoTool.h:30
TrigdEdxTrackHypoTool::decide
StatusCode decide(std::vector< dEdxTrkHypoInfo > &) const
decides upon a collection of tracks
Definition: TrigdEdxTrackHypoTool.cxx:47
TrigdEdxTrackHypoTool::initialize
virtual StatusCode initialize() override
Definition: TrigdEdxTrackHypoTool.cxx:31
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
test_pyathena.parent
parent
Definition: test_pyathena.py:15
xAOD::TrigComposite_v1
Class used to describe composite objects in the HLT.
Definition: TrigComposite_v1.h:52
HLT::Identifier
Definition: TrigCompositeUtils/TrigCompositeUtils/HLTIdentifier.h:20
TrigdEdxTrackHypoTool::dEdxTrkHypoInfo::previousDecisionsIDs
const TrigCompositeUtils::DecisionIDContainer previousDecisionsIDs
Definition: TrigdEdxTrackHypoTool.h:33
TrigdEdxTrackHypoTool::m_cutTrackHighdEdxDef
Gaudi::Property< std::vector< std::string > > m_cutTrackHighdEdxDef
Definition: TrigdEdxTrackHypoTool.h:49
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
TrigdEdxTrackHypoTool::m_cutTrackNhighdEdxHits
Gaudi::Property< std::vector< int > > m_cutTrackNhighdEdxHits
Definition: TrigdEdxTrackHypoTool.h:48
TrigdEdxTrackHypoTool::TrigdEdxTrackHypoTool
TrigdEdxTrackHypoTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition: TrigdEdxTrackHypoTool.cxx:20
TrigCompositeUtils::DecisionIDContainer
std::set< DecisionID > DecisionIDContainer
Definition: TrigComposite_v1.h:28
TrigdEdxTrackHypoTool::multiplicitySelection
StatusCode multiplicitySelection(std::vector< dEdxTrkHypoInfo > &) const
Definition: TrigdEdxTrackHypoTool.cxx:94
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
TrigdEdxTrackHypoTool::m_cutTracka0beam
Gaudi::Property< std::vector< float > > m_cutTracka0beam
Definition: TrigdEdxTrackHypoTool.h:46
AthAlgTool
Definition: AthAlgTool.h:26
TrigdEdxTrackHypoTool::m_cutTrackdEdx
Gaudi::Property< std::vector< float > > m_cutTrackdEdx
Definition: TrigdEdxTrackHypoTool.h:47
readCCLHist.float
float
Definition: readCCLHist.py:83
TrackParticleContainer.h
TrigdEdxTrackHypoTool::~TrigdEdxTrackHypoTool
virtual ~TrigdEdxTrackHypoTool()
Definition: TrigdEdxTrackHypoTool.cxx:26