Loading [MathJax]/extensions/tex2jax.js
 |
ATLAS Offline Software
|
#include <RunKLFitterAlg.h>
|
virtual StatusCode | initialize () final |
|
virtual StatusCode | execute () final |
|
::StatusCode | requestFileExecute () |
| register this algorithm to have an implementation of fileexecute More...
|
|
::StatusCode | requestBeginInputFile () |
| register this algorithm to have an implementation of beginInputFile More...
|
|
::StatusCode | requestEndInputFile () |
| register this algorithm to have an implementation of endInputFile More...
|
|
void | handle (const Incident &inc) |
| receive the given incident More...
|
|
virtual StatusCode | sysInitialize () |
| Initialization method invoked by the framework. More...
|
|
const ServiceHandle< ITHistSvc > & | histSvc () const |
| The standard THistSvc (for writing histograms and TTrees and more to a root file) Returns (kind of) a pointer to the THistSvc . More...
|
|
virtual const DataObjIDColl & | extraOutputDeps () const override |
| Return the list of extra output dependencies. More...
|
|
ServiceHandle< StoreGateSvc > & | evtStore () |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | evtStore () const |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | detStore () const |
| The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
virtual StatusCode | sysStart () override |
| Handle START transition. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | inputHandles () const override |
| Return this algorithm's input handles. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | outputHandles () const override |
| Return this algorithm's output handles. More...
|
|
Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Property< T > &t) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc="none") |
| Declare a new Gaudi property. More...
|
|
void | updateVHKA (Gaudi::Details::PropertyBase &) |
|
MsgStream & | msg () const |
|
MsgStream & | msg (const MSG::Level lvl) const |
|
bool | msgLvl (const MSG::Level lvl) const |
|
|
virtual ::StatusCode | finalize () |
| finalize this algorithm More...
|
|
virtual void | print () const |
| print the state of the algorithm More...
|
|
virtual ::StatusCode | fileExecute () |
| perform the action exactly once for each file in the dataset More...
|
|
virtual ::StatusCode | beginInputFile () |
| perform the action for the beginning of an input file More...
|
|
virtual ::StatusCode | endInputFile () |
| perform the action for the end of an input file More...
|
|
void | renounceArray (SG::VarHandleKeyArray &handlesArray) |
| remove all handles from I/O resolution More...
|
|
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > | renounce (T &h) |
|
void | extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps) |
| Add StoreName to extra input/output deps as needed. More...
|
|
StatusCode | configAthHistogramming (const ServiceHandle< ITHistSvc > &histSvc, const std::string &prefix, const std::string &rootDir, const std::string &histNamePrefix, const std::string &histNamePostfix, const std::string &histTitlePrefix, const std::string &histTitlePostfix) |
| To be called by the derived classes to fill the internal configuration. More...
|
|
TH1 * | bookGetPointer (const TH1 &hist, const std::string &tDir="", const std::string &stream="") |
| Simplify the booking and registering (into THistSvc) of histograms. More...
|
|
TH1 * | bookGetPointer (TH1 *hist, const std::string &tDir="", const std::string &stream="") |
| Simplify the booking and registering (into THistSvc) of histograms. More...
|
|
TH1 * | bookGetPointer (TH1 &histRef, std::string tDir="", std::string stream="") |
| Simplify the booking and registering (into THistSvc) of histograms. More...
|
|
TTree * | bookGetPointer (const TTree &treeRef, std::string tDir="", std::string stream="") |
| Simplify the booking and registering (into THistSvc) of TTrees. More...
|
|
TGraph * | bookGetPointer (const TGraph &graphRef, std::string tDir="", std::string stream="") |
| Simplify the booking and registering (into THistSvc) of TGraphs. More...
|
|
TEfficiency * | bookGetPointer (const TEfficiency &eff, const std::string &tDir="", const std::string &stream="") |
| Simplify the booking and registering (into THistSvc) of TEfficiency. More...
|
|
TEfficiency * | bookGetPointer (TEfficiency *eff, const std::string &tDir="", const std::string &stream="") |
| Simplify the booking and registering (into THistSvc) of TEfficiency. More...
|
|
TEfficiency * | bookGetPointer (TEfficiency &effRef, std::string tDir="", std::string stream="") |
| Simplify the booking and registering (into THistSvc) of TEfficiency. More...
|
|
StatusCode | book (const TH1 &hist, const std::string &tDir="", const std::string &stream="") |
| Simplify the booking and registering (into THistSvc) of histograms. More...
|
|
StatusCode | book (TH1 *hist, const std::string &tDir="", const std::string &stream="") |
| Simplify the booking and registering (into THistSvc) of histograms. More...
|
|
StatusCode | book (TH1 &histRef, const std::string &tDir="", const std::string &stream="") |
| Simplify the booking and registering (into THistSvc) of histograms. More...
|
|
StatusCode | book (const TTree &treeRef, const std::string &tDir="", const std::string &stream="") |
| Simplify the booking and registering (into THistSvc) of TTrees. More...
|
|
StatusCode | book (const TGraph &graphRef, const std::string &tDir="", const std::string &stream="") |
| Simplify the booking and registering (into THistSvc) of TGraphs. More...
|
|
StatusCode | book (const TEfficiency &eff, const std::string &tDir="", const std::string &stream="") |
| Simplify the booking and registering (into THistSvc) of TEfficiency. More...
|
|
StatusCode | book (TEfficiency *eff, const std::string &tDir="", const std::string &stream="") |
| Simplify the booking and registering (into THistSvc) of TEfficiency. More...
|
|
StatusCode | book (TEfficiency &effRef, const std::string &tDir="", const std::string &stream="") |
| Simplify the booking and registering (into THistSvc) of TEfficiency. More...
|
|
TH1 * | hist (const std::string &histName, const std::string &tDir="", const std::string &stream="") |
| Simplify the retrieval of registered histograms of any type. More...
|
|
TH2 * | hist2d (const std::string &histName, const std::string &tDir="", const std::string &stream="") |
| Simplify the retrieval of registered 2-d histograms. More...
|
|
TH3 * | hist3d (const std::string &histName, const std::string &tDir="", const std::string &stream="") |
| Simplify the retrieval of registered 3-d histograms. More...
|
|
TTree * | tree (const std::string &treeName, const std::string &tDir="", const std::string &stream="") |
| Simplify the retrieval of registered TTrees. More...
|
|
TGraph * | graph (const std::string &graphName, const std::string &tDir="", const std::string &stream="") |
| Simplify the retrieval of registered TGraphs. More...
|
|
TEfficiency * | efficiency (const std::string &effName, const std::string &tDir="", const std::string &stream="") |
| Simplify the retrieval of registered TEfficiency. More...
|
|
|
StatusCode | execute_syst (const CP::SystematicSet &sys) |
|
StatusCode | add_leptons (const std::vector< const xAOD::Electron * > &selected_electrons, const std::vector< const xAOD::Muon * > &selected_muons, KLFitter::Particles *myParticles) |
|
StatusCode | add_jets (const std::vector< const xAOD::Jet * > &selected_jets, KLFitter::Particles *myParticles) |
|
StatusCode | setJetskLeadingN (const std::vector< const xAOD::Jet * > &jets, KLFitter::Particles *inputParticles, const size_t njets) |
|
StatusCode | retrieveEfficiencies (const xAOD::Jet *jet, float *eff, float *ineff) |
|
StatusCode | setJetskBtagPriority (const std::vector< const xAOD::Jet * > &jets, KLFitter::Particles *inputParticles, const size_t maxJets) |
|
StatusCode | evaluatePermutations (const CP::SystematicSet &sys, const std::vector< size_t > &electron_indices, const std::vector< size_t > &muon_indices, const std::vector< size_t > &jet_indices) |
|
template<typename T > |
std::vector< const T * > | sortPt (const std::vector< const T * > &particles, std::vector< size_t > &indices) |
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKey> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyArrayType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleType &) |
| specialization for handling Gaudi::Property<SG::VarHandleBase> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &t, const SG::NotHandleType &) |
| specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More...
|
|
void | buildBookingString (std::string &bookingString, std::string &histName, std::string &tDir, std::string &stream, bool usePrefixPostfix=false) |
| Method to build individual booking string. More...
|
|
void | myReplace (std::string &str, const std::string &oldStr, const std::string &newStr) |
| Helper method to replace sub-string. More...
|
|
hash_t | hash (const std::string &histName) const |
| Method to calculate a 32-bit hash from a string. More...
|
|
Definition at line 46 of file RunKLFitterAlg.h.
◆ ConstMetaStorePtr_t
◆ EffMap_t
◆ GraphMap_t
◆ hash_t
◆ HistMap_t
◆ MetaStore_t
◆ MetaStorePtr_t
Type of the metadata store pointer in standalone mode.
Definition at line 110 of file AnaAlgorithm.h.
◆ StoreGateSvc_t
◆ TreeMap_t
◆ add_jets()
StatusCode EventReco::RunKLFitterAlg::add_jets |
( |
const std::vector< const xAOD::Jet * > & |
selected_jets, |
|
|
KLFitter::Particles * |
myParticles |
|
) |
| |
|
private |
◆ add_leptons()
Definition at line 414 of file RunKLFitterAlg.cxx.
424 if (selected_electrons.size() == 0) {
426 "For single-lepton kElectron KLFitter likelihoods, at least one "
427 "electron is required");
428 return StatusCode::FAILURE;
431 el.SetPtEtaPhiE(xaod_el->
pt() / 1.e3, xaod_el->
eta(), xaod_el->
phi(),
432 xaod_el->
e() / 1.e3);
437 if (selected_muons.size() == 0) {
439 "For single-lepton kMuon KLFitter likelihoods, at least one muon is "
441 return StatusCode::FAILURE;
443 const xAOD::Muon *xaod_mu = selected_muons.at(0);
444 mu.SetPtEtaPhiE(xaod_mu->
pt() / 1.e3, xaod_mu->
eta(), xaod_mu->
phi(),
445 xaod_mu->
e() / 1.e3);
449 if (selected_electrons.size() < 3) {
451 "For tri-lepton kTriElectron KLFitter likelihoods, at least 3 "
452 "electrons are required");
453 return StatusCode::FAILURE;
456 for (
size_t i = 0;
i < 3; ++
i) {
460 myParticles->AddParticle(&
el,
electron->caloCluster()->etaBE(2),
465 if (selected_muons.size() < 3) {
467 "For tr-lepton kTriMuons KLFitter likelihoods, at least 3 muons are "
469 return StatusCode::FAILURE;
472 for (
size_t i = 0;
i < 3; ++
i) {
480 return StatusCode::SUCCESS;
◆ beginInputFile()
StatusCode EL::AnaAlgorithm::beginInputFile |
( |
| ) |
|
|
protectedinherited |
perform the action for the beginning of an input file
Ideally you don't use this, but instead rely on meta-data tools instead. However, there are enough people asking for it that I decided to implement it anyways.
\warn To use this you have to call requestBeginInputFile to use this.
\warn If a file is split across multiple jobs this will be called more than once. This only happens for specific batch drivers and/or if it is explicitly configured by the user. With PROOF it could even happen multiple times within the same job, and while PROOF is no longer supported that behavior may come back if support for a similar framework is added in the future. As such, this method should not be used for accounting that relies to be called exactly once per file, take a look at fileExecute if you want something that is guaranteed to be executed exactly once per input file.
\warn The execution order of beginInputFile and fileExecute is currently unspecified.
Definition at line 350 of file AnaAlgorithm.cxx.
353 return StatusCode::SUCCESS;
◆ book() [1/8]
StatusCode AthHistogramming::book |
( |
const TEfficiency & |
eff, |
|
|
const std::string & |
tDir = "" , |
|
|
const std::string & |
stream = "" |
|
) |
| |
|
inlineprotectedinherited |
Simplify the booking and registering (into THistSvc) of TEfficiency.
Definition at line 335 of file AthHistogramming.h.
338 TEfficiency* effClone =
dynamic_cast< TEfficiency*
>(
eff.Clone() );
340 m_msg << MSG::ERROR <<
"Couldn't create a TEfficiency clone" <<
endmsg;
341 return StatusCode::FAILURE;
◆ book() [2/8]
StatusCode AthHistogramming::book |
( |
const TGraph & |
graphRef, |
|
|
const std::string & |
tDir = "" , |
|
|
const std::string & |
stream = "" |
|
) |
| |
|
inlineprotectedinherited |
Simplify the booking and registering (into THistSvc) of TGraphs.
◆ book() [3/8]
StatusCode AthHistogramming::book |
( |
const TH1 & |
hist, |
|
|
const std::string & |
tDir = "" , |
|
|
const std::string & |
stream = "" |
|
) |
| |
|
inlineprotectedinherited |
Simplify the booking and registering (into THistSvc) of histograms.
Definition at line 303 of file AthHistogramming.h.
306 TH1* histClone =
dynamic_cast< TH1*
>(
hist.Clone() );
308 m_msg << MSG::ERROR <<
"Couldn't create a TH1 clone" <<
endmsg;
309 return StatusCode::FAILURE;
311 return this->
book( *histClone, tDir,
stream );
◆ book() [4/8]
StatusCode AthHistogramming::book |
( |
const TTree & |
treeRef, |
|
|
const std::string & |
tDir = "" , |
|
|
const std::string & |
stream = "" |
|
) |
| |
|
inlineprotectedinherited |
Simplify the booking and registering (into THistSvc) of TTrees.
Definition at line 403 of file AthHistogramming.h.
409 return StatusCode::SUCCESS;
413 return StatusCode::FAILURE;
◆ book() [5/8]
StatusCode AthHistogramming::book |
( |
TEfficiency & |
effRef, |
|
|
const std::string & |
tDir = "" , |
|
|
const std::string & |
stream = "" |
|
) |
| |
|
inlineprotectedinherited |
Simplify the booking and registering (into THistSvc) of TEfficiency.
Definition at line 356 of file AthHistogramming.h.
361 m_msg << MSG::ERROR <<
"Couldn't book a TEfficiency" <<
endmsg;
362 return StatusCode::FAILURE;
364 return StatusCode::SUCCESS;
◆ book() [6/8]
StatusCode AthHistogramming::book |
( |
TEfficiency * |
eff, |
|
|
const std::string & |
tDir = "" , |
|
|
const std::string & |
stream = "" |
|
) |
| |
|
inlineprotectedinherited |
Simplify the booking and registering (into THistSvc) of TEfficiency.
Definition at line 346 of file AthHistogramming.h.
349 m_msg << MSG::ERROR <<
"Got a zero pointer to a TEfficiency" <<
endmsg;
350 return StatusCode::FAILURE;
◆ book() [7/8]
StatusCode AthHistogramming::book |
( |
TH1 & |
histRef, |
|
|
const std::string & |
tDir = "" , |
|
|
const std::string & |
stream = "" |
|
) |
| |
|
inlineprotectedinherited |
Simplify the booking and registering (into THistSvc) of histograms.
Definition at line 324 of file AthHistogramming.h.
328 if ( !histPointer ) {
329 m_msg << MSG::ERROR <<
"Couldn't book a TH1" <<
endmsg;
330 return StatusCode::FAILURE;
332 return StatusCode::SUCCESS;
◆ book() [8/8]
StatusCode AthHistogramming::book |
( |
TH1 * |
hist, |
|
|
const std::string & |
tDir = "" , |
|
|
const std::string & |
stream = "" |
|
) |
| |
|
inlineprotectedinherited |
Simplify the booking and registering (into THistSvc) of histograms.
Definition at line 314 of file AthHistogramming.h.
317 m_msg << MSG::ERROR <<
"Got a zero pointer to a TH1" <<
endmsg;
318 return StatusCode::FAILURE;
◆ bookGetPointer() [1/8]
TEfficiency * AthHistogramming::bookGetPointer |
( |
const TEfficiency & |
eff, |
|
|
const std::string & |
tDir = "" , |
|
|
const std::string & |
stream = "" |
|
) |
| |
|
inlineprotectedinherited |
Simplify the booking and registering (into THistSvc) of TEfficiency.
Definition at line 281 of file AthHistogramming.h.
284 TEfficiency* histClone =
dynamic_cast< TEfficiency*
>(
hist.Clone() );
286 m_msg << MSG::ERROR <<
"Couldn't create a TEfficiency clone in bookGetPointer" <<
endmsg;
◆ bookGetPointer() [2/8]
TGraph * AthHistogramming::bookGetPointer |
( |
const TGraph & |
graphRef, |
|
|
std::string |
tDir = "" , |
|
|
std::string |
stream = "" |
|
) |
| |
|
protectedinherited |
Simplify the booking and registering (into THistSvc) of TGraphs.
Definition at line 427 of file AthHistogramming.cxx.
430 const TGraph* graphPointer = &graphRef;
435 m_msg << MSG::WARNING
436 <<
"We got an invalid TGraph pointer in the BookGetPointer(TGraph*) method of the class" <<
m_name
442 std::string graphName = graphPointer->GetName();
443 const std::string graphTitle = graphPointer->GetTitle();
446 const hash_t graphHash = this->
hash(graphName);
447 GraphMap_t::const_iterator
it =
m_graphMap.find( graphHash );
450 m_msg << MSG::WARNING
451 <<
"Detected a hash collision. The hash for the TGraph with name=" << graphName
452 <<
" already exists and points to a TGraph with name=" <<
it->second->GetName()
453 <<
" NOT going to book the new histogram and returning a NULL pointer!" <<
endmsg;
461 m_msg << MSG::WARNING
462 <<
"We couldn't clone the TGraph in the BookGetPointer(TGraph&) method of the class" <<
m_name
469 std::string bookingString(
"");
473 if ( !((
histSvc()->regGraph(bookingString, graphClone)).isSuccess()) )
475 m_msg << MSG::WARNING
476 <<
"Problem registering TGraph with name " << graphName
477 <<
", title " << graphTitle
483 m_graphMap.insert(
m_graphMap.end(), std::pair< const hash_t, TGraph* >( graphHash, graphClone ) );
◆ bookGetPointer() [3/8]
TH1 * AthHistogramming::bookGetPointer |
( |
const TH1 & |
hist, |
|
|
const std::string & |
tDir = "" , |
|
|
const std::string & |
stream = "" |
|
) |
| |
|
inlineprotectedinherited |
Simplify the booking and registering (into THistSvc) of histograms.
Definition at line 260 of file AthHistogramming.h.
263 TH1* histClone =
dynamic_cast< TH1*
>(
hist.Clone() );
265 m_msg << MSG::ERROR <<
"Couldn't create a TH1 clone in bookGetPointer" <<
endmsg;
◆ bookGetPointer() [4/8]
TTree * AthHistogramming::bookGetPointer |
( |
const TTree & |
treeRef, |
|
|
std::string |
tDir = "" , |
|
|
std::string |
stream = "" |
|
) |
| |
|
protectedinherited |
Simplify the booking and registering (into THistSvc) of TTrees.
Definition at line 312 of file AthHistogramming.cxx.
315 const TTree* treePointer = &treeRef;
320 m_msg << MSG::WARNING
321 <<
"We got an invalid TTree pointer in the BookGetPointer(TTree*) method of the class" <<
m_name
327 std::string
treeName = treePointer->GetName();
328 const std::string treeTitle = treePointer->GetTitle();
332 TreeMap_t::const_iterator
it =
m_treeMap.find( treeHash );
335 m_msg << MSG::WARNING
336 <<
"Detected a hash collision. The hash for the TTree with name=" <<
treeName
337 <<
" already exists and points to a TTree with name=" <<
it->second->GetName()
338 <<
" NOT going to book the new histogram and returning a NULL pointer!" <<
endmsg;
343 TTree* treeClone =
dynamic_cast< TTree*
>( treePointer->Clone(
treeName.c_str()) );
346 m_msg << MSG::WARNING
347 <<
"We couldn't clone the TTree in the BookGetPointer(TTree&) method of the class" <<
m_name
351 treeClone->SetTitle (treeTitle.c_str());
354 std::string bookingString(
"");
358 if ( !((
histSvc()->regTree(bookingString, treeClone)).isSuccess()) )
360 m_msg << MSG::WARNING
361 <<
"Problem registering TTree with name " <<
treeName
362 <<
", title " << treeTitle
368 m_treeMap.insert(
m_treeMap.end(), std::pair< const hash_t, TTree* >( treeHash, treeClone ) );
◆ bookGetPointer() [5/8]
TEfficiency * AthHistogramming::bookGetPointer |
( |
TEfficiency & |
effRef, |
|
|
std::string |
tDir = "" , |
|
|
std::string |
stream = "" |
|
) |
| |
|
protectedinherited |
Simplify the booking and registering (into THistSvc) of TEfficiency.
Definition at line 146 of file AthHistogramming.cxx.
149 std::string effName(effRef.GetName());
150 const std::string effTitle(effRef.GetTitle());
151 std::string bookingString(
"");
155 effRef.SetName(effName.c_str());
159 EffMap_t::const_iterator
it =
m_effMap.find( effHash );
162 m_msg << MSG::WARNING
163 <<
"Detected a hash collision. The hash for the TEfficiency with name=" << effName
164 <<
" already exists and points to a TEfficiency with name=" <<
it->second->GetName()
165 <<
" NOT going to book the new TEfficiency and returning a NULL pointer!" <<
endmsg;
175 if ( !((
histSvc()->regEfficiency(bookingString, &effRef)).isSuccess()) )
177 m_msg << MSG::WARNING
178 <<
"Problem registering TEfficiency with name " << effName
180 <<
", title " << effTitle
188 m_effMap.insert(
m_effMap.end(), std::pair< const hash_t, TEfficiency* >( effHash, &effRef ) );
◆ bookGetPointer() [6/8]
TEfficiency * AthHistogramming::bookGetPointer |
( |
TEfficiency * |
eff, |
|
|
const std::string & |
tDir = "" , |
|
|
const std::string & |
stream = "" |
|
) |
| |
|
inlineprotectedinherited |
Simplify the booking and registering (into THistSvc) of TEfficiency.
Definition at line 293 of file AthHistogramming.h.
296 m_msg << MSG::ERROR <<
"Got a zero pointer to a TEfficiency in bookGetPointer" <<
endmsg;
◆ bookGetPointer() [7/8]
TH1 * AthHistogramming::bookGetPointer |
( |
TH1 & |
histRef, |
|
|
std::string |
tDir = "" , |
|
|
std::string |
stream = "" |
|
) |
| |
|
protectedinherited |
Simplify the booking and registering (into THistSvc) of histograms.
Definition at line 98 of file AthHistogramming.cxx.
101 std::string
histName(histRef.GetName());
102 const std::string histTitle(histRef.GetTitle());
103 std::string bookingString(
"");
111 HistMap_t::const_iterator
it =
m_histMap.find( histHash );
114 m_msg << MSG::WARNING
115 <<
"Detected a hash collision. The hash for the histogram with name=" <<
histName
116 <<
" already exists and points to a histogram with name=" <<
it->second->GetName()
117 <<
" NOT going to book the new histogram and returning a NULL pointer!" <<
endmsg;
127 if ( !((
histSvc()->regHist(bookingString, &histRef)).isSuccess()) )
129 m_msg << MSG::WARNING
130 <<
"Problem registering histogram with name " <<
histName
132 <<
", title " << histTitle
140 m_histMap.insert(
m_histMap.end(), std::pair< const hash_t, TH1* >( histHash, &histRef ) );
◆ bookGetPointer() [8/8]
TH1 * AthHistogramming::bookGetPointer |
( |
TH1 * |
hist, |
|
|
const std::string & |
tDir = "" , |
|
|
const std::string & |
stream = "" |
|
) |
| |
|
inlineprotectedinherited |
Simplify the booking and registering (into THistSvc) of histograms.
Definition at line 272 of file AthHistogramming.h.
275 m_msg << MSG::ERROR <<
"Got a zero pointer to a TH1 in bookGetPointer" <<
endmsg;
◆ buildBookingString()
void AthHistogramming::buildBookingString |
( |
std::string & |
bookingString, |
|
|
std::string & |
histName, |
|
|
std::string & |
tDir, |
|
|
std::string & |
stream, |
|
|
bool |
usePrefixPostfix = false |
|
) |
| |
|
privateinherited |
Method to build individual booking string.
Definition at line 560 of file AthHistogramming.cxx.
569 if(
pos != std::string::npos){
576 if(usePrefixPostfix){
581 while(bookingString.find(
"//") != std::string::npos){
◆ configAthHistogramming()
StatusCode AthHistogramming::configAthHistogramming |
( |
const ServiceHandle< ITHistSvc > & |
histSvc, |
|
|
const std::string & |
prefix, |
|
|
const std::string & |
rootDir, |
|
|
const std::string & |
histNamePrefix, |
|
|
const std::string & |
histNamePostfix, |
|
|
const std::string & |
histTitlePrefix, |
|
|
const std::string & |
histTitlePostfix |
|
) |
| |
|
protectedinherited |
To be called by the derived classes to fill the internal configuration.
Definition at line 66 of file AthHistogramming.cxx.
79 return StatusCode::SUCCESS;
◆ declareGaudiProperty() [1/4]
specialization for handling Gaudi::Property<SG::VarHandleKeyArray>
Definition at line 170 of file AthCommonDataStore.h.
175 hndl.documentation());
◆ declareGaudiProperty() [2/4]
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
161 hndl.documentation());
◆ declareGaudiProperty() [3/4]
specialization for handling Gaudi::Property<SG::VarHandleBase>
Definition at line 184 of file AthCommonDataStore.h.
189 hndl.documentation());
◆ declareGaudiProperty() [4/4]
◆ declareProperty() [1/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleBase
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 245 of file AthCommonDataStore.h.
250 this->declare(hndl.
vhKey());
251 hndl.
vhKey().setOwner(
this);
253 return PBASE::declareProperty(
name,hndl,
doc);
◆ declareProperty() [2/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleKey
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 221 of file AthCommonDataStore.h.
229 return PBASE::declareProperty(
name,hndl,
doc);
◆ declareProperty() [3/6]
◆ declareProperty() [4/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This is the generic version, for types that do not derive from SG::VarHandleKey
. It just forwards to the base class version of declareProperty
.
Definition at line 333 of file AthCommonDataStore.h.
338 return PBASE::declareProperty(
name, property,
doc);
◆ declareProperty() [5/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This dispatches to either the generic declareProperty
or the one for VarHandle/Key/KeyArray.
Definition at line 352 of file AthCommonDataStore.h.
◆ declareProperty() [6/6]
◆ detStore()
◆ efficiency()
TEfficiency * AthHistogramming::efficiency |
( |
const std::string & |
effName, |
|
|
const std::string & |
tDir = "" , |
|
|
const std::string & |
stream = "" |
|
) |
| |
|
protectedinherited |
Simplify the retrieval of registered TEfficiency.
Definition at line 250 of file AthHistogramming.cxx.
256 EffMap_t::const_iterator
it =
m_effMap.find( effHash );
261 std::string effNameCopy = effName;
262 std::string tDirCopy = tDir;
263 std::string streamCopy =
stream;
266 std::string bookingString(
"");
269 TEfficiency* effPointer(NULL);
270 if ( !((
histSvc()->getEfficiency(bookingString, effPointer)).isSuccess()) )
273 std::string bookingString(
"");
276 if ( !((
histSvc()->getEfficiency(bookingString, effPointer)).isSuccess()) )
278 m_msg << MSG::WARNING
279 <<
"Problem retrieving the TEfficiency with name (including pre- and post-fixes) "
281 <<
" or with name " << effNameCopy
282 <<
" in " <<
m_name <<
"... it doesn't exist, neither in the cached map nor in the THistSvc!"
283 <<
" Will return an NULL pointer... you have to handle it correctly!" <<
endmsg;
288 m_effMap.insert(
m_effMap.end(), std::pair< const hash_t, TEfficiency* >( effHash, effPointer ) );
293 m_effMap.insert(
m_effMap.end(), std::pair< const hash_t, TEfficiency* >( effHash, effPointer ) );
◆ endInputFile()
StatusCode EL::AnaAlgorithm::endInputFile |
( |
| ) |
|
|
protectedinherited |
perform the action for the end of an input file
Ideally you don't use this, but instead rely on meta-data tools instead. However, there are enough people asking for it that I decided to implement it anyways.
\warn To use this you have to call requestEndInputFile to use this.
\warn If a file is split across multiple jobs this will be called more than once. This only happens for specific batch drivers and/or if it is explicitly configured by the user. With PROOF it could even happen multiple times within the same job, and while PROOF is no longer supported that behavior may come back if support for a similar framework is added in the future. As such, this method should not be used for accounting that relies to be called exactly once per file, take a look at fileExecute if you want something that is guaranteed to be executed exactly once per input file.
\warn The execution order of endInputFile and fileExecute is currently unspecified.
Definition at line 358 of file AnaAlgorithm.cxx.
361 return StatusCode::SUCCESS;
◆ evaluatePermutations()
StatusCode EventReco::RunKLFitterAlg::evaluatePermutations |
( |
const CP::SystematicSet & |
sys, |
|
|
const std::vector< size_t > & |
electron_indices, |
|
|
const std::vector< size_t > & |
muon_indices, |
|
|
const std::vector< size_t > & |
jet_indices |
|
) |
| |
|
private |
Definition at line 648 of file RunKLFitterAlg.cxx.
653 auto resultAuxContainer =
654 std::make_unique<xAOD::KLFitterResultAuxContainer>();
655 auto resultContainer = std::make_unique<xAOD::KLFitterResultContainer>();
656 resultContainer->setStore(resultAuxContainer.get());
659 const int nperm =
m_myFitter->Permutations()->NPermutations();
660 for (
int iperm = 0; iperm < nperm; ++iperm) {
665 resultContainer->push_back(
result);
669 std::hash<std::string> hash_string;
670 result->setSelectionCode(hash_string(
sys.name()));
672 unsigned int ConvergenceStatusBitWord =
m_myFitter->ConvergenceStatus();
673 bool MinuitDidNotConverge =
674 (ConvergenceStatusBitWord &
m_myFitter->MinuitDidNotConvergeMask) != 0;
675 bool FitAbortedDueToNaN =
676 (ConvergenceStatusBitWord &
m_myFitter->FitAbortedDueToNaNMask) != 0;
677 bool AtLeastOneFitParameterAtItsLimit =
678 (ConvergenceStatusBitWord &
679 m_myFitter->AtLeastOneFitParameterAtItsLimitMask) != 0;
680 bool InvalidTransferFunctionAtConvergence =
681 (ConvergenceStatusBitWord &
682 m_myFitter->InvalidTransferFunctionAtConvergenceMask) != 0;
684 result->setMinuitDidNotConverge(((MinuitDidNotConverge) ? 1 : 0));
685 result->setFitAbortedDueToNaN(((FitAbortedDueToNaN) ? 1 : 0));
686 result->setAtLeastOneFitParameterAtItsLimit(
687 ((AtLeastOneFitParameterAtItsLimit) ? 1 : 0));
688 result->setInvalidTransferFunctionAtConvergence(
689 ((InvalidTransferFunctionAtConvergence) ? 1 : 0));
692 m_myFitter->Likelihood()->GetBestFitParameters()));
693 result->setEventProbability(
696 result->setParameterErrors(
697 m_myFitter->Likelihood()->GetBestFitParameterErrors());
702 m_myFitter->Likelihood()->PParticlesPermuted();
710 result->setModel_bhad_pt(myModelParticles->Parton(0)->Pt());
711 result->setModel_bhad_eta(myModelParticles->Parton(0)->Eta());
712 result->setModel_bhad_phi(myModelParticles->Parton(0)->Phi());
713 result->setModel_bhad_E(myModelParticles->Parton(0)->E());
714 result->setModel_bhad_jetIndex(
715 jet_indices.at((*myPermutedParticles)->JetIndex(0)));
717 result->setModel_blep_pt(myModelParticles->Parton(1)->Pt());
718 result->setModel_blep_eta(myModelParticles->Parton(1)->Eta());
719 result->setModel_blep_phi(myModelParticles->Parton(1)->Phi());
720 result->setModel_blep_E(myModelParticles->Parton(1)->E());
721 result->setModel_blep_jetIndex(
722 jet_indices.at((*myPermutedParticles)->JetIndex(1)));
724 result->setModel_lq1_pt(myModelParticles->Parton(2)->Pt());
725 result->setModel_lq1_eta(myModelParticles->Parton(2)->Eta());
726 result->setModel_lq1_phi(myModelParticles->Parton(2)->Phi());
727 result->setModel_lq1_E(myModelParticles->Parton(2)->E());
728 result->setModel_lq1_jetIndex(
729 jet_indices.at((*myPermutedParticles)->JetIndex(2)));
733 result->setModel_lq2_pt(myModelParticles->Parton(3)->Pt());
734 result->setModel_lq2_eta(myModelParticles->Parton(3)->Eta());
735 result->setModel_lq2_phi(myModelParticles->Parton(3)->Phi());
736 result->setModel_lq2_E(myModelParticles->Parton(3)->E());
737 result->setModel_lq2_jetIndex(
738 jet_indices.at((*myPermutedParticles)->JetIndex(3)));
741 result->setModel_Higgs_b1_pt(myModelParticles->Parton(4)->Pt());
742 result->setModel_Higgs_b1_eta(myModelParticles->Parton(4)->Eta());
743 result->setModel_Higgs_b1_phi(myModelParticles->Parton(4)->Phi());
744 result->setModel_Higgs_b1_E(myModelParticles->Parton(4)->E());
745 result->setModel_Higgs_b1_jetIndex(
746 jet_indices.at((*myPermutedParticles)->JetIndex(4)));
748 result->setModel_Higgs_b2_pt(myModelParticles->Parton(5)->Pt());
749 result->setModel_Higgs_b2_eta(myModelParticles->Parton(5)->Eta());
750 result->setModel_Higgs_b2_phi(myModelParticles->Parton(5)->Phi());
751 result->setModel_Higgs_b2_E(myModelParticles->Parton(5)->E());
752 result->setModel_Higgs_b2_jetIndex(
753 jet_indices.at((*myPermutedParticles)->JetIndex(5)));
759 result->setModel_lep_pt(myModelParticles->Electron(0)->Pt());
760 result->setModel_lep_eta(myModelParticles->Electron(0)->Eta());
761 result->setModel_lep_phi(myModelParticles->Electron(0)->Phi());
762 result->setModel_lep_E(myModelParticles->Electron(0)->E());
765 result->setModel_lep_index(
766 electron_indices.at((*myPermutedParticles)->ElectronIndex(0)));
768 result->setModel_lepZ1_pt(myModelParticles->Electron(1)->Pt());
769 result->setModel_lepZ1_eta(myModelParticles->Electron(1)->Eta());
770 result->setModel_lepZ1_phi(myModelParticles->Electron(1)->Phi());
771 result->setModel_lepZ1_E(myModelParticles->Electron(1)->E());
772 result->setModel_lepZ1_index(
773 electron_indices.at((*myPermutedParticles)->ElectronIndex(1)));
775 result->setModel_lepZ2_pt(myModelParticles->Electron(2)->Pt());
776 result->setModel_lepZ2_eta(myModelParticles->Electron(2)->Eta());
777 result->setModel_lepZ2_phi(myModelParticles->Electron(2)->Phi());
778 result->setModel_lepZ2_E(myModelParticles->Electron(2)->E());
779 result->setModel_lepZ2_index(
780 electron_indices.at((*myPermutedParticles)->ElectronIndex(2)));
786 result->setModel_lep_pt(myModelParticles->Muon(0)->Pt());
787 result->setModel_lep_eta(myModelParticles->Muon(0)->Eta());
788 result->setModel_lep_phi(myModelParticles->Muon(0)->Phi());
789 result->setModel_lep_E(myModelParticles->Muon(0)->E());
792 result->setModel_lep_index(
793 muon_indices.at((*myPermutedParticles)->MuonIndex(0)));
795 result->setModel_lepZ1_pt(myModelParticles->Muon(1)->Pt());
796 result->setModel_lepZ1_eta(myModelParticles->Muon(1)->Eta());
797 result->setModel_lepZ1_phi(myModelParticles->Muon(1)->Phi());
798 result->setModel_lepZ1_E(myModelParticles->Muon(1)->E());
799 result->setModel_lepZ1_index(
800 muon_indices.at((*myPermutedParticles)->MuonIndex(1)));
802 result->setModel_lepZ2_pt(myModelParticles->Muon(2)->Pt());
803 result->setModel_lepZ2_eta(myModelParticles->Muon(2)->Eta());
804 result->setModel_lepZ2_phi(myModelParticles->Muon(2)->Phi());
805 result->setModel_lepZ2_E(myModelParticles->Muon(2)->E());
806 result->setModel_lepZ2_index(
807 muon_indices.at((*myPermutedParticles)->MuonIndex(2)));
811 result->setModel_nu_pt(myModelParticles->Neutrino(0)->Pt());
812 result->setModel_nu_eta(myModelParticles->Neutrino(0)->Eta());
813 result->setModel_nu_phi(myModelParticles->Neutrino(0)->Phi());
814 result->setModel_nu_E(myModelParticles->Neutrino(0)->E());
816 result->setModel_b_from_top1_pt(myModelParticles->Parton(0)->Pt());
817 result->setModel_b_from_top1_eta(myModelParticles->Parton(0)->Eta());
818 result->setModel_b_from_top1_phi(myModelParticles->Parton(0)->Phi());
819 result->setModel_b_from_top1_E(myModelParticles->Parton(0)->E());
820 result->setModel_b_from_top1_jetIndex(
821 jet_indices.at((*myPermutedParticles)->JetIndex(0)));
823 result->setModel_b_from_top2_pt(myModelParticles->Parton(1)->Pt());
824 result->setModel_b_from_top2_eta(myModelParticles->Parton(1)->Eta());
825 result->setModel_b_from_top2_phi(myModelParticles->Parton(1)->Phi());
826 result->setModel_b_from_top2_E(myModelParticles->Parton(1)->E());
827 result->setModel_b_from_top2_jetIndex(
828 jet_indices.at((*myPermutedParticles)->JetIndex(1)));
830 result->setModel_lj1_from_top1_pt(myModelParticles->Parton(2)->Pt());
831 result->setModel_lj1_from_top1_eta(myModelParticles->Parton(2)->Eta());
832 result->setModel_lj1_from_top1_phi(myModelParticles->Parton(2)->Phi());
833 result->setModel_lj1_from_top1_E(myModelParticles->Parton(2)->E());
834 result->setModel_lj1_from_top1_jetIndex(
835 jet_indices.at((*myPermutedParticles)->JetIndex(2)));
837 result->setModel_lj2_from_top1_pt(myModelParticles->Parton(3)->Pt());
838 result->setModel_lj2_from_top1_eta(myModelParticles->Parton(3)->Eta());
839 result->setModel_lj2_from_top1_phi(myModelParticles->Parton(3)->Phi());
840 result->setModel_lj2_from_top1_E(myModelParticles->Parton(3)->E());
841 result->setModel_lj2_from_top1_jetIndex(
842 jet_indices.at((*myPermutedParticles)->JetIndex(3)));
844 result->setModel_lj1_from_top2_pt(myModelParticles->Parton(4)->Pt());
845 result->setModel_lj1_from_top2_eta(myModelParticles->Parton(4)->Eta());
846 result->setModel_lj1_from_top2_phi(myModelParticles->Parton(4)->Phi());
847 result->setModel_lj1_from_top2_E(myModelParticles->Parton(4)->E());
848 result->setModel_lj1_from_top2_jetIndex(
849 jet_indices.at((*myPermutedParticles)->JetIndex(4)));
851 result->setModel_lj2_from_top2_pt(myModelParticles->Parton(5)->Pt());
852 result->setModel_lj2_from_top2_eta(myModelParticles->Parton(5)->Eta());
853 result->setModel_lj2_from_top2_phi(myModelParticles->Parton(5)->Phi());
854 result->setModel_lj2_from_top2_E(myModelParticles->Parton(5)->E());
855 result->setModel_lj2_from_top2_jetIndex(
856 jet_indices.at((*myPermutedParticles)->JetIndex(5)));
862 float sumEventProbability(0.), bestEventProbability(0.);
866 for (
auto x : *resultContainer) {
867 float prob =
x->eventProbability();
869 short fitAbortedDueToNaN =
x->fitAbortedDueToNaN();
871 x->atLeastOneFitParameterAtItsLimit();
872 short invalidTransferFunctionAtConvergence =
873 x->invalidTransferFunctionAtConvergence();
874 sumEventProbability +=
prob;
880 if (fitAbortedDueToNaN)
884 if (invalidTransferFunctionAtConvergence)
887 if (
prob > bestEventProbability) {
888 bestEventProbability =
prob;
896 for (
auto x : *resultContainer) {
897 x->setEventProbability(
x->eventProbability() / sumEventProbability);
899 x->setBestPermutation(1);
901 x->setBestPermutation(0);
909 std::move(resultAuxContainer),
sys));
912 auto bestContainer = std::make_unique<xAOD::KLFitterResultContainer>();
913 auto bestAuxContainer =
914 std::make_unique<xAOD::KLFitterResultAuxContainer>();
915 bestContainer->setStore(bestAuxContainer.get());
917 for (
auto x : *resultContainer) {
918 if (
x->bestPermutation() == 1) {
921 bestContainer->push_back(
result);
925 std::move(bestAuxContainer),
sys));
928 return StatusCode::SUCCESS;
◆ evtStore() [1/2]
◆ evtStore() [2/2]
◆ execute()
StatusCode EventReco::RunKLFitterAlg::execute |
( |
| ) |
|
|
finalvirtual |
◆ execute_syst()
Definition at line 306 of file RunKLFitterAlg.cxx.
334 return StatusCode::SUCCESS;
348 std::vector<const xAOD::Electron *> selected_electrons;
349 std::vector<const xAOD::Muon *> selected_muons;
350 std::vector<const xAOD::Jet *> selected_jets;
355 selected_electrons.push_back(
el);
360 selected_muons.push_back(
mu);
365 selected_jets.push_back(
jet);
368 std::vector<size_t> electron_indices;
369 const std::vector<const xAOD::Electron *> selected_sorted_electrons =
370 sortPt(selected_electrons, electron_indices);
371 std::vector<size_t> muon_indices;
372 const std::vector<const xAOD::Muon *> selected_sorted_muons =
373 sortPt(selected_muons, muon_indices);
374 std::vector<size_t> jet_indices;
375 const std::vector<const xAOD::Jet *> selected_sorted_jets =
376 sortPt(selected_jets, jet_indices);
389 return StatusCode::FAILURE;
393 auto *met_finalTrk = (*met)[
m_METterm.value()];
397 return StatusCode::FAILURE;
399 if (!
m_myFitter->SetET_miss_XY_SumET(met_finalTrk->mpx() / 1.e3,
400 met_finalTrk->mpy() / 1.e3,
401 met_finalTrk->sumet())) {
403 return StatusCode::FAILURE;
411 return StatusCode::SUCCESS;
◆ extraDeps_update_handler()
Add StoreName to extra input/output deps as needed.
use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given
◆ extraOutputDeps()
const DataObjIDColl & AthAlgorithm::extraOutputDeps |
( |
| ) |
const |
|
overridevirtualinherited |
Return the list of extra output dependencies.
This list is extended to include symlinks implied by inheritance relations.
Definition at line 50 of file AthAlgorithm.cxx.
57 return Algorithm::extraOutputDeps();
◆ fileExecute()
StatusCode EL::AnaAlgorithm::fileExecute |
( |
| ) |
|
|
protectedinherited |
perform the action exactly once for each file in the dataset
Ideally you don't use this, but instead rely on meta-data tools instead. However, there are enough people asking for it that I decided to implement it anyways.
\warn To use this you have to call requestFileExecute to use this.
\warn The user should not expect this to be called at any particular point in execution. If a file is split between multiple jobs this will be called in only one of these jobs, and not the others. It usually gets called before the first event in a file, but that is not guaranteed and relying on this is a bug.
\warn The execution order of beginInputFile and fileExecute is currently unspecified.
\warn fileExecute does not work with sub-file splitting in Athena, i.e. processing half the events of a file in one job the other half in another job. this should not normally happen, unless you do crazy things like run AthenaMP or explicitly select sub-file splitting in panda. in that case you are on your own.
Definition at line 342 of file AnaAlgorithm.cxx.
345 return StatusCode::SUCCESS;
◆ finalize()
StatusCode EL::AnaAlgorithm::finalize |
( |
| ) |
|
|
protectedinherited |
finalize this algorithm
This gets called after event processing has finished. The last event may no longer be in memory, and the code should not try to access it.
Definition at line 328 of file AnaAlgorithm.cxx.
331 return StatusCode::SUCCESS;
◆ graph()
TGraph * AthHistogramming::graph |
( |
const std::string & |
graphName, |
|
|
const std::string & |
tDir = "" , |
|
|
const std::string & |
stream = "" |
|
) |
| |
|
protectedinherited |
Simplify the retrieval of registered TGraphs.
Definition at line 492 of file AthHistogramming.cxx.
495 const hash_t graphHash = this->
hash(graphName);
498 GraphMap_t::const_iterator
it =
m_graphMap.find( graphHash );
503 std::string graphNameCopy = graphName;
504 std::string tDirCopy = tDir;
505 std::string streamCopy =
stream;
508 std::string bookingString(
"");
511 TGraph* graphPointer(NULL);
512 if ( !((
histSvc()->getGraph(bookingString, graphPointer)).isSuccess()) )
515 std::string bookingString(
"");
516 this->
buildBookingString( bookingString, graphNameCopy, tDirCopy, streamCopy,
false );
518 if ( !((
histSvc()->getGraph(bookingString, graphPointer)).isSuccess()) )
520 m_msg << MSG::WARNING
521 <<
"Problem retrieving the TGraph with name (including pre- and post-fixes) "
523 <<
" or with name " << graphNameCopy
524 <<
" in " <<
m_name <<
"... it doesn't exist, neither in the cached map nor in the THistSvc!"
525 <<
" Will return an NULL pointer... you have to handle it correctly!" <<
endmsg;
530 m_graphMap.insert(
m_graphMap.end(), std::pair< const hash_t, TGraph* >( graphHash, graphPointer ) );
535 m_graphMap.insert(
m_graphMap.end(), std::pair< const hash_t, TGraph* >( graphHash, graphPointer ) );
◆ handle()
void EL::AnaAlgorithm::handle |
( |
const Incident & |
inc | ) |
|
|
inherited |
receive the given incident
- Guarantee
- basic
- Failures
- incident handling errors
Definition at line 520 of file AnaAlgorithm.cxx.
523 if (inc.type() == IncidentType::BeginInputFile)
529 }
else if (inc.type() == IncidentType::EndInputFile)
◆ hash()
◆ hist()
TH1 * AthHistogramming::hist |
( |
const std::string & |
histName, |
|
|
const std::string & |
tDir = "" , |
|
|
const std::string & |
stream = "" |
|
) |
| |
|
protectedinherited |
Simplify the retrieval of registered histograms of any type.
Definition at line 198 of file AthHistogramming.cxx.
204 HistMap_t::const_iterator
it =
m_histMap.find( histHash );
209 std::string histNameCopy =
histName;
210 std::string tDirCopy = tDir;
211 std::string streamCopy =
stream;
214 std::string bookingString(
"");
217 TH1* histPointer(NULL);
218 if ( !((
histSvc()->
getHist(bookingString, histPointer)).isSuccess()) )
221 std::string bookingString(
"");
224 if ( !((
histSvc()->
getHist(bookingString, histPointer)).isSuccess()) )
226 m_msg << MSG::WARNING
227 <<
"Problem retrieving the histogram with name (including pre- and post-fixes) "
229 <<
" or with name " << histNameCopy
230 <<
" in " <<
m_name <<
"... it doesn't exist, neither in the cached map nor in the THistSvc!"
231 <<
" Will return an NULL pointer... you have to handle it correctly!" <<
endmsg;
236 m_histMap.insert(
m_histMap.end(), std::pair< const hash_t, TH1* >( histHash, histPointer ) );
241 m_histMap.insert(
m_histMap.end(), std::pair< const hash_t, TH1* >( histHash, histPointer ) );
◆ hist2d()
TH2 * AthHistogramming::hist2d |
( |
const std::string & |
histName, |
|
|
const std::string & |
tDir = "" , |
|
|
const std::string & |
stream = "" |
|
) |
| |
|
inlineprotectedinherited |
Simplify the retrieval of registered 2-d histograms.
Definition at line 369 of file AthHistogramming.h.
376 <<
"Cannot get a 2-d histogram with name " <<
histName
377 <<
"... will probably seg-fault!" <<
endmsg;
381 return dynamic_cast<TH2*
>( th1Pointer );
◆ hist3d()
TH3 * AthHistogramming::hist3d |
( |
const std::string & |
histName, |
|
|
const std::string & |
tDir = "" , |
|
|
const std::string & |
stream = "" |
|
) |
| |
|
inlineprotectedinherited |
Simplify the retrieval of registered 3-d histograms.
Definition at line 386 of file AthHistogramming.h.
393 <<
"Cannot get a 3-d histogram with name " <<
histName
394 <<
"... will probably seg-fault!" <<
endmsg;
398 return dynamic_cast<TH3*
>( th1Pointer );
◆ histSvc()
The standard THistSvc
(for writing histograms and TTrees and more to a root file) Returns (kind of) a pointer to the THistSvc
.
Definition at line 113 of file AthHistogramAlgorithm.h.
◆ initialize()
StatusCode EventReco::RunKLFitterAlg::initialize |
( |
| ) |
|
|
finalvirtual |
Definition at line 15 of file RunKLFitterAlg.cxx.
37 }
catch (std::out_of_range &) {
39 <<
m_LHType.value() <<
". Available options: "
41 return StatusCode::FAILURE;
45 ANA_MSG_ERROR(
"The ttbar_JetAngles likelihood is currently not supported!");
46 return StatusCode::FAILURE;
55 "If using ttbar_AllHad likelihood, please use leptonType = "
57 return StatusCode::FAILURE;
59 }
catch (std::out_of_range &) {
63 return StatusCode::FAILURE;
70 }
catch (std::out_of_range &) {
74 return StatusCode::FAILURE;
81 }
catch (std::out_of_range &) {
83 "Could not parse the number of required jets from KLFitter jet "
86 return StatusCode::FAILURE;
93 }
catch (std::out_of_range &) {
97 return StatusCode::FAILURE;
101 m_myFitter = std::make_unique<KLFitter::Fitter>();
102 const std::string transferFunctionAbsPath =
105 std::make_unique<KLFitter::DetectorAtlas_8TeV>(transferFunctionAbsPath);
108 "Failed to set KLFitter::Detector for KLFitter::Fitter instance.");
109 return StatusCode::FAILURE;
113 m_myLikelihood = std::make_unique<KLFitter::LikelihoodTopLeptonJets>();
116 std::make_unique<KLFitter::LikelihoodTopLeptonJets_JetAngles>();
118 std::make_unique<KLFitter::LikelihoodTopLeptonJets_Angular>();
121 std::make_unique<KLFitter::LikelihoodTopAllHadronic>();
123 std::make_unique<KLFitter::BoostedLikelihoodTopLeptonJets>();
156 " LeptonType kTriElectron is only defined for the ttZTrilepton "
158 return StatusCode::FAILURE;
173 " LeptonType kTriMuon is only defined for the ttZTrilepton "
175 return StatusCode::FAILURE;
188 ANA_MSG_ERROR(
" Please supply a valid LeptonType : kElectron or kMuon");
189 return StatusCode::FAILURE;
227 int klfitter_returncode = 0;
233 klfitter_returncode =
236 klfitter_returncode =
251 klfitter_returncode =
254 klfitter_returncode =
258 return StatusCode::FAILURE;
261 if (!klfitter_returncode) {
264 return StatusCode::FAILURE;
268 ANA_MSG_ERROR(
"KLFitter cannot run using Continuous b-tag working point!");
269 return StatusCode::FAILURE;
271 m_bTagDecoAcc = std::make_unique<SG::AuxElement::ConstAccessor<char>>(
275 KLFitter::LikelihoodBase::BtaggingMethod::kWorkingPoint) {
282 ANA_MSG_INFO(
" Using transfer functions with full path "
283 << transferFunctionAbsPath);
293 " Saving only the permutation with the highest event probability");
296 return StatusCode::SUCCESS;
◆ inputHandles()
Return this algorithm's input handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
◆ inputMetaStore() [1/2]
AnaAlgorithm::MetaStorePtr_t EL::AnaAlgorithm::inputMetaStore |
( |
| ) |
|
|
inherited |
Definition at line 81 of file AnaAlgorithm.cxx.
83 #ifdef XAOD_STANDALONE
87 #endif // XAOD_STANDALONE
◆ inputMetaStore() [2/2]
AnaAlgorithm::ConstMetaStorePtr_t EL::AnaAlgorithm::inputMetaStore |
( |
| ) |
const |
|
inherited |
Accessor for the input metadata store
Definition at line 72 of file AnaAlgorithm.cxx.
74 #ifdef XAOD_STANDALONE
78 #endif // XAOD_STANDALONE
◆ msg() [1/2]
◆ msg() [2/2]
◆ msgLvl()
◆ myReplace()
void AthHistogramming::myReplace |
( |
std::string & |
str, |
|
|
const std::string & |
oldStr, |
|
|
const std::string & |
newStr |
|
) |
| |
|
privateinherited |
Helper method to replace sub-string.
Definition at line 590 of file AthHistogramming.cxx.
595 while((
pos =
str.find(oldStr,
pos)) != std::string::npos)
597 str.replace(
pos, oldStr.length(), newStr);
598 pos += newStr.length();
◆ outputHandles()
Return this algorithm's output handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
◆ outputMetaStore() [1/2]
AnaAlgorithm::MetaStorePtr_t EL::AnaAlgorithm::outputMetaStore |
( |
| ) |
|
|
inherited |
Definition at line 101 of file AnaAlgorithm.cxx.
103 #ifdef XAOD_STANDALONE
107 #endif // XAOD_STANDALONE
◆ outputMetaStore() [2/2]
AnaAlgorithm::ConstMetaStorePtr_t EL::AnaAlgorithm::outputMetaStore |
( |
| ) |
const |
|
inherited |
Accessor for the output metadata store
Definition at line 92 of file AnaAlgorithm.cxx.
94 #ifdef XAOD_STANDALONE
98 #endif // XAOD_STANDALONE
◆ print()
void EL::AnaAlgorithm::print |
( |
| ) |
const |
|
protectedvirtualinherited |
print the state of the algorithm
This is mostly to allow algorithms to add a little debugging information if they feel like it.
Definition at line 336 of file AnaAlgorithm.cxx.
◆ renounce()
◆ renounceArray()
◆ requestBeginInputFile()
StatusCode EL::AnaAlgorithm::requestBeginInputFile |
( |
| ) |
|
|
inherited |
register this algorithm to have an implementation of beginInputFile
- Guarantee
- strong
- Failures
- beginInputFile not supported
Definition at line 270 of file AnaAlgorithm.cxx.
275 #ifndef XAOD_STANDALONE
282 incSvc->removeListener(
this, IncidentType::BeginInputFile );
283 incSvc->addListener(
this, IncidentType::BeginInputFile, 0,
true );
286 return StatusCode::SUCCESS;
◆ requestEndInputFile()
StatusCode EL::AnaAlgorithm::requestEndInputFile |
( |
| ) |
|
|
inherited |
register this algorithm to have an implementation of endInputFile
- Guarantee
- strong
- Failures
- endInputFile not supported
Definition at line 291 of file AnaAlgorithm.cxx.
296 #ifndef XAOD_STANDALONE
303 incSvc->removeListener(
this, IncidentType::EndInputFile );
304 incSvc->addListener(
this, IncidentType::EndInputFile, 0,
true );
307 return StatusCode::SUCCESS;
◆ requestFileExecute()
StatusCode EL::AnaAlgorithm::requestFileExecute |
( |
| ) |
|
|
inherited |
register this algorithm to have an implementation of fileexecute
- Guarantee
- strong
- Failures
- fileExecute not supported
Definition at line 249 of file AnaAlgorithm.cxx.
254 #ifndef XAOD_STANDALONE
261 incSvc->removeListener(
this, IncidentType::BeginInputFile );
262 incSvc->addListener(
this, IncidentType::BeginInputFile, 0,
true );
265 return StatusCode::SUCCESS;
◆ retrieveEfficiencies()
StatusCode EventReco::RunKLFitterAlg::retrieveEfficiencies |
( |
const xAOD::Jet * |
jet, |
|
|
float * |
eff, |
|
|
float * |
ineff |
|
) |
| |
|
private |
◆ setJetskBtagPriority()
StatusCode EventReco::RunKLFitterAlg::setJetskBtagPriority |
( |
const std::vector< const xAOD::Jet * > & |
jets, |
|
|
KLFitter::Particles * |
inputParticles, |
|
|
const size_t |
maxJets |
|
) |
| |
|
private |
Definition at line 563 of file RunKLFitterAlg.cxx.
571 if (
jets.size() < maxJets) {
572 ANA_MSG_ERROR(
"KLFitterTool::setJetskBtagPriority: You required "
573 << maxJets <<
" jets. Event has " <<
jets.size()
575 return StatusCode::FAILURE;
579 unsigned int totalJets(0);
582 unsigned int index(0);
584 if (totalJets >= maxJets)
588 ANA_MSG_ERROR(
"RunKLFitterAlg::setJetskLeadingX: jet does not have "
590 return StatusCode::FAILURE;
594 TLorentzVector jet_p4;
595 jet_p4.SetPtEtaPhiE(
jet->pt() / 1.e3,
jet->eta(),
jet->phi(),
599 KLFitter::LikelihoodBase::BtaggingMethod::kWorkingPoint) {
600 float eff(0), ineff(0);
603 inputParticles->AddParticle(
604 &jet_p4, jet_p4.Eta(), KLFitter::Particles::kParton,
"",
index,
605 true,
eff, 1. / ineff, KLFitter::Particles::kNone);
607 inputParticles->AddParticle(&jet_p4, jet_p4.Eta(),
608 KLFitter::Particles::kParton,
"",
index,
620 if (totalJets >= maxJets)
623 TLorentzVector jet_p4;
624 jet_p4.SetPtEtaPhiE(
jet->pt() / 1.e3,
jet->eta(),
jet->phi(),
628 KLFitter::LikelihoodBase::BtaggingMethod::kWorkingPoint) {
629 float eff(0), ineff(0);
632 inputParticles->AddParticle(
633 &jet_p4, jet_p4.Eta(), KLFitter::Particles::kParton,
"",
index,
634 false,
eff, 1. / ineff, KLFitter::Particles::kNone);
636 inputParticles->AddParticle(&jet_p4, jet_p4.Eta(),
637 KLFitter::Particles::kParton,
"",
index,
645 return StatusCode::SUCCESS;
◆ setJetskLeadingN()
StatusCode EventReco::RunKLFitterAlg::setJetskLeadingN |
( |
const std::vector< const xAOD::Jet * > & |
jets, |
|
|
KLFitter::Particles * |
inputParticles, |
|
|
const size_t |
njets |
|
) |
| |
|
private |
Definition at line 493 of file RunKLFitterAlg.cxx.
499 if (
jets.size() < njets) {
500 ANA_MSG_ERROR(
"KLFitterTool::setJetskLeadingX: You required "
501 << njets <<
" jets. Event has " <<
jets.size() <<
" jets!");
502 return StatusCode::FAILURE;
509 if (
index > njets - 1)
512 TLorentzVector jet_p4;
513 jet_p4.SetPtEtaPhiE(
jet->pt() / 1.e3,
jet->eta(),
jet->phi(),
516 float eff(0), ineff(0);
519 ANA_MSG_ERROR(
"RunKLFitterAlg::setJetskLeadingX: jet does not have "
521 return StatusCode::FAILURE;
524 const bool isTagged = (*m_bTagDecoAcc)(*jet);
527 KLFitter::LikelihoodBase::BtaggingMethod::kWorkingPoint) {
530 inputParticles->AddParticle(
531 &jet_p4, jet_p4.Eta(), KLFitter::Particles::kParton,
"",
index,
532 isTagged,
eff, 1. / ineff, KLFitter::Particles::kNone);
534 inputParticles->AddParticle(&jet_p4, jet_p4.Eta(),
535 KLFitter::Particles::kParton,
"",
index,
540 return StatusCode::SUCCESS;
◆ sortPt()
template<typename T >
std::vector<const T *> EventReco::RunKLFitterAlg::sortPt |
( |
const std::vector< const T * > & |
particles, |
|
|
std::vector< size_t > & |
indices |
|
) |
| |
|
inlineprivate |
Definition at line 80 of file RunKLFitterAlg.h.
82 std::vector<std::pair<const T *, size_t>> particle_index(
particles.size());
85 particle_index[indx] = {
p, indx};
89 particle_index.begin(), particle_index.end(),
90 [](std::pair<const T *, size_t> &
x, std::pair<const T *, size_t> &
y) {
91 return x.first->pt() > y.first->pt();
93 std::vector<const T *> sorted_particles(
particles.size());
96 for (
auto &elem : particle_index) {
97 sorted_particles[indx] = elem.first;
101 return sorted_particles;
◆ sysInitialize()
StatusCode AthHistogramAlgorithm::sysInitialize |
( |
| ) |
|
|
virtualinherited |
Initialization method invoked by the framework.
This method is responsible for any bookkeeping of initialization required by the framework itself. It will in turn invoke the initialize() method of the derived algorithm, and of any sub-algorithms which it creates.
Reimplemented from AthAlgorithm.
Reimplemented in AthAnalysisAlgorithm.
Definition at line 75 of file AthHistogramAlgorithm.cxx.
80 if ( Gaudi::StateMachine::INITIALIZED <= FSMState() )
return StatusCode::SUCCESS;
83 bindPropertiesTo( serviceLocator()->getOptsSvc() );
87 if ( !isEnabled( ) )
return StatusCode::SUCCESS;
◆ sysStart()
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
◆ tree()
TTree * AthHistogramming::tree |
( |
const std::string & |
treeName, |
|
|
const std::string & |
tDir = "" , |
|
|
const std::string & |
stream = "" |
|
) |
| |
|
protectedinherited |
Simplify the retrieval of registered TTrees.
Definition at line 378 of file AthHistogramming.cxx.
384 TreeMap_t::const_iterator
it =
m_treeMap.find( treeHash );
389 std::string treeNameCopy =
treeName;
390 std::string tDirCopy = tDir;
391 std::string streamCopy =
stream;
394 std::string bookingString(
"");
397 TTree* treePointer(NULL);
398 if ( !((
histSvc()->
getTree(bookingString, treePointer)).isSuccess()) )
400 m_msg << MSG::WARNING
401 <<
"Problem retrieving the TTree with name " << treeNameCopy
402 <<
" in " <<
m_name <<
"... it doesn't exist, neither in the cached map nor in the THistSvc!"
403 <<
" Will return an NULL pointer... you have to handle it correctly!" <<
endmsg;
408 m_treeMap.insert(
m_treeMap.end(), std::pair< const hash_t, TTree* >( treeHash, treePointer ) );
◆ updateVHKA()
◆ m_bTagDecoAcc
◆ m_bTagDecoration
Gaudi::Property<std::string> EventReco::RunKLFitterAlg::m_bTagDecoration |
|
private |
Initial value:{
this, "BTaggingDecoration", "",
"Name of the btag decision decoration for jets"}
Definition at line 155 of file RunKLFitterAlg.h.
◆ m_btagging_eff_tool
Initial value:{
this, "btagEffTool", "", "the b-tagging efficiency tool"}
Definition at line 211 of file RunKLFitterAlg.h.
◆ m_bTaggingMethod
Gaudi::Property<std::string> EventReco::RunKLFitterAlg::m_bTaggingMethod |
|
private |
Initial value:{
this, "BTaggingMethod", "kNotag",
"Method for accounting b-tagging information"}
Definition at line 152 of file RunKLFitterAlg.h.
◆ m_bTaggingMethodEnum
KLFitter::LikelihoodBase::BtaggingMethod EventReco::RunKLFitterAlg::m_bTaggingMethodEnum {} |
|
private |
◆ m_detStore
◆ m_effMap
◆ m_electronSelection
Initial value:{
this, "electronSelection", "", "the selection on the input electrons"}
Definition at line 110 of file RunKLFitterAlg.h.
◆ m_electronsHandle
Initial value:{
this, "electrons", "", "the electron container to use"}
Definition at line 108 of file RunKLFitterAlg.h.
◆ m_eventInfoHandle
Initial value:{
this, "eventInfo", "EventInfo",
"the EventInfo container to read selection deciosions from"}
Definition at line 126 of file RunKLFitterAlg.h.
◆ m_evtStore
◆ m_extendedExtraObjects
DataObjIDColl AthAlgorithm::m_extendedExtraObjects |
|
privateinherited |
◆ m_failOnLessThanXJets
Gaudi::Property<bool> EventReco::RunKLFitterAlg::m_failOnLessThanXJets |
|
private |
Initial value:{
this, "FailOnLessThanXJets", false,
"Fail if kLeadingX or kBtagPriorityXJets is set and the number of jets "
"in the event is less than X"}
Definition at line 172 of file RunKLFitterAlg.h.
◆ m_fixedTopMass
Gaudi::Property<bool> EventReco::RunKLFitterAlg::m_fixedTopMass |
|
private |
Initial value:{
this, "TopMassFixed", true,
"If the top quark mass is fixed in the likelihood to the value of "
"TopMass parameter"}
Definition at line 164 of file RunKLFitterAlg.h.
◆ m_graphMap
◆ m_hasBeginInputFile
bool EL::AnaAlgorithm::m_hasBeginInputFile {false} |
|
privateinherited |
◆ m_hasEndInputFile
bool EL::AnaAlgorithm::m_hasEndInputFile {false} |
|
privateinherited |
◆ m_hasFileExecute
bool EL::AnaAlgorithm::m_hasFileExecute {false} |
|
privateinherited |
◆ m_histMap
◆ m_histNamePostfix
std::string AthHistogramAlgorithm::m_histNamePostfix |
|
privateinherited |
◆ m_histNamePrefix
std::string AthHistogramAlgorithm::m_histNamePrefix |
|
privateinherited |
◆ m_histSvc
◆ m_histTitlePostfix
std::string AthHistogramAlgorithm::m_histTitlePostfix |
|
privateinherited |
◆ m_histTitlePrefix
std::string AthHistogramAlgorithm::m_histTitlePrefix |
|
privateinherited |
◆ m_inputMetaStore
Object accessing the input metadata store.
Definition at line 551 of file AnaAlgorithm.h.
◆ m_jetSelection
Initial value:{this, "jetSelection", "",
"the selection on the input jets"}
Definition at line 120 of file RunKLFitterAlg.h.
◆ m_jetSelectionMode
Gaudi::Property<std::string> EventReco::RunKLFitterAlg::m_jetSelectionMode |
|
private |
Initial value:{
this, "JetSelectionMode", "kBtagPriorityFourJets",
"Define the behavior for selecting jets"}
Definition at line 149 of file RunKLFitterAlg.h.
◆ m_jetSelectionModeEnum
◆ m_jetSelectionModeKLFitterEnum
◆ m_jetsHandle
Initial value:{
this, "jets", "", "the jet container to use"}
Definition at line 118 of file RunKLFitterAlg.h.
◆ m_leptonType
Gaudi::Property<std::string> EventReco::RunKLFitterAlg::m_leptonType |
|
private |
Initial value:{this, "LeptonType", "kUndefined",
"Define the lepton type"}
Definition at line 141 of file RunKLFitterAlg.h.
◆ m_leptonTypeEnum
◆ m_leptonTypeKLFitterEnum
KLFitter::LikelihoodTopLeptonJets::LeptonType EventReco::RunKLFitterAlg::m_leptonTypeKLFitterEnum {} |
|
private |
◆ m_leptonTypeKLFitterEnum_Angular
KLFitter::LikelihoodTopLeptonJets_Angular::LeptonType EventReco::RunKLFitterAlg::m_leptonTypeKLFitterEnum_Angular {} |
|
private |
◆ m_leptonTypeKLFitterEnum_BoostedLJets
KLFitter::BoostedLikelihoodTopLeptonJets::LeptonType EventReco::RunKLFitterAlg::m_leptonTypeKLFitterEnum_BoostedLJets {} |
|
private |
◆ m_leptonTypeKLFitterEnum_JetAngles
KLFitter::LikelihoodTopLeptonJets_JetAngles::LeptonType EventReco::RunKLFitterAlg::m_leptonTypeKLFitterEnum_JetAngles {} |
|
private |
◆ m_leptonTypeKLFitterEnum_TTH
KLFitter::LikelihoodTTHLeptonJets::LeptonType EventReco::RunKLFitterAlg::m_leptonTypeKLFitterEnum_TTH {} |
|
private |
◆ m_leptonTypeKLFitterEnum_TTZ
KLFitter::LikelihoodTTZTrilepton::LeptonType EventReco::RunKLFitterAlg::m_leptonTypeKLFitterEnum_TTZ {} |
|
private |
◆ m_LHType
Gaudi::Property<std::string> EventReco::RunKLFitterAlg::m_LHType |
|
private |
Initial value:{this, "LHType", "kUndefined",
"Define the Likelihood type"}
Definition at line 143 of file RunKLFitterAlg.h.
◆ m_LHTypeEnum
◆ m_massTop
Gaudi::Property<float> EventReco::RunKLFitterAlg::m_massTop |
|
private |
Initial value:{
this, "TopMass", 172.5,
"The mass of top quark used in KLFitter likelihood (assuming the fixed "
"m_top mode is used)"}
Definition at line 160 of file RunKLFitterAlg.h.
◆ m_metHandle
Initial value:{
this, "met", "", "the MET container to use"}
Definition at line 123 of file RunKLFitterAlg.h.
◆ m_METterm
Gaudi::Property<std::string> EventReco::RunKLFitterAlg::m_METterm |
|
private |
Initial value:{this, "METterm", "Final",
"Which MET term should be used"}
Definition at line 158 of file RunKLFitterAlg.h.
◆ m_msg
MsgStream AthHistogramming::m_msg |
|
privateinherited |
◆ m_muonSelection
Initial value:{
this, "muonSelection", "", "the selection on the input muons"}
Definition at line 115 of file RunKLFitterAlg.h.
◆ m_muonsHandle
Initial value:{
this, "muons", "", "the muon container to use"}
Definition at line 113 of file RunKLFitterAlg.h.
◆ m_myDetector
std::unique_ptr<KLFitter::DetectorAtlas_8TeV> EventReco::RunKLFitterAlg::m_myDetector |
|
private |
◆ m_myFitter
std::unique_ptr<KLFitter::Fitter> EventReco::RunKLFitterAlg::m_myFitter |
|
private |
◆ m_myLikelihood
std::unique_ptr<KLFitter::LikelihoodTopLeptonJets> EventReco::RunKLFitterAlg::m_myLikelihood |
|
private |
◆ m_myLikelihood_AllHadronic
std::unique_ptr<KLFitter::LikelihoodTopAllHadronic> EventReco::RunKLFitterAlg::m_myLikelihood_AllHadronic |
|
private |
◆ m_myLikelihood_Angular
std::unique_ptr<KLFitter::LikelihoodTopLeptonJets_Angular> EventReco::RunKLFitterAlg::m_myLikelihood_Angular |
|
private |
◆ m_myLikelihood_BoostedLJets
std::unique_ptr<KLFitter::BoostedLikelihoodTopLeptonJets> EventReco::RunKLFitterAlg::m_myLikelihood_BoostedLJets |
|
private |
◆ m_myLikelihood_JetAngles
std::unique_ptr<KLFitter::LikelihoodTopLeptonJets_JetAngles> EventReco::RunKLFitterAlg::m_myLikelihood_JetAngles |
|
private |
◆ m_myLikelihood_TTH
std::unique_ptr<KLFitter::LikelihoodTTHLeptonJets> EventReco::RunKLFitterAlg::m_myLikelihood_TTH |
|
private |
◆ m_myLikelihood_TTZ
std::unique_ptr<KLFitter::LikelihoodTTZTrilepton> EventReco::RunKLFitterAlg::m_myLikelihood_TTZ |
|
private |
◆ m_name
std::string AthHistogramming::m_name |
|
privateinherited |
◆ m_njetsRequirement
size_t EventReco::RunKLFitterAlg::m_njetsRequirement {0} |
|
private |
◆ m_outHandle
Initial value:{this, "result", "KLFitterResult_%SYS%",
"the output KLFitterResultContainer"}
Definition at line 133 of file RunKLFitterAlg.h.
◆ m_outputMetaStore
Object accessing the output metadata store.
Definition at line 555 of file AnaAlgorithm.h.
◆ m_prefix
std::string AthHistogramAlgorithm::m_prefix |
|
privateinherited |
◆ m_rootDir
std::string AthHistogramAlgorithm::m_rootDir |
|
privateinherited |
◆ m_saveAllPermutations
Gaudi::Property<bool> EventReco::RunKLFitterAlg::m_saveAllPermutations |
|
private |
Initial value:{
this, "SaveAllPermutations", false,
"Whether to store only the permutation with highest KLFitter event "
"probability, or all"}
Definition at line 168 of file RunKLFitterAlg.h.
◆ m_selection
Initial value:{this, "selectionDecorationName", "",
"Name of the selection on which this "
"KLFitter instance is allowed to run"}
Definition at line 136 of file RunKLFitterAlg.h.
◆ m_streamName
std::string AthHistogramming::m_streamName |
|
privateinherited |
◆ m_systematicsList
◆ m_transferFunctionsPath
Gaudi::Property<std::string> EventReco::RunKLFitterAlg::m_transferFunctionsPath |
|
private |
Initial value:{
this, "TransferFunctionsPath",
"dev/AnalysisTop/KLFitterTFs/mc12a/akt4_LCtopo_PP6/",
"Path to transfer functions"}
Definition at line 145 of file RunKLFitterAlg.h.
◆ m_treeMap
◆ m_useBtagPriority
bool EventReco::RunKLFitterAlg::m_useBtagPriority {false} |
|
private |
◆ m_varHandleArraysDeclared
◆ m_vhka
The documentation for this class was generated from the following files:
std::string m_rootDir
Name of the ROOT directory.
def retrieve(aClass, aKey=None)
CP::SysReadHandle< xAOD::EventInfo > m_eventInfoHandle
CP::SysReadSelectionHandle m_muonSelection
const ServiceHandle< ITHistSvc > & histSvc() const
The standard THistSvc (for writing histograms and TTrees and more to a root file) Returns (kind of) a...
const ServiceHandle< ITHistSvc > & histSvc() const
The standard THistSvc (for writing histograms and TTrees and more to a root file) Returns (kind of) a...
StatusCode setJetskBtagPriority(const std::vector< const xAOD::Jet * > &jets, KLFitter::Particles *inputParticles, const size_t maxJets)
bool m_hasBeginInputFile
the value of hasBeginInputFile
StatusCode setJetskLeadingN(const std::vector< const xAOD::Jet * > &jets, KLFitter::Particles *inputParticles, const size_t njets)
KLFEnums::JetSelectionMode m_jetSelectionModeEnum
KLFitterResult A simple xAOD class which we can persist into a mini-xAOD The xAOD EDM is way too comp...
virtual ::StatusCode endInputFile()
perform the action for the end of an input file
Gaudi::Property< std::string > m_LHType
void myReplace(std::string &str, const std::string &oldStr, const std::string &newStr)
Helper method to replace sub-string.
CP::SysReadHandle< xAOD::ElectronContainer > m_electronsHandle
MsgStream m_msg
Cached Message Stream.
HistMap_t m_histMap
The map of histogram names to their pointers.
CP::SysReadHandle< xAOD::MissingETContainer > m_metHandle
std::string printEnumOptions(const std::map< std::string, T > &availOpts)
ServiceHandle< ITHistSvc > m_histSvc
Default constructor: AthHistogramAlgorithm();.
KLFEnums::Likelihood m_LHTypeEnum
StatusCode book(const TH1 &hist, const std::string &tDir="", const std::string &stream="")
Simplify the booking and registering (into THistSvc) of histograms.
CP::SysReadSelectionHandle m_electronSelection
setMinuitDidNotConverge atLeastOneFitParameterAtItsLimit
StatusCode add_jets(const std::vector< const xAOD::Jet * > &selected_jets, KLFitter::Particles *myParticles)
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
virtual double e() const override final
The total energy of the particle.
MetaStore_t m_inputMetaStore
Object accessing the input metadata store.
MetaStore_t m_outputMetaStore
Object accessing the output metadata store.
virtual double phi() const
The azimuthal angle ( ) of the particle.
Gaudi::Property< float > m_massTop
std::unique_ptr< KLFitter::LikelihoodTTHLeptonJets > m_myLikelihood_TTH
CP::SysListHandle m_systematicsList
std::pair< long int, long int > indices
Gaudi::Property< std::string > m_leptonType
virtual double eta() const
The pseudorapidity ( ) of the particle.
std::unique_ptr< KLFitter::LikelihoodTopLeptonJets_JetAngles > m_myLikelihood_JetAngles
std::string m_prefix
Name of the ROOT output stream (file)
virtual ::StatusCode beginInputFile()
perform the action for the beginning of an input file
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
KLFEnums::LeptonType m_leptonTypeEnum
std::string m_histNamePrefix
The prefix for the histogram THx name.
StatusCode evaluatePermutations(const CP::SystematicSet &sys, const std::vector< size_t > &electron_indices, const std::vector< size_t > &muon_indices, const std::vector< size_t > &jet_indices)
std::string m_histTitlePrefix
The prefix for the histogram THx title.
::StatusCode retrieve(const T *&object, const CP::SystematicSet &sys) const
retrieve the object for the given name
Gaudi::Property< std::string > m_bTaggingMethod
const std::vector< CP::SystematicSet > & systematicsVector() const
the list of systematics to loop over
std::string m_histNamePostfix
The postfix for the histogram THx name.
virtual ::StatusCode fileExecute()
perform the action exactly once for each file in the dataset
Gaudi::Property< std::string > m_METterm
std::string getTree(const std::string &file_name)
KLFitter::LikelihoodTopLeptonJets_JetAngles::LeptonType m_leptonTypeKLFitterEnum_JetAngles
virtual void setOwner(IDataHandleHolder *o)=0
std::string PathResolverFindCalibDirectory(const std::string &logical_file_name)
void setJetP4(const JetFourMom_t &p4)
KLFitter::LikelihoodTTHLeptonJets::LeptonType m_leptonTypeKLFitterEnum_TTH
float etaBE(const unsigned layer) const
Get the eta in one layer of the EM Calo.
std::unique_ptr< KLFitter::LikelihoodTopLeptonJets > m_myLikelihood
StatusCode initialize(SysListHandle &sysListHandle)
initialize this handle
Temporary container used until we have I/O for AuxStoreInternal.
KLFitter::LikelihoodTopLeptonJets_Angular::LeptonType m_leptonTypeKLFitterEnum_Angular
virtual StatusCode sysInitialize() override
Override sysInitialize.
::StatusCode initialize()
intialize this property
bool getBool(const SG::AuxElement &element, const CP::SystematicSet &sys) const
get the selection as a bool
CP::SysReadSelectionHandle m_selection
std::unique_ptr< KLFitter::LikelihoodTopAllHadronic > m_myLikelihood_AllHadronic
setMinuitDidNotConverge setAtLeastOneFitParameterAtItsLimit unsigned bestPermutation
StatusCode execute_syst(const CP::SystematicSet &sys)
CP::SysReadSelectionHandle m_jetSelection
std::unique_ptr< SG::AuxElement::ConstAccessor< char > > m_bTagDecoAcc
const xAOD::CaloCluster * caloCluster(size_t index=0) const
Pointer to the xAOD::CaloCluster/s that define the electron candidate.
CP::SysReadHandle< xAOD::MuonContainer > m_muonsHandle
virtual double pt() const
The transverse momentum ( ) of the particle.
CP::SysReadHandle< xAOD::JetContainer > m_jetsHandle
KLFitter::LikelihoodTTZTrilepton::LeptonType m_leptonTypeKLFitterEnum_TTZ
virtual double phi() const override final
The azimuthal angle ( ) of the particle.
Gaudi::Property< std::string > m_transferFunctionsPath
bool m_hasFileExecute
the value of hasFileExecute
Gaudi::Property< std::string > m_bTagDecoration
GraphMap_t m_graphMap
The map of TGraph names to their pointers.
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
std::string m_streamName
Name of the ROOT output stream (file)
StatusCode configAthHistogramming(const ServiceHandle< ITHistSvc > &histSvc, const std::string &prefix, const std::string &rootDir, const std::string &histNamePrefix, const std::string &histNamePostfix, const std::string &histTitlePrefix, const std::string &histTitlePostfix)
To be called by the derived classes to fill the internal configuration.
Gaudi::Property< bool > m_fixedTopMass
uint32_t hash_t
typedef for the internal hash
uint64_t crc64(const CRCTable &table, const char *data, size_t data_len)
Find the CRC-64 of a string,.
std::string m_histTitlePostfix
The postfix for the histogram THx title.
void setAttribute(const std::string &name, const T &v)
Gaudi::Property< bool > m_saveAllPermutations
Gaudi::Property< bool > m_failOnLessThanXJets
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
Container for xAOD::MissingET_v1 objects.
std::unique_ptr< KLFitter::DetectorAtlas_8TeV > m_myDetector
std::unique_ptr< KLFitter::LikelihoodTTZTrilepton > m_myLikelihood_TTZ
std::unique_ptr< KLFitter::Fitter > m_myFitter
ToolHandle< IBTaggingEfficiencyTool > m_btagging_eff_tool
hash_t hash(const std::string &histName) const
Method to calculate a 32-bit hash from a string.
def getHist(name, makehist)
StatusCode add_leptons(const std::vector< const xAOD::Electron * > &selected_electrons, const std::vector< const xAOD::Muon * > &selected_muons, KLFitter::Particles *myParticles)
Class describing the basic event information.
KLFitter::LikelihoodBase::BtaggingMethod m_bTaggingMethodEnum
std::uint64_t hash64(const void *data, std::size_t size)
Passthrough to XXH3_64bits.
DataObjIDColl m_extendedExtraObjects
size_t m_njetsRequirement
EffMap_t m_effMap
The map of histogram names to their pointers.
std::string m_histTitlePrefix
The prefix for the histogram THx title.
CP::SysWriteHandle< xAOD::KLFitterResultContainer, xAOD::KLFitterResultAuxContainer > m_outHandle
Gaudi::Property< std::string > m_jetSelectionMode
void sort(typename std::reverse_iterator< DataModel_detail::iterator< DVL > > beg, typename std::reverse_iterator< DataModel_detail::iterator< DVL > > end, const Compare &comp)
Specialization of sort for DataVector/List.
#define ATH_MSG_WARNING(x)
std::string m_histNamePostfix
The postfix for the histogram THx name.
std::vector< const T * > sortPt(const std::vector< const T * > &particles, std::vector< size_t > &indices)
KLFitter::LikelihoodTopLeptonJets::LeptonType m_leptonTypeKLFitterEnum
TreeMap_t m_treeMap
The map of TTree names to their pointers.
StatusCode initialize(SysListHandle &sysListHandle, const ISysHandleBase &objectHandle)
initialize the accessor
std::string m_histNamePrefix
The prefix for the histogram THx name.
bool m_hasEndInputFile
the value of hasEndInputFile
StatusCode retrieveEfficiencies(const xAOD::Jet *jet, float *eff, float *ineff)
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
virtual double pt() const override final
The transverse momentum ( ) of the particle.
std::string m_histTitlePostfix
The postfix for the histogram THx title.
TH1 * hist(const std::string &histName, const std::string &tDir="", const std::string &stream="")
Simplify the retrieval of registered histograms of any type.
ServiceHandle< ITHistSvc > m_histSvc
Pointer to the THistSvc (event store by default)
virtual double e() const
The total energy of the particle.
virtual double eta() const override final
The pseudorapidity ( ) of the particle.
std::unique_ptr< KLFitter::BoostedLikelihoodTopLeptonJets > m_myLikelihood_BoostedLJets
std::unique_ptr< KLFitter::LikelihoodTopLeptonJets_Angular > m_myLikelihood_Angular
std::string m_name
Instance name.
std::string m_rootDir
Name of the ROOT directory.
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Jet_v1 Jet
Definition of the current "jet version".
KLFitter::BoostedLikelihoodTopLeptonJets::LeptonType m_leptonTypeKLFitterEnum_BoostedLJets
void buildBookingString(std::string &bookingString, std::string &histName, std::string &tDir, std::string &stream, bool usePrefixPostfix=false)
Method to build individual booking string.
TH1 * bookGetPointer(const TH1 &hist, const std::string &tDir="", const std::string &stream="")
Simplify the booking and registering (into THistSvc) of histograms.