ATLAS Offline Software
LArSC2Ntuple.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef LARSC2NTUPLE_H
6 #define LARSC2NTUPLE_H
7 
16 
18 {
19  public:
20  LArSC2Ntuple(const std::string & name, ISvcLocator * pSvcLocator);
21  virtual ~LArSC2Ntuple() = default;
22 
23  // Standard algorithm methods
24  virtual StatusCode initialize() override;
25  virtual StatusCode execute() override;
26  protected:
27 
28  typedef std::map<HWIdentifier, const LArRawChannel*> rawChanMap_t;
29  void fillRODEnergy(HWIdentifier SCId, rawChanMap_t &rawChanMap,
30  const LArOnOffIdMapping* cabling, const LArOnOffIdMapping* cablingROD);
31 
32  private:
33 
34  Gaudi::Property< std::vector<std::string> > m_contKeys{ this, "SCContainerKeys", {},"which containers to dump"};
35  Gaudi::Property< bool > m_overwriteEventNumber{this, "OverwriteEventNumber", false, "overwrite the event number from EventInfo ?"};
36  Gaudi::Property< unsigned int > m_Net{this, "Net", 5, "number of energies to store"};
37  Gaudi::Property< bool > m_fillRawChan{this, "FillRODEnergy", false, "Trying to fill corresponding cells energies"};
38  Gaudi::Property< bool > m_fillTType{this, "FillTriggerType", false, "Trying to fill trigger type word"};
39  Gaudi::Property< std::vector<std::string> > m_trigNames{ this, "TrigNames", {"L1_EM3","L1_EM7","L1_EM15"},"which triggers to dump"};
40  Gaudi::Property< bool > m_fillCaloTT{this, "FillTriggerTowers", false, "Trying to fill also TriggerTowers from ByteStream"};
41 
42  SG::ReadCondHandleKey<LArOnOffIdMapping> m_cablingKeyAdditional{this,"CablingKeyAdditional","LArOnOffIdMap","SG Key of LArOnOffIdMapping object for standard cells"};
43  ToolHandle<ICaloSuperCellIDTool> m_scidtool{this, "CaloSuperCellIDTool", "CaloSuperCellIDTool", "Offline / SuperCell ID mapping tool"};
44  ToolHandle< Trig::TrigDecisionTool > m_trigDec{this, "TrigDecisionTool", "", "Handle to the TrigDecisionTool"};
45  //To get the data-dependency right ...
46  SG::ReadHandleKey<xAOD::EventInfo> m_eventInfoKey{this, "LArStatusFlag", "EventInfo", "Key for EventInfo object"};
47  SG::ReadDecorHandleKey<xAOD::EventInfo> m_eventInfoDecorKey{this, "EventInfoDecorKey", "EventInfo.larFlags"};
48 
49  SG::ReadHandleKey<LArLATOMEHeaderContainer> m_LArLatomeHeaderContainerKey { this, "LArLatomeHeaderKey", "SC_LATOME_HEADER" };
50  Gaudi::Property< std::string > m_triggerTowerKey{this, "TriggerTowerKey", "TriggerTowers", "Trigger Tower container"};
51 
52  NTuple::Item<short> m_latomeChannel;
53 
54  NTuple::Array<float> m_ROD_energy;
55  NTuple::Array<float> m_ROD_time;
56  NTuple::Array<float> m_ROD_id;
57 
58  NTuple::Item<unsigned int> m_TType;
59 
60 
61  // From LATOME header
62  NTuple::Item<uint16_t> m_bcidLATOMEHEAD;
63 
64  NTuple::Item<uint32_t> m_ntNet;
65 
66  // DigitContainer
67  NTuple::Array<unsigned short> m_bcidVec;
68  NTuple::Item<uint32_t> m_latomeSourceId;
69  NTuple::Array<short> m_samples_ADC_BAS;
70  NTuple::Array<unsigned short> m_bcidVec_ADC_BAS;
71 
72  NTuple::Array<int> m_energyVec_ET;
73  NTuple::Array<unsigned short> m_bcidVec_ET;
74  NTuple::Array<bool> m_saturVec_ET;
75 
76  NTuple::Array<int> m_energyVec_ET_ID;
77  NTuple::Array<unsigned short> m_bcidVec_ET_ID;
78  NTuple::Array<bool> m_saturVec_ET_ID;
79 
80  std::map<std::string, NTuple::Item<unsigned int> > m_trigNameMap;
81  NTuple::Item<uint32_t> m_LArEventBits;
82  NTuple::Item<short> m_LArInError;
83 
84  NTuple::Item<uint32_t> m_ntNTT;
85  NTuple::Array<int> m_TTEem;
86  NTuple::Array<int> m_TTEhad;
87  NTuple::Array<double> m_TTeta;
88  NTuple::Array<double> m_TTphi;
89 };
90 
91 #endif
LArSC2Ntuple::m_ROD_time
NTuple::Array< float > m_ROD_time
Definition: LArSC2Ntuple.h:55
LArSC2Ntuple::m_TTphi
NTuple::Array< double > m_TTphi
Definition: LArSC2Ntuple.h:88
LArSC2Ntuple::m_cablingKeyAdditional
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKeyAdditional
Definition: LArSC2Ntuple.h:42
LArSC2Ntuple::m_trigNames
Gaudi::Property< std::vector< std::string > > m_trigNames
Definition: LArSC2Ntuple.h:39
LArSC2Ntuple::m_LArLatomeHeaderContainerKey
SG::ReadHandleKey< LArLATOMEHeaderContainer > m_LArLatomeHeaderContainerKey
Definition: LArSC2Ntuple.h:49
LArSC2Ntuple::m_samples_ADC_BAS
NTuple::Array< short > m_samples_ADC_BAS
Definition: LArSC2Ntuple.h:69
LArSC2Ntuple::m_bcidLATOMEHEAD
NTuple::Item< uint16_t > m_bcidLATOMEHEAD
Definition: LArSC2Ntuple.h:62
ReadCellNoiseFromCool.cabling
cabling
Definition: ReadCellNoiseFromCool.py:154
LArLATOMEHeaderContainer.h
TrigDecisionTool.h
LArSC2Ntuple::m_energyVec_ET_ID
NTuple::Array< int > m_energyVec_ET_ID
Definition: LArSC2Ntuple.h:76
LArSC2Ntuple::m_bcidVec
NTuple::Array< unsigned short > m_bcidVec
Definition: LArSC2Ntuple.h:67
SG::ReadHandleKey< xAOD::EventInfo >
LArSC2Ntuple::rawChanMap_t
std::map< HWIdentifier, const LArRawChannel * > rawChanMap_t
Definition: LArSC2Ntuple.h:28
HWIdentifier
Definition: HWIdentifier.h:13
LArSC2Ntuple::m_ntNet
NTuple::Item< uint32_t > m_ntNet
Definition: LArSC2Ntuple.h:64
ICaloSuperCellIDTool.h
LArSC2Ntuple::LArSC2Ntuple
LArSC2Ntuple(const std::string &name, ISvcLocator *pSvcLocator)
Definition: LArSC2Ntuple.cxx:13
LArSC2Ntuple::m_saturVec_ET
NTuple::Array< bool > m_saturVec_ET
Definition: LArSC2Ntuple.h:74
LArSC2Ntuple::m_eventInfoKey
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfoKey
Definition: LArSC2Ntuple.h:46
LArSC2Ntuple::m_saturVec_ET_ID
NTuple::Array< bool > m_saturVec_ET_ID
Definition: LArSC2Ntuple.h:78
LArSC2Ntuple::m_TTEhad
NTuple::Array< int > m_TTEhad
Definition: LArSC2Ntuple.h:86
LArSC2Ntuple::m_TTEem
NTuple::Array< int > m_TTEem
Definition: LArSC2Ntuple.h:85
LArSC2Ntuple::m_bcidVec_ET_ID
NTuple::Array< unsigned short > m_bcidVec_ET_ID
Definition: LArSC2Ntuple.h:77
LArSC2Ntuple::m_latomeSourceId
NTuple::Item< uint32_t > m_latomeSourceId
Definition: LArSC2Ntuple.h:68
IL1CaloxAODOfflineTriggerTowerTools.h
LArSC2Ntuple::m_LArEventBits
NTuple::Item< uint32_t > m_LArEventBits
Definition: LArSC2Ntuple.h:81
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
LArSC2Ntuple::m_fillRawChan
Gaudi::Property< bool > m_fillRawChan
Definition: LArSC2Ntuple.h:37
LArSC2Ntuple::m_fillTType
Gaudi::Property< bool > m_fillTType
Definition: LArSC2Ntuple.h:38
LArSC2Ntuple::m_eventInfoDecorKey
SG::ReadDecorHandleKey< xAOD::EventInfo > m_eventInfoDecorKey
Definition: LArSC2Ntuple.h:47
LArSC2Ntuple::~LArSC2Ntuple
virtual ~LArSC2Ntuple()=default
LArSC2Ntuple::execute
virtual StatusCode execute() override
Definition: LArSC2Ntuple.cxx:197
LArSC2Ntuple::m_trigDec
ToolHandle< Trig::TrigDecisionTool > m_trigDec
Definition: LArSC2Ntuple.h:44
LArDigits2Ntuple.h
LArSC2Ntuple::m_latomeChannel
NTuple::Item< short > m_latomeChannel
Definition: LArSC2Ntuple.h:52
LArSC2Ntuple::m_energyVec_ET
NTuple::Array< int > m_energyVec_ET
Definition: LArSC2Ntuple.h:72
LArSC2Ntuple::m_overwriteEventNumber
Gaudi::Property< bool > m_overwriteEventNumber
Definition: LArSC2Ntuple.h:35
LArSC2Ntuple::m_TType
NTuple::Item< unsigned int > m_TType
Definition: LArSC2Ntuple.h:58
LArSC2Ntuple::m_bcidVec_ET
NTuple::Array< unsigned short > m_bcidVec_ET
Definition: LArSC2Ntuple.h:73
LArSC2Ntuple::fillRODEnergy
void fillRODEnergy(HWIdentifier SCId, rawChanMap_t &rawChanMap, const LArOnOffIdMapping *cabling, const LArOnOffIdMapping *cablingROD)
Definition: LArSC2Ntuple.cxx:626
LArSC2Ntuple::m_contKeys
Gaudi::Property< std::vector< std::string > > m_contKeys
Definition: LArSC2Ntuple.h:34
LArSC2Ntuple::m_ROD_id
NTuple::Array< float > m_ROD_id
Definition: LArSC2Ntuple.h:56
LArSC2Ntuple
Definition: LArSC2Ntuple.h:18
LArSC2Ntuple::m_triggerTowerKey
Gaudi::Property< std::string > m_triggerTowerKey
Definition: LArSC2Ntuple.h:50
LArSC2Ntuple::m_ntNTT
NTuple::Item< uint32_t > m_ntNTT
Definition: LArSC2Ntuple.h:84
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
LArDigits2Ntuple
Definition: LArDigits2Ntuple.h:15
LArSC2Ntuple::m_ROD_energy
NTuple::Array< float > m_ROD_energy
Definition: LArSC2Ntuple.h:54
EventInfo.h
LArSC2Ntuple::m_scidtool
ToolHandle< ICaloSuperCellIDTool > m_scidtool
Definition: LArSC2Ntuple.h:43
SG::ReadCondHandleKey< LArOnOffIdMapping >
LArSC2Ntuple::initialize
virtual StatusCode initialize() override
Definition: LArSC2Ntuple.cxx:19
LArSC2Ntuple::m_Net
Gaudi::Property< unsigned int > m_Net
Definition: LArSC2Ntuple.h:36
LArSC2Ntuple::m_bcidVec_ADC_BAS
NTuple::Array< unsigned short > m_bcidVec_ADC_BAS
Definition: LArSC2Ntuple.h:70
SG::ReadDecorHandleKey
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
Definition: StoreGate/StoreGate/ReadDecorHandleKey.h:85
TriggerTower.h
LArSC2Ntuple::m_LArInError
NTuple::Item< short > m_LArInError
Definition: LArSC2Ntuple.h:82
LArSC2Ntuple::m_TTeta
NTuple::Array< double > m_TTeta
Definition: LArSC2Ntuple.h:87
LArRawChannelContainer.h
LArSC2Ntuple::m_trigNameMap
std::map< std::string, NTuple::Item< unsigned int > > m_trigNameMap
Definition: LArSC2Ntuple.h:80
LArSC2Ntuple::m_fillCaloTT
Gaudi::Property< bool > m_fillCaloTT
Definition: LArSC2Ntuple.h:40
LArOnOffIdMapping
Definition: LArOnOffIdMapping.h:20