ATLAS Offline Software
TrigJetCRVARHypoTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3  */
4 
5 #ifndef TRIGJETCRVARHYPOTOOL_H
6 #define TRIGJETCRVARHYPOTOOL_H
7 /********************************************************************
8  *
9  * NAME: TrigJetCRVARHypoTool.h
10  * PACKAGE: Trigger/TrigHypothesis/TrigHLTJetHypo
11  *
12  * * @class TrigJetCRVARHypoTool
13  * * @brief HypoTool for
14  * * @details HypoTool needed to decide on exotic jet selections
15  * * @author
16  *
17  *
18  ********************************************************************/
19 
25 
27 #include "xAODJet/JetContainer.h"
32 
34 
35  public:
36 
37  TrigJetCRVARHypoTool(const std::string& type,
38  const std::string& name,
39  const IInterface* parent);
40 
42  virtual StatusCode initialize() override final;
43 
44  // typedef for passing jet - decision object assocation
45  using JetDecision = std::pair<const xAOD::Jet*,TrigCompositeUtils::Decision*>;
46 
47  struct JetInfo {
49  const xAOD::Jet* jet;
52  };
53 
54  bool emf_dis( const xAOD::Jet* jet ) const;
55 
59  StatusCode decide( std::vector<JetInfo>& decisions ) const;
60 
61 
65  bool decide_on_single_jet( JetInfo& input ) const;
66 
67 
68  const HLT::Identifier& getId() const;
69 
70  private:
71 
72  // Identifier is used to keep track of which tool made which decision.
73  // The information is stored in the event store.
75 
76  ToolHandle<ITrigJetHypoToolHelper> m_helper {
77  this, "helper_tool", {}, "Jet hypo helper AlgTool"};
78 
79  Gaudi::Property<bool>
80  m_visitDebug {this, "visit_debug", false, "debug flag"};
81 
82  Gaudi::Property<std::string> m_chainName {
83  this, "chain_name", {}, "chain name"};
84 
85  // minjetlogR may be read from trigger chain name -- to be updated
86  Gaudi::Property< float > m_jetlogRCut{ this, "MinjetlogR", { float(1.2 ) }, "Jet logR requirement" };
87 
88  Gaudi::Property< float > m_pufixLogRatio{ this, "MpufixLogRatio", { float(1.2 ) }, "Jet pufix logR requirement" };
89  Gaudi::Property< float > m_trackPtCut{ this, "MintrackPt", { float( 2.0*Gaudi::Units::GeV ) }, "Track pT requirement" };
90  Gaudi::Property< float > m_deltaR{ this, "MindeltaR", { float( 0.2 ) }, "deltaR(jet, track) requirement" };
91 
92  Gaudi::Property< bool > m_doBIBrm{ this, "doBIBremoval", { int(0) }, "option to include BIB removal" };
93 
94  Gaudi::Property< float > m_dEta{ this, "BibMinDeltaEta", { float( 0.4 ) }, "BIB deltaEta requirement" };
95  Gaudi::Property< float > m_dPhi{ this, "BibMinDeltaPhi", { float( 0.2 ) }, "BIB deltaPhi requirement" };
96  Gaudi::Property< float > m_minCellEt{ this, "BibMinCellEt", { float( 240.0 ) }, "BIB cell Et requirement" };
97  Gaudi::Property< float > m_celltime{ this, "BibCelltiming", { float( -2.0 ) }, "BIB cell timing requirement" };
98  Gaudi::Property< float > m_dBIBtime{ this, "BibDeltatiming", { float( 5.0 ) }, "BIB delta timing requirement" };
99  Gaudi::Property< int > m_countCaloCell{ this, "countBIBcells", { int( 4 ) }, "requirement on number of BIB cells" };
100 
101 
102 };
103 #endif
TrigJetCRVARHypoTool::m_dPhi
Gaudi::Property< float > m_dPhi
Definition: TrigJetCRVARHypoTool.h:106
TrigJetCRVARHypoTool::m_dBIBtime
Gaudi::Property< float > m_dBIBtime
Definition: TrigJetCRVARHypoTool.h:109
TrigJetCRVARHypoTool::emf_dis
bool emf_dis(const xAOD::Jet *jet) const
Definition: TrigJetCRVARHypoTool.cxx:68
TrackParticlexAODHelpers.h
TrigCompositeUtils.h
CaloCellPos2Ntuple.int
int
Definition: CaloCellPos2Ntuple.py:24
TrigJetCRVARHypoTool::~TrigJetCRVARHypoTool
~TrigJetCRVARHypoTool()
Definition: TrigJetCRVARHypoTool.cxx:46
TrigJetCRVARHypoTool::decide_on_single_jet
bool decide_on_single_jet(JetInfo &input) const
Auxiluary method, single jet selection.
Definition: TrigJetCRVARHypoTool.cxx:142
TrigJetCRVARHypoTool::m_visitDebug
Gaudi::Property< bool > m_visitDebug
Definition: TrigJetCRVARHypoTool.h:91
TrigJetCRVARHypoTool::JetInfo::jet
const xAOD::Jet * jet
Definition: TrigJetCRVARHypoTool.h:60
TrigJetCRVARHypoTool::m_decisionId
HLT::Identifier m_decisionId
Definition: TrigJetCRVARHypoTool.h:85
TrigJetCRVARHypoTool::m_deltaR
Gaudi::Property< float > m_deltaR
Definition: TrigJetCRVARHypoTool.h:101
TrigJetCRVARHypoTool::m_countCaloCell
Gaudi::Property< int > m_countCaloCell
Definition: TrigJetCRVARHypoTool.h:110
TrigJetCRVARHypoTool::JetInfo::cells
const CaloConstCellContainer * cells
Definition: TrigJetCRVARHypoTool.h:61
TrigJetCRVARHypoTool::JetInfo::decision
TrigCompositeUtils::Decision * decision
Definition: TrigJetCRVARHypoTool.h:62
TrigJetCRVARHypoTool::getId
const HLT::Identifier & getId() const
GenericMonitoringTool.h
TrigJetCRVARHypoTool::JetInfo::previousDecisionIDs
const TrigCompositeUtils::DecisionIDContainer previousDecisionIDs
Definition: TrigJetCRVARHypoTool.h:59
TrigJetCRVARHypoTool::JetInfo
Definition: TrigJetCRVARHypoTool.h:58
TrigJetCRVARHypoTool::TrigJetCRVARHypoTool
TrigJetCRVARHypoTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition: TrigJetCRVARHypoTool.cxx:37
jet
Definition: JetCalibTools_PlotJESFactors.cxx:23
TrigJetCRVARHypoTool::m_jetlogRCut
Gaudi::Property< float > m_jetlogRCut
Definition: TrigJetCRVARHypoTool.h:97
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
test_pyathena.parent
parent
Definition: test_pyathena.py:15
TrigJetCRVARHypoTool::m_trackPtCut
Gaudi::Property< float > m_trackPtCut
Definition: TrigJetCRVARHypoTool.h:100
xAOD::TrigComposite_v1
Class used to describe composite objects in the HLT.
Definition: TrigComposite_v1.h:52
HLT::Identifier
Definition: TrigCompositeUtils/TrigCompositeUtils/HLTIdentifier.h:20
xAOD::decisions
decisions
Definition: TrigComposite_v1.cxx:81
TrigJetCRVARHypoTool::m_minCellEt
Gaudi::Property< float > m_minCellEt
Definition: TrigJetCRVARHypoTool.h:107
ITrigJetHypoToolHelper.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
TrigJetCRVARHypoTool
Definition: TrigJetCRVARHypoTool.h:33
EventInfo.h
TrigJetCRVARHypoTool::JetDecision
std::pair< const xAOD::Jet *, TrigCompositeUtils::Decision * > JetDecision
Definition: TrigJetCRVARHypoTool.h:56
xAOD::Jet_v1
Class describing a jet.
Definition: Jet_v1.h:57
VertexContainer.h
TrigCompositeUtils::DecisionIDContainer
std::set< DecisionID > DecisionIDContainer
Definition: TrigComposite_v1.h:28
CaloConstCellContainer
CaloCellContainer that can accept const cell pointers.
Definition: CaloConstCellContainer.h:45
JetContainer.h
TrigJetCRVARHypoTool::m_celltime
Gaudi::Property< float > m_celltime
Definition: TrigJetCRVARHypoTool.h:108
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
TrigJetCRVARHypoTool::initialize
virtual StatusCode initialize() override final
Definition: TrigJetCRVARHypoTool.cxx:51
HLTIdentifier.h
TrigJetCRVARHypoTool::m_helper
ToolHandle< ITrigJetHypoToolHelper > m_helper
Definition: TrigJetCRVARHypoTool.h:87
TrigJetCRVARHypoTool::m_chainName
Gaudi::Property< std::string > m_chainName
Definition: TrigJetCRVARHypoTool.h:93
TrigJetCRVARHypoTool::m_pufixLogRatio
Gaudi::Property< float > m_pufixLogRatio
Definition: TrigJetCRVARHypoTool.h:99
AthAlgTool
Definition: AthAlgTool.h:26
TrigJetCRVARHypoTool::m_dEta
Gaudi::Property< float > m_dEta
Definition: TrigJetCRVARHypoTool.h:105
CaloConstCellContainer.h
CaloCellContainer that can accept const cell pointers.
GeV
#define GeV
Definition: CaloTransverseBalanceVecMon.cxx:30
TrigJetCRVARHypoTool::m_doBIBrm
Gaudi::Property< bool > m_doBIBrm
Definition: TrigJetCRVARHypoTool.h:103
readCCLHist.float
float
Definition: readCCLHist.py:83
TrackParticleContainer.h
TrigJetCRVARHypoTool::decide
StatusCode decide(std::vector< JetInfo > &decisions) const
decides upon a collection of jets
Definition: TrigJetCRVARHypoTool.cxx:211