|
ATLAS Offline Software
|
Generated the decision for hypo thats triggers on high pt isolated tracks.
More...
#include <TrigdEdxTrackHypoTool.h>
|
| TrigdEdxTrackHypoTool (const std::string &type, const std::string &name, const IInterface *parent) |
|
virtual | ~TrigdEdxTrackHypoTool () |
|
virtual StatusCode | initialize () override |
|
StatusCode | decide (std::vector< dEdxTrkHypoInfo > &) const |
| decides upon a collection of tracks More...
|
|
ServiceHandle< StoreGateSvc > & | evtStore () |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | evtStore () const |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | detStore () const |
| The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
virtual StatusCode | sysInitialize () override |
| Perform system initialization for an algorithm. More...
|
|
virtual StatusCode | sysStart () override |
| Handle START transition. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | inputHandles () const override |
| Return this algorithm's input handles. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | outputHandles () const override |
| Return this algorithm's output handles. More...
|
|
Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Property< T > &t) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc="none") |
| Declare a new Gaudi property. More...
|
|
void | updateVHKA (Gaudi::Details::PropertyBase &) |
|
MsgStream & | msg () const |
|
MsgStream & | msg (const MSG::Level lvl) const |
|
bool | msgLvl (const MSG::Level lvl) const |
|
|
HLT::Identifier | m_decisionId |
|
Gaudi::Property< std::vector< float > > | m_cutTrackPtGeV { this, "cutTrackPtGeV", { float(20.0) }, "Track pT requirement in GeV" } |
|
Gaudi::Property< std::vector< float > > | m_cutTrackEta { this, "cutTrackEta", { float(2.5) }, "Track Eta requirement" } |
|
Gaudi::Property< std::vector< float > > | m_cutTracka0beam { this, "cutTracka0beam", { float(2.5) }, "Track a0beam requirement" } |
|
Gaudi::Property< std::vector< float > > | m_cutTrackdEdx { this, "cutTrackdEdx", { float(1.7) }, "Track dE/dx requirement" } |
|
Gaudi::Property< std::vector< int > > | m_cutTrackNhighdEdxHits { this, "cutTrackNhighdEdxHits", { int(2) }, "N high dEdx of pixel hits requirement" } |
|
Gaudi::Property< std::vector< std::string > > | m_cutTrackHighdEdxDef { this, "cutTrackHighdEdxDef", { std::string("1p70") }, "Definition / threshold of high dEdx hits" } |
|
StoreGateSvc_t | m_evtStore |
| Pointer to StoreGate (event store by default) More...
|
|
StoreGateSvc_t | m_detStore |
| Pointer to StoreGate (detector store by default) More...
|
|
std::vector< SG::VarHandleKeyArray * > | m_vhka |
|
bool | m_varHandleArraysDeclared |
|
Generated the decision for hypo thats triggers on high pt isolated tracks.
- Author
- Kunihiro Nagano kunih.nosp@m.iro..nosp@m.nagan.nosp@m.o@ce.nosp@m.rn.ch - KEK
Definition at line 20 of file TrigdEdxTrackHypoTool.h.
◆ StoreGateSvc_t
◆ TrigdEdxTrackHypoTool()
TrigdEdxTrackHypoTool::TrigdEdxTrackHypoTool |
( |
const std::string & |
type, |
|
|
const std::string & |
name, |
|
|
const IInterface * |
parent |
|
) |
| |
◆ ~TrigdEdxTrackHypoTool()
TrigdEdxTrackHypoTool::~TrigdEdxTrackHypoTool |
( |
| ) |
|
|
virtual |
◆ decide()
StatusCode TrigdEdxTrackHypoTool::decide |
( |
std::vector< dEdxTrkHypoInfo > & |
toolInputs | ) |
const |
decides upon a collection of tracks
Definition at line 47 of file TrigdEdxTrackHypoTool.cxx.
50 size_t numdEdxTrks = toolInputs.size();
54 if ( numTrigger == 1 ) {
63 return StatusCode::SUCCESS;
◆ decideOnSingleObject()
bool TrigdEdxTrackHypoTool::decideOnSingleObject |
( |
dEdxTrkHypoInfo & |
input, |
|
|
size_t |
cutIndex |
|
) |
| const |
|
private |
Definition at line 138 of file TrigdEdxTrackHypoTool.cxx.
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);
◆ declareGaudiProperty() [1/4]
specialization for handling Gaudi::Property<SG::VarHandleKeyArray>
Definition at line 170 of file AthCommonDataStore.h.
175 hndl.documentation());
◆ declareGaudiProperty() [2/4]
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
161 hndl.documentation());
◆ declareGaudiProperty() [3/4]
specialization for handling Gaudi::Property<SG::VarHandleBase>
Definition at line 184 of file AthCommonDataStore.h.
189 hndl.documentation());
◆ declareGaudiProperty() [4/4]
◆ declareProperty() [1/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleBase
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 245 of file AthCommonDataStore.h.
250 this->declare(hndl.
vhKey());
251 hndl.
vhKey().setOwner(
this);
253 return PBASE::declareProperty(
name,hndl,
doc);
◆ declareProperty() [2/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleKey
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 221 of file AthCommonDataStore.h.
229 return PBASE::declareProperty(
name,hndl,
doc);
◆ declareProperty() [3/6]
◆ declareProperty() [4/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This is the generic version, for types that do not derive from SG::VarHandleKey
. It just forwards to the base class version of declareProperty
.
Definition at line 333 of file AthCommonDataStore.h.
338 return PBASE::declareProperty(
name, property,
doc);
◆ declareProperty() [5/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This dispatches to either the generic declareProperty
or the one for VarHandle/Key/KeyArray.
Definition at line 352 of file AthCommonDataStore.h.
◆ declareProperty() [6/6]
◆ detStore()
◆ evtStore() [1/2]
◆ evtStore() [2/2]
◆ extraDeps_update_handler()
Add StoreName to extra input/output deps as needed.
use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given
◆ inclusiveSelection()
StatusCode TrigdEdxTrackHypoTool::inclusiveSelection |
( |
std::vector< dEdxTrkHypoInfo > & |
toolInputs | ) |
const |
|
private |
Definition at line 69 of file TrigdEdxTrackHypoTool.cxx.
71 bool isPassed =
false;
72 unsigned int idEdxTrk=0;
73 for (
auto&
input: toolInputs ) {
88 return StatusCode::SUCCESS;
◆ initialize()
StatusCode TrigdEdxTrackHypoTool::initialize |
( |
| ) |
|
|
overridevirtual |
◆ inputHandles()
Return this algorithm's input handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
◆ msg() [1/2]
◆ msg() [2/2]
◆ msgLvl()
◆ multiplicitySelection()
StatusCode TrigdEdxTrackHypoTool::multiplicitySelection |
( |
std::vector< dEdxTrkHypoInfo > & |
toolInputs | ) |
const |
|
private |
Definition at line 94 of file TrigdEdxTrackHypoTool.cxx.
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;
◆ outputHandles()
Return this algorithm's output handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
◆ renounce()
◆ renounceArray()
◆ sysInitialize()
◆ sysStart()
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
◆ updateVHKA()
◆ m_cutTracka0beam
Gaudi::Property< std::vector<float> > TrigdEdxTrackHypoTool::m_cutTracka0beam { this, "cutTracka0beam", { float(2.5) }, "Track a0beam requirement" } |
|
private |
◆ m_cutTrackdEdx
Gaudi::Property< std::vector<float> > TrigdEdxTrackHypoTool::m_cutTrackdEdx { this, "cutTrackdEdx", { float(1.7) }, "Track dE/dx requirement" } |
|
private |
◆ m_cutTrackEta
Gaudi::Property< std::vector<float> > TrigdEdxTrackHypoTool::m_cutTrackEta { this, "cutTrackEta", { float(2.5) }, "Track Eta requirement" } |
|
private |
◆ m_cutTrackHighdEdxDef
Gaudi::Property< std::vector<std::string> > TrigdEdxTrackHypoTool::m_cutTrackHighdEdxDef { this, "cutTrackHighdEdxDef", { std::string("1p70") }, "Definition / threshold of high dEdx hits" } |
|
private |
◆ m_cutTrackNhighdEdxHits
Gaudi::Property< std::vector<int> > TrigdEdxTrackHypoTool::m_cutTrackNhighdEdxHits { this, "cutTrackNhighdEdxHits", { int(2) }, "N high dEdx of pixel hits requirement" } |
|
private |
◆ m_cutTrackPtGeV
Gaudi::Property< std::vector<float> > TrigdEdxTrackHypoTool::m_cutTrackPtGeV { this, "cutTrackPtGeV", { float(20.0) }, "Track pT requirement in GeV" } |
|
private |
◆ m_decisionId
◆ m_detStore
◆ m_evtStore
◆ m_varHandleArraysDeclared
◆ m_vhka
The documentation for this class was generated from the following files:
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
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
void addDecisionID(DecisionID id, Decision *d)
Appends the decision (given as ID) to the decision object.
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
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
virtual void setOwner(IDataHandleHolder *o)=0
static HLT::Identifier fromToolName(const std::string &tname)
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Class used to describe composite objects in the HLT.
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)
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
std::vector< Index1DVec > Index2DVec
bool getDetail(const std::string &name, TYPE &value) const
Get an TYPE detail from the object.
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
bool trackEta(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)