ATLAS Offline Software
TauTruthDecorationsAlg.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 
7 
8 #ifndef TAU_ANALYSIS_ALGORITHMS__TAU_TRUTH_DECORATIONS_ALG_H
9 #define TAU_ANALYSIS_ALGORITHMS__TAU_TRUTH_DECORATIONS_ALG_H
10 
20 
21 namespace CP
22 {
24 
26  {
28  public:
30  StatusCode initialize () override;
31  StatusCode execute () override;
32 
34  private:
36 
38  private:
40  this, "taus", "TauJets", "the tau collection to run on"};
41 
43  private:
45  this, "preselection", "", "the preselection to apply"};
46 
48  private:
49  Gaudi::Property<std::vector<std::string>> m_doubleDecorations {this, "doubleDecorations", {}, "the list decorations with type double to copy"};
50  Gaudi::Property<std::vector<std::string>> m_floatDecorations {this, "floatDecorations", {}, "the list decorations with type float to copy"};
51  Gaudi::Property<std::vector<std::string>> m_intDecorations {this, "intDecorations", {}, "the list decorations with type int to copy"};
52  Gaudi::Property<std::vector<std::string>> m_charDecorations {this, "charDecorations", {}, "the list decorations with type char to copy"};
53  Gaudi::Property<std::string> m_prefix {this, "prefix", "truth_", "the prefix to be added to all output decorations"};
54 
55  // the mapping of double to float is intentional to save disk space
56  std::vector<std::pair<std::unique_ptr<SG::AuxElement::ConstAccessor<double>>, std::unique_ptr<SysWriteDecorHandle<float>>>> m_doubleWriteHandles;
57  std::vector<std::pair<std::unique_ptr<SG::AuxElement::ConstAccessor<float>>, std::unique_ptr<SysWriteDecorHandle<float>>>> m_floatWriteHandles;
58  std::vector<std::pair<std::unique_ptr<SG::AuxElement::ConstAccessor<int>>, std::unique_ptr<SysWriteDecorHandle<int>>>> m_intWriteHandles;
59  std::vector<std::pair<std::unique_ptr<SG::AuxElement::ConstAccessor<char>>, std::unique_ptr<SysWriteDecorHandle<char>>>> m_charWriteHandles;
60 
62  this, "decayModeDecoration", "truth_DecayMode", "the decoration for the tau decay mode"};
64  this, "particleTypeDecoration", "truth_ParticleType", "the decoration for the tau particle type"};
65  };
66 }
67 
68 #endif
OutOfValidityHelper.h
CP::SysListHandle
a class managing the property to configure the list of systematics to process
Definition: SysListHandle.h:33
SysWriteDecorHandle.h
CP::TauTruthDecorationsAlg::m_doubleDecorations
Gaudi::Property< std::vector< std::string > > m_doubleDecorations
the decoration for the tau scale factor
Definition: TauTruthDecorationsAlg.h:49
CP::TauTruthDecorationsAlg::m_prefix
Gaudi::Property< std::string > m_prefix
Definition: TauTruthDecorationsAlg.h:53
SysListHandle.h
CP::TauTruthDecorationsAlg::initialize
StatusCode initialize() override
Definition: TauTruthDecorationsAlg.cxx:26
CP::TauTruthDecorationsAlg::m_tauHandle
SysReadHandle< xAOD::TauJetContainer > m_tauHandle
the tau collection we run on
Definition: TauTruthDecorationsAlg.h:39
CP::TauTruthDecorationsAlg::m_floatDecorations
Gaudi::Property< std::vector< std::string > > m_floatDecorations
Definition: TauTruthDecorationsAlg.h:50
CP::SysReadHandle< xAOD::TauJetContainer >
CP
Select isolated Photons, Electrons and Muons.
Definition: Control/xAODRootAccess/xAODRootAccess/TEvent.h:48
CP::TauTruthDecorationsAlg::m_charWriteHandles
std::vector< std::pair< std::unique_ptr< SG::AuxElement::ConstAccessor< char > >, std::unique_ptr< SysWriteDecorHandle< char > > > > m_charWriteHandles
Definition: TauTruthDecorationsAlg.h:59
EL::AnaAlgorithm::AnaAlgorithm
AnaAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
constructor with parameters
Definition: AnaAlgorithm.cxx:40
ITauEfficiencyCorrectionsTool.h
SysReadHandle.h
AnaAlgorithm.h
EL::AnaAlgorithm
the (new) base class for EventLoop algorithms
Definition: AnaAlgorithm.h:73
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
CP::TauTruthDecorationsAlg::execute
StatusCode execute() override
Definition: TauTruthDecorationsAlg.cxx:55
CP::TauTruthDecorationsAlg::m_intDecorations
Gaudi::Property< std::vector< std::string > > m_intDecorations
Definition: TauTruthDecorationsAlg.h:51
CP::TauTruthDecorationsAlg::m_intWriteHandles
std::vector< std::pair< std::unique_ptr< SG::AuxElement::ConstAccessor< int > >, std::unique_ptr< SysWriteDecorHandle< int > > > > m_intWriteHandles
Definition: TauTruthDecorationsAlg.h:58
CP::TauTruthDecorationsAlg
an algorithm to decorate truth matched information
Definition: TauTruthDecorationsAlg.h:26
TauJetContainer.h
SysReadSelectionHandle.h
CP::TauTruthDecorationsAlg::m_truthDecayModeDecoration
SysWriteDecorHandle< int > m_truthDecayModeDecoration
Definition: TauTruthDecorationsAlg.h:61
CP::SysReadSelectionHandle
a data handle for reading systematically varied selection properties from objects
Definition: SysReadSelectionHandle.h:32
CP::TauTruthDecorationsAlg::m_preselection
SysReadSelectionHandle m_preselection
the preselection we apply to our input
Definition: TauTruthDecorationsAlg.h:44
CP::TauTruthDecorationsAlg::m_truthParticleTypeDecoration
SysWriteDecorHandle< int > m_truthParticleTypeDecoration
Definition: TauTruthDecorationsAlg.h:63
CP::TauTruthDecorationsAlg::m_floatWriteHandles
std::vector< std::pair< std::unique_ptr< SG::AuxElement::ConstAccessor< float > >, std::unique_ptr< SysWriteDecorHandle< float > > > > m_floatWriteHandles
Definition: TauTruthDecorationsAlg.h:57
CP::TauTruthDecorationsAlg::m_systematicsList
SysListHandle m_systematicsList
the systematics list we run
Definition: TauTruthDecorationsAlg.h:35
CP::TauTruthDecorationsAlg::m_doubleWriteHandles
std::vector< std::pair< std::unique_ptr< SG::AuxElement::ConstAccessor< double > >, std::unique_ptr< SysWriteDecorHandle< float > > > > m_doubleWriteHandles
Definition: TauTruthDecorationsAlg.h:56
CP::SysWriteDecorHandle< int >
CP::TauTruthDecorationsAlg::m_charDecorations
Gaudi::Property< std::vector< std::string > > m_charDecorations
Definition: TauTruthDecorationsAlg.h:52