|
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef MCTRUTHCLASSIFIER_MCTRUTHCLASSIFIER_H
6 #define MCTRUTHCLASSIFIER_MCTRUTHCLASSIFIER_H
28 #include "GaudiKernel/ToolHandle.h"
33 #ifndef GENERATIONBASE
44 #if !defined(XAOD_ANALYSIS) && !defined(GENERATIONBASE)
61 #if !defined(XAOD_ANALYSIS) && !defined(GENERATIONBASE)
63 "Use Geant4 selection for forward electrons calo clusters");
66 "Cut on the eta of the truth Particles to be extrapolated "
69 "FwdElectronTruthExtrEtaWindowCut",
71 "Cut on the delta eta of the truth Particles to be extrapolated for "
72 "Fwd electrons and the current FwdElectron");
86 #ifndef GENERATIONBASE
106 #if !defined(XAOD_ANALYSIS) && !defined(GENERATIONBASE)
121 return StatusCode::SUCCESS;
123 virtual std::pair<MCTruthPartClassifier::ParticleType, MCTruthPartClassifier::ParticleOrigin>
126 #ifndef XAOD_ANALYSIS
127 virtual std::pair<MCTruthPartClassifier::ParticleType, MCTruthPartClassifier::ParticleOrigin>
135 #ifndef GENERATIONBASE
139 #ifndef XAOD_ANALYSIS
144 virtual std::pair<MCTruthPartClassifier::ParticleType, MCTruthPartClassifier::ParticleOrigin>
164 inline double detEta(
double x,
double y)
const {
return std::abs(
x -
y); }
165 inline double detPhi(
double x,
double y)
const {
198 #if !defined(XAOD_ANALYSIS) && !defined(GENERATIONBASE)
209 #ifndef GENERATIONBASE
216 m_truthParticleContainerKey{
this,
"xAODTruthParticleContainerName",
"TruthParticles",
"ReadHandleKey for xAOD::TruthParticleContainer"};
218 #if !defined(XAOD_ANALYSIS) && !defined(GENERATIONBASE)
219 ToolHandle<Trk::IParticleCaloExtensionTool>
m_caloExtensionTool{
this,
"ParticleCaloExtensionTool",
""};
221 ToolHandle<xAOD::ITruthParticlesInConeTool>
222 m_truthInConeTool{
this,
"TruthInConeTool",
"xAOD::TruthParticlesInConeTool/TruthParticlesInConeTool"};
241 #ifndef XAOD_ANALYSIS
245 #ifndef GENERATIONBASE
252 #endif // MCTRUTHCLASSIFIER_MCTRUTHCLASSIFIER_H
MCTruthPartClassifier::ParticleOrigin defOrigOfNeutrino(const xAOD::TruthParticleContainer *m_xTruthParticleContainer, const xAOD::TruthParticle *, bool &isPrompt, MCTruthPartClassifier::Info *info) const
float m_FwdElectronTruthExtrEtaWindowCut
Basic data class defines behavior for all Jet objects The Jet class is the principal data class for...
virtual StatusCode initialize() override
Dummy implementation of the initialisation function.
void findJetConstituents(const xAOD::Jet *, std::set< const xAOD::TruthParticle * > &constituents, bool DR) const
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
ToolHandle< Trk::IParticleCaloExtensionTool > m_caloExtensionTool
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
MCTruthPartClassifier::ParticleOrigin defOrigOfElectron(const xAOD::TruthParticleContainer *xTruthParticleContainer, const xAOD::TruthParticle *, bool &isPrompt, MCTruthPartClassifier::Info *info) const
const std::string & key() const
Return the StoreGate ID for the referenced object.
bool const RAWDATA *ch2 const
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.
SG::ReadHandleKey< xAOD::TruthParticleContainer > m_truthParticleContainerKey
Class describing an photon
Definition of CaloDetDescrManager.
a link optimized in size for a GenParticle in a McEventCollection
Description of a calorimeter cluster.
float m_FwdElectronTruthExtrEtaCut
::StatusCode StatusCode
StatusCode definition for legacy code.
Class describing a truth particle in the MC record.
virtual const xAOD::TruthParticle * egammaClusMatch(const xAOD::CaloCluster *, bool, MCTruthPartClassifier::Info *info) const override final
Principal data class for CaloCell clusters.
SG::ReadHandleKey< xAODTruthParticleLinkVector > m_truthLinkVecReadHandleKey
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
bool genPartToCalo(const EventContext &ctx, const xAOD::CaloCluster *clus, const xAOD::TruthParticle *thePart, bool isFwrdEle, double &dRmatch, bool &isNarrowCone, const CaloDetDescrManager &caloDDMgr) const
const GenParticle * ConstGenParticlePtr
StatusCode initialize(bool used=true)
Wrapper to avoid constant divisions when using units.
MCTruthClassifier(const std::string &type)
MCTruthPartClassifier::ParticleOrigin defOrigOfMuon(const xAOD::TruthParticleContainer *m_xTruthParticleContainer, const xAOD::TruthParticle *, bool &isPrompt, MCTruthPartClassifier::Info *info) const
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloMgrKey
This class provides the client interface for accessing the detector description information common to...
int isPrompt(const unsigned int classify, bool allow_prompt_tau_decays=true)
Class describing an electron.
MCTruthPartClassifier::ParticleOrigin defOrigOfTau(const xAOD::TruthParticleContainer *m_xTruthParticleContainer, const xAOD::TruthParticle *, int motherPDG, MCTruthPartClassifier::Info *info) const
ToolHandle< xAOD::ITruthParticlesInConeTool > m_truthInConeTool
Class describing a TrackParticle.
virtual ~MCTruthClassifier()=default
virtual std::pair< MCTruthPartClassifier::ParticleType, MCTruthPartClassifier::ParticleOrigin > particleTruthClassifier(const xAOD::TruthParticle *, MCTruthPartClassifier::Info *info=nullptr) const override final
bool m_FwdElectronUseG4Sel
double detEta(double x, double y) const
double fracParticleInJet(const xAOD::TruthParticle *, const xAOD::Jet *, bool DR, bool nparts) const
MCTruthPartClassifier::ParticleOrigin defOrigOfPhoton(const xAOD::TruthParticleContainer *m_xTruthParticleContainer, const xAOD::TruthParticle *, bool &isPrompt, MCTruthPartClassifier::Info *info) const
double detPhi(double x, double y) const
virtual const xAOD::TruthParticle * getGenPart(const xAOD::TrackParticle *, MCTruthPartClassifier::Info *info=nullptr) const override final