ATLAS Offline Software
TrigIsoHPtTrackTriggerHypoTool.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_TRIGISOHPTTRACKTRIGGERHYPOTOOL_H
5 #define TRIGLONGLIVEDPARTICLESHYPO_TRIGISOHPTTRACKTRIGGERHYPOTOOL_H 1
6 
7 #include "Gaudi/Property.h"
13 #include <string>
14 
16 
24 {
25  public:
26  TrigIsoHPtTrackTriggerHypoTool( const std::string& type,
27  const std::string& name,
28  const IInterface* parent );
29 
31  virtual StatusCode initialize() override;
32 
33 
34 
35  struct TrackInfo {
40  };
41 
45  StatusCode decide( std::vector<TrackInfo>& decisions ) const;
46 
50  bool decideOnSingleObject( const xAOD::TrackParticle_v1 *track, const xAOD::TrackParticleContainer* AllTracks, size_t cutIndex ) const;
51 
55  StatusCode inclusiveSelection( std::vector<TrackInfo>& input ) const;
56 
60  StatusCode multiplicitySelection( std::vector<TrackInfo>& input ) const;
61 
66  StatusCode markPassing( std::vector<TrackInfo>& input, const std::set<size_t>& passing ) const;
67 
68 
69 
70 
71 
72  private:
74  /* Gaudi::Property<bool> m_acceptAll{ this, "AcceptAll", false, "Ignore selection" }; */
75  Gaudi::Property< std::vector<float> > m_TrackPt{ this, "MinTrackPt", { float( 50.0*Gaudi::Units::GeV ) }, "Track pT requirement" };
76  Gaudi::Property< std::vector<float> > m_TrackEta{ this, "MinTrackEta", { float(2.5 ) }, "Track Eta requirement" };
77  Gaudi::Property< std::vector<float> > m_Trackd0{ this, "MaxTrackd0", {5.}, "Maximum Track d0 allowed" };
78  Gaudi::Property< std::vector<float> > m_Trackd0Sig{ this, "MaxTrackd0Sig", {5.}, "Maximum Track d0 Sig allowed" };
79  Gaudi::Property< std::vector<unsigned> > m_TrackNPixHits{ this, "MinTrackNPixHits", {2}, "Minimum number of pixel hits required from the trigger" };
80  Gaudi::Property< std::vector<unsigned> > m_TrackNSCTHits{ this, "MinTrackNSCTHits", {5}, "Minimum number of SCT hits required from the trigger" };
81 
82  Gaudi::Property< std::vector<bool> > m_doIso { this, "EnableTrackIsolation", {false}, "If track based isolation should be applied or not? "};
83  Gaudi::Property< std::vector<bool> > m_IsoCum { this, "EnableCumalitiveIsolation", {false}, "Instead of checking if one track is above a certain pT threshold, add up all tracks for isolation"};
84  Gaudi::Property< std::vector<float> > m_IsoDR{ this, "TrackIsoCone", {0.3}, "Isolation requirment over the main track" };
85  Gaudi::Property< std::vector<float> > m_IsoPt{ this, "MinIsoTrackPt", {float( 5.0*Gaudi::Units::GeV )}, "Min pT requirment of other tracks to be considered for isolation" };
86 
87 
88  size_t m_multiplicity = 1;
89 
90  ToolHandle<GenericMonitoringTool> m_monTool{ this, "MonTool", "", "Monitoring tool" };
91 };
92 
93 #endif //> !TRIGLONGLIVEDPARTICLESHYPO_TRIGISOHPTTRACKTRIGGERHYPOTOOL_H
TrigIsoHPtTrackTriggerHypoTool::markPassing
StatusCode markPassing(std::vector< TrackInfo > &input, const std::set< size_t > &passing) const
stores decisions for all object passing multiple cuts The passsingSelection inner vectors have to hav...
Definition: TrigIsoHPtTrackTriggerHypoTool.cxx:244
TrigIsoHPtTrackTriggerHypoTool::m_monTool
ToolHandle< GenericMonitoringTool > m_monTool
Definition: TrigIsoHPtTrackTriggerHypoTool.h:90
TrigIsoHPtTrackTriggerHypoTool::m_Trackd0Sig
Gaudi::Property< std::vector< float > > m_Trackd0Sig
Definition: TrigIsoHPtTrackTriggerHypoTool.h:78
TrackParticlexAODHelpers.h
TrigIsoHPtTrackTriggerHypoTool::TrackInfo::track
const xAOD::TrackParticle_v1 * track
Definition: TrigIsoHPtTrackTriggerHypoTool.h:37
TrigCompositeUtils.h
TrigIsoHPtTrackTriggerHypoTool::TrigIsoHPtTrackTriggerHypoTool
TrigIsoHPtTrackTriggerHypoTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition: TrigIsoHPtTrackTriggerHypoTool.cxx:17
TrigIsoHPtTrackTriggerHypoTool::~TrigIsoHPtTrackTriggerHypoTool
virtual ~TrigIsoHPtTrackTriggerHypoTool()
Definition: TrigIsoHPtTrackTriggerHypoTool.cxx:56
TrigIsoHPtTrackTriggerHypoTool::decide
StatusCode decide(std::vector< TrackInfo > &decisions) const
decides upon a collection of tracks
Definition: TrigIsoHPtTrackTriggerHypoTool.cxx:283
TrigIsoHPtTrackTriggerHypoTool::TrackInfo::previousDecisionsIDs
const TrigCompositeUtils::DecisionIDContainer previousDecisionsIDs
Definition: TrigIsoHPtTrackTriggerHypoTool.h:39
TrigIsoHPtTrackTriggerHypoTool::m_Trackd0
Gaudi::Property< std::vector< float > > m_Trackd0
Definition: TrigIsoHPtTrackTriggerHypoTool.h:77
TrigIsoHPtTrackTriggerHypoTool::m_TrackPt
Gaudi::Property< std::vector< float > > m_TrackPt
Definition: TrigIsoHPtTrackTriggerHypoTool.h:75
TrigIsoHPtTrackTriggerHypoTool::m_TrackEta
Gaudi::Property< std::vector< float > > m_TrackEta
Definition: TrigIsoHPtTrackTriggerHypoTool.h:76
TrigIsoHPtTrackTriggerHypoTool::initialize
virtual StatusCode initialize() override
Definition: TrigIsoHPtTrackTriggerHypoTool.cxx:23
GenericMonitoringTool.h
TrigIsoHPtTrackTriggerHypoTool::TrackInfo::decision
TrigCompositeUtils::Decision * decision
Definition: TrigIsoHPtTrackTriggerHypoTool.h:36
TrigIsoHPtTrackTriggerHypoTool::m_multiplicity
size_t m_multiplicity
Definition: TrigIsoHPtTrackTriggerHypoTool.h:88
TrigIsoHPtTrackTriggerHypoTool::decideOnSingleObject
bool decideOnSingleObject(const xAOD::TrackParticle_v1 *track, const xAOD::TrackParticleContainer *AllTracks, size_t cutIndex) const
Auxiluary method, single track selection.
Definition: TrigIsoHPtTrackTriggerHypoTool.cxx:58
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
PlotPulseshapeFromCool.input
input
Definition: PlotPulseshapeFromCool.py:106
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
TrigIsoHPtTrackTriggerHypoTool
Generated the decision for hypo thats triggers on high pt isolated tracks.
Definition: TrigIsoHPtTrackTriggerHypoTool.h:24
DataVector< xAOD::TrackParticle_v1 >
HLT::Identifier
Definition: TrigCompositeUtils/TrigCompositeUtils/HLTIdentifier.h:20
xAOD::decisions
decisions
Definition: TrigComposite_v1.cxx:81
TrigIsoHPtTrackTriggerHypoTool::m_IsoPt
Gaudi::Property< std::vector< float > > m_IsoPt
Definition: TrigIsoHPtTrackTriggerHypoTool.h:85
TrigIsoHPtTrackTriggerHypoTool::m_IsoDR
Gaudi::Property< std::vector< float > > m_IsoDR
Definition: TrigIsoHPtTrackTriggerHypoTool.h:84
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
TrigIsoHPtTrackTriggerHypoTool::m_TrackNSCTHits
Gaudi::Property< std::vector< unsigned > > m_TrackNSCTHits
Definition: TrigIsoHPtTrackTriggerHypoTool.h:80
TrigIsoHPtTrackTriggerHypoTool::inclusiveSelection
StatusCode inclusiveSelection(std::vector< TrackInfo > &input) const
actual implementation of decide, in case of inclusive selection ( one object cut )
Definition: TrigIsoHPtTrackTriggerHypoTool.cxx:227
TrigIsoHPtTrackTriggerHypoTool::m_IsoCum
Gaudi::Property< std::vector< bool > > m_IsoCum
Definition: TrigIsoHPtTrackTriggerHypoTool.h:83
TrigIsoHPtTrackTriggerHypoTool::m_TrackNPixHits
Gaudi::Property< std::vector< unsigned > > m_TrackNPixHits
Definition: TrigIsoHPtTrackTriggerHypoTool.h:79
TrigIsoHPtTrackTriggerHypoTool::TrackInfo::AllTracks
const xAOD::TrackParticleContainer * AllTracks
Definition: TrigIsoHPtTrackTriggerHypoTool.h:38
TrigCompositeUtils::DecisionIDContainer
std::set< DecisionID > DecisionIDContainer
Definition: TrigComposite_v1.h:28
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
TrigIsoHPtTrackTriggerHypoTool::m_doIso
Gaudi::Property< std::vector< bool > > m_doIso
Definition: TrigIsoHPtTrackTriggerHypoTool.h:82
TrigIsoHPtTrackTriggerHypoTool::multiplicitySelection
StatusCode multiplicitySelection(std::vector< TrackInfo > &input) const
actual implementation of decide, in case of multiple objects selection ( independentone )
Definition: TrigIsoHPtTrackTriggerHypoTool.cxx:253
TrigIsoHPtTrackTriggerHypoTool::m_decisionId
HLT::Identifier m_decisionId
Definition: TrigIsoHPtTrackTriggerHypoTool.h:73
xAOD::track
@ track
Definition: TrackingPrimitives.h:512
xAOD::TrackParticle_v1
Class describing a TrackParticle.
Definition: TrackParticle_v1.h:43
AthAlgTool
Definition: AthAlgTool.h:26
TrigIsoHPtTrackTriggerHypoTool::TrackInfo
Definition: TrigIsoHPtTrackTriggerHypoTool.h:35
GeV
#define GeV
Definition: CaloTransverseBalanceVecMon.cxx:30
readCCLHist.float
float
Definition: readCCLHist.py:83
TrackParticleContainer.h