ATLAS Offline Software
LArRawCalibDataReadingAlg.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef LARBYTESTREAM_LARRAWCALIBDATAREADINDINGALG_H
6 #define LARBYTESTREAM_LARRAWCALIBDATAREADINDINGALG_H
7 
12 #include "GaudiKernel/ServiceHandle.h"
13 #include "GaudiKernel/SystemOfUnits.h"
14 
17 
18 
19 //Event classes
20 class LArDigitContainer;
25 class LArOnlineID;
27 
29  public:
30  LArRawCalibDataReadingAlg(const std::string& name, ISvcLocator* pSvcLocator);
31 
32  StatusCode initialize() override;
33  StatusCode execute(const EventContext& ctx) const override;
34 
35  private:
36  SG::ReadCondHandleKey<LArCalibLineMapping> m_CLKey{this, "CalibLineKey", "LArCalibLineMap", "SG calib line key"};
37 
38  //Event output:
44 
45  //Service providing the input data
46  ServiceHandle<IROBDataProviderSvc> m_robDataProviderSvc{this,"ROBDataProviderSvc","ROBDataProviderSvc"};
47 
48  //Other properties:
49  BooleanProperty m_verifyChecksum{this,"VerifyChecksum",true,"Calculate and compare checksums to detect data transmission errors"};
50  BooleanProperty m_failOnCorruption{this,"FailOnCorruption",true,"Return FAILURE if data corruption is found"};
51 
52  Gaudi::Property<std::string> m_subCaloPreselection{this,"SubCaloPreselection","","One of 'EM', 'HEC' or 'FCAL'"};
53 
54  Gaudi::Property<std::vector<unsigned> > m_vBEPreselection{this,"BEPreselection",{},"For channel-selection: Barrel=0, Endcap=1"};
55  Gaudi::Property<std::vector<unsigned> > m_vPosNegPreselection{this,"PosNegPreselection",{}, "For channel-selection: C-Side:0, A-Side: 1"};
56  Gaudi::Property<std::vector<unsigned> > m_vFTPreselection{this,"FTNumPreselection",{}, "For channel-selection: Feedthrough numbers (e.g. 0 - 31 for barrel)"};
57  DoubleProperty m_delayScale{this,"DelayScale",(25./240.)*Gaudi::Units::nanosecond,"One calibration step in time"};
58 
59  std::set<HWIdentifier> m_vFinalPreselection;
60 
61  //Identifier helper
62  const LArOnlineID* m_onlineId=nullptr;
63 
64  //Switches set in initialize() based of SG keys of output object
65  bool m_doDigits=false;
66  bool m_doCalibDigits=false;
67  bool m_doAccDigits=false;
68  bool m_doAccCalibDigits=false;
69  bool m_doFebHeaders=false;
70 
71 };
72 
73 #endif
LArRawCalibDataReadingAlg::m_DigitKey
SG::WriteHandleKey< LArDigitContainer > m_DigitKey
Definition: LArRawCalibDataReadingAlg.h:39
LArRawCalibDataReadingAlg::m_delayScale
DoubleProperty m_delayScale
Definition: LArRawCalibDataReadingAlg.h:57
LArRawCalibDataReadingAlg::m_doAccDigits
bool m_doAccDigits
Definition: LArRawCalibDataReadingAlg.h:67
LArRawCalibDataReadingAlg::m_vFinalPreselection
std::set< HWIdentifier > m_vFinalPreselection
Definition: LArRawCalibDataReadingAlg.h:59
LArRawCalibDataReadingAlg::m_failOnCorruption
BooleanProperty m_failOnCorruption
Definition: LArRawCalibDataReadingAlg.h:50
LArAccumulatedDigitContainer
Container class for LArAccumulatedDigit.
Definition: LArAccumulatedDigitContainer.h:22
python.SystemOfUnits.nanosecond
int nanosecond
Definition: SystemOfUnits.py:119
LArRawCalibDataReadingAlg::m_doFebHeaders
bool m_doFebHeaders
Definition: LArRawCalibDataReadingAlg.h:69
LArRawCalibDataReadingAlg::m_doCalibDigits
bool m_doCalibDigits
Definition: LArRawCalibDataReadingAlg.h:66
LArRawCalibDataReadingAlg::m_robDataProviderSvc
ServiceHandle< IROBDataProviderSvc > m_robDataProviderSvc
Definition: LArRawCalibDataReadingAlg.h:46
LArRawCalibDataReadingAlg::m_verifyChecksum
BooleanProperty m_verifyChecksum
Definition: LArRawCalibDataReadingAlg.h:49
ReadCondHandle.h
LArRawCalibDataReadingAlg::m_accDigitKey
SG::WriteHandleKey< LArAccumulatedDigitContainer > m_accDigitKey
Definition: LArRawCalibDataReadingAlg.h:41
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:83
LArCalibDigitContainer
Container class for LArCalibDigit.
Definition: LArCalibDigitContainer.h:19
WriteHandle.h
Handle class for recording to StoreGate.
IROBDataProviderSvc
Interface class for managing ROB for both online and offline.
Definition: IROBDataProviderSvc.h:25
LArOnOffIdMapping.h
LArRawCalibDataReadingAlg::m_subCaloPreselection
Gaudi::Property< std::string > m_subCaloPreselection
Definition: LArRawCalibDataReadingAlg.h:52
SG::WriteHandleKey< LArDigitContainer >
LArRawCalibDataReadingAlg::m_vPosNegPreselection
Gaudi::Property< std::vector< unsigned > > m_vPosNegPreselection
Definition: LArRawCalibDataReadingAlg.h:55
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
LArRawCalibDataReadingAlg::execute
StatusCode execute(const EventContext &ctx) const override
Definition: LArRawCalibDataReadingAlg.cxx:171
LArRawCalibDataReadingAlg::m_calibDigitKey
SG::WriteHandleKey< LArCalibDigitContainer > m_calibDigitKey
Definition: LArRawCalibDataReadingAlg.h:40
LArRawCalibDataReadingAlg::initialize
StatusCode initialize() override
Definition: LArRawCalibDataReadingAlg.cxx:26
LArRawCalibDataReadingAlg::m_doAccCalibDigits
bool m_doAccCalibDigits
Definition: LArRawCalibDataReadingAlg.h:68
ReadCondHandleKey.h
AthReentrantAlgorithm.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
LArRawCalibDataReadingAlg::m_vBEPreselection
Gaudi::Property< std::vector< unsigned > > m_vBEPreselection
Definition: LArRawCalibDataReadingAlg.h:54
LArOnlineID
Definition: LArOnlineID.h:20
SG::ReadCondHandleKey< LArCalibLineMapping >
LArRawCalibDataReadingAlg::m_accCalibDigitKey
SG::WriteHandleKey< LArAccumulatedCalibDigitContainer > m_accCalibDigitKey
Definition: LArRawCalibDataReadingAlg.h:42
LArRawCalibDataReadingAlg::m_onlineId
const LArOnlineID * m_onlineId
Definition: LArRawCalibDataReadingAlg.h:62
LArRawCalibDataReadingAlg::m_febHeaderKey
SG::WriteHandleKey< LArFebHeaderContainer > m_febHeaderKey
Definition: LArRawCalibDataReadingAlg.h:43
LArRawCalibDataReadingAlg::m_CLKey
SG::ReadCondHandleKey< LArCalibLineMapping > m_CLKey
Definition: LArRawCalibDataReadingAlg.h:36
LArDigitContainer
Container class for LArDigit.
Definition: LArDigitContainer.h:24
LArFebHeaderContainer
Container class for LArFebHeader.
Definition: LArFebHeaderContainer.h:20
LArRawCalibDataReadingAlg
Definition: LArRawCalibDataReadingAlg.h:28
LArCalibLineMapping.h
LArAccumulatedCalibDigitContainer
Container class for LArAccumulatedCalibDigit.
Definition: LArAccumulatedCalibDigitContainer.h:25
LArRawCalibDataReadingAlg::m_doDigits
bool m_doDigits
Definition: LArRawCalibDataReadingAlg.h:65
ServiceHandle< IROBDataProviderSvc >
LArRawCalibDataReadingAlg::m_vFTPreselection
Gaudi::Property< std::vector< unsigned > > m_vFTPreselection
Definition: LArRawCalibDataReadingAlg.h:56
LArRawCalibDataReadingAlg::LArRawCalibDataReadingAlg
LArRawCalibDataReadingAlg(const std::string &name, ISvcLocator *pSvcLocator)
Definition: LArRawCalibDataReadingAlg.cxx:23