ATLAS Offline Software
Loading...
Searching...
No Matches
CBNT_Timing.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef TBREC_CBNT_TIMING_H
6#define TBREC_CBNT_TIMING_H
7
8#include "GaudiKernel/ToolHandle.h"
9#include "CBNT_TBRecBase.h"
10#include "CaloGeoHelpers/CaloSampling.h"
15
16class LArOnlineID;
17
18#include <fstream>
19#include <string>
20
21
23{
24 public:
25 CBNT_Timing(const std::string & name, ISvcLocator * pSvcLocator);
26
27 virtual ~CBNT_Timing();
28
29 //standard algorithm methods
30 virtual StatusCode CBNT_initialize() override;
31 virtual StatusCode CBNT_execute() override;
32 virtual StatusCode CBNT_finalize() override;
33 virtual StatusCode CBNT_clear() override;
34
35 private:
36 static const int NOTIME = -999;
37 static const int NOENERGY = -999;
38
39 SG::ReadCondHandleKey<LArOnOffIdMapping> m_cablingKey{this,"CablingKey","LArOnOffIdMap","SG Key of LArOnOffIdMapping object"};
41
44
45 std::string m_tbphase;
46 std::vector<std::string> m_sampling_names;
47 std::string m_caloCellName;
48
50 // const CaloCell_ID* m_caloCellHelper;
51 std::vector<CaloSampling::CaloSample> m_samplingIndices;
52 std::map< CaloCell_ID::SUBCALO, std::vector<CaloSampling::CaloSample> > m_calosAndSamplings;
53 std::vector<HWIdentifier> m_febIDs;
54
56 StatusCode setupLookupTables();
57 std::map<int, std::string> m_slotToFebNameLookup;
58 std::map<CaloCell_ID::SUBCALO, std::string> m_caloToNameLookup;
59 std::map<std::string, CaloCell_ID::SUBCALO> m_caloFromNameLookup;
60 std::map<CaloSampling::CaloSample, std::string> m_samplingToNameLookup;
61 std::map<std::string, CaloSampling::CaloSample> m_samplingFromNameLookup;
62 std::map<CaloSampling::CaloSample, CaloCell_ID::SUBCALO> m_caloLookup;
63
64
65 // per cell:
67 std::vector<float> *m_energy_cell, *m_time_cell;
68 // per layer:
69 std::vector<float> *m_time_layer;
70 std::vector<long> *m_layer_layer;
71
72 // per feb
73 std::vector<long> *m_febId_feb;
74 std::vector<float> *m_time_feb;
75 std::vector<long> *m_slot_feb;
76 std::vector<long> *m_feedthrough_feb;
77
78 // per event:
79 float m_energy, m_time, m_tdc_phase; // time = calculated cell time (cubic), clock = phase (TBRec)
80};
81
82#endif
CBNT_TBRecBase(const std::string &name, ISvcLocator *pSvcLocator)
std::map< CaloCell_ID::SUBCALO, std::vector< CaloSampling::CaloSample > > m_calosAndSamplings
Definition CBNT_Timing.h:52
std::map< CaloSampling::CaloSample, std::string > m_samplingToNameLookup
Definition CBNT_Timing.h:60
const LArOnlineID * m_onlineHelper
Definition CBNT_Timing.h:40
double m_energy_cut
Definition CBNT_Timing.h:42
bool m_first_event
Definition CBNT_Timing.h:43
std::map< std::string, CaloSampling::CaloSample > m_samplingFromNameLookup
Definition CBNT_Timing.h:61
std::map< std::string, CaloCell_ID::SUBCALO > m_caloFromNameLookup
Definition CBNT_Timing.h:59
std::vector< long > * m_phi_cell
Definition CBNT_Timing.h:66
static const int NOENERGY
Definition CBNT_Timing.h:37
std::vector< float > * m_time_layer
Definition CBNT_Timing.h:69
std::map< int, std::string > m_slotToFebNameLookup
Definition CBNT_Timing.h:57
std::vector< long > * m_feedthrough_feb
Definition CBNT_Timing.h:76
std::vector< HWIdentifier > m_febIDs
Definition CBNT_Timing.h:53
virtual StatusCode CBNT_finalize() override
std::string m_caloCellName
Definition CBNT_Timing.h:47
virtual StatusCode CBNT_initialize() override
std::vector< CaloSampling::CaloSample > m_samplingIndices
stores
Definition CBNT_Timing.h:51
std::vector< std::string > m_sampling_names
Definition CBNT_Timing.h:46
std::vector< long > * m_febId_cell
Definition CBNT_Timing.h:66
static const int NOTIME
Definition CBNT_Timing.h:36
std::vector< long > * m_layer_layer
Definition CBNT_Timing.h:70
std::vector< long > * m_layer_cell
Definition CBNT_Timing.h:66
std::vector< long > * m_febId_feb
Definition CBNT_Timing.h:73
std::vector< long > * m_eta_cell
Definition CBNT_Timing.h:66
std::map< CaloSampling::CaloSample, CaloCell_ID::SUBCALO > m_caloLookup
Definition CBNT_Timing.h:62
std::vector< long > * m_slot_feb
Definition CBNT_Timing.h:75
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKey
Definition CBNT_Timing.h:39
std::string m_tbphase
Definition CBNT_Timing.h:45
float m_tdc_phase
Definition CBNT_Timing.h:79
virtual StatusCode CBNT_clear() override
CBNT_Timing(const std::string &name, ISvcLocator *pSvcLocator)
virtual ~CBNT_Timing()
std::vector< float > * m_time_cell
Definition CBNT_Timing.h:67
std::vector< float > * m_energy_cell
Definition CBNT_Timing.h:67
float m_energy
Definition CBNT_Timing.h:79
virtual StatusCode CBNT_execute() override
std::vector< float > * m_time_feb
Definition CBNT_Timing.h:74
StatusCode setupLookupTables()
internal helpers
std::map< CaloCell_ID::SUBCALO, std::string > m_caloToNameLookup
Definition CBNT_Timing.h:58