Loading [MathJax]/jax/input/TeX/config.js
 |
ATLAS Offline Software
|
Go to the documentation of this file.
8 #include "fastjet/PseudoJet.hh"
9 #include "fastjet/ClusterSequence.hh"
10 #include "fastjet/ClusterSequenceArea.hh"
11 #include "fastjet/config.h"
12 #include "fastjet/AreaDefinition.hh"
13 #ifndef NO_JET_VARIABLER
14 #include "fastjet/contrib/VariableRPlugin.hh"
30 #ifndef NO_JET_VARIABLER
31 using fastjet::contrib::VariableRPlugin;
39 m_bld(
"JetFromPseudojet",this),
41 m_isVariableR(false) {
61 return StatusCode::FAILURE;
65 return StatusCode::FAILURE;
73 #ifdef NO_JET_VARIABLER
75 ATH_MSG_ERROR(
"Variable-R jet findng is not supported in theis build.");
82 std::string sdrop =
"ToolSvc.";
83 std::string myname =
name();
84 std::string::size_type ipos = myname.find(sdrop);
85 if ( ipos != std::string::npos ) myname.replace(ipos, sdrop.size(),
"");
86 std::string cname =
"ClusterSequence_JetFinder_" + myname;
93 return StatusCode::SUCCESS;
102 constexpr
bool doSave =
true;
104 return _find(pjContainer, finalJets, inputtype, doSave,
pcs);
114 constexpr
bool doSave =
false;
115 return _find(pjContainer, finalJets, inputtype, doSave,
pcs);
133 #ifndef NO_JET_VARIABLER
134 const VariableRPlugin* pvrp =
nullptr;
136 VariableRPlugin::ClusterType vct = VariableRPlugin::AKTLIKE;
142 ATH_MSG_ERROR(
"Invalid algorithm type for variable-R finding.");
145 jetdef = fastjet::JetDefinition(pvrp);
146 jetdef.delete_plugin_when_unused ();
150 ATH_MSG_ERROR(
"Variable-R jet findng is not supported in theis build.");
157 fastjet::GhostedAreaSpec gspec(5.0, 1,
m_ghostarea);
158 std::vector<int> inseeds;
163 if (!handle.isValid()){
170 if ( pevinfo !=
nullptr ) {
178 inseeds.push_back(ievt);
179 inseeds.push_back(irun);
186 ATH_MSG_DEBUG(
" Actual ghost area: " << gspec.actual_ghost_area());
192 if ( inseeds.size() == 2 ) {
200 fastjet::AreaDefinition adef(fastjet::active_area_explicit_ghosts, gspec);
203 pcs =
new fastjet::ClusterSequenceArea(*inps, jetdef,
204 adef.with_fixed_seed(inseeds));
211 for (
const auto & pj: outs ) {
231 << j->numConstituents());
245 if ( ! handle_out.record( std::unique_ptr<fastjet::ClusterSequence>(
pcs)) ) {
251 bool present =
false;
252 if ( handle_in.isValid()) {
257 const fastjet::SharedPtr<fastjet::PseudoJetStructureBase>& shrptr =
pcs->structure_shared_ptr();
uint64_t eventNumber() const
The current event's event number.
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
JetFinder(const std::string &name)
fastjet::JetAlgorithm m_fjalg
SG::ReadHandleKey< fastjet::ClusterSequence > m_cnameRKey
const std::string & key() const
Return the StoreGate ID for the referenced object.
@ IS_SIMULATION
true: simulation, false: data
uint32_t runNumber() const
The current event's run number.
uint32_t mcChannelNumber() const
The MC generator's channel number.
SG::ReadCondHandle< T > makeHandle(const SG::ReadCondHandleKey< T > &key, const EventContext &ctx=Gaudi::Hive::currentContext())
virtual int find(const PseudoJetContainer &cont, xAOD::JetContainer &finalJets, xAOD::JetInput::Type contype) const override
Method to find jets from a vector of pseudojet inputs.
fastjet::JetAlgorithm fastJetDef(ID id)
fastjet::ClusterSequence ClusterSequence
void setSizeParameter(float p)
::StatusCode StatusCode
StatusCode definition for legacy code.
const std::string & name(Level lvl)
Convenience function for translating message levels to strings.
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
ID
//////////////////////////////////////// JetAlgorithmType::ID defines most common physics jet finding...
@ undefined_jet_algorithm
void setAttribute(const std::string &name, const T &v)
SG::ReadHandleKey< xAOD::EventInfo > m_eventinfokey
virtual StatusCode initialize() override
Dummy implementation of the initialisation function.
Class describing the basic event information.
std::vector< fastjet::PseudoJet > PseudoJetVector
void save(fastjet::ClusterSequence *pcs) const
#define ATH_MSG_WARNING(x)
int _find(const PseudoJetContainer &cont, xAOD::JetContainer &finalJets, xAOD::JetInput::Type contype, bool doSave, fastjet::ClusterSequence *&) const
ID algId(const std::string &n)
Converts a string into a JetAlgorithmType::ID.
virtual int findNoSave(const PseudoJetContainer &cont, xAOD::JetContainer &finalJets, xAOD::JetInput::Type contype, fastjet::ClusterSequence *&cs) const override
const std::vector< PseudoJet > * casVectorPseudoJet() const
JetContainer_v1 JetContainer
Definition of the current "jet container version".
virtual void print() const override
Print the state of the tool.
SG::WriteHandleKey< fastjet::ClusterSequence > m_cnameWKey
void setAlgorithmType(JetAlgorithmType::ID a)
ToolHandle< IJetFromPseudojet > m_bld
uint64_t mcEventNumber() const
The MC generator's event number.
bool eventType(EventType type) const
Check for one particular bitmask value.