ATLAS Offline Software
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 
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),
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
beamspotman.r
def r
Definition: beamspotman.py:676
ITrigEgammaPrecisionElectronHypoTool::ElectronInfo::previousDecisionIDs
const TrigCompositeUtils::DecisionIDContainer previousDecisionIDs
Definition: ITrigEgammaPrecisionElectronHypoTool.h:42
hist_file_dump.d
d
Definition: hist_file_dump.py:137
ITrigEgammaPrecisionElectronHypoTool::ElectronInfo::roi
const TrigRoiDescriptor * roi
Definition: ITrigEgammaPrecisionElectronHypoTool.h:38
PlotCalibFromCool.begin
begin
Definition: PlotCalibFromCool.py:94
ITrigEgammaPrecisionElectronHypoTool::ElectronInfo::electron
const xAOD::Electron * electron
Definition: ITrigEgammaPrecisionElectronHypoTool.h:39
TrigRoiDescriptor
nope - should be used for standalone also, perhaps need to protect the class def bits #ifndef XAOD_AN...
Definition: TrigRoiDescriptor.h:56
ITrigEgammaPrecisionElectronHypoTool::ElectronInfo::decision
TrigCompositeUtils::Decision * decision
Definition: ITrigEgammaPrecisionElectronHypoTool.h:37
mergePhysValFiles.end
end
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:93
TrigCompositeUtils.h
ITrigEgammaPrecisionElectronHypoTool::ElectronInfo::pidDecorator
std::map< std::string, bool > pidDecorator
Definition: ITrigEgammaPrecisionElectronHypoTool.h:40
lumiFormat.i
int i
Definition: lumiFormat.py:85
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
PlotPulseshapeFromCool.input
input
Definition: PlotPulseshapeFromCool.py:106
ITrigEgammaPrecisionElectronHypoTool::decide
virtual bool decide(const ElectronInfo &i) const =0
Makes a decision for a single object The decision needs to be returned.
xAOD::TrigComposite_v1
Class used to describe composite objects in the HLT.
Definition: TrigComposite_v1.h:52
ITrigEgammaPrecisionElectronHypoTool::ElectronInfo::valueDecorator
std::map< std::string, float > valueDecorator
Definition: ITrigEgammaPrecisionElectronHypoTool.h:41
xAOD::Electron_v1
Definition: Electron_v1.h:34
ITrigEgammaPrecisionElectronHypoTool::~ITrigEgammaPrecisionElectronHypoTool
virtual ~ITrigEgammaPrecisionElectronHypoTool()
Definition: ITrigEgammaPrecisionElectronHypoTool.h:23
TrigCompositeUtils::DecisionIDContainer
std::set< DecisionID > DecisionIDContainer
Definition: TrigComposite_v1.h:28
TrigCompositeUtils::decisionIDs
void decisionIDs(const Decision *d, DecisionIDContainer &destination)
Extracts DecisionIDs stored in the Decision object.
Definition: TrigCompositeUtilsRoot.cxx:67
TrigCompositeUtils
Definition: Event/xAOD/xAODTrigger/xAODTrigger/TrigComposite.h:19
ITrigEgammaPrecisionElectronHypoTool
Definition: ITrigEgammaPrecisionElectronHypoTool.h:19
ITrigEgammaPrecisionElectronHypoTool::ElectronInfo
Definition: ITrigEgammaPrecisionElectronHypoTool.h:25
TrigRoiDescriptor.h
Electron.h
python.compressB64.c
def c
Definition: compressB64.py:93
ITrigEgammaPrecisionElectronHypoTool::DeclareInterfaceID
DeclareInterfaceID(ITrigEgammaPrecisionElectronHypoTool, 1, 0)
ITrigEgammaPrecisionElectronHypoTool::ElectronInfo::ElectronInfo
ElectronInfo(TrigCompositeUtils::Decision *d, const TrigRoiDescriptor *r, const xAOD::Electron *c, const TrigCompositeUtils::Decision *previousDecision)
Definition: ITrigEgammaPrecisionElectronHypoTool.h:26
ITrigEgammaPrecisionElectronHypoTool::decide
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 ...