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