5#include "fastjet/ClusterSequenceArea.hh"
32 {
"default", fastjet::antikt_algorithm},
33 {
"kt", fastjet::kt_algorithm},
34 {
"anti-kt", fastjet::antikt_algorithm},
35 {
"cambridge", fastjet::cambridge_algorithm},
36 {
"genkt", fastjet::genkt_algorithm},
37 {
"passive cambridge", fastjet::cambridge_for_passive_algorithm},
38 {
"passive genkt", fastjet::genkt_for_passive_algorithm},
40 {
"Kt", fastjet::kt_algorithm},
41 {
"AntiKt", fastjet::antikt_algorithm},
42 {
"CamKt", fastjet::cambridge_algorithm},
44 {
"CMSCone", fastjet::plugin_algorithm},
45 {
"SISCone", fastjet::plugin_algorithm},
47 return knownAlgorithms;
55 {
"default", fastjet::Best},
56 {
"Best", fastjet::Best},
57 {
"N2MinHeapTiled", fastjet::N2MinHeapTiled},
58 {
"N2Tiled", fastjet::N2Tiled},
59 {
"N2PoorTiled", fastjet::N2PoorTiled},
60 {
"N2Plain", fastjet::N2Plain},
61 {
"N3Dumb", fastjet::N3Dumb},
62 {
"NlnN", fastjet::NlnN},
63 {
"NlnN3pi", fastjet::NlnN3pi},
64 {
"NlnN4pi", fastjet::NlnN4pi},
65 {
"NlnNCam4pi", fastjet::NlnNCam4pi},
66 {
"NlnNCam2pi2R", fastjet::NlnNCam2pi2R},
67 {
"NlnNCam", fastjet::NlnNCam},
68 {
"plugin_strategy", fastjet::plugin_strategy},
70 return knownStrategies;
78 {
"default", fastjet::E_scheme},
79 {
"E", fastjet::E_scheme},
80 {
"pt", fastjet::pt_scheme},
81 {
"pt2", fastjet::pt2_scheme},
82 {
"Et", fastjet::Et_scheme},
83 {
"Et2", fastjet::Et2_scheme},
84 {
"BIpt", fastjet::BIpt_scheme},
85 {
"BIpt2", fastjet::BIpt2_scheme},
87 return knownRecombinationSchemes;
93#ifndef XAOD_STANDALONE
96 {
"default", fastjet::SISConePlugin::SM_pttilde},
97 {
"pttilde", fastjet::SISConePlugin::SM_pttilde},
98 {
"PtTilde", fastjet::SISConePlugin::SM_pttilde},
99 {
"Pt", fastjet::SISConePlugin::SM_pt},
100 {
"Et", fastjet::SISConePlugin::SM_Et},
101 {
"mt", fastjet::SISConePlugin::SM_mt},
106 return knownSplitMergeScales;
114 {
"default", fastjet::voronoi_area},
115 {
"ActiveArea", fastjet::active_area},
116 {
"ActiveAreaExplicitGhost", fastjet::active_area_explicit_ghosts},
117 {
"PassiveArea", fastjet::passive_area},
118 {
"1GhostPassiveArea", fastjet::one_ghost_passive_area},
119 {
"VoronoiArea", fastjet::voronoi_area},
214#ifndef XAOD_STANDALONE
240 msg(MSG::ERROR) <<
"FastJet configuration error: "
241 <<
"Unknown jet algorithm \042"
244 return StatusCode::FAILURE;
250 msg(MSG::ERROR) <<
"FastJet configuration error: "
251 <<
"Unknown recombination scheme \042"
254 return StatusCode::FAILURE;
260 msg(MSG::ERROR) <<
"FastJet configuration error: "
261 <<
"Unknown clustering strategy \042"
263 return StatusCode::FAILURE;
267 enum jetAlgTypeEnum { unknown_type, Kt_type, CMS_type, SIS_type } jetAlgType = Kt_type;
271 jetAlgType = CMS_type;
273 jetAlgType = SIS_type;
275 jetAlgType = unknown_type;
277 if (jetAlgType == unknown_type)
279 msg(MSG::ERROR) <<
"FastJet configuration error: "
280 <<
"Unknown jet algorithm plugin \042"
282 return StatusCode::FAILURE;
285#ifndef XAOD_STANDALONE
288 if (jetAlgType == CMS_type)
290 else if (jetAlgType == SIS_type)
306 if ( (jetAlgType == CMS_type) || (jetAlgType == SIS_type)){
307 ATH_MSG_ERROR(
"CMS and SIScone plugin not supporeted outside athena yet");
308 return StatusCode::FAILURE;
328 msg(MSG::ERROR) <<
"FastJet configuration error: "
329 <<
"Clustering with areas requested but area type"
331 <<
"\042 is not known" <<
endmsg;
332 return StatusCode::FAILURE;
362 msg(MSG::ERROR) <<
"Invalid configuration for exclusive "
363 <<
"jet finder, one of ExclusiveDcut("
365 <<
") or ExclusiveNjets("
367 <<
") properties should be >= 0."
369 return StatusCode::FAILURE;
375 msg(MSG::INFO) <<
"JetAlgorithm ................ \042"
378 if (jetAlgType == Kt_type)
380 msg(MSG::INFO) <<
"Recombination scheme ........ \042"
382 msg(MSG::INFO) <<
"Strategy .................... \042"
385 else if (jetAlgType == CMS_type)
386 msg(MSG::INFO) <<
"CMS seed threshold .......... "
388 else if (jetAlgType == SIS_type)
390 msg(MSG::INFO) <<
"SIS overlap threshold ....... "
392 msg(MSG::INFO) <<
"SIS max num pass ............ "
394 msg(MSG::INFO) <<
"SIS protojet Pt min ......... "
396 msg(MSG::INFO) <<
"SIS do caching .............. "
398 msg(MSG::INFO) <<
"SIS split/merge scale ....... \042"
400 msg(MSG::INFO) <<
"SIS split/merge stop scale .. "
405 msg(MSG::INFO) <<
"Calculate jet areas ......... yes" <<
endmsg;
406 msg(MSG::INFO) <<
"Area type ................... \042"
412 return StatusCode::SUCCESS;
423 ATH_MSG_DEBUG(
" FastJetInterfaceTool::execute injet size = "<< inJets.size() );
431 if ( ((this->*
m_processor)(inJets,outJets)).isFailure() )
436 msg(MSG::WARNING) <<
"Cannot allocate new fastjet::ClusterSequence,"
437 <<
" no jets found (message "
443 msg(MSG::WARNING) <<
"Cannot allocate new fastjet::ClusterSequence,"
444 <<
" no jets found (message "
451 return StatusCode::SUCCESS;
459 fastjet::JetAlgorithm& fjalg)
466 fastjet::Strategy& fjstr)
473 fastjet::RecombinationScheme& fjrs)
479#ifndef XAOD_STANDALONE
481 fastjet::SISConePlugin::SplitMergeScale& fjsms)
489 fastjet::AreaType& fjart)
514#ifndef XAOD_STANDALONE
539 ? (this->*
m_extractor)(outJets) : StatusCode::FAILURE;
551 ? (this->*
m_extractor)(outJets) : StatusCode::FAILURE;
557 ATH_MSG_DEBUG(
" extract inclusive outjets N= "<< outJets.size() );
558 return !outJets.empty() ? StatusCode::SUCCESS : StatusCode::FAILURE;
564 ATH_MSG_DEBUG(
" extract exclusiveNjets outjets N= "<< outJets.size() );
566 return !outJets.empty() ? StatusCode::SUCCESS : StatusCode::FAILURE;
572 ATH_MSG_DEBUG(
" extract exclusiveDcut outjets N= "<< outJets.size() );
573 return ! outJets.empty() ? StatusCode::SUCCESS : StatusCode::FAILURE;
595 const auto pPair =
map.find(
"default");
596 if (pPair ==
map.end()){
597 return StatusCode::FAILURE;
601 {
return StatusCode::FAILURE; }
606 case fastjet::voronoi_area:
612 case fastjet::active_area:
613 case fastjet::active_area_explicit_ghosts:
614 case fastjet::one_ghost_passive_area:
615 case fastjet::passive_area:
645 return StatusCode::SUCCESS;
655 std::vector<int> seed;
658 Garea_spec.get_random_status (seed);
660 unsigned int evnum = 0;
661 unsigned int runnum = 0;
664 if (
evtStore()->retrieve (ei,
"EventInfo").isSuccess()){
676 for (
size_t i = 0; i < seed.size(); i++) {
677 seed[i] =
static_cast<int> (
static_cast<uint32_t
> (crc));
678 crc = (crc >> 32) ^ crc;
682 Garea_spec.set_random_status (seed);
684 Garea_spec.get_random_status (seed);
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
ServiceHandle< StoreGateSvc > & evtStore()
uint32_t runNumber() const
The current event's run number.
uint64_t eventNumber() const
The current event's event number.
A crc-64 implementation, using pclmul where possible.
uint64_t crc64(const CRCTable &table, const char *data, size_t data_len)
Find the CRC-64 of a string,.
uint64_t crc64addint(uint64_t crc, uint64_t x)
Extend a previously-calculated CRC to include an int.
Collection of types for the internal dictionary.
const std::string & cfgName(D tag, const M &map, const std::string &invalidKey)
General configuration keyword finder.
std::map< std::string, fastjet::AreaType > areamap_t
Mapping keyword on fastjet area type tag.
std::map< std::string, fastjet::Strategy > strategymap_t
Mapping keyword on fastjet clustering strategy tag.
std::map< std::string, fastjet::SISConePlugin::SplitMergeScale > splitMergeScaleMap_t
Mapping keyword on fastjet SIS Cone split merge scale tag.
std::map< std::string, fastjet::RecombinationScheme > schememap_t
Mapping keyword on fastjet recombination scheme tag.
static bool chkConfig(const std::string &key, D &tag, const M &map)
General configuration check.
std::map< std::string, fastjet::JetAlgorithm > algomap_t
Mapping keyword on fastjet jet algorithm tag.
EventInfo_v1 EventInfo
Definition of the latest event info version.