ATLAS Offline Software
xAODTruthParticleSlimmerTau.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef GENERATORFILTERS_XAODTRUTHPARTICLESLIMMERTAU_H
6 #define GENERATORFILTERS_XAODTRUTHPARTICLESLIMMERTAU_H
7 
10 
13 #include "CLHEP/Vector/LorentzVector.h"
14 #include "GaudiKernel/SystemOfUnits.h"
15 #include "GaudiKernel/ToolHandle.h"
17 
18 #include <unordered_set>
19 
20 
29 public:
30 
32  xAODTruthParticleSlimmerTau( const std::string& name, ISvcLocator* svcLoc );
33 // xAODTruthParticleSlimmerTau( const std::string& t, const std::string& n, const IInterface* p);
35  virtual StatusCode initialize();
37  virtual StatusCode execute();
38 
39  CLHEP::HepLorentzVector sumDaughterNeutrinos( const xAOD::TruthParticle* tau );
40 
41 private:
43  {this,"xAODTruthParticleContainerName","TruthParticles","Name of Truth Particle container"};
46  {this, "xAODTruthTauParticleContainerName","TruthTaus","Name of Truth Taus contatiner from the slimmer"};
47 
49  DoubleProperty m_tau_pt_selection{this, "tau_pt_selection", 0.001 * Gaudi::Units::GeV}; //in GeV
50  DoubleProperty m_abseta_selection{this, "abseta_selection", 10.};
51 
53  BooleanProperty m_forceRerun{this, "ForceRerun", false};
54 
55  PublicToolHandle<IMCTruthClassifier> m_classifier{this, "MCTruthClassifier", "MCTruthClassifier/MCTruthClassifier"};
56 
57 }; // class xAODTruthParticleSlimmerTau
58 
59 
60 
61 #endif // GENERATORFILTERS_XAODTRUTHPARTICLESLIMMERTAU_H
xAODTruthParticleSlimmerTau::m_tau_pt_selection
DoubleProperty m_tau_pt_selection
Selection values for keeping taus and leptons.
Definition: xAODTruthParticleSlimmerTau.h:49
xAODTruthParticleSlimmerTau::m_forceRerun
BooleanProperty m_forceRerun
a flag to force rerunning (useful for rerunning on ESDs)
Definition: xAODTruthParticleSlimmerTau.h:53
GeV
#define GeV
Definition: PhysicsAnalysis/TauID/TauAnalysisTools/Root/HelperFunctions.cxx:18
xAODTruthParticleSlimmerTau::m_xaodTruthTauParticleContainerName
SG::WriteHandleKey< xAOD::TruthParticleContainer > m_xaodTruthTauParticleContainerName
The key for the output xAOD truth containers.
Definition: xAODTruthParticleSlimmerTau.h:46
xAODTruthParticleSlimmerTau::m_xaodTruthParticleContainerName
SG::ReadHandleKey< xAOD::TruthParticleContainer > m_xaodTruthParticleContainerName
Definition: xAODTruthParticleSlimmerTau.h:43
SG::ReadHandleKey< xAOD::TruthParticleContainer >
xAODTruthParticleSlimmerTau::xAODTruthParticleSlimmerTau
xAODTruthParticleSlimmerTau(const std::string &name, ISvcLocator *svcLoc)
Regular algorithm constructor.
Definition: xAODTruthParticleSlimmerTau.cxx:27
AthAlgorithm.h
IMCTruthClassifier.h
SG::WriteHandleKey< xAOD::TruthParticleContainer >
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
xAOD::TruthParticle_v1
Class describing a truth particle in the MC record.
Definition: TruthParticle_v1.h:37
xAODTruthParticleSlimmerTau::initialize
virtual StatusCode initialize()
Function initialising the algorithm.
Definition: xAODTruthParticleSlimmerTau.cxx:32
AthAlgTool.h
xAODTruthParticleSlimmerTau::execute
virtual StatusCode execute()
Function executing the algorithm.
Definition: xAODTruthParticleSlimmerTau.cxx:61
AthAlgorithm
Definition: AthAlgorithm.h:47
xAODTruthParticleSlimmerTau::m_abseta_selection
DoubleProperty m_abseta_selection
Definition: xAODTruthParticleSlimmerTau.h:50
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
xAODTruthParticleSlimmerTau::m_classifier
PublicToolHandle< IMCTruthClassifier > m_classifier
Definition: xAODTruthParticleSlimmerTau.h:55
xAODTruthParticleSlimmerTau
Algorithm to skim the xAOD truth particle container for tau filter.
Definition: xAODTruthParticleSlimmerTau.h:28
xAODTruthParticleSlimmerTau::sumDaughterNeutrinos
CLHEP::HepLorentzVector sumDaughterNeutrinos(const xAOD::TruthParticle *tau)
Definition: xAODTruthParticleSlimmerTau.cxx:42
TruthParticle.h
TruthMetaDataContainer.h