|
ATLAS Offline Software
|
Go to the documentation of this file.
13 #ifndef DerivationFrameworkMCTruth_HadronOriginClassifier_H
14 #define DerivationFrameworkMCTruth_HadronOriginClassifier_H
27 static const InterfaceID IID_HadronOriginClassifier(
"HadronOriginClassifier", 1, 0);
38 static const InterfaceID&
interfaceID() {
return IID_HadronOriginClassifier; }
50 std::map<const xAOD::TruthParticle*, HF_id>
GetOriginMap()
const;
57 std::map<const xAOD::TruthParticle*,HF_id>& partonsOrigin)
const;
109 #endif //DerivationFrameworkMCTruth_HadronOriginClassifier_H
bool isDirectlyMPIPythia8(const xAOD::TruthParticle *part, bool looping) const
bool isFromTop(const xAOD::TruthParticle *part, bool looping) const
static bool isDirectlyMPISherpa(const xAOD::TruthParticle *part)
static const InterfaceID & interfaceID()
std::map< const xAOD::TruthParticle *, HF_id > GetOriginMap() const
bool isDirectlyFSR(const xAOD::TruthParticle *part, bool looping) const
bool isFromGluonQuark(const xAOD::TruthParticle *part, bool looping) const
Author: James Monk (jmonk@cern.ch)
bool isFromQuarkTop(const xAOD::TruthParticle *part, bool looping) const
void fillHadronMap(std::set< const xAOD::TruthParticle * > &usedHadron, std::map< const xAOD::TruthParticle *, int > &mainHadronMap, const xAOD::TruthParticle *mainhad, const xAOD::TruthParticle *ihad, bool decayed=false) const
virtual ~HadronOriginClassifier()
const xAOD::TruthParticle * findInitial(const xAOD::TruthParticle *part, bool looping, std::shared_ptr< std::set< const xAOD::TruthParticle * >> checked=nullptr) const
static bool isDirectlyMPIPythia6(const xAOD::TruthParticle *part, bool looping)
::StatusCode StatusCode
StatusCode definition for legacy code.
Class describing a truth particle in the MC record.
bool isFromWTop(const xAOD::TruthParticle *part, bool looping) const
bool isDirectlyFSRPythia8(const xAOD::TruthParticle *part, bool looping) const
bool isDirectlyFSRPythia6(const xAOD::TruthParticle *part, bool looping) const
static bool isDirectlyFromGluonQuark(const xAOD::TruthParticle *part, bool looping)
HadronOriginClassifier(const std::string &t, const std::string &n, const IInterface *p)
bool isDirectlyFromQuarkTopPythia8(const xAOD::TruthParticle *part, bool looping) const
bool isDirectlyFromQuarkTop(const xAOD::TruthParticle *part, bool looping) const
static bool isDirectlyFromTop(const xAOD::TruthParticle *part, bool looping)
bool isDirectlyFromWTop(const xAOD::TruthParticle *part, bool looping) const
bool isFromQuarkTopPythia8(const xAOD::TruthParticle *part, bool looping) const
void buildPartonsHadronsMaps(std::map< const xAOD::TruthParticle *, int > &mainHadronMap, std::map< const xAOD::TruthParticle *, HF_id > &partonsOrigin) const
bool isLooping(const xAOD::TruthParticle *part, std::shared_ptr< std::set< const xAOD::TruthParticle * >> checked=nullptr) const
init_part needed to detect looping graphs (sherpa) up to know only seen at parton level
bool isCHadronFromB(const xAOD::TruthParticle *part, std::shared_ptr< std::set< const xAOD::TruthParticle * >> checked=nullptr) const
virtual StatusCode initialize() override