ATLAS Offline Software
Loading...
Searching...
No Matches
ITrigEgammaPrecisionElectronHypoTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3*/
4#ifndef TRIGEGAMMAHYPO_ITRIGPRECISIONELECTRONHYPOTOOL_H
5#define TRIGEGAMMAHYPO_ITRIGPRECISIONELECTRONHYPOTOOL_H 1
6
7#include "GaudiKernel/IAlgTool.h"
10#include "xAODEgamma/Electron.h"
11
16
18 : virtual public ::IAlgTool
19{
20
21 public:
24
25 struct ElectronInfo {
27 const TrigRoiDescriptor* r,
28 const xAOD::Electron* c,
29 const TrigCompositeUtils::Decision* previousDecision ):
30 decision( d ),
31 roi( r ),
32 electron(c),
33 previousDecisionIDs( TrigCompositeUtils::decisionIDs( previousDecision ).begin(),
34 TrigCompositeUtils::decisionIDs( previousDecision ).end() )
35 {}
36
40 std::map<std::string, bool> pidDecorator;
41 std::map<std::string, float> valueDecorator;
43 };
44
45
52 virtual StatusCode decide( std::vector<ElectronInfo>& input ) const = 0;
53
58 virtual bool decide( const ElectronInfo& i ) const = 0;
59
60
61
62};
63
64
65#endif //> !TRIGEGAMMAHYPO_ITRIGPRECISIONELECTRONHYPOTOOL_H
void decisionIDs(const Decision *d, DecisionIDContainer &id)
Extracts DecisionIDs stored in the Decision object.
virtual StatusCode decide(std::vector< ElectronInfo > &input) const =0
decides upon all electrons Note it is for a reason a non-virtual method, it is an interface in gaudi ...
DeclareInterfaceID(ITrigEgammaPrecisionElectronHypoTool, 1, 0)
virtual bool decide(const ElectronInfo &i) const =0
Makes a decision for a single object The decision needs to be returned.
nope - should be used for standalone also, perhaps need to protect the class def bits ifndef XAOD_ANA...
int r
Definition globals.cxx:22
std::set< DecisionID > DecisionIDContainer
Electron_v1 Electron
Definition of the current "egamma version".
const TrigCompositeUtils::DecisionIDContainer previousDecisionIDs
ElectronInfo(TrigCompositeUtils::Decision *d, const TrigRoiDescriptor *r, const xAOD::Electron *c, const TrigCompositeUtils::Decision *previousDecision)