ATLAS Offline Software
Loading...
Searching...
No Matches
ALFA_CLinkAlg.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#ifndef ALFA_CLINKALG_H
6#define ALFA_CLINKALG_H
7
12
22
23#define EVCOLLNAME_XAODALFADATACONTAINER "ALFADataContainer"
24#define EVCOLLNAME_XAODALFADATAAUXCONTAINER "ALFADataContainerAux."
25
26#define RPOTSCNT 8
27#define MDLAYERSCNT 2
28#define MDPLATESCNT 10
29#define MDFIBERSCNT 64
30#define ODLAYERSCNT 2
31#define ODPLATESCNT 3
32#define ODFIBERSCNT 15
33
34#define TRIGPATCNT 16
35#define BLMCNT 6
36#define HVCHANNELCNT 216
37#define RADMONCNT 4
38#define FECNFTHRESHLOLDCNT 3
39#define FECNFGAINCNT 5
40#define TRIGSETCNT 6
41#define TRIGSETLATENCYCNT 3
42
43#define MAXNUMTRACKS 100
44#define MAXNUMGLOBTRACKS 100
45#define MAXNUMGENPARTICLES 100
46#define MAXPILEUP 500
47
48#include <string>
49
51
53{
54public:
55 ALFA_CLinkAlg (const std::string& name, ISvcLocator* pSvcLocator);
56 virtual ~ALFA_CLinkAlg();
57
58private:
59 int m_nDataType; //data type (simulation or real data) using in the local reconstruction
60 int m_nProcessingMode; //1=offline, 2=online
61
62public:
63 virtual StatusCode initialize() override;
64 virtual StatusCode execute() override;
65 virtual StatusCode finalize() override;
66
67public:
68 StatusCode LoadAllEventData(const EventContext& ctx, ALFA_CLinkEvent& dataEvent) const;
69private:
70 unsigned long long CalcDCSId (const EventContext& ctx,
72 StatusCode CalcAllDCSIds (const EventContext& ctx,
73 DCSID& pDCSIds) const;
74
75private:
76 StatusCode GenerateXAOD(const EventContext& ctx);
77 StatusCode FillXAOD_TrackingData(const EventContext& ctx, xAOD::ALFADataContainer& xAODContainer);
78 StatusCode FillXAOD_HeaderData(const EventContext& ctx, xAOD::ALFADataContainer& xAODContainer);
79 void ClearXAODTrackingData(const int nMaxTrackCnt, eRecType eType);
81
82private:
83 //xAOD variables: LocRecEvCollection & LocRecODEvCollection
85 std::vector<float> m_vecXDetCS;
86 std::vector<float> m_vecYDetCS;
87 std::vector<int> m_vecDetectorPartID;
88 std::vector<float> m_vecOverU;
89 std::vector<float> m_vecOverV;
90 std::vector<float> m_vecOverY;
91 std::vector<int> m_vecNumU;
92 std::vector<int> m_vecNumV;
93 std::vector<int> m_vecNumY;
94 std::vector<int> m_vecMDFibSel;
95 std::vector<int> m_vecODFibSel;
96
97 //xAOD variables: LocRecCorrEvCollection & LocRecCorrODEvCollection
98 std::vector<float> m_vecXLhcCS;
99 std::vector<float> m_vecYLhcCS;
100 std::vector<float> m_vecZLhcCS;
101 std::vector<float> m_vecXRPotCS;
102 std::vector<float> m_vecYRPotCS;
103 std::vector<float> m_vecXStatCS;
104 std::vector<float> m_vecYStatCS;
105 std::vector<float> m_vecXBeamCS;
106 std::vector<float> m_vecYBeamCS;
107
108 //RawDataContainer
109 std::vector<int> m_vecScaler;
110 //int m_nBCId;
111 //int m_nTimeStamp;
112 //int m_nTimeStamp_ns;
113 std::vector<int> m_vecTrigPat;
114
115 //DigitCollection
116 std::vector<int> m_vecMDFiberHits;
117 std::vector<int> m_vecMDMultiplicity;
118
119 //ODDigitCollection
120 std::vector<int> m_vecODFiberHitsPos;
121 std::vector<int> m_vecODFiberHitsNeg;
122 std::vector<int> m_vecODMultiplicityPos;
123 std::vector<int> m_vecODMultiplicityNeg;
124
126 { this, "BLMKey", DCSCOLLNAME_BLM, "BLM conditions key" };
128 { this, "HVChannelKey", DCSCOLLNAME_HVCHANNEL, "HV channel conditions key" };
130 { this, "LocalMonitoringKey", DCSCOLLNAME_LOCALMONITORING, "Local monitoring conditions key" };
132 { this, "MovementKey", DCSCOLLNAME_LOCALMONITORING, "Movement conditions key" };
134 { this, "RadmonKey", DCSCOLLNAME_RADMON, "Radmon conditions key" };
136 { this, "TriggerRatesKey", DCSCOLLNAME_TRIGGERRATES, "Trigger rates conditions key" };
138 { this, "FEConfigurationKey", DCSCOLLNAME_FECONFIGURATION, "FE configuration conditions key" };
140 { this, "TriggerSettingsKey", DCSCOLLNAME_TRIGGERSETTINGS, "Trigger settings conditions key" };
141
143 { this, "RawDataContKey", EVCOLLNAME_RAWDATA, "SG key for raw data container" };
145 { this, "DigitCollKey", EVCOLLNAME_DIGIT, "SG key for digit collection" };
147 { this, "ODDigitCollKey", EVCOLLNAME_ODDIGIT, "SG key for OD digit collection" };
149 { this, "LocRecEvCollectionKey", EVCOLLNAME_LOCREC, "SG key for LocRecEv collection" };
151 { this, "LocRecEvODCollectionKey", EVCOLLNAME_LOCRECOD, "SG key for LocRecEvOD collection" };
153 { this, "LocRecCorrEvCollectionKey", EVCOLLNAME_LOCRECCORR, "SG key for LocRecCorrEv collection" };
155 { this, "LocRecCorrODEvCollectionKey", EVCOLLNAME_LOCRECCORROD, "SG key for LocRecCorrODEv collection" };
156
158 { this, "CLinkEventKey", "ALFA_CLinkEvent", "SG key for output CLinkEvent" };
160 { this, "xAODDataKey", EVCOLLNAME_XAODALFADATACONTAINER, "SG key for output xAOD::ALFADataContainer" };
161};
162
163#endif // ALFA_CLINKALG_H
#define EVCOLLNAME_XAODALFADATACONTAINER
eRecType
@ ERC_LOCCORRECTED
@ ERC_LOCUNCORRECTED
@ ERC_GLOBAL
#define EVCOLLNAME_LOCRECOD
#define DCSCOLLNAME_HVCHANNEL
#define EVCOLLNAME_DIGIT
#define DCSCOLLNAME_RADMON
#define EVCOLLNAME_LOCRECCORR
#define EVCOLLNAME_RAWDATA
#define DCSCOLLNAME_FECONFIGURATION
#define DCSCOLLNAME_BLM
#define EVCOLLNAME_LOCRECCORROD
#define DCSCOLLNAME_TRIGGERSETTINGS
#define DCSCOLLNAME_LOCALMONITORING
#define DCSCOLLNAME_TRIGGERRATES
struct _DCSID DCSID
#define EVCOLLNAME_LOCREC
#define EVCOLLNAME_ODDIGIT
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
std::vector< float > m_vecXDetCS
SG::ReadCondHandleKey< CondAttrListCollection > m_radmonKey
std::vector< int > m_vecODMultiplicityPos
SG::ReadHandleKey< ALFA_RawDataContainer > m_rawDataContKey
unsigned long long CalcDCSId(const EventContext &ctx, const SG::ReadCondHandleKey< CondAttrListCollection > &key) const
SG::ReadHandleKey< ALFA_ODDigitCollection > m_ODDigitCollKey
std::vector< int > m_vecMDFibSel
SG::ReadCondHandleKey< CondAttrListCollection > m_movementKey
std::vector< float > m_vecXLhcCS
SG::ReadCondHandleKey< CondAttrListCollection > m_triggerRatesKey
StatusCode GenerateXAOD(const EventContext &ctx)
std::vector< float > m_vecYLhcCS
virtual StatusCode execute() override
SG::ReadHandleKey< ALFA_LocRecEvCollection > m_locRecEvCollKey
std::vector< int > m_vecNumU
virtual StatusCode finalize() override
std::vector< float > m_vecYStatCS
SG::ReadCondHandleKey< CondAttrListCollection > m_localMonitoringKey
std::vector< float > m_vecOverU
std::vector< int > m_vecDetectorPartID
std::vector< int > m_vecODMultiplicityNeg
StatusCode FillXAOD_HeaderData(const EventContext &ctx, xAOD::ALFADataContainer &xAODContainer)
std::vector< float > m_vecXRPotCS
StatusCode CalcAllDCSIds(const EventContext &ctx, DCSID &pDCSIds) const
std::vector< int > m_vecODFibSel
std::vector< int > m_vecODFiberHitsPos
void ClearXAODHeaderData()
std::vector< float > m_vecYRPotCS
std::vector< int > m_vecMDMultiplicity
SG::ReadHandleKey< ALFA_LocRecCorrEvCollection > m_locRecCorrEvCollKey
virtual ~ALFA_CLinkAlg()
std::vector< float > m_vecXStatCS
std::vector< int > m_vecNumY
StatusCode FillXAOD_TrackingData(const EventContext &ctx, xAOD::ALFADataContainer &xAODContainer)
std::vector< int > m_vecScaler
std::vector< float > m_vecYDetCS
StatusCode LoadAllEventData(const EventContext &ctx, ALFA_CLinkEvent &dataEvent) const
SG::ReadCondHandleKey< CondAttrListCollection > m_FEConfigurationKey
std::vector< float > m_vecXBeamCS
SG::ReadCondHandleKey< CondAttrListCollection > m_triggerSettingsKey
virtual StatusCode initialize() override
std::vector< int > m_vecMDFiberHits
SG::ReadCondHandleKey< CondAttrListCollection > m_HVChannelKey
std::vector< int > m_vecNumV
std::vector< float > m_vecYBeamCS
SG::ReadHandleKey< ALFA_DigitCollection > m_digitCollKey
void ClearXAODTrackingData(const int nMaxTrackCnt, eRecType eType)
ALFA_CLinkAlg(const std::string &name, ISvcLocator *pSvcLocator)
SG::WriteHandleKey< ALFA_CLinkEvent > m_clinkEventKey
std::vector< float > m_vecZLhcCS
std::vector< float > m_vecOverY
std::vector< int > m_vecODFiberHitsNeg
SG::WriteHandleKey< xAOD::ALFADataContainer > m_xaodDataKey
SG::ReadHandleKey< ALFA_LocRecCorrODEvCollection > m_locRecCorrODEvCollKey
std::vector< int > m_vecTrigPat
std::vector< float > m_vecOverV
SG::ReadHandleKey< ALFA_LocRecODEvCollection > m_locRecODEvCollKey
SG::ReadCondHandleKey< CondAttrListCollection > m_BLMKey
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
ALFADataContainer_v1 ALFADataContainer