ATLAS Offline Software
LArHitMerger.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef LARDIGITIZATION_LArHitMerger_H
6 #define LARDIGITIZATION_LArHitMerger_H
7 
9 #include "GaudiKernel/ServiceHandle.h"
10 #include "Gaudi/Property.h"
11 #include <vector>
12 // Pile up
14 
15 
16 class LArEM_ID;
17 class LArHEC_ID;
18 class LArFCAL_ID;
19 
20 class LArHitMerger : public AthAlgorithm
21 {
22 //
23 //
24  public:
25  LArHitMerger(const std::string& name, ISvcLocator* pSvcLocator);
26  ~LArHitMerger() = default;
27  virtual StatusCode initialize();
28  virtual StatusCode execute();
29  virtual StatusCode finalize();
30 
31  private:
32 
33  ServiceHandle<PileUpMergeSvc> m_mergeSvc{this, "PileUpMergeSvc", "PileUpMergeSvc"};
34 
35  std::vector<bool> m_SubDetFlag;
36  std::vector <std::string> m_HitContainer; // hit container name list
37  std::vector<int> m_CaloType;
38 
39  StringProperty m_SubDetectors{this, "SubDetectors", "LAr_All", "subdetector selection"}; // subdetectors
40  StringProperty m_EmBarrelHitContainerName{this, "EmBarrelHitContainerName", "LArHitEMB", "Hit container name for EMB"};
41  StringProperty m_EmEndCapHitContainerName{this, "EmEndCapHitContainerName", "LArHitEMEC", "Hit container name for EMEC"};
42  StringProperty m_HecHitContainerName{this, "HecHitContainerName", "LArHitHEC", "Hit container name for HEC"};
43  StringProperty m_ForWardHitContainerName{this, "ForWardHitContainerName", "LArHitFCAL", "Hit container name for FCAL"};
44 
45  const LArEM_ID* m_larem_id{};
48 };
49 
50 #endif
LArHitMerger::initialize
virtual StatusCode initialize()
Definition: LArHitMerger.cxx:27
LArHitMerger::m_larem_id
const LArEM_ID * m_larem_id
Definition: LArHitMerger.h:45
LArHitMerger::m_larhec_id
const LArHEC_ID * m_larhec_id
Definition: LArHitMerger.h:46
LArHitMerger::m_SubDetectors
StringProperty m_SubDetectors
Definition: LArHitMerger.h:39
LArHEC_ID
Helper class for LArHEC offline identifiers.
Definition: LArHEC_ID.h:85
LArHitMerger::LArHitMerger
LArHitMerger(const std::string &name, ISvcLocator *pSvcLocator)
Definition: LArHitMerger.cxx:21
LArHitMerger::~LArHitMerger
~LArHitMerger()=default
AthAlgorithm.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
LArHitMerger::m_larfcal_id
const LArFCAL_ID * m_larfcal_id
Definition: LArHitMerger.h:47
AthAlgorithm
Definition: AthAlgorithm.h:47
LArHitMerger::m_mergeSvc
ServiceHandle< PileUpMergeSvc > m_mergeSvc
Definition: LArHitMerger.h:33
LArHitMerger::execute
virtual StatusCode execute()
Definition: LArHitMerger.cxx:138
LArHitMerger
Definition: LArHitMerger.h:21
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
LArHitMerger::m_EmEndCapHitContainerName
StringProperty m_EmEndCapHitContainerName
Definition: LArHitMerger.h:41
LArHitMerger::finalize
virtual StatusCode finalize()
Definition: LArHitMerger.cxx:378
LArHitMerger::m_SubDetFlag
std::vector< bool > m_SubDetFlag
Definition: LArHitMerger.h:35
LArHitMerger::m_ForWardHitContainerName
StringProperty m_ForWardHitContainerName
Definition: LArHitMerger.h:43
LArHitMerger::m_HecHitContainerName
StringProperty m_HecHitContainerName
Definition: LArHitMerger.h:42
PileUpMergeSvc.h
the preferred mechanism to access information from the different event stores in a pileup job.
LArHitMerger::m_HitContainer
std::vector< std::string > m_HitContainer
Definition: LArHitMerger.h:36
LArEM_ID
Helper class for LArEM offline identifiers.
Definition: LArEM_ID.h:118
LArFCAL_ID
Helper class for LArFCAL offline identifiers.
Definition: LArFCAL_ID.h:60
LArHitMerger::m_EmBarrelHitContainerName
StringProperty m_EmBarrelHitContainerName
Definition: LArHitMerger.h:40
ServiceHandle< PileUpMergeSvc >
LArHitMerger::m_CaloType
std::vector< int > m_CaloType
Definition: LArHitMerger.h:37