ATLAS Offline Software
LArRawChannelBuilderToolOFCIter.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 //Dear emacs, this is -*-c++-*-
6 
14 #ifndef LARROD_LARRAWCHANNELBUILDERTOOLOFCITER_H
15 #define LARROD_LARRAWCHANNELBUILDERTOOLOFCITER_H
16 
17 #include "GaudiKernel/ToolHandle.h"
20 #include "LArElecCalib/ILArNoise.h"
23 #include <vector>
24 
26 
27 class LArDigit;
28 
30 {
31  public:
32 
33  LArRawChannelBuilderToolOFCIter(const std::string& type,
34  const std::string& name,
35  const IInterface* parent);
36 
37  bool buildRawChannel(const LArDigit* digit,
38  float pedestal,
39  const std::vector<float>& ramps,
40  MsgStream* pLog);
41 
43 
44  void initEvent();
45 
46  private:
47  const std::vector<float>& OFC_a();
48  const std::vector<float>& OFC_b();
49 
50  //Algo-properties //HERE used ??
51  float m_Ecut;
53  unsigned short m_AdcMax;
54  bool m_doQual;
55  bool m_doIter;
57  unsigned int m_minADCforIter;
59  unsigned int m_minSample;
60  unsigned int m_maxSample;
61  unsigned int m_nIterProp;
62  std::vector<float> m_OFCtmp;
63  std::vector<float> m_signal; //Pedestal-subtracted
64  bool m_doMC;
65 
68  std::string m_timingContKey;
69  ServiceHandle<StoreGateSvc> m_storeGate; //Transient event store for timinig resutls
70  // Peak reco
71  ToolHandle<LArOFPeakRecoTool> m_peakReco;
72 
73  //For threshold given in pedestal rms:
75  { this, "PedestalRMSKey", "", "SG key for pedestal object. Needed only if 'minADCforIterInSigma' is set (for the RMS)" };
77  { this, "LArNoiseKey", "LArNoise", "SG Key of ILArNoise object" };
78 
79 };
80 
81 #endif
LArRawChannelBuilderToolOFCIter::m_maxSample
unsigned int m_maxSample
Definition: LArRawChannelBuilderToolOFCIter.h:60
ILArNoise.h
LArRawChannelBuilderToolOFCIter::m_timingContKey
std::string m_timingContKey
Definition: LArRawChannelBuilderToolOFCIter.h:68
LArRawChannelBuilderToolOFCIter::m_pedestalRMSKey
SG::ReadCondHandleKey< ILArPedestal > m_pedestalRMSKey
Definition: LArRawChannelBuilderToolOFCIter.h:75
LArRawChannelBuilderToolOFCIter::m_minADCforIterInSigma
float m_minADCforIterInSigma
Definition: LArRawChannelBuilderToolOFCIter.h:58
LArOFPeakRecoTool.h
LArRawChannelBuilderToolOFCIter
Obtain ADC_max by an iterating optimal filtering.
Definition: LArRawChannelBuilderToolOFCIter.h:30
LArRawChannelBuilderToolOFCIter::LArRawChannelBuilderToolOFCIter
LArRawChannelBuilderToolOFCIter(const std::string &type, const std::string &name, const IInterface *parent)
Definition: LArRawChannelBuilderToolOFCIter.cxx:24
LArRawChannelBuilderToolBase.h
LArRawChannelBuilderToolOFCIter::m_minSample
unsigned int m_minSample
Definition: LArRawChannelBuilderToolOFCIter.h:59
LArRawChannelBuilderToolOFCIter::initTool
StatusCode initTool()
Definition: LArRawChannelBuilderToolOFCIter.cxx:58
LArRawChannelBuilderToolOFCIter::m_storeTiming
bool m_storeTiming
Definition: LArRawChannelBuilderToolOFCIter.h:66
LArRawChannelBuilderToolOFCIter::m_peakReco
ToolHandle< LArOFPeakRecoTool > m_peakReco
Definition: LArRawChannelBuilderToolOFCIter.h:71
LArRawChannelBuilderToolOFCIter::m_doIter
bool m_doIter
Definition: LArRawChannelBuilderToolOFCIter.h:55
checkRpcDigits.digit
digit
Definition: checkRpcDigits.py:186
LArRawChannelBuilderToolOFCIter::m_minADCforIter
unsigned int m_minADCforIter
Definition: LArRawChannelBuilderToolOFCIter.h:57
LArOFIterResultsContainer.h
LArRawChannelBuilderToolOFCIter::m_storeGate
ServiceHandle< StoreGateSvc > m_storeGate
Definition: LArRawChannelBuilderToolOFCIter.h:69
LArRawChannelBuilderToolOFCIter::m_signal
std::vector< float > m_signal
Definition: LArRawChannelBuilderToolOFCIter.h:63
LArDigit
Liquid Argon digit base class.
Definition: LArDigit.h:25
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
LArOFIterResultsContainer
Definition: LArOFIterResultsContainer.h:14
test_pyathena.parent
parent
Definition: test_pyathena.py:15
LArRawChannelBuilderToolBase
Base tool to make the interface with the driver.
Definition: LArRawChannelBuilderToolBase.h:33
LArRawChannelBuilderToolOFCIter::m_defaultPhase
float m_defaultPhase
Definition: LArRawChannelBuilderToolOFCIter.h:56
ReadCondHandleKey.h
LArRawChannelBuilderToolOFCIter::m_larOFIterCont
LArOFIterResultsContainer * m_larOFIterCont
Definition: LArRawChannelBuilderToolOFCIter.h:67
LArRawChannelBuilderToolOFCIter::m_larNoiseKey
SG::ReadCondHandleKey< ILArNoise > m_larNoiseKey
Definition: LArRawChannelBuilderToolOFCIter.h:77
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
LArRawChannelBuilderToolOFCIter::m_Ecut
float m_Ecut
Definition: LArRawChannelBuilderToolOFCIter.h:51
LArRawChannelBuilderToolOFCIter::m_doMC
bool m_doMC
Definition: LArRawChannelBuilderToolOFCIter.h:64
LArRawChannelBuilderToolOFCIter::OFC_a
const std::vector< float > & OFC_a()
LArRawChannelBuilderToolOFCIter::m_doQual
bool m_doQual
Definition: LArRawChannelBuilderToolOFCIter.h:54
LArRawChannelBuilderToolOFCIter::m_skipSaturatedCells
bool m_skipSaturatedCells
Definition: LArRawChannelBuilderToolOFCIter.h:52
SG::ReadCondHandleKey< ILArPedestal >
LArRawChannelBuilderToolOFCIter::m_OFCtmp
std::vector< float > m_OFCtmp
Definition: LArRawChannelBuilderToolOFCIter.h:62
LArRawChannelBuilderToolOFCIter::initEvent
void initEvent()
Definition: LArRawChannelBuilderToolOFCIter.cxx:95
ILArPedestal.h
LArRawChannelBuilderToolOFCIter::buildRawChannel
bool buildRawChannel(const LArDigit *digit, float pedestal, const std::vector< float > &ramps, MsgStream *pLog)
Definition: LArRawChannelBuilderToolOFCIter.cxx:110
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
LArRawChannelBuilderToolOFCIter::m_AdcMax
unsigned short m_AdcMax
Definition: LArRawChannelBuilderToolOFCIter.h:53
LArRawChannelBuilderToolOFCIter::m_nIterProp
unsigned int m_nIterProp
Definition: LArRawChannelBuilderToolOFCIter.h:61
LArRawChannelBuilderToolOFCIter::OFC_b
const std::vector< float > & OFC_b()
ServiceHandle< StoreGateSvc >