ATLAS Offline Software
Loading...
Searching...
No Matches
ITrigEgammaPrecisionPhotonCaloIsoHypoTool.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 TRIGEGAMMAHYPO_ITRIGPHOTONCALOISOHYPOTOOL_H
5#define TRIGEGAMMAHYPO_ITRIGPHOTONCALOISOHYPOTOOL_H 1
6
7#include "GaudiKernel/IAlgTool.h"
10#include "xAODEgamma/Photon.h"
11
16
18 : virtual public ::IAlgTool
19{
20
21 public:
24
25 struct PhotonInfo {
27 const TrigCompositeUtils::Decision* previousDecision )
28 : decision( d ),
29 roi( r ),
30 photon(c),
31 previousDecisionIDs( TrigCompositeUtils::decisionIDs( previousDecision ).begin(),
32 TrigCompositeUtils::decisionIDs( previousDecision ).end() )
33 {}
34
38 std::map<std::string, float> valueDecorator;
39 std::map<std::string, bool> pidDecorator;
41 };
42
43
50 virtual StatusCode decide( std::vector<PhotonInfo>& input ) const = 0;
51
56 virtual bool decide( const PhotonInfo& i ) const = 0;
57
58
59
60};
61
62
63#endif //> !TRIGEGAMMAHYPO_ITRIGPRECISIONPHOTONHYPOTOOL_H
void decisionIDs(const Decision *d, DecisionIDContainer &id)
Extracts DecisionIDs stored in the Decision object.
DeclareInterfaceID(ITrigEgammaPrecisionPhotonCaloIsoHypoTool, 1, 0)
virtual bool decide(const PhotonInfo &i) const =0
Makes a decision for a single object The decision needs to be returned.
virtual StatusCode decide(std::vector< PhotonInfo > &input) const =0
decides upon all photons Note it is for a reason a non-virtual method, it is an interface in gaudi se...
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
PhotonInfo(TrigCompositeUtils::Decision *d, const TrigRoiDescriptor *r, const xAOD::Photon_v1 *c, const TrigCompositeUtils::Decision *previousDecision)