ATLAS Offline Software
LArRawChannelBuilderAlg.h
Go to the documentation of this file.
1 //Dear emacs, this is -*-c++-*-
2 /*
3  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
4 */
5 
6 #ifndef LARROD_LARRAWCHANNELBUILDERALG_H
7 #define LARROD_LARRAWCHANNELBUILDERALG_H
8 
9 
11 #include "StoreGate/ReadHandle.h"
12 #include "StoreGate/WriteHandle.h"
14 
18 #include "LArElecCalib/ILArOFC.h"
19 #include "LArElecCalib/ILArShape.h"
22 
23 //Event classes
24 class LArDigitContainer;
26 class LArOnlineID;
27 
29 
30  public:
31 
33 
34  StatusCode initialize() override;
35  StatusCode execute(const EventContext& ctx) const override;
36  StatusCode finalize() override;
37 
38 
39  private:
40  //Event input:
42  "SG Key of LArDigitContaiiner"};
43  //Event output:
44  SG::WriteHandleKey<LArRawChannelContainer> m_rawChannelKey{this,"LArRawChannelKey","LArRawChannels",
45  "SG key of the output LArRawChannelContainer"};
46 
47  //Conditions input:
48  SG::ReadCondHandleKey<ILArPedestal> m_pedestalKey{this,"PedestalKey","LArPedestal","SG Key of Pedestal conditions object"};
49  SG::ReadCondHandleKey<LArADC2MeV> m_adc2MeVKey{this,"ADC2MeVKey","LArADC2MeV","SG Key of ADC2MeV conditions object"};
50  SG::ReadCondHandleKey<ILArOFC> m_ofcKey{this,"OFCKey","LArOFC","SG Key of OFC conditions object"};
51  SG::ReadCondHandleKey<ILArShape> m_shapeKey{this,"ShapeKey","LArShape","SG Key of Shape conditions object"};
52 
53  SG::ReadCondHandleKey<LArOnOffIdMapping> m_cablingKey{this,"CablingKey","LArOnOffIdMap","SG Key of LArOnOffIdMapping object"};
54  SG::ReadCondHandleKey<LArDSPThresholdsComplete> m_run1DSPThresholdsKey{this, "Run1DSPThresholdsKey","", "SG Key for thresholds to compute time and quality, run 1"};
55  SG::ReadCondHandleKey<AthenaAttributeList> m_run2DSPThresholdsKey{this, "Run2DSPThresholdsKey","", "SG Key for thresholds to compute time and quality, run 2"};
56 
57 
58  //Other jobOptions:
59  Gaudi::Property<float> m_eCutFortQ{this,"ECutFortQ",256.0,"Time and Quality will be computed only for channels with E above this value"};
60  //This flag decides if we compute Q and t for cells with negative energy
61  Gaudi::Property<bool> m_absECutFortQ{this,"absECut",true,"Cut on fabs(E) for Q and t computation"};
62  Gaudi::Property<bool> m_useShapeDer{this,"useShapeDer",true,"Use shape derivative in Q-factor computation"};
63  //This flag decides, wheter to use DB or constant threshold
64  Gaudi::Property<bool> m_useDBFortQ{this,"useDB",true,"Use DB for cut on t,Q"};
65  //The following matters only in the MC case, when we have a 32 sample shapes
66  Gaudi::Property<int> m_firstSample{this,"firstSample",0,"first of the 32 sampels of the MC shape to be used"};
67 
68  //Identifier helper
69  const LArOnlineID* m_onlineId = nullptr;
70 
71 };
72 
73 
74 
75 #endif
LArRawChannelBuilderAlg::m_onlineId
const LArOnlineID * m_onlineId
Definition: LArRawChannelBuilderAlg.h:69
LArRawChannelBuilderAlg::m_cablingKey
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKey
Definition: LArRawChannelBuilderAlg.h:53
LArRawChannelBuilderAlg::m_pedestalKey
SG::ReadCondHandleKey< ILArPedestal > m_pedestalKey
Definition: LArRawChannelBuilderAlg.h:48
LArRawChannelBuilderAlg::m_absECutFortQ
Gaudi::Property< bool > m_absECutFortQ
Definition: LArRawChannelBuilderAlg.h:61
ILArOFC.h
SG::ReadHandleKey< LArDigitContainer >
LArRawChannelBuilderAlg
Definition: LArRawChannelBuilderAlg.h:28
AthenaAttributeList.h
ReadCondHandle.h
LArRawChannelBuilderAlg::m_useShapeDer
Gaudi::Property< bool > m_useShapeDer
Definition: LArRawChannelBuilderAlg.h:62
LArRawChannelBuilderAlg::initialize
StatusCode initialize() override
Definition: LArRawChannelBuilderAlg.cxx:16
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:83
LArRawChannelBuilderAlg::m_eCutFortQ
Gaudi::Property< float > m_eCutFortQ
Definition: LArRawChannelBuilderAlg.h:59
LArADC2MeV.h
LArRawChannelBuilderAlg::finalize
StatusCode finalize() override
Definition: LArRawChannelBuilderAlg.cxx:45
LArRawChannelBuilderAlg::m_run1DSPThresholdsKey
SG::ReadCondHandleKey< LArDSPThresholdsComplete > m_run1DSPThresholdsKey
Definition: LArRawChannelBuilderAlg.h:54
WriteHandle.h
Handle class for recording to StoreGate.
LArRawChannelBuilderAlg::m_shapeKey
SG::ReadCondHandleKey< ILArShape > m_shapeKey
Definition: LArRawChannelBuilderAlg.h:51
LArOnOffIdMapping.h
AthReentrantAlgorithm::AthReentrantAlgorithm
AthReentrantAlgorithm()
Default constructor:
LArRawChannelBuilderAlg::m_run2DSPThresholdsKey
SG::ReadCondHandleKey< AthenaAttributeList > m_run2DSPThresholdsKey
Definition: LArRawChannelBuilderAlg.h:55
SG::WriteHandleKey< LArRawChannelContainer >
LArDSPThresholdsComplete.h
A LArRawConditionsContainer holding thresholds used by the DSP.
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
LArRawChannelBuilderAlg::m_useDBFortQ
Gaudi::Property< bool > m_useDBFortQ
Definition: LArRawChannelBuilderAlg.h:64
LArRawChannelBuilderAlg::m_ofcKey
SG::ReadCondHandleKey< ILArOFC > m_ofcKey
Definition: LArRawChannelBuilderAlg.h:50
AthReentrantAlgorithm.h
ILArShape.h
LArOnlineID
Definition: LArOnlineID.h:20
SG::ReadCondHandleKey< ILArPedestal >
ILArPedestal.h
LArRawChannelBuilderAlg::m_firstSample
Gaudi::Property< int > m_firstSample
Definition: LArRawChannelBuilderAlg.h:66
LArRawChannelBuilderAlg::m_digitKey
SG::ReadHandleKey< LArDigitContainer > m_digitKey
Definition: LArRawChannelBuilderAlg.h:41
LArDigitContainer
Container class for LArDigit.
Definition: LArDigitContainer.h:24
LArRawChannelBuilderAlg::m_adc2MeVKey
SG::ReadCondHandleKey< LArADC2MeV > m_adc2MeVKey
Definition: LArRawChannelBuilderAlg.h:49
ReadHandle.h
Handle class for reading from StoreGate.
LArRawChannelBuilderAlg::m_rawChannelKey
SG::WriteHandleKey< LArRawChannelContainer > m_rawChannelKey
Definition: LArRawChannelBuilderAlg.h:44
LArRawChannelContainer
Container for LArRawChannel (IDC using LArRawChannelCollection)
Definition: LArRawChannelContainer.h:26
LArRawChannelBuilderAlg::execute
StatusCode execute(const EventContext &ctx) const override
Definition: LArRawChannelBuilderAlg.cxx:49