ATLAS Offline Software
IComboHypoTool.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 DECISIONHANDLING_ICOMBOHYPOTOOL_H
5 #define DECISIONHANDLING_ICOMBOHYPOTOOL_H 1
6 
8 #include "GaudiKernel/IAlgTool.h"
9 
10 
11 namespace Combo {
12 
17  typedef std::map<std::string, std::vector<int>> MultiplicityReqMap;
18 
23  typedef std::map<std::string, std::vector<int>> LegMap;
24 
28  typedef std::map<TrigCompositeUtils::DecisionID, std::vector<ElementLink<TrigCompositeUtils::DecisionContainer>>> LegDecisionsMap;
29 
33  typedef std::pair<TrigCompositeUtils::DecisionID, ElementLink<TrigCompositeUtils::DecisionContainer> > LegDecision;
34 }
35 
36 
41 class IComboHypoTool: virtual public ::IAlgTool {
42 
43  public:
45 
46  virtual StatusCode decide(Combo::LegDecisionsMap& passingLegs, const EventContext& /*ctx*/) const = 0 ;
47 
48 };
49 
50 
51 #endif //> !DECISIONHANDLING_ICOMBOHYPOTOOL_H
Combo::MultiplicityReqMap
std::map< std::string, std::vector< int > > MultiplicityReqMap
Map from the chain name to the multiplicities required at each input.
Definition: IComboHypoTool.h:17
TrigCompositeUtils.h
Combo
Definition: IComboHypoTool.h:11
Combo::LegDecisionsMap
std::map< TrigCompositeUtils::DecisionID, std::vector< ElementLink< TrigCompositeUtils::DecisionContainer > > > LegDecisionsMap
LegDecisionsMap For a given chain leg key, this map holds all Decision Objects which are active on th...
Definition: IComboHypoTool.h:28
IComboHypoTool::DeclareInterfaceID
DeclareInterfaceID(IComboHypoTool, 1, 0)
IComboHypoTool::decide
virtual StatusCode decide(Combo::LegDecisionsMap &passingLegs, const EventContext &) const =0
IComboHypoTool
Definition: IComboHypoTool.h:41
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
Combo::LegMap
std::map< std::string, std::vector< int > > LegMap
Map from the chain name to legs required at each input.
Definition: IComboHypoTool.h:23
Combo::LegDecision
std::pair< TrigCompositeUtils::DecisionID, ElementLink< TrigCompositeUtils::DecisionContainer > > LegDecision
LegDecision keeps a given Decision Object associated with a specific leg when being used inside a sin...
Definition: IComboHypoTool.h:33