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  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"};
51  SG::ReadDecorHandleKey<xAOD::EventInfo> m_eventInfoDecorKey{this, "EventInfoDecorKey", "EventInfo.larFlags"};
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
LArSC2Ntuple::m_ROD_time
NTuple::Array< float > m_ROD_time
Definition: LArSC2Ntuple.h:63
LArSC2Ntuple::m_TTphi
NTuple::Array< double > m_TTphi
Definition: LArSC2Ntuple.h:96
LArSC2Ntuple::m_cablingKeyAdditional
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKeyAdditional
Definition: LArSC2Ntuple.h:46
LArSC2Ntuple::m_trigNames
Gaudi::Property< std::vector< std::string > > m_trigNames
Definition: LArSC2Ntuple.h:40
LArSC2Ntuple::m_LArLatomeHeaderContainerKey
SG::ReadHandleKey< LArLATOMEHeaderContainer > m_LArLatomeHeaderContainerKey
Definition: LArSC2Ntuple.h:53
LArSC2Ntuple::m_samples_ADC_BAS
NTuple::Array< short > m_samples_ADC_BAS
Definition: LArSC2Ntuple.h:77
LArSC2Ntuple::m_bcidLATOMEHEAD
NTuple::Item< uint16_t > m_bcidLATOMEHEAD
Definition: LArSC2Ntuple.h:70
LArSC2Ntuple::m_caloMgrSC
const CaloSuperCellDetDescrManager * m_caloMgrSC
Definition: LArSC2Ntuple.h:58
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:84
LArSC2Ntuple::m_bcidVec
NTuple::Array< unsigned short > m_bcidVec
Definition: LArSC2Ntuple.h:75
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:72
ICaloSuperCellIDTool.h
CaloSuperCellDetDescrManager
Definition: CaloDetDescrManager.h:490
LArSC2Ntuple::LArSC2Ntuple
LArSC2Ntuple(const std::string &name, ISvcLocator *pSvcLocator)
Definition: LArSC2Ntuple.cxx:15
LArSC2Ntuple::m_saturVec_ET
NTuple::Array< bool > m_saturVec_ET
Definition: LArSC2Ntuple.h:82
LArSC2Ntuple::m_eventInfoKey
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfoKey
Definition: LArSC2Ntuple.h:50
LArSC2Ntuple::m_saturVec_ET_ID
NTuple::Array< bool > m_saturVec_ET_ID
Definition: LArSC2Ntuple.h:86
LArSC2Ntuple::m_ETThreshMain
Gaudi::Property< float > m_ETThreshMain
Definition: LArSC2Ntuple.h:43
LArSC2Ntuple::m_TTEhad
NTuple::Array< int > m_TTEhad
Definition: LArSC2Ntuple.h:94
LArSC2Ntuple::m_TTEem
NTuple::Array< int > m_TTEem
Definition: LArSC2Ntuple.h:93
LArSC2Ntuple::m_bcidVec_ET_ID
NTuple::Array< unsigned short > m_bcidVec_ET_ID
Definition: LArSC2Ntuple.h:85
LArSC2Ntuple::m_latomeSourceId
NTuple::Item< uint32_t > m_latomeSourceId
Definition: LArSC2Ntuple.h:76
IL1CaloxAODOfflineTriggerTowerTools.h
LArSC2Ntuple::m_LArEventBits
NTuple::Item< uint32_t > m_LArEventBits
Definition: LArSC2Ntuple.h:89
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:38
LArSC2Ntuple::m_fillTType
Gaudi::Property< bool > m_fillTType
Definition: LArSC2Ntuple.h:39
LArSC2Ntuple::m_eventInfoDecorKey
SG::ReadDecorHandleKey< xAOD::EventInfo > m_eventInfoDecorKey
Definition: LArSC2Ntuple.h:51
LArSC2Ntuple::~LArSC2Ntuple
virtual ~LArSC2Ntuple()=default
LArSC2Ntuple::execute
virtual StatusCode execute() override
Definition: LArSC2Ntuple.cxx:201
LArSC2Ntuple::m_trigDec
ToolHandle< Trig::TrigDecisionTool > m_trigDec
Definition: LArSC2Ntuple.h:48
LArDigits2Ntuple.h
LArSC2Ntuple::m_latomeChannel
NTuple::Item< short > m_latomeChannel
Definition: LArSC2Ntuple.h:60
LArSC2Ntuple::m_energyVec_ET
NTuple::Array< int > m_energyVec_ET
Definition: LArSC2Ntuple.h:80
LArSC2Ntuple::m_overwriteEventNumber
Gaudi::Property< bool > m_overwriteEventNumber
Definition: LArSC2Ntuple.h:36
LArSC2Ntuple::m_TType
NTuple::Item< unsigned int > m_TType
Definition: LArSC2Ntuple.h:66
LArSC2Ntuple::m_bcidVec_ET
NTuple::Array< unsigned short > m_bcidVec_ET
Definition: LArSC2Ntuple.h:81
LArSC2Ntuple::m_contKeys
Gaudi::Property< std::vector< std::string > > m_contKeys
Definition: LArSC2Ntuple.h:35
LArSC2Ntuple::m_ROD_id
NTuple::Array< float > m_ROD_id
Definition: LArSC2Ntuple.h:64
LArSC2Ntuple
Definition: LArSC2Ntuple.h:18
LArSC2Ntuple::m_triggerTowerKey
Gaudi::Property< std::string > m_triggerTowerKey
Definition: LArSC2Ntuple.h:54
LArSC2Ntuple::m_ntNTT
NTuple::Item< uint32_t > m_ntNTT
Definition: LArSC2Ntuple.h:92
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
LArSC2Ntuple::fillRODEnergy
void fillRODEnergy(HWIdentifier SCId, rawChanMap_t &rawChanMap, const LArOnOffIdMapping *cabling, const LArOnOffIdMapping *cablingROD, bool &acceptMain)
Definition: LArSC2Ntuple.cxx:756
LArDigits2Ntuple
Definition: LArDigits2Ntuple.h:17
LArSC2Ntuple::m_ROD_energy
NTuple::Array< float > m_ROD_energy
Definition: LArSC2Ntuple.h:62
LArSC2Ntuple::m_ADCThresh
Gaudi::Property< float > m_ADCThresh
Definition: LArSC2Ntuple.h:44
EventInfo.h
LArSC2Ntuple::m_scidtool
ToolHandle< ICaloSuperCellIDTool > m_scidtool
Definition: LArSC2Ntuple.h:47
SG::ReadCondHandleKey< LArOnOffIdMapping >
LArSC2Ntuple::m_ETThresh
Gaudi::Property< float > m_ETThresh
Definition: LArSC2Ntuple.h:42
LArSC2Ntuple::initialize
virtual StatusCode initialize() override
Definition: LArSC2Ntuple.cxx:21
LArSC2Ntuple::m_Net
Gaudi::Property< unsigned int > m_Net
Definition: LArSC2Ntuple.h:37
LArSC2Ntuple::m_bcidVec_ADC_BAS
NTuple::Array< unsigned short > m_bcidVec_ADC_BAS
Definition: LArSC2Ntuple.h:78
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:90
LArSC2Ntuple::m_TTeta
NTuple::Array< double > m_TTeta
Definition: LArSC2Ntuple.h:95
LArRawChannelContainer.h
LArSC2Ntuple::m_trigNameMap
std::map< std::string, NTuple::Item< unsigned int > > m_trigNameMap
Definition: LArSC2Ntuple.h:88
LArSC2Ntuple::m_fillCaloTT
Gaudi::Property< bool > m_fillCaloTT
Definition: LArSC2Ntuple.h:41
LArSC2Ntuple::m_caloSCMgrKey
SG::ReadCondHandleKey< CaloSuperCellDetDescrManager > m_caloSCMgrKey
Definition: LArSC2Ntuple.h:56
LArOnOffIdMapping
Definition: LArOnOffIdMapping.h:20