ATLAS Offline Software
Loading...
Searching...
No Matches
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
22
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
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
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
TrigIsoHPtTrackTriggerHypoTool(const std::string &type, const std::string &name, const IInterface *parent)
Gaudi::Property< std::vector< float > > m_IsoDR
Gaudi::Property< std::vector< float > > m_Trackd0
Gaudi::Property< std::vector< bool > > m_doIso
StatusCode decide(std::vector< TrackInfo > &decisions) const
decides upon a collection of tracks
ToolHandle< GenericMonitoringTool > m_monTool
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...
Gaudi::Property< std::vector< bool > > m_IsoCum
Gaudi::Property< std::vector< float > > m_Trackd0Sig
Gaudi::Property< std::vector< float > > m_IsoPt
Gaudi::Property< std::vector< float > > m_TrackPt
Gaudi::Property< std::vector< unsigned > > m_TrackNSCTHits
StatusCode multiplicitySelection(std::vector< TrackInfo > &input) const
actual implementation of decide, in case of multiple objects selection ( independentone )
Gaudi::Property< std::vector< float > > m_TrackEta
bool decideOnSingleObject(const xAOD::TrackParticle_v1 *track, const xAOD::TrackParticleContainer *AllTracks, size_t cutIndex) const
Auxiluary method, single track selection.
Gaudi::Property< std::vector< unsigned > > m_TrackNPixHits
StatusCode inclusiveSelection(std::vector< TrackInfo > &input) const
actual implementation of decide, in case of inclusive selection ( one object cut )
Class describing a TrackParticle.
std::set< DecisionID > DecisionIDContainer
TrackParticleContainer_v1 TrackParticleContainer
Definition of the current "TrackParticle container version".
const TrigCompositeUtils::DecisionIDContainer previousDecisionsIDs