ATLAS Offline Software
Loading...
Searching...
No Matches
TileRDOAnalysis.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 TILE_RDO_ANALYSIS_H
7#define TILE_RDO_ANALYSIS_H
8
10#include "GaudiKernel/ServiceHandle.h"
11#include "GaudiKernel/ITHistSvc.h"
13
18
19#include <string>
20#include <vector>
21#include "TH1.h"
22
23class TTree;
24class TH1;
25
27
28public:
29 TileRDOAnalysis(const std::string& name, ISvcLocator* pSvcLocator);
31
32 virtual StatusCode initialize() override final;
33 virtual StatusCode execute() override final;
34 virtual StatusCode finalize() override final;
35
37 Gaudi::Property<bool> m_doNtuple{this , "doNtuple" , true};
38 Gaudi::Property<std::string> m_ntupleFileName {this,"NtupleFileName","/ntuples/file1"};
39 Gaudi::Property<std::string> m_ntupleDirName {this,"NtupleDirectoryName", "/TileRDOAnalysis/"};
40 Gaudi::Property<std::string> m_ntupleTreeName {this,"NtupleTreeName", "TileRDOAna"};
41 Gaudi::Property<std::string> m_path {this,"HistPath", "/TileRDOAnalysis/"};
42
43 SG::ReadHandleKey<TileRawChannelContainer> m_inputRawChKey{this, "InputRawChKey", "TileRawChannelCnt"};
44 SG::ReadHandleKey<TileRawChannelContainer> m_inputMuRcvRawChKey{this, "InputMuRcvRawChKey", "MuRcvRawChCnt"};
45 SG::ReadHandleKey<TileMuonReceiverContainer> m_inputMuRcvKey{this, "InputMuRcvKey", "TileMuRcvCnt"};
46 SG::ReadHandleKey<TileTTL1Container> m_inputMBTS_TTL1Key{this, "InputMBTS_TTL1Key", "TileTTL1MBTS"};
47 SG::ReadHandleKey<TileTTL1Container> m_inputTileTTL1Key{this, "InputTileTTL1Key", "TileTTL1Cnt"};
48 SG::ReadHandleKey<TileL2Container> m_inputL2Key{this, "InputL2Key", "TileL2Cnt"};
49 SG::ReadHandleKey<TileDigitsContainer> m_inputDigitsFltKey{this, "InputDigitsFltKey", "TileDigitsFlt"};
50 SG::ReadHandleKey<TileDigitsContainer> m_inputDigitsMuRcvKey{this, "InputDigitsMuRcvKey", "MuRcvDigitsCnt"};
51 BooleanProperty m_presampling{this, "PreSampling", false};
52
57 "TileCablingSvc", "TileCablingSvc", "The Tile cabling service" };
58
59
60 // TileRawChannel
61 // AMP, TIME, QUAL REALLY VECTORS - CHECK SIZE/OUTPUT
62 std::vector<unsigned long long>* m_adcID;
63 std::vector<unsigned long long>* m_pmtID;
64 std::vector<unsigned long long>* m_cellID;
65 std::vector<unsigned long long>* m_ttID;
66 std::vector<unsigned long long>* m_mtID;
67 std::vector<int>* m_fragID;
68 std::vector<float>* m_rawAmp;
69 std::vector<float>* m_rawTime;
70 std::vector<float>* m_rawQual;
71 std::vector<float>* m_rawPed;
72 std::vector<unsigned long long>* m_adcHWID_mu;
73 std::vector<int>* m_fragID_mu;
74 std::vector<float>* m_rawAmp_mu;
75 std::vector<float>* m_rawTime_mu;
76 std::vector<float>* m_rawQual_mu;
77 std::vector<float>* m_rawPed_mu;
78 // TileMuonReceiver
79 std::vector<int>* m_muRcvID;
80 std::vector<bool>* m_muRcv_dec;
81 std::vector<float>* m_muRcv_thresh;
82 std::vector<float>* m_muRcv_energy;
83 std::vector<float>* m_muRcv_time;
84 // TileTTL1
85 std::vector<unsigned long long>* m_ttl1MBTS_ID;
86 std::vector< std::vector<double> >* m_ttl1MBTS_digits;
87 std::vector<unsigned long long>* m_ttl1_ID;
88 std::vector< std::vector<double> >* m_ttl1_digits;
89 // TileL2
90 std::vector<int>* m_L2ID;
91 std::vector< std::vector<unsigned int> >* m_L2val;
92 std::vector< std::vector<float> >* m_L2eta;
93 std::vector<float>* m_L2phi;
94 std::vector< std::vector<float> >* m_L2energyA;
95 std::vector< std::vector<float> >* m_L2energyBC;
96 std::vector< std::vector<float> >* m_L2energyD;
97 std::vector< std::vector<unsigned int> >* m_L2qual;
98 std::vector< std::vector<float> >* m_L2sumE;
99 // Tile Digits
100 std::vector<uint32_t>* m_fragSize;
101 std::vector<uint32_t>* m_fragBCID;
102 std::vector< std::vector<double> >* m_digits;
103 std::vector<uint32_t>* m_muFragSize;
104 std::vector<uint32_t>* m_muFragBCID;
105 std::vector< std::vector<double> >* m_muDigits;
106
107 // HISTOGRAMS
138
139
140 TTree *m_tree;
142
143};
144
145#endif // TILE_RDO_ANALYSIS_H
Property holding a SG store/key/clid from which a ReadHandle is made.
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
Support class for PropertyMgr.
Definition Property.h:23
Property holding a SG store/key/clid from which a ReadHandle is made.
std::vector< int > * m_muRcvID
std::vector< float > * m_muRcv_energy
SG::ReadHandleKey< TileDigitsContainer > m_inputDigitsMuRcvKey
std::vector< std::vector< float > > * m_L2sumE
std::vector< std::vector< unsigned int > > * m_L2qual
TileRDOAnalysis(const std::string &name, ISvcLocator *pSvcLocator)
std::vector< float > * m_rawPed_mu
SG::ReadHandleKey< TileL2Container > m_inputL2Key
std::vector< std::vector< double > > * m_digits
std::vector< unsigned long long > * m_ttl1MBTS_ID
std::vector< unsigned long long > * m_adcID
std::vector< uint32_t > * m_muFragSize
std::vector< std::vector< double > > * m_ttl1_digits
std::vector< unsigned long long > * m_ttID
std::vector< int > * m_fragID
std::vector< float > * m_rawTime
std::vector< uint32_t > * m_muFragBCID
Gaudi::Property< std::string > m_ntupleTreeName
std::vector< float > * m_rawQual_mu
ServiceHandle< ITHistSvc > m_thistSvc
SG::ReadHandleKey< TileRawChannelContainer > m_inputRawChKey
std::vector< float > * m_rawTime_mu
std::vector< uint32_t > * m_fragBCID
std::vector< float > * m_rawQual
Gaudi::Property< std::string > m_path
std::vector< std::vector< double > > * m_ttl1MBTS_digits
std::vector< unsigned long long > * m_cellID
std::vector< float > * m_rawPed
SG::ReadHandleKey< TileMuonReceiverContainer > m_inputMuRcvKey
Gaudi::Property< bool > m_doNtuple
std::vector< bool > * m_muRcv_dec
virtual StatusCode execute() override final
std::vector< float > * m_rawAmp_mu
virtual StatusCode initialize() override final
std::vector< std::vector< float > > * m_L2energyD
SG::ReadHandleKey< TileDigitsContainer > m_inputDigitsFltKey
Gaudi::Property< std::string > m_ntupleFileName
SG::ReadHandleKey< TileTTL1Container > m_inputMBTS_TTL1Key
std::vector< int > * m_L2ID
std::vector< std::vector< float > > * m_L2eta
std::vector< unsigned long long > * m_pmtID
std::vector< int > * m_fragID_mu
std::vector< std::vector< double > > * m_muDigits
std::vector< std::vector< float > > * m_L2energyBC
std::vector< std::vector< float > > * m_L2energyA
std::vector< unsigned long long > * m_adcHWID_mu
ServiceHandle< TileCablingSvc > m_cablingSvc
Name of Tile cabling service.
std::vector< float > * m_L2phi
virtual StatusCode finalize() override final
std::vector< std::vector< unsigned int > > * m_L2val
std::vector< float > * m_muRcv_time
std::vector< uint32_t > * m_fragSize
SG::ReadHandleKey< TileRawChannelContainer > m_inputMuRcvRawChKey
BooleanProperty m_presampling
Gaudi::Property< std::string > m_ntupleDirName
std::vector< float > * m_rawAmp
SG::ReadHandleKey< TileTTL1Container > m_inputTileTTL1Key
std::vector< unsigned long long > * m_ttl1_ID
std::vector< unsigned long long > * m_mtID
std::vector< float > * m_muRcv_thresh
=============================================================================
#define private