ATLAS Offline Software
Loading...
Searching...
No Matches
LArSC2Ntuple.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#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 bool &acceptMain);
32
33 private:
34
35 Gaudi::Property< std::vector<std::string> > m_contKeys{ this, "SCContainerKeys", {},"which containers to dump"};
36 Gaudi::Property< bool > m_overwriteEventNumber{this, "OverwriteEventNumber", false, "overwrite the event number from EventInfo ?"};
37 Gaudi::Property< unsigned int > m_Net{this, "Net", 5, "number of energies to store"};
38 Gaudi::Property< bool > m_fillRawChan{this, "FillRODEnergy", false, "Trying to fill corresponding cells energies"};
39 Gaudi::Property< bool > m_fillTType{this, "FillTriggerType", false, "Trying to fill trigger type word"};
40 Gaudi::Property< std::vector<std::string> > m_trigNames{ this, "TrigNames", {"L1_EM3","L1_EM7","L1_EM15"},"which triggers to dump"};
41 Gaudi::Property< bool > m_fillCaloTT{this, "FillTriggerTowers", false, "Trying to fill also TriggerTowers from ByteStream"};
42 Gaudi::Property< float > m_ETThresh{this, "ETThreshold", -1., "Threshold for ET to fill info"};
43 Gaudi::Property< float > m_ETThreshMain{this, "ETThresholdMain", -1., "Threshold for ET from Main to fill info"};
44 Gaudi::Property< float > m_ADCThresh{this, "ADCThreshold", -1., "Threshold for ADCmax-ADC(0) to fill info"};
45
46 SG::ReadCondHandleKey<LArOnOffIdMapping> m_cablingKeyAdditional{this,"CablingKeyAdditional","LArOnOffIdMap","SG Key of LArOnOffIdMapping object for standard cells"};
47 ToolHandle<ICaloSuperCellIDTool> m_scidtool{this, "CaloSuperCellIDTool", "CaloSuperCellIDTool", "Offline / SuperCell ID mapping tool"};
48 ToolHandle< Trig::TrigDecisionTool > m_trigDec{this, "TrigDecisionTool", "", "Handle to the TrigDecisionTool"};
49 //To get the data-dependency right ...
50 SG::ReadHandleKey<xAOD::EventInfo> m_eventInfoKey{this, "LArStatusFlag", "EventInfo", "Key for EventInfo object"};
52
53 SG::ReadHandleKey<LArLATOMEHeaderContainer> m_LArLatomeHeaderContainerKey { this, "LArLatomeHeaderKey", "SC_LATOME_HEADER" };
54 Gaudi::Property< std::string > m_triggerTowerKey{this, "TriggerTowerKey", "TriggerTowers", "Trigger Tower container"};
55
56 SG::ReadCondHandleKey<CaloSuperCellDetDescrManager> m_caloSCMgrKey{this, "CaloSCDetDescrManager", "CaloSuperCellDetDescrManager",
57 "SG key of the resulting CaloSuperCellDetDescrManager" };
59
60 NTuple::Item<short> m_latomeChannel;
61
62 NTuple::Array<float> m_ROD_energy;
63 NTuple::Array<float> m_ROD_time;
64 NTuple::Array<float> m_ROD_id;
65
66 NTuple::Item<unsigned int> m_TType;
67
68
69 // From LATOME header
70 NTuple::Item<uint16_t> m_bcidLATOMEHEAD;
71
72 NTuple::Item<uint32_t> m_ntNet;
73
74 // DigitContainer
75 NTuple::Array<unsigned short> m_bcidVec;
76 NTuple::Item<uint32_t> m_latomeSourceId;
77 NTuple::Array<short> m_samples_ADC_BAS;
78 NTuple::Array<unsigned short> m_bcidVec_ADC_BAS;
79
80 NTuple::Array<int> m_energyVec_ET;
81 NTuple::Array<unsigned short> m_bcidVec_ET;
82 NTuple::Array<bool> m_saturVec_ET;
83
84 NTuple::Array<int> m_energyVec_ET_ID;
85 NTuple::Array<unsigned short> m_bcidVec_ET_ID;
86 NTuple::Array<bool> m_saturVec_ET_ID;
87
88 std::map<std::string, NTuple::Item<unsigned int> > m_trigNameMap;
89 NTuple::Item<uint32_t> m_LArEventBits;
90 NTuple::Item<short> m_LArInError;
91
92 NTuple::Item<uint32_t> m_ntNTT;
93 NTuple::Array<int> m_TTEem;
94 NTuple::Array<int> m_TTEhad;
95 NTuple::Array<double> m_TTeta;
96 NTuple::Array<double> m_TTphi;
97};
98
99#endif
LArDigits2Ntuple(const std::string &name, ISvcLocator *pSvcLocator)
NTuple::Array< bool > m_saturVec_ET_ID
Gaudi::Property< float > m_ETThresh
NTuple::Array< int > m_energyVec_ET_ID
std::map< std::string, NTuple::Item< unsigned int > > m_trigNameMap
NTuple::Array< bool > m_saturVec_ET
std::map< HWIdentifier, const LArRawChannel * > rawChanMap_t
NTuple::Array< unsigned short > m_bcidVec_ET
Gaudi::Property< std::string > m_triggerTowerKey
Gaudi::Property< bool > m_fillRawChan
Gaudi::Property< bool > m_fillTType
NTuple::Array< short > m_samples_ADC_BAS
SG::ReadDecorHandleKey< xAOD::EventInfo > m_eventInfoDecorKey
NTuple::Array< unsigned short > m_bcidVec
virtual StatusCode execute() override
Gaudi::Property< std::vector< std::string > > m_contKeys
void fillRODEnergy(HWIdentifier SCId, rawChanMap_t &rawChanMap, const LArOnOffIdMapping *cabling, const LArOnOffIdMapping *cablingROD, bool &acceptMain)
NTuple::Item< uint32_t > m_latomeSourceId
NTuple::Array< unsigned short > m_bcidVec_ADC_BAS
Gaudi::Property< float > m_ETThreshMain
NTuple::Item< short > m_LArInError
NTuple::Array< int > m_TTEem
SG::ReadCondHandleKey< CaloSuperCellDetDescrManager > m_caloSCMgrKey
NTuple::Item< uint32_t > m_ntNTT
Gaudi::Property< float > m_ADCThresh
Gaudi::Property< bool > m_fillCaloTT
Gaudi::Property< std::vector< std::string > > m_trigNames
NTuple::Item< unsigned int > m_TType
ToolHandle< ICaloSuperCellIDTool > m_scidtool
NTuple::Array< double > m_TTeta
NTuple::Array< float > m_ROD_id
SG::ReadHandleKey< LArLATOMEHeaderContainer > m_LArLatomeHeaderContainerKey
NTuple::Array< unsigned short > m_bcidVec_ET_ID
Gaudi::Property< bool > m_overwriteEventNumber
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfoKey
Gaudi::Property< unsigned int > m_Net
NTuple::Item< uint32_t > m_LArEventBits
NTuple::Array< double > m_TTphi
const CaloSuperCellDetDescrManager * m_caloMgrSC
NTuple::Array< int > m_TTEhad
NTuple::Array< float > m_ROD_energy
NTuple::Item< short > m_latomeChannel
NTuple::Array< int > m_energyVec_ET
NTuple::Item< uint32_t > m_ntNet
virtual ~LArSC2Ntuple()=default
NTuple::Array< float > m_ROD_time
LArSC2Ntuple(const std::string &name, ISvcLocator *pSvcLocator)
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKeyAdditional
ToolHandle< Trig::TrigDecisionTool > m_trigDec
virtual StatusCode initialize() override
NTuple::Item< uint16_t > m_bcidLATOMEHEAD
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
Property holding a SG store/key/clid from which a ReadHandle is made.