ATLAS Offline Software
TrigTauGenericHypo.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TrigTauHypo_TrigTauGenericHypo_H
6 #define TrigTauHypo_TrigTauGenericHypo_H
7 
8 /********************************************************************
9  *
10  * NAME: TrigTauGenericHypo.h
11  * PACKAGE: Trigger/TrigHypothesis/TrigTauHypo
12  *
13  * AUTHORS: P.O. DeViveiros
14  * CREATED: Sometime in early 2015
15  *
16  * DESCRIPTION:
17  *
18  * Implementation of generic cuts on TauID variables
19  *
20  *********************************************************************/
21 
22 #include <vector>
23 #include "TFormula.h"
24 
25 #include "Gaudi/Property.h"
26 #include "GaudiKernel/ToolHandle.h"
29 
32 
33 class TrigTauGenericHypo : public extends<AthAlgTool, ITrigTauGenericHypoTool> {
34  public:
35  TrigTauGenericHypo( const std::string& type,
36  const std::string& name,
37  const IInterface* parent );
38 
39  virtual StatusCode initialize() override;
40 
41  virtual StatusCode decide( std::vector<ITrigTauGenericHypoTool::ClusterInfo>& input ) const override;
42 
43  virtual bool decide( const ITrigTauGenericHypoTool::ClusterInfo& i ) const override;
44 
45  private:
46 
48  std::vector<int> m_member;
49  std::vector<std::string> m_formula;
50  std::vector<TFormula> m_store;
51 
52  Gaudi::Property<bool> m_decisionPerCluster{ this, "DecisionPerCluster", true, "Is multiplicity requirement refering to taus ( false ) or RoIs/clusters with taus ( false ), relevant only in when multiplicity > 1" };
53 
54  Gaudi::Property<bool> m_acceptAll{ this, "AcceptAll", false, "Ignore selection" };
55 
56  ToolHandle<GenericMonitoringTool> m_monTool{ this, "MonTool", "", "Monitoring tool" };
57 
58 };
59 #endif
60 
TrigTauGenericHypo::m_monTool
ToolHandle< GenericMonitoringTool > m_monTool
Definition: TrigTauGenericHypo.h:68
TrigTauGenericHypo::m_acceptAll
Gaudi::Property< bool > m_acceptAll
Definition: TrigTauGenericHypo.h:66
TrigTauGenericHypo::m_decisionPerCluster
Gaudi::Property< bool > m_decisionPerCluster
Definition: TrigTauGenericHypo.h:64
TrigTauGenericHypo::m_decisionId
HLT::Identifier m_decisionId
Definition: TrigTauGenericHypo.h:59
TrigTauGenericHypo::decide
virtual StatusCode decide(std::vector< ITrigTauGenericHypoTool::ClusterInfo > &input) const override
TrigTauGenericHypo::TrigTauGenericHypo
TrigTauGenericHypo(const std::string &type, const std::string &name, const IInterface *parent)
Definition: TrigTauGenericHypo.cxx:29
TrigTauGenericHypo::initialize
virtual StatusCode initialize() override
Definition: TrigTauGenericHypo.cxx:40
GenericMonitoringTool.h
lumiFormat.i
int i
Definition: lumiFormat.py:92
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
PlotPulseshapeFromCool.input
input
Definition: PlotPulseshapeFromCool.py:106
AthAlgTool.h
ITrigTauGenericHypoTool::ClusterInfo
Definition: ITrigTauGenericHypoTool.h:24
test_pyathena.parent
parent
Definition: test_pyathena.py:15
TrigTauGenericHypo::m_formula
std::vector< std::string > m_formula
Definition: TrigTauGenericHypo.h:61
HLT::Identifier
Definition: TrigCompositeUtils/TrigCompositeUtils/HLTIdentifier.h:20
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
TrigTauGenericHypo::m_member
std::vector< int > m_member
Definition: TrigTauGenericHypo.h:60
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
HLTIdentifier.h
TrigTauGenericHypo
Definition: TrigTauGenericHypo.h:33
ITrigTauGenericHypoTool.h
TrigTauGenericHypo::m_store
std::vector< TFormula > m_store
Definition: TrigTauGenericHypo.h:62