ATLAS Offline Software
Loading...
Searching...
No Matches
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
25class 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;
69 bool m_doFebHeaders=false;
70
71};
72
73#endif
Handle class for recording to StoreGate.
An algorithm that can be simultaneously executed in multiple threads.
Interface class for managing ROB for both online and offline.
Container class for LArAccumulatedCalibDigit.
Container class for LArAccumulatedDigit.
Container class for LArCalibDigit.
Container class for LArDigit.
Container class for LArFebHeader.
SG::WriteHandleKey< LArAccumulatedCalibDigitContainer > m_accCalibDigitKey
SG::WriteHandleKey< LArDigitContainer > m_DigitKey
ServiceHandle< IROBDataProviderSvc > m_robDataProviderSvc
StatusCode execute(const EventContext &ctx) const override
SG::ReadCondHandleKey< LArCalibLineMapping > m_CLKey
Gaudi::Property< std::vector< unsigned > > m_vFTPreselection
SG::WriteHandleKey< LArAccumulatedDigitContainer > m_accDigitKey
LArRawCalibDataReadingAlg(const std::string &name, ISvcLocator *pSvcLocator)
SG::WriteHandleKey< LArFebHeaderContainer > m_febHeaderKey
Gaudi::Property< std::vector< unsigned > > m_vPosNegPreselection
Gaudi::Property< std::string > m_subCaloPreselection
Gaudi::Property< std::vector< unsigned > > m_vBEPreselection
std::set< HWIdentifier > m_vFinalPreselection
SG::WriteHandleKey< LArCalibDigitContainer > m_calibDigitKey
Property holding a SG store/key/clid from which a WriteHandle is made.