ATLAS Offline Software
Loading...
Searching...
No Matches
LArShapeDumper.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
9
10#ifndef LARCAFJOBS_LARSHAPEDUMPER_H
11#define LARCAFJOBS_LARSHAPEDUMPER_H
12
14#include "GaudiKernel/ToolHandle.h"
26#include "GaudiKernel/NTuple.h"
27#include "GaudiKernel/SmartDataPtr.h"
28#include <fstream>
29#include <string>
30#include <stdint.h>
31#include "TFile.h"
32#include "TTree.h"
33#include "TRandom.h"
41
47
48
49class MsgStream;
50class StoreGateSvc;
51class ILArShape;
52class HWIdentifier;
53class Identifier;
55
56namespace LArSamples {
57 class EventData;
58 class RunData;
59}
60
61namespace Trig {
62 class ChainGroup;
63}
64
66{
67 public:
68 LArShapeDumper(const std::string & name, ISvcLocator * pSvcLocator);
69
71
72 //standart algorithm methods
73 virtual StatusCode initialize() override;
74 virtual StatusCode start() override;
75 virtual StatusCode execute() override;
76 virtual StatusCode stop() override;
77 virtual StatusCode finalize() override;
78
79 int makeEvent(LArSamples::EventData*& eventData, int run, int event, int lumiBlock, int bunchXing) const;
80
81 private:
82
83 std::string m_fileName;
84
86 unsigned m_count;
87 unsigned m_maxChannels;
90 unsigned m_nLArError;
91 unsigned m_nNoDigits;
92 unsigned m_nNoDigitsSC;
93
94
95 std::string m_caloType; // EM, HEC, FCAL, SC
99 std::string m_gainSpec;
101 std::vector<std::string> m_triggerNames;
102
103 ToolHandle<ILArShapeDumperTool> m_dumperTool{this,"LArShapeDumperTool","LArShapeDumperTool"};
104 ToolHandle<ILArShapeDumperTool> m_dumperToolSC{this,"LArShapeDumperToolSC","LArShapeDumperToolSC"};
105
107 Gaudi::Property<std::vector<std::string> > m_problemsToMask{this,"ProblemsToMask",{}, "Bad-Channel categories to patch"};
109 Gaudi::Property<std::vector<std::string> > m_problemsToMaskSC{this,"ProblemsToMaskSC",{}, "Bad-Channel categories to mask"};
110 SG::ReadHandleKey<LArDigitContainer> m_digitsKey{this, "DigitsKey", "FREE", "key for LArDigitContainer"};
111 SG::ReadHandleKey<LArRawChannelContainer> m_channelsKey{this, "ChannelsKey", "LArRawChannels", "key for LArRawChannels"};
112
113 SG::ReadHandleKey<LArDigitContainer> m_digitsKeySC{this, "DigitsKeySC", "SC_ADC_BAS", "key for LArDigitContainer for SC"};
114 SG::ReadHandleKey<LArRawSCContainer> m_rawscKey{this, "RawSCKey", "SC_ET_ID", "key for LArRawSCContainer"};
115 SG::ReadHandleKey<LArRawSCContainer> m_rawRecomputedscKey{this, "RecomputedSCKey", "SC_ET_RECO", "key for recomputed LArRawSCContainer"};
116
117
118 SG::ReadCondHandleKey<LArADC2MeV> m_adc2mevKey{this,"ADC2MeVKey","LArADC2MeV","SG Key of ADC2MeV conditions object"};
119
120 PublicToolHandle< Trig::TrigDecisionTool > m_trigDec{this, "TrigDecisionTool", "", "Handle to the TrigDecisionTool"};
121
122 SG::ReadCondHandleKey<LArOnOffIdMapping> m_cablingKey{this,"CablingKey","LArOnOffIdMap","SG Key of LArOnOffIdMapping object"};
123 SG::ReadCondHandleKey<LArOnOffIdMapping> m_cablingKeySC{this,"CablingKeySC","LArOnOffIdMapSC","SG Key of LArOnOffIdMapping object for SC"};
124
125 SG::ReadCondHandleKey<LArBadChannelCont> m_BCKey{this, "BadChanKey", "LArBadChannel", "SG bad channels key"};
126 SG::ReadCondHandleKey<LArBadChannelCont> m_BCKeySC{this, "BadChanKeySC", "LArBadChannelSC", "SG bad channels key"};
127
128 SG::ReadCondHandleKey<CaloNoise> m_noiseCDOKey{this,"CaloNoiseKey","totalNoise","SG Key of CaloNoise data object"};
129
130 SG::ReadCondHandleKey<BunchCrossingCondData> m_bcDataKey {this, "BunchCrossingCondDataKey", "BunchCrossingData" ,"SG Key of BunchCrossing CDO"};
131
132
133 SG::ReadCondHandleKey<ILArPedestal> m_pedestalKey{this,"PedestalKey","LArPedestal","SG Key of LArPedestal object"};
134 SG::ReadCondHandleKey<ILArPedestal> m_pedestalKeySC{this,"PedestalKeySC","LArPedestalSC","SG Key of LArPedestal object"};
135
136 SG::ReadCondHandleKey<ILArAutoCorr> m_acorrKey{this,"AutocorrKey","LArAutoCorr","SG Key of LArAutoCorr object"};
138 , "CaloDetDescrManager"
139 , "CaloDetDescrManager"
140 , "SG Key for CaloDetDescrManager in the Condition Store" };
142 "CaloSuperCellDetDescrManager", "CaloSuperCellDetDescrManager",
143 "SG key of the resulting CaloSuperCellDetDescrManager" };
146
151
153
155 std::unique_ptr<LArSamples::RunData> m_runData;
156 std::vector<const Trig::ChainGroup*> m_triggerGroups;
157 TRandom m_random;
158};
159
160#endif
Replaces the BunchCrossing AlgTool used in run1/2.
Definition of CaloDetDescrManager.
Property holding a SG store/key/clid from which a ReadHandle is made.
#define ATLAS_NOT_THREAD_SAFE
getNoisyStrip() Find noisy strips from hitmaps and write out into xml/db formats
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
This class groups all DetDescr information related to a CaloCell.
storage of the time histories of all the cells
virtual StatusCode stop() override
std::string m_gainSpec
SG::ReadCondHandleKey< LArADC2MeV > m_adc2mevKey
unsigned m_maxChannels
Gaudi::Property< std::vector< std::string > > m_problemsToMask
SG::ReadCondHandleKey< LArBadChannelCont > m_BCKeySC
virtual StatusCode start() override
SG::ReadCondHandleKey< ILArPedestal > m_pedestalKeySC
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloMgrKey
std::vector< std::string > m_triggerNames
unsigned m_nPrescaledAway
SG::ReadHandleKey< LArRawSCContainer > m_rawscKey
Gaudi::Property< std::vector< std::string > > m_problemsToMaskSC
ToolHandle< ILArShapeDumperTool > m_dumperToolSC
unsigned m_nLArError
std::string m_caloType
virtual StatusCode finalize() override
SG::ReadHandleKey< LArRawSCContainer > m_rawRecomputedscKey
SG::ReadCondHandleKey< LArBadChannelCont > m_BCKey
int makeEvent(LArSamples::EventData *&eventData, int run, int event, int lumiBlock, int bunchXing) const
double m_noiseSignifCut
LArSamples::DataStore * m_samples
virtual StatusCode execute() override
ToolHandle< ILArShapeDumperTool > m_dumperTool
SG::ReadCondHandleKey< CaloSuperCellDetDescrManager > m_caloSuperCellMgrKey
const LArOnlineID * m_onlineHelper
PublicToolHandle< Trig::TrigDecisionTool > m_trigDec
unsigned m_nNoDigits
std::vector< const Trig::ChainGroup * > m_triggerGroups
LArBadChannelMask m_bcMask
LArBadChannelMask m_bcMaskSC
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKey
SG::ReadCondHandleKey< ILArAutoCorr > m_acorrKey
const LArOnline_SuperCellID * m_onlineHelperSC
SG::ReadCondHandleKey< CaloNoise > m_noiseCDOKey
bool m_gains[CaloGain::LARNGAIN]
std::unique_ptr< LArSamples::RunData > m_runData
SG::ReadHandleKey< LArRawChannelContainer > m_channelsKey
SG::ReadCondHandleKey< BunchCrossingCondData > m_bcDataKey
SG::ReadHandleKey< LArDigitContainer > m_digitsKeySC
unsigned m_nWrongBunchGroup
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKeySC
SG::ReadCondHandleKey< ILArPedestal > m_pedestalKey
std::string m_fileName
unsigned m_nNoDigitsSC
LArShapeDumper(const std::string &name, ISvcLocator *pSvcLocator)
SG::ReadHandleKey< LArDigitContainer > m_digitsKey
Property holding a SG store/key/clid from which a ReadHandle is made.
The Athena Transient Store API.
@ LARNGAIN
Definition CaloGain.h:19
The common trigger namespace for trigger analysis tools.
void initialize()
int run(int argc, char *argv[])