ATLAS Offline Software
TauProcessorAlg.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TAUREC_TAUPROCESSORALG_H
6 #define TAUREC_TAUPROCESSORALG_H
7 
9 
11 #include "StoreGate/ReadHandle.h"
12 #include "StoreGate/WriteHandle.h"
13 
15 
18 #include "xAODJet/JetContainer.h"
19 #include "xAODPFlow/PFOContainer.h"
26 
27 #include "GaudiKernel/SystemOfUnits.h"
28 #include "GaudiKernel/ToolHandle.h"
29 
34 class CaloCell_ID;
35 
37 {
38  public:
39  //-----------------------------------------------------------------
40  // Contructor and destructor
41  //-----------------------------------------------------------------
42  TauProcessorAlg( const std::string &name, ISvcLocator *pSvcLocator );
44 
45  //-----------------------------------------------------------------
46  // Gaudi algorithm hooks
47  //-----------------------------------------------------------------
48  virtual StatusCode initialize();
49  virtual StatusCode execute(const EventContext& ctx) const;
50 
51  private:
52 
53  Gaudi::Property<double> m_maxEta {this, "MaxEta", 2.5, "maximum eta for jet seed"};
54  Gaudi::Property<double> m_minPt {this, "MinPt", 10 * Gaudi::Units::GeV, "minimum pT for jet seed"};
55  Gaudi::Property<int> m_maxNTracks {this, "MaxNTracks", -1, "maximum number of classifiedCharged tracks"};
56 
57  const ToolHandleArray<ITauToolBase> m_tools {this, "Tools", {}, "Tools processing taus"};
58  const ToolHandle<ICaloConstCellMakerTool> m_cellMakerTool {this, "CellMakerTool", "", "Tool to sort the CaloCellContainer"};
59 
60  SG::ReadHandleKey<xAOD::JetContainer> m_jetInputContainer{this,"Key_jetInputContainer","AntiKt4LCTopoJets","input jet key"};
61 
62  SG::WriteHandleKey<xAOD::TauJetContainer> m_tauOutputContainer{this,"Key_tauOutputContainer","tmp_TauJets","output tau data key"};
63  SG::WriteHandleKey<xAOD::TauTrackContainer> m_tauTrackOutputContainer{this,"Key_tauTrackOutputContainer","TauTracks","output tau tracks data key"};
64  SG::WriteHandleKey<xAOD::CaloClusterContainer> m_tauShotClusOutputContainer{this,"Key_tauShotClusOutputContainer", "TauShotClusters", "tau shot clusters out key"};
65  SG::WriteHandleKey<CaloClusterCellLinkContainer> m_tauShotClusLinkContainer{this,"Key_tauShotClusLinkContainer", "TauShotClusters_links", "tau shot clusters out key"};
66  SG::WriteHandleKey<xAOD::PFOContainer> m_tauShotPFOOutputContainer{this,"Key_tauShotPFOOutputContainer", "TauShotParticleFlowObjects", "tau pfo out key"};
67  SG::WriteHandleKey<CaloConstCellContainer> m_tauPi0CellOutputContainer{this,"Key_tauPi0CellOutputContainer","TauCommonPi0Cells","output calo cell key"};
68 
69  const CaloCell_ID* m_cellID = nullptr;
70 
71  // These are needed to read ESD and AOD in AthenaMT for P->T conversion of ID tracks.
72  SG::ReadCondHandleKey<InDetDD::SiDetectorElementCollection> m_pixelDetEleCollKey{this, "PixelDetEleCollKey", "PixelDetectorElementCollection", "Key of SiDetectorElementCollection for Pixel"};
73  SG::ReadCondHandleKey<InDetDD::SiDetectorElementCollection> m_SCTDetEleCollKey{this, "SCTDetEleCollKey", "SCT_DetectorElementCollection", "Key of SiDetectorElementCollection for SCT"};
74  SG::ReadCondHandleKey<InDetDD::TRT_DetElementContainer> m_trtDetEleContKey{this, "TRTDetEleContKey", "TRT_DetElementContainer", "Key of TRT_DetElementContainer"};
75 
76 };
77 
78 #endif // TAUREC_TAUPROCESSORALG_H
ICaloConstCellMakerTool.h
Operate on pointers to const CaloCell.
TRT_DetElementContainer.h
TauProcessorAlg::m_SCTDetEleCollKey
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollection > m_SCTDetEleCollKey
Definition: TauProcessorAlg.h:73
PFOContainer.h
TauProcessorAlg::execute
virtual StatusCode execute(const EventContext &ctx) const
Definition: TauProcessorAlg.cxx:79
TauProcessorAlg::~TauProcessorAlg
~TauProcessorAlg()
TauTrackContainer.h
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition: StoreGate/StoreGate/ReadHandleKey.h:39
TauProcessorAlg::m_tauOutputContainer
SG::WriteHandleKey< xAOD::TauJetContainer > m_tauOutputContainer
Definition: TauProcessorAlg.h:62
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:83
WriteHandle.h
Handle class for recording to StoreGate.
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition: StoreGate/StoreGate/WriteHandleKey.h:40
TauProcessorAlg::m_maxNTracks
Gaudi::Property< int > m_maxNTracks
Definition: TauProcessorAlg.h:55
TauProcessorAlg::m_pixelDetEleCollKey
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollection > m_pixelDetEleCollKey
Definition: TauProcessorAlg.h:72
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
TauProcessorAlg::m_cellID
const CaloCell_ID * m_cellID
Definition: TauProcessorAlg.h:69
TauProcessorAlg::m_tauShotPFOOutputContainer
SG::WriteHandleKey< xAOD::PFOContainer > m_tauShotPFOOutputContainer
Definition: TauProcessorAlg.h:66
TauProcessorAlg::m_trtDetEleContKey
SG::ReadCondHandleKey< InDetDD::TRT_DetElementContainer > m_trtDetEleContKey
Definition: TauProcessorAlg.h:74
TauProcessorAlg::m_tauTrackOutputContainer
SG::WriteHandleKey< xAOD::TauTrackContainer > m_tauTrackOutputContainer
Definition: TauProcessorAlg.h:63
CaloCell_ID
Helper class for offline cell identifiers.
Definition: CaloCell_ID.h:34
TauProcessorAlg::m_tauShotClusLinkContainer
SG::WriteHandleKey< CaloClusterCellLinkContainer > m_tauShotClusLinkContainer
Definition: TauProcessorAlg.h:65
TauJetContainer.h
ReadCondHandleKey.h
AthReentrantAlgorithm.h
TauProcessorAlg::TauProcessorAlg
TauProcessorAlg(const std::string &name, ISvcLocator *pSvcLocator)
Definition: TauProcessorAlg.cxx:19
TauProcessorAlg::m_jetInputContainer
SG::ReadHandleKey< xAOD::JetContainer > m_jetInputContainer
Definition: TauProcessorAlg.h:60
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
TauProcessorAlg::initialize
virtual StatusCode initialize()
Definition: TauProcessorAlg.cxx:32
SiDetectorElementCollection.h
TauProcessorAlg::m_tools
const ToolHandleArray< ITauToolBase > m_tools
Definition: TauProcessorAlg.h:57
ITauToolBase.h
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollection >
TauProcessorAlg::m_cellMakerTool
const ToolHandle< ICaloConstCellMakerTool > m_cellMakerTool
Definition: TauProcessorAlg.h:58
TauProcessorAlg
Definition: TauProcessorAlg.h:37
TauProcessorAlg::m_tauPi0CellOutputContainer
SG::WriteHandleKey< CaloConstCellContainer > m_tauPi0CellOutputContainer
Definition: TauProcessorAlg.h:67
TauProcessorAlg::m_tauShotClusOutputContainer
SG::WriteHandleKey< xAOD::CaloClusterContainer > m_tauShotClusOutputContainer
Definition: TauProcessorAlg.h:64
TauProcessorAlg::m_minPt
Gaudi::Property< double > m_minPt
Definition: TauProcessorAlg.h:54
JetContainer.h
CaloClusterContainer.h
ReadHandle.h
Handle class for reading from StoreGate.
CaloConstCellContainer.h
CaloCellContainer that can accept const cell pointers.
GeV
#define GeV
Definition: CaloTransverseBalanceVecMon.cxx:30
TauProcessorAlg::m_maxEta
Gaudi::Property< double > m_maxEta
Definition: TauProcessorAlg.h:53