ATLAS Offline Software
Loading...
Searching...
No Matches
LArShapeDumper.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 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"
27#include "GaudiKernel/NTuple.h"
28#include "GaudiKernel/SmartDataPtr.h"
29#include <fstream>
30#include <string>
31#include <stdint.h>
32#include "TFile.h"
33#include "TTree.h"
34#include "TRandom.h"
42
48
49
50class MsgStream;
51class StoreGateSvc;
52class ILArShape;
53class HWIdentifier;
54class Identifier;
56
57namespace LArSamples {
58 class EventData;
59 class RunData;
60}
61
62namespace Trig {
63 class ChainGroup;
64}
65
67{
68 public:
69 LArShapeDumper(const std::string & name, ISvcLocator * pSvcLocator);
70
72
73 //standart algorithm methods
74 virtual StatusCode initialize() override;
75 virtual StatusCode start() override;
76 virtual StatusCode execute() override;
77 virtual StatusCode stop() override;
78 virtual StatusCode finalize() override;
79
80 int makeEvent(LArSamples::EventData*& eventData, int run, int event, int lumiBlock, int bunchXing) const;
81
82 private:
83
84 std::string m_fileName;
85
87 unsigned m_count;
88 unsigned m_maxChannels;
91 unsigned m_nLArError;
92 unsigned m_nNoDigits;
93 unsigned m_nNoDigitsSC;
94
95
96 std::string m_caloType; // EM, HEC, FCAL, SC
100 std::string m_gainSpec;
102 std::vector<std::string> m_triggerNames;
103
104 ToolHandle<ILArShapeDumperTool> m_dumperTool{this,"LArShapeDumperTool","LArShapeDumperTool"};
105 ToolHandle<ILArShapeDumperTool> m_dumperToolSC{this,"LArShapeDumperToolSC","LArShapeDumperToolSC"};
106
108 Gaudi::Property<std::vector<std::string> > m_problemsToMask{this,"ProblemsToMask",{}, "Bad-Channel categories to patch"};
110 Gaudi::Property<std::vector<std::string> > m_problemsToMaskSC{this,"ProblemsToMaskSC",{}, "Bad-Channel categories to mask"};
111 SG::ReadHandleKey<LArDigitContainer> m_digitsKey{this, "DigitsKey", "FREE", "key for LArDigitContainer"};
112 SG::ReadHandleKey<LArRawChannelContainer> m_channelsKey{this, "ChannelsKey", "LArRawChannels", "key for LArRawChannels"};
113
114 SG::ReadHandleKey<LArDigitContainer> m_digitsKeySC{this, "DigitsKeySC", "SC_ADC_BAS", "key for LArDigitContainer for SC"};
115 SG::ReadHandleKey<LArRawSCContainer> m_rawscKey{this, "RawSCKey", "SC_ET_ID", "key for LArRawSCContainer"};
116 SG::ReadHandleKey<LArRawSCContainer> m_rawRecomputedscKey{this, "RecomputedSCKey", "SC_ET_RECO", "key for recomputed LArRawSCContainer"};
117
118
119 SG::ReadCondHandleKey<LArADC2MeV> m_adc2mevKey{this,"ADC2MeVKey","LArADC2MeV","SG Key of ADC2MeV conditions object"};
120
121 PublicToolHandle< Trig::TrigDecisionTool > m_trigDec{this, "TrigDecisionTool", "", "Handle to the TrigDecisionTool"};
122
123 SG::ReadCondHandleKey<LArOnOffIdMapping> m_cablingKey{this,"CablingKey","LArOnOffIdMap","SG Key of LArOnOffIdMapping object"};
124 SG::ReadCondHandleKey<LArOnOffIdMapping> m_cablingKeySC{this,"CablingKeySC","LArOnOffIdMapSC","SG Key of LArOnOffIdMapping object for SC"};
125
126 SG::ReadCondHandleKey<LArBadChannelCont> m_BCKey{this, "BadChanKey", "LArBadChannel", "SG bad channels key"};
127 SG::ReadCondHandleKey<LArBadChannelCont> m_BCKeySC{this, "BadChanKeySC", "LArBadChannelSC", "SG bad channels key"};
128
129 SG::ReadCondHandleKey<CaloNoise> m_noiseCDOKey{this,"CaloNoiseKey","totalNoise","SG Key of CaloNoise data object"};
130
131 SG::ReadCondHandleKey<BunchCrossingCondData> m_bcDataKey {this, "BunchCrossingCondDataKey", "BunchCrossingData" ,"SG Key of BunchCrossing CDO"};
132
133
134 SG::ReadCondHandleKey<ILArPedestal> m_pedestalKey{this,"PedestalKey","LArPedestal","SG Key of LArPedestal object"};
135 SG::ReadCondHandleKey<ILArPedestal> m_pedestalKeySC{this,"PedestalKeySC","LArPedestalSC","SG Key of LArPedestal object"};
136
137 SG::ReadCondHandleKey<ILArAutoCorr> m_acorrKey{this,"AutocorrKey","LArAutoCorr","SG Key of LArAutoCorr object"};
139 , "CaloDetDescrManager"
140 , "CaloDetDescrManager"
141 , "SG Key for CaloDetDescrManager in the Condition Store" };
143 "CaloSuperCellDetDescrManager", "CaloSuperCellDetDescrManager",
144 "SG key of the resulting CaloSuperCellDetDescrManager" };
147 //const DataHandle<ILArAutoCorr> m_autoCorr;
148 //const DataHandle<LArPhysWaveContainer> m_physWave;
149
154
156
158 std::unique_ptr<LArSamples::RunData> m_runData;
159 std::vector<const Trig::ChainGroup*> m_triggerGroups;
160 TRandom m_random;
161};
162
163#endif
Replaces the BunchCrossing AlgTool used in run1/2.
Definition of CaloDetDescrManager.
defines an "iterator" over instances of a given type in StoreGateSvc
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.
Definition run.py:1
void initialize()