|
ATLAS Offline Software
|
Go to the documentation of this file.
13 #include "GaudiKernel/PhysicalConstants.h"
21 const std::string&
name,
41 return StatusCode::SUCCESS;
50 size_t numdEdxTrks = toolInputs.size();
54 if ( numTrigger == 1 ) {
63 return StatusCode::SUCCESS;
71 bool isPassed =
false;
72 unsigned int idEdxTrk=0;
73 for (
auto&
input: toolInputs ) {
88 return StatusCode::SUCCESS;
98 for (
size_t cutIndex=0; cutIndex <
m_cutTrackPtGeV.size(); ++cutIndex ) {
99 size_t elementIndex{ 0 };
100 for (
auto&
input: toolInputs ) {
104 passingSelection[cutIndex].push_back( elementIndex );
113 if ( passingSelection[cutIndex].
empty() ) {
114 ATH_MSG_VERBOSE(
"No object passed selection " << cutIndex <<
" rejecting" );
115 return StatusCode::SUCCESS;
119 std::set<size_t> passingIndices;
122 if ( passingIndices.empty() ) {
124 return StatusCode::SUCCESS;
127 for (
auto idx: passingIndices ) {
132 return StatusCode::SUCCESS;
144 float trackPtGeV =
trackPt / 1000.0;
146 if( trackPtGeV < ptThreshold )
return false;
151 if( std::abs(
trackEta) > etaThreshold )
return false;
154 float tracka0beam = trk->
getDetail<
float>(
"HPtdEdxTrk_a0beam");
156 if( std::abs(tracka0beam) > a0Threshold )
return false;
159 float trackdEdx = trk->
getDetail<
float>(
"HPtdEdxTrk_dedx");
161 if( trackdEdx < dedxThreshold )
return false;
168 if( n_hdedx_hits < n_hdedx_hits_threshold )
return false;
171 ATH_MSG_VERBOSE(
" Selected, cut index / pT / eta / a0 / dEdx / n high dEdx hits = " << cutIndex <<
" / " << trackPtGeV <<
" / " <<
trackEta <<
" / " << tracka0beam <<
" / " << trackdEdx <<
" / " << n_hdedx_hits);
bool passed(DecisionID id, const DecisionIDContainer &idSet)
checks if required decision ID is in the set of IDs in the container
TrigCompositeUtils::DecisionID numeric() const
numeric ID
void addDecisionID(DecisionID id, Decision *d)
Appends the decision (given as ID) to the decision object.
bool hasDetail(const std::string &name) const
Check if a given type of detail is available.
#define ATH_MSG_VERBOSE(x)
setScaleOne setStatusOne setSaturated int16_t
It used to be useful piece of code for replacing actual SG with other store of similar functionality ...
::StatusCode StatusCode
StatusCode definition for legacy code.
Class used to describe composite objects in the HLT.
Header file to be included by clients of the Monitored infrastructure.
void elementsInUniqueCombinations(const Index2DVec &indices, std::set< size_t > &participants, std::function< bool(const Index1DVec &)> &&filter)
bool trackPt(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
std::vector< Index1DVec > Index2DVec
bool getDetail(const std::string &name, TYPE &value) const
Get an TYPE detail from the object.
bool trackEta(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)