|
ATLAS Offline Software
|
Go to the documentation of this file.
19 ISvcLocator* pSvcLocator)
20 : AnaAlgorithm (
name, pSvcLocator)
30 ANA_MSG_ERROR(
"Classification decoration name needs to be set");
31 return StatusCode::FAILURE;
57 return StatusCode::SUCCESS;
75 if (truthParticle ==
nullptr)
82 if (truthParticle !=
nullptr && truthParticle->
isLepton() && (truthParticle->
status() == 1 || truthParticle->
status() == 2))
87 result = (*m_classificationAccessor)(*truthParticle);
91 ANA_MSG_ERROR (
"MCTC Classification decoration not available.");
92 return StatusCode::FAILURE;
95 std::bitset<MCTruthPartClassifier::MCTC_bits::totalBits> bitset(
result);
119 (*m_isPromptDecorator)(*particle) = -1;
123 (*m_fromHadronDecorator)(*particle) = -1;
127 (*m_fromBSMDecorator)(*particle) = -1;
131 (*m_fromTauDecorator)(*particle) = -1;
136 return StatusCode::SUCCESS;
std::unique_ptr< const SG::AuxElement::Decorator< int > > m_isPromptDecorator
the decorator for m_isPromptDecoration
SysReadSelectionHandle m_preselection
the preselection we apply to our input
constexpr ParticleHypothesis particle[PARTICLEHYPOTHESES]
the array of masses
SysReadHandle< xAOD::IParticleContainer > m_particlesHandle
the particle collection we run on
Gaudi::Property< std::string > m_fromBSMDecoration
the decoration for the BSM origin
std::unique_ptr< const SG::AuxElement::Decorator< int > > m_fromBSMDecorator
the decorator for m_fromBSMDecoration
Gaudi::Property< std::string > m_fromTauDecoration
the decoration for the tau origin
MCTCDecorationAlg(const std::string &name, ISvcLocator *pSvcLocator)
the standard constructor
const std::vector< CP::SystematicSet > & systematicsVector() const
the list of systematics to loop over
Class providing the definition of the 4-vector interface.
Select isolated Photons, Electrons and Muons.
bool isLepton() const
Whether the particle is a lepton.
virtual StatusCode execute() override
::StatusCode initialize()
intialize this property
bool getBool(const SG::AuxElement &element, const CP::SystematicSet &sys) const
get the selection as a bool
::StatusCode StatusCode
StatusCode definition for legacy code.
Class describing a truth particle in the MC record.
std::unique_ptr< const SG::AuxElement::Decorator< int > > m_fromHadronDecorator
the decorator for m_fromHadDecoration
Gaudi::Property< std::string > m_fromHadronDecoration
the decoration for the hadronic origin
std::unique_ptr< const SG::AuxElement::ConstAccessor< unsigned int > > m_classificationAccessor
the accessor for m_classificationDecoration
const xAOD::TruthParticle * getTruthParticle(const xAOD::IParticle &p)
Return the truthParticle associated to the given IParticle (if any)
Gaudi::Property< std::string > m_isPromptDecoration
the decoration for the promptness
int status() const
Status code.
virtual StatusCode initialize() override
std::unique_ptr< const SG::AuxElement::Decorator< int > > m_fromTauDecorator
the decorator for m_fromTauDecoration
int isPrompt(const unsigned int classify, bool allow_prompt_tau_decays=true)
StatusCode initialize(SysListHandle &sysListHandle, const ISysHandleBase &objectHandle)
initialize the accessor
@ Tau
The object is a tau (jet)
Gaudi::Property< std::string > m_classificationDecoration
the decoration for the MCTC classification bitmask
SysListHandle m_systematicsList
the systematics list we run