ATLAS Offline Software
BCM_RDOAnalysis.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 
6 #ifndef BCM_RDO_ANALYSIS_H
7 #define BCM_RDO_ANALYSIS_H
8 
11 
15 
16 #include <string>
17 #include <vector>
18 #include "TH1.h"
19 
20 
22 
23 public:
25  ~BCM_RDOAnalysis() = default;
26 
27  virtual StatusCode initialize() override final;
28  virtual StatusCode execute() override final;
29 
30 private:
31 
32  SG::ReadHandleKey<BCM_RDO_Container> m_inputKey{this, "InputKey", "BCM_RDOs"};
33  SG::ReadHandleKey<InDetSimDataCollection> m_inputTruthKey{this, "InputTruthKey", "BCM_SDO_Map"};
34 
35 
36  Gaudi::Property<std::string> m_ntupleFileName{this, "NtupleFileName", "/ntuples/file"};
37  Gaudi::Property<std::string> m_ntupleDirName{this, "NtupleDirectoryName", "/BCM_RDOAnalysis/"};
38  Gaudi::Property<std::string> m_ntupleTreeName{this, "NtupleTreeName", "BCM_RDOAna"};
39  Gaudi::Property<std::string> m_path{this, "HistPath", "/BCM_RDOAnalysis/"};
40 
41  // RDO
42  std::vector<int>* m_word1{nullptr};
43  std::vector<int>* m_word2{nullptr};
44  std::vector<int>* m_chan{nullptr};
45  std::vector<int>* m_pulse1Pos{nullptr};
46  std::vector<int>* m_pulse1Width{nullptr};
47  std::vector<int>* m_pulse2Pos{nullptr};
48  std::vector<int>* m_pulse2Width{nullptr};
49  std::vector<int>* m_LVL1A{nullptr};
50  std::vector<int>* m_BCID{nullptr};
51  std::vector<int>* m_LVL1ID{nullptr};
52  std::vector<int>* m_err{nullptr};
53  // SDO
54  std::vector<unsigned long long>* m_sdoID{nullptr};
55  std::vector<int>* m_sdoWord{nullptr};
56  std::vector<int>* m_barcode{nullptr};
57  std::vector<int>* m_eventIndex{nullptr};
58  std::vector<float>* m_charge{nullptr};
59  std::vector< std::vector<int> >* m_barcode_vec{nullptr};
60  std::vector< std::vector<int> >* m_eventIndex_vec{nullptr};
61  std::vector< std::vector<float> >* m_charge_vec{nullptr};
62 
63  // HISTOGRAMS
64  TH1* m_h_word1{nullptr};
65  TH1* m_h_word2{nullptr};
66  TH1* m_h_chan{nullptr};
67  TH1* m_h_pulse1Pos{nullptr};
68  TH1* m_h_pulse1Width{nullptr};
69  TH1* m_h_pulse2Pos{nullptr};
70  TH1* m_h_pulse2Width{nullptr};
71 
72  TH1* m_h_sdoID{nullptr};
73  TH1* m_h_sdoWord{nullptr};
74  TH1* m_h_barcode{nullptr};
75  TH1* m_h_eventIndex{nullptr};
76  TH1* m_h_charge{nullptr};
77 
78  TTree* m_tree{nullptr};
79 };
80 
81 #endif // BCM_RDO_ANALYSIS_H
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
BCM_RDOAnalysis::m_barcode
std::vector< int > * m_barcode
Definition: BCM_RDOAnalysis.h:56
BCM_RDOAnalysis::m_barcode_vec
std::vector< std::vector< int > > * m_barcode_vec
Definition: BCM_RDOAnalysis.h:59
AthHistogramAlgorithm::AthHistogramAlgorithm
AthHistogramAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
Definition: AthHistogramAlgorithm.cxx:31
SG
Forward declaration.
Definition: CaloCellPacker_400_500.h:32
BCM_RDOAnalysis::m_BCID
std::vector< int > * m_BCID
Definition: BCM_RDOAnalysis.h:50
BCM_RDOAnalysis::m_word1
std::vector< int > * m_word1
Definition: BCM_RDOAnalysis.h:42
BCM_RDOAnalysis::m_h_word2
TH1 * m_h_word2
Definition: BCM_RDOAnalysis.h:65
BCM_RDOAnalysis::m_h_word1
TH1 * m_h_word1
Definition: BCM_RDOAnalysis.h:64
BCM_RDOAnalysis::m_LVL1A
std::vector< int > * m_LVL1A
Definition: BCM_RDOAnalysis.h:49
BCM_RDOAnalysis::m_ntupleFileName
Gaudi::Property< std::string > m_ntupleFileName
Definition: BCM_RDOAnalysis.h:36
BCM_RDOAnalysis::m_path
Gaudi::Property< std::string > m_path
Definition: BCM_RDOAnalysis.h:39
BCM_RDOAnalysis::m_LVL1ID
std::vector< int > * m_LVL1ID
Definition: BCM_RDOAnalysis.h:51
BCM_RDOAnalysis::m_h_sdoWord
TH1 * m_h_sdoWord
Definition: BCM_RDOAnalysis.h:73
SG::ReadHandleKey< InDetSimDataCollection >
BCM_RDOAnalysis::m_word2
std::vector< int > * m_word2
Definition: BCM_RDOAnalysis.h:43
BCM_RDOAnalysis::m_eventIndex
std::vector< int > * m_eventIndex
Definition: BCM_RDOAnalysis.h:57
AthHistogramAlgorithm.h
BCM_RDOAnalysis::m_h_barcode
TH1 * m_h_barcode
Definition: BCM_RDOAnalysis.h:74
BCM_RDOAnalysis::m_inputTruthKey
SG::ReadHandleKey< InDetSimDataCollection > m_inputTruthKey
Definition: BCM_RDOAnalysis.h:33
BCM_RDOAnalysis::m_h_eventIndex
TH1 * m_h_eventIndex
Definition: BCM_RDOAnalysis.h:75
BCM_RDO_Container
Definition: BCM_RDO_Container.h:27
BCM_RDOAnalysis::m_chan
std::vector< int > * m_chan
Definition: BCM_RDOAnalysis.h:44
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
BCM_RDOAnalysis::execute
virtual StatusCode execute() override final
Definition: BCM_RDOAnalysis.cxx:96
BCM_RDO_Collection.h
BCM_RDOAnalysis::m_sdoWord
std::vector< int > * m_sdoWord
Definition: BCM_RDOAnalysis.h:55
AthHistogramAlgorithm
Definition: AthHistogramAlgorithm.h:32
BCM_RDOAnalysis::m_eventIndex_vec
std::vector< std::vector< int > > * m_eventIndex_vec
Definition: BCM_RDOAnalysis.h:60
BCM_RDOAnalysis::m_sdoID
std::vector< unsigned long long > * m_sdoID
Definition: BCM_RDOAnalysis.h:54
columnar::final
CM final
Definition: ColumnAccessor.h:106
BCM_RDOAnalysis::~BCM_RDOAnalysis
~BCM_RDOAnalysis()=default
BCM_RDOAnalysis::m_pulse1Width
std::vector< int > * m_pulse1Width
Definition: BCM_RDOAnalysis.h:46
BCM_RDOAnalysis::m_err
std::vector< int > * m_err
Definition: BCM_RDOAnalysis.h:52
BCM_RDOAnalysis::m_charge
std::vector< float > * m_charge
Definition: BCM_RDOAnalysis.h:58
BCM_RDOAnalysis::m_pulse2Pos
std::vector< int > * m_pulse2Pos
Definition: BCM_RDOAnalysis.h:47
BCM_RDOAnalysis::m_h_pulse1Width
TH1 * m_h_pulse1Width
Definition: BCM_RDOAnalysis.h:68
BCM_RDOAnalysis::m_tree
TTree * m_tree
Definition: BCM_RDOAnalysis.h:78
BCM_RDOAnalysis::m_charge_vec
std::vector< std::vector< float > > * m_charge_vec
Definition: BCM_RDOAnalysis.h:61
BCM_RDOAnalysis::m_h_pulse2Width
TH1 * m_h_pulse2Width
Definition: BCM_RDOAnalysis.h:70
BCM_RDOAnalysis::initialize
virtual StatusCode initialize() override final
Definition: BCM_RDOAnalysis.cxx:9
BCM_RDOAnalysis::m_ntupleTreeName
Gaudi::Property< std::string > m_ntupleTreeName
Definition: BCM_RDOAnalysis.h:38
BCM_RDOAnalysis::m_h_pulse1Pos
TH1 * m_h_pulse1Pos
Definition: BCM_RDOAnalysis.h:67
BCM_RDOAnalysis::m_ntupleDirName
Gaudi::Property< std::string > m_ntupleDirName
Definition: BCM_RDOAnalysis.h:37
BCM_RDO_Container.h
BCM_RDOAnalysis
Definition: BCM_RDOAnalysis.h:21
InDetSimDataCollection.h
BCM_RDOAnalysis::m_h_chan
TH1 * m_h_chan
Definition: BCM_RDOAnalysis.h:66
private
#define private
Definition: xAODTruthCnvAlg.h:20
BCM_RDOAnalysis::m_h_charge
TH1 * m_h_charge
Definition: BCM_RDOAnalysis.h:76
BCM_RDOAnalysis::m_pulse2Width
std::vector< int > * m_pulse2Width
Definition: BCM_RDOAnalysis.h:48
BCM_RDOAnalysis::m_pulse1Pos
std::vector< int > * m_pulse1Pos
Definition: BCM_RDOAnalysis.h:45
BCM_RDOAnalysis::m_inputKey
SG::ReadHandleKey< BCM_RDO_Container > m_inputKey
Definition: BCM_RDOAnalysis.h:32
BCM_RDOAnalysis::m_h_sdoID
TH1 * m_h_sdoID
Definition: BCM_RDOAnalysis.h:72
BCM_RDOAnalysis::m_h_pulse2Pos
TH1 * m_h_pulse2Pos
Definition: BCM_RDOAnalysis.h:69