ATLAS Offline Software
Loading...
Searching...
No Matches
MuonFeatureCnvTool Class Reference

#include <MuonFeatureCnvTool.h>

Inheritance diagram for MuonFeatureCnvTool:
Collaboration diagram for MuonFeatureCnvTool:

Public Member Functions

 MuonFeatureCnvTool (const std::string &type, const std::string &name, const IInterface *parent)
 Regular AlgTool constructor.
virtual StatusCode convertMuonFeature (const MuonFeature *aod_mf, xAOD::L2StandAloneMuon *xaod) override
 Convert MuonFeature object into xAOD::L2StandAloneMuon object.
virtual StatusCode convertMuonFeature (const MuonFeatureDetails *aod_mfd, xAOD::L2StandAloneMuon *xaod) override
 Convert MuonFeatureDetails object into xAOD::L2StandAloneMuon object.
virtual StatusCode convertMuonFeatureContainer (const MuonFeatureContainer *aod_mf_container, const MuonFeatureDetailsContainer *aod_mfd_container, xAOD::L2StandAloneMuonContainer *xaod_container) override
 Conver MuonDeatureContainer and MuonFeatureDetailsContainer into xAOD::L2StandAloneMuonContainer.
ServiceHandle< StoreGateSvc > & evtStore ()
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
const ServiceHandle< StoreGateSvc > & detStore () const
 The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
virtual StatusCode sysInitialize () override
 Perform system initialization for an algorithm.
virtual StatusCode sysStart () override
 Handle START transition.
virtual std::vector< Gaudi::DataHandle * > inputHandles () const override
 Return this algorithm's input handles.
virtual std::vector< Gaudi::DataHandle * > outputHandles () const override
 Return this algorithm's output handles.
Gaudi::Details::PropertyBase & declareProperty (Gaudi::Property< T, V, H > &t)
void updateVHKA (Gaudi::Details::PropertyBase &)
MsgStream & msg () const
bool msgLvl (const MSG::Level lvl) const

Static Public Member Functions

static const InterfaceID & interfaceID ()
 Gaudi interface definition.

Protected Member Functions

void renounceArray (SG::VarHandleKeyArray &handlesArray)
 remove all handles from I/O resolution
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce (T &h)
void extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps)
 Add StoreName to extra input/output deps as needed.

Private Types

typedef ServiceHandle< StoreGateSvcStoreGateSvc_t

Private Member Functions

Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey>

Private Attributes

StoreGateSvc_t m_evtStore
 Pointer to StoreGate (event store by default)
StoreGateSvc_t m_detStore
 Pointer to StoreGate (detector store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
bool m_varHandleArraysDeclared

Detailed Description

Definition at line 16 of file MuonFeatureCnvTool.h.

Member Typedef Documentation

◆ StoreGateSvc_t

typedef ServiceHandle<StoreGateSvc> AthCommonDataStore< AthCommonMsg< AlgTool > >::StoreGateSvc_t
privateinherited

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ MuonFeatureCnvTool()

MuonFeatureCnvTool::MuonFeatureCnvTool ( const std::string & type,
const std::string & name,
const IInterface * parent )

Regular AlgTool constructor.

Definition at line 20 of file MuonFeatureCnvTool.cxx.

23 : AthAlgTool( type, name, parent ) {
24
25 // Declare the interface(s) provided by the tool:
26 declareInterface< IMuonFeatureCnvTool >( this );
27}
AthAlgTool()
Default constructor:

Member Function Documentation

◆ convertMuonFeature() [1/2]

StatusCode MuonFeatureCnvTool::convertMuonFeature ( const MuonFeature * aod_mf,
xAOD::L2StandAloneMuon * xaod )
overridevirtual

Convert MuonFeature object into xAOD::L2StandAloneMuon object.

Implements IMuonFeatureCnvTool.

Definition at line 30 of file MuonFeatureCnvTool.cxx.

31 {
32
33 if (aodMf) {
34 xaod->setPt (aodMf->pt());
35 xaod->setEta (aodMf->eta());
36 xaod->setPhi (aodMf->phi());
37 xaod->setRoIWord (aodMf->roiId());
38 xaod->setSAddress (aodMf->saddress());
39 xaod->setEtaMS (aodMf->eta());
40 xaod->setPhiMS (aodMf->phi());
41 xaod->setDirPhiMS (aodMf->dir_phi());
42 xaod->setRMS (aodMf->radius());
43 xaod->setZMS (aodMf->zeta());
44 xaod->setDirZMS (aodMf->dir_zeta());
45 xaod->setBeta (aodMf->beta());
46 xaod->setBarrelRadius (aodMf->br_radius());
47 xaod->setBarrelSagitta (aodMf->br_sagitta());
48 xaod->setEndcapAlpha (aodMf->ec_alpha());
49 xaod->setEndcapBeta (aodMf->ec_beta());
50
51 if ( aodMf->saddress() == -1 ) {
53 aodMf->sp1_r(), aodMf->sp1_z(), aodMf->sp1_slope());
55 aodMf->sp2_r(), aodMf->sp2_z(), aodMf->sp2_slope());
57 aodMf->sp3_r(), aodMf->sp3_z(), aodMf->sp3_slope());
58 } else {
60 aodMf->sp1_r(), aodMf->sp1_z(), aodMf->sp1_slope());
62 aodMf->sp2_r(), aodMf->sp2_z(), aodMf->sp2_slope());
64 aodMf->sp3_r(), aodMf->sp3_z(), aodMf->sp3_slope());
65 }
66
67 if (aodMf->dq_var1()==1) xaod->setIsTgcFailure(1);
68 else xaod->setIsTgcFailure(0);
69
70 if (aodMf->dq_var2()==1) xaod->setIsRpcFailure(1);
71 else xaod->setIsRpcFailure(0);
72
73 ATH_MSG_VERBOSE("Orig vs xAOD: Pt: " << aodMf->pt() << " " << xaod->pt());
74 ATH_MSG_VERBOSE("Orig vs xAOD: Eta: " << aodMf->eta() << " " << xaod->eta());
75 ATH_MSG_VERBOSE("Orig vs xAOD: phi: " << aodMf->phi() << " " << xaod->phi());
76 }
77
78 // Return gracefully:
79 return StatusCode::SUCCESS;
80}
#define ATH_MSG_VERBOSE(x)
void setEta(float eta)
Set the pseudorapidity ( ) of the muon.
void setBeta(float value)
Set beta.
void setPhi(float phi)
Set the azimuthal angle ( ) of the muon.
void setBarrelSagitta(float value)
Set the fitted sagitta of the muon in the barrel.
void setEtaMS(float value)
Set the eta at muon spectrometer.
void setRMS(float value)
Set the R at muon spectrometer.
void setIsTgcFailure(int value)
Set flag to record if TGC is properly read.
virtual double pt() const
The transverse momentum ( ) of the particle.
virtual double phi() const
The azimuthal angle ( ) of the particle.
void setDirPhiMS(float value)
Set tan phi at muon spectrometer.
void setEndcapBeta(float value)
Set the fitted value in the endcap.
void setSAddress(int value)
Set the station address of the muon.
void setPhiMS(float value)
Set the phi at muon spectrometer.
void setEndcapAlpha(float value)
Set the fitted value in the endcap.
void setRoIWord(uint32_t value)
Set the RoI ID of the seeding LVL1 muon.
void setIsRpcFailure(int value)
Set flag to record if RPC is properly read.
void setPt(float pt)
Set the transverse momentum ( ) of the muon.
void setSuperPoint(int chamber, float r, float z, float slope, float intercept=0., float chi2=0.)
Set the properties of one particular super point measurement.
virtual double eta() const
The pseudorapidity ( ) of the particle.
void setDirZMS(float value)
Set dRdZ at muon spectrometer.
void setZMS(float value)
Set the Z at muon spectrometer.
void setBarrelRadius(float value)
Set the fitted radius of the muon in the barrel.
@ BarrelInner
Inner station in the barrel spectrometer.
@ EndcapOuter
Outer station in the endcap spectrometer.
@ BarrelMiddle
Middle station in the barrel spectrometer.
@ EndcapMiddle
Middle station in the endcap spectrometer.
@ BarrelOuter
Outer station in the barrel spectrometer.
@ EndcapInner
Inner station in the endcap spectrometer.

◆ convertMuonFeature() [2/2]

StatusCode MuonFeatureCnvTool::convertMuonFeature ( const MuonFeatureDetails * aod_mfd,
xAOD::L2StandAloneMuon * xaod )
overridevirtual

Convert MuonFeatureDetails object into xAOD::L2StandAloneMuon object.

Implements IMuonFeatureCnvTool.

Definition at line 82 of file MuonFeatureCnvTool.cxx.

83 {
84
85 if (aodMfd) {
86 xaod->setCapacities (aodMfd->max_rpc_hits_capacity(), aodMfd->max_tgc_hits_capacity(), aodMfd->max_mdt_hits_capacity(), 100);
87
88 xaod->setAlgoId ((int)aodMfd->id());
89 xaod->setTeId (aodMfd->te_id());
90 xaod->setLvl1Id (aodMfd->lvl1_id());
91 xaod->setLumiBlock (aodMfd->lumi_block());
92 xaod->setMuonDetMask (aodMfd->muondetmask());
93 xaod->setRoiId (aodMfd->roi_id());
94 xaod->setRoiSystem (aodMfd->roi_system());
95 xaod->setRoiSubsystem (aodMfd->roi_subsystem());
96 xaod->setRoiSector (aodMfd->roi_sector());
97 xaod->setRoiNumber (aodMfd->roi_number());
98 xaod->setRoiThreshold (aodMfd->roi_threshold());
99
100 xaod->setRpcFitInn (aodMfd->rpc1_x(), aodMfd->rpc1_y(), aodMfd->rpc1_z());
101 xaod->setRpcFitMid (aodMfd->rpc2_x(), aodMfd->rpc2_y(), aodMfd->rpc2_z());
102 xaod->setRpcFitOut (aodMfd->rpc3_x(), aodMfd->rpc3_y(), aodMfd->rpc3_z());
103
104 xaod->setTgcInn (aodMfd->tgc_Inn_eta(), aodMfd->tgc_Inn_phi(),
105 aodMfd->tgc_Inn_r(), aodMfd->tgc_Inn_z());
106 xaod->setTgcInnF (aodMfd->tgc_Inn_rho_std(), aodMfd->tgc_Inn_rho_N(),
107 aodMfd->tgc_Inn_phi_std(), aodMfd->tgc_Inn_phi_N());
108 xaod->setTgcMid1 (aodMfd->tgc_Mid1_eta(), aodMfd->tgc_Mid1_phi(),
109 aodMfd->tgc_Mid1_r(), aodMfd->tgc_Mid1_z());
110 xaod->setTgcMid2 (aodMfd->tgc_Mid2_eta(), aodMfd->tgc_Mid2_phi(),
111 aodMfd->tgc_Mid2_r(), aodMfd->tgc_Mid2_z());
112 xaod->setTgcMidF (aodMfd->tgc_Mid_rho_chi2(), aodMfd->tgc_Mid_rho_N(),
113 aodMfd->tgc_Mid_phi_chi2(), aodMfd->tgc_Mid_phi_N());
114 xaod->setTgcPt (aodMfd->tgc_PT());
115
116 const std::vector< std::vector<int> >& chamber_type_1 = aodMfd->chamber_type_1();
117 const std::vector< std::vector<float> >& aw = aodMfd->aw();
118 const std::vector< std::vector<float> >& bw = aodMfd->bw();
119 const std::vector< std::vector<float> >& zetaMin = aodMfd->zetaMin();
120 const std::vector< std::vector<float> >& zetaMax = aodMfd->zetaMax();
121 const std::vector< std::vector<float> >& radMin = aodMfd->radMin();
122 const std::vector< std::vector<float> >& radMax = aodMfd->radMax();
123 const std::vector< std::vector<float> >& etaMin = aodMfd->etaMin();
124 const std::vector< std::vector<float> >& etaMax = aodMfd->etaMax();
125 for (int sector=0; sector<2; sector++) {
126 for (int station=0; station<4; station++) {
127 xaod->setChamberType1(station, sector, chamber_type_1[sector][station]);
128 xaod->setChamberType2(station, sector, chamber_type_1[sector][station]);
129 xaod->setRoad(station, sector, aw[sector][station], bw[sector][station]);
130 xaod->setRegionZ(station, sector, zetaMin[sector][station], zetaMax[sector][station]);
131 xaod->setRegionR(station, sector, radMin[sector][station], radMax[sector][station]);
132 xaod->setRegionEta(station, sector, etaMin[sector][station], etaMax[sector][station]);
133 }
134 }
135
136 const std::vector<uint32_t>& pad_hit_onlineId = aodMfd->pad_hit_onlineId();
137 const std::vector<uint32_t>& pad_hit_code = aodMfd->pad_hit_code();
138 const std::vector<float>& pad_hit_x = aodMfd->pad_hit_x();
139 const std::vector<float>& pad_hit_y = aodMfd->pad_hit_y();
140 const std::vector<float>& pad_hit_z = aodMfd->pad_hit_z();
141 const std::vector<float>& pad_hit_r = aodMfd->pad_hit_r();
142 const std::vector<float>& pad_hit_p = aodMfd->pad_hit_p();
143 for (unsigned int i=0; i< pad_hit_onlineId.size(); i++) {
144 if ( i >= pad_hit_code.size() || i >= pad_hit_x.size() || i >= pad_hit_y.size() ||
145 i >= pad_hit_z.size() || i >= pad_hit_r.size() || i >= pad_hit_p.size() ) continue;
146 xaod->setRpcHit( (uint32_t)pad_hit_onlineId[i], pad_hit_code[i],
147 pad_hit_x[i], pad_hit_y[i], pad_hit_z[i],
148 0.,pad_hit_r[i], pad_hit_p[i],"");
149 }
150
151
152 const std::vector<float>& tgc_Inn_rho_hit_phi = aodMfd->tgc_Inn_rho_hit_phi();
153 const std::vector<float>& tgc_Inn_rho_hit_r = aodMfd->tgc_Inn_rho_hit_r();
154 const std::vector<float>& tgc_Inn_rho_hit_z = aodMfd->tgc_Inn_rho_hit_z();
155 const std::vector<float>& tgc_Inn_rho_hit_width = aodMfd->tgc_Inn_rho_hit_width();
156 const std::vector<uint32_t>& tgc_Inn_rho_hit_in_seg = aodMfd->tgc_Inn_rho_hit_in_seg();
157 const std::vector<float>& tgc_Inn_phi_hit_phi = aodMfd->tgc_Inn_phi_hit_phi();
158 const std::vector<float>& tgc_Inn_phi_hit_r = aodMfd->tgc_Inn_phi_hit_r();
159 const std::vector<float>& tgc_Inn_phi_hit_z = aodMfd->tgc_Inn_phi_hit_z();
160 const std::vector<float>& tgc_Inn_phi_hit_width = aodMfd->tgc_Inn_phi_hit_width();
161 const std::vector<uint32_t>& tgc_Inn_phi_hit_in_seg = aodMfd->tgc_Inn_phi_hit_in_seg();
162 const std::vector<float>& tgc_Mid_rho_hit_phi = aodMfd->tgc_Mid_rho_hit_phi();
163 const std::vector<float>& tgc_Mid_rho_hit_r = aodMfd->tgc_Mid_rho_hit_r();
164 const std::vector<float>& tgc_Mid_rho_hit_z = aodMfd->tgc_Mid_rho_hit_z();
165 const std::vector<float>& tgc_Mid_rho_hit_width = aodMfd->tgc_Mid_rho_hit_width();
166 const std::vector<uint32_t>& tgc_Mid_rho_hit_in_seg = aodMfd->tgc_Mid_rho_hit_in_seg();
167 const std::vector<float>& tgc_Mid_phi_hit_phi = aodMfd->tgc_Mid_phi_hit_phi();
168 const std::vector<float>& tgc_Mid_phi_hit_r = aodMfd->tgc_Mid_phi_hit_r();
169 const std::vector<float>& tgc_Mid_phi_hit_z = aodMfd->tgc_Mid_phi_hit_z();
170 const std::vector<float>& tgc_Mid_phi_hit_width = aodMfd->tgc_Mid_phi_hit_width();
171 const std::vector<uint32_t>& tgc_Mid_phi_hit_in_seg = aodMfd->tgc_Mid_phi_hit_in_seg();
172 for (unsigned int i=0; i< tgc_Inn_rho_hit_phi.size(); i++) {
173 if (i >= tgc_Inn_rho_hit_r.size() || i >= tgc_Inn_rho_hit_z.size() ||
174 i >= tgc_Inn_rho_hit_width.size() || i >= tgc_Inn_rho_hit_in_seg.size() ||
175 i >= tgc_Inn_phi_hit_phi.size() || i >= tgc_Inn_phi_hit_r.size() ||
176 i >= tgc_Inn_phi_hit_z.size() || i >= tgc_Inn_phi_hit_width.size() ||
177 i >= tgc_Inn_phi_hit_in_seg.size() || i >= tgc_Mid_rho_hit_phi.size() ||
178 i >= tgc_Mid_rho_hit_r.size() || i >= tgc_Mid_rho_hit_z.size() ||
179 i >= tgc_Mid_rho_hit_width.size() || i >= tgc_Mid_rho_hit_in_seg.size() ||
180 i >= tgc_Mid_phi_hit_phi.size() || i >= tgc_Mid_phi_hit_r.size() ||
181 i >= tgc_Mid_phi_hit_z.size() || i >= tgc_Mid_phi_hit_width.size() ||
182 i >= tgc_Mid_phi_hit_in_seg.size() ) continue;
183 xaod->setTgcHit(0.,tgc_Inn_rho_hit_phi[i], tgc_Inn_rho_hit_r[i], tgc_Inn_rho_hit_z[i],
184 tgc_Inn_rho_hit_width[i], (int)tgc_Inn_rho_hit_in_seg[i], 0, 0, 0);
185 }
186
187 const std::vector<uint32_t>& mdt_onlineId = aodMfd->mdt_onlineId();
188 const std::vector<uint32_t>& mdt_offlineId = aodMfd->mdt_offlineId();
189 const std::vector<float>& mdt_tube_r = aodMfd->mdt_tube_r();
190 const std::vector<float>& mdt_tube_z = aodMfd->mdt_tube_z();
191 const std::vector<float>& mdt_tube_residual = aodMfd->mdt_tube_residual();
192 const std::vector<float>& mdt_tube_time = aodMfd->mdt_tube_time();
193 const std::vector<float>& mdt_tube_space = aodMfd->mdt_tube_space();
194 const std::vector<float>& mdt_tube_sigma = aodMfd->mdt_tube_sigma();
195 int chamber = 999;
196 for (unsigned int i=0; i< mdt_onlineId.size(); i++) {
197 if ( i >= mdt_offlineId.size() || i >= mdt_tube_r.size() ||
198 i >= mdt_tube_z.size() || i >= mdt_tube_residual.size() ||
199 i >= mdt_tube_time.size() || i >= mdt_tube_space.size() ||
200 i >= mdt_tube_sigma.size() ) continue;
201 xaod->setMdtHit(mdt_onlineId[i], (int)mdt_offlineId[i], (int)chamber,
202 mdt_tube_r[i], mdt_tube_z[i], 0., mdt_tube_residual[i],
203 mdt_tube_time[i], mdt_tube_space[i], mdt_tube_sigma[i]);
204 }
205
206 ATH_MSG_VERBOSE("Orig vs xAOD: TGC PT: " << aodMfd->tgc_PT() << " " << xaod->tgcPt());
207 }
208
209 // Return gracefully:
210 return StatusCode::SUCCESS;
211}
void setRegionR(int station, int sector, float min, float max)
R range.
void setRpcFitInn(float phi, float slope, float offset)
Set the results of RPC fit.
void setRpcHit(uint32_t layer, uint32_t measuresPhi, float x, float y, float z, float time, float distEta, float distPhi, const std::string &stationName)
Set RPC hits.
void setMdtHit(uint32_t onlineId, int isOutier, int chamber, float r, float z, float phi, float residual, float time, float space, float sigma)
Set the properties of each MDT tube.
void setTgcInn(float eta, float phi, float r, float z)
Set the results of TGC fit.
void setRoiSystem(uint32_t value)
void setRoad(int station, int sector, float aw, float bw)
Road.
void setTgcHit(float eta, float phi, float r, float z, float width, int stationNum, bool isStrip, int bcTag, bool inRoad)
Set TGC hits.
void setRoiNumber(uint32_t value)
void setTgcMid2(float eta, float phi, float r, float z)
void setCapacities(int rpc, int tgc, int mdt, int csc)
void setLumiBlock(uint32_t value)
void setRoiThreshold(uint32_t value)
void setTgcMidF(float rhoChi2, long rhoN, float phiChi2, long phiN)
void setRoiSubsystem(uint32_t value)
void setTeId(uint32_t value)
void setRoiSector(uint32_t value)
void setRpcFitOut(float phi, float slope, float offset)
void setLvl1Id(uint32_t value)
void setChamberType2(int station, int sector, int chamberType)
void setMuonDetMask(uint32_t value)
void setRegionZ(int station, int sector, float min, float max)
Z range.
void setChamberType1(int station, int sector, int chamberType)
Set the muon road information.
void setRpcFitMid(float phi, float slope, float offset)
float tgcPt() const
Set and get pT from different algorithms.
void setRoiId(uint32_t value)
void setTgcMid1(float eta, float phi, float r, float z)
void setRegionEta(int station, int sector, float min, float max)
Eta range.
void setAlgoId(int value)
void setTgcPt(float value)
void setTgcInnF(float rhoStd, long rhoN, float phiStd, long phiN)

◆ convertMuonFeatureContainer()

StatusCode MuonFeatureCnvTool::convertMuonFeatureContainer ( const MuonFeatureContainer * aod_mf_container,
const MuonFeatureDetailsContainer * aod_mfd_container,
xAOD::L2StandAloneMuonContainer * xaod_container )
overridevirtual

Conver MuonDeatureContainer and MuonFeatureDetailsContainer into xAOD::L2StandAloneMuonContainer.

Convert full MuonFeatureContainer and MuonFeatureDetailsContainer into xAOD::L2StandAloneMuonContainer.

Implements IMuonFeatureCnvTool.

Definition at line 214 of file MuonFeatureCnvTool.cxx.

216 {
217 if (!aodMf) {
218 ATH_MSG_ERROR( "Null pointer for input MuonFeatureContainter" );
219 return StatusCode::FAILURE;
220 }
221
222 if (!aodMfd) {
223 ATH_MSG_ERROR( "Null pointer for input MuonFeatureDetailsContainter" );
224 return StatusCode::FAILURE;
225 }
226
227 ATH_MSG_VERBOSE( "Found " << aodMf->size() << " input elements" );
228
229 // Fill the xAOD container:
231 MuonFeatureContainer::const_iterator citMfBegin = aodMf->begin();
232 MuonFeatureContainer::const_iterator citMfEnd = aodMf->end();
233
234 std::vector<std::pair <bool, const MuonFeatureDetails*>> vMfd;
236 MuonFeatureDetailsContainer::const_iterator citMfdBegin = aodMfd->begin();
237 MuonFeatureDetailsContainer::const_iterator citMfdEnd = aodMfd->end();
238 for (citMfd = citMfdBegin; citMfd != citMfdEnd; ++citMfd) {
239 vMfd.emplace_back(false, *citMfd);
240 }
241
242 citMfd = citMfdBegin;
243
244 for (citMf = citMfBegin; citMf != citMfEnd; ++citMf) {
245
246 const MuonFeature* mfObj = *citMf;
248 xaod->push_back( xaodObj );
249
250 StatusCode sc = convertMuonFeature( mfObj, xaodObj );
251 if(sc.isFailure()) return sc;
252
253 for (unsigned int i=0; i<vMfd.size(); i++) {
254
255 if (vMfd[i].first) continue;
256
257 if ( (int)(*citMf)->roiId() == (int)vMfd[i].second->roi_id() &&
258 (int)(*citMf)->algoId() == (int)vMfd[i].second->id() ) {
259
260 vMfd[i].first = true;
261
262 const MuonFeatureDetails* mfdObj = vMfd[i].second;
263
264 StatusCode sc = convertMuonFeature( mfdObj, xaodObj );
265 if(sc.isFailure()) return sc;
266
267 break;
268 }
269
270 } // loop for MuonFeatureDetailsContainer
271 } // loop for MuonFeatureContainer
272
273 ATH_MSG_VERBOSE( "Output Container has now " << xaod->size() << " elements" );
274
275 return StatusCode::SUCCESS;
276}// end convertTrigMuonEFInfoContainer
#define ATH_MSG_ERROR(x)
static Double_t sc
Athena::TPCnvVers::Old Athena::TPCnvVers::Old Athena::TPCnvVers::Old Athena::TPCnvVers::Current Athena::TPCnvVers::Current Athena::TPCnvVers::Old MuonFeatureDetails
Athena::TPCnvVers::Old Athena::TPCnvVers::Old Athena::TPCnvVers::Old Athena::TPCnvVers::Current MuonFeature
DataModel_detail::const_iterator< DataVector > const_iterator
Definition DataVector.h:838
virtual StatusCode convertMuonFeature(const MuonFeature *aod_mf, xAOD::L2StandAloneMuon *xaod) override
Convert MuonFeature object into xAOD::L2StandAloneMuon object.
::StatusCode StatusCode
StatusCode definition for legacy code.
L2StandAloneMuon_v2 L2StandAloneMuon
Define the latest version of the muon SA class.

◆ declareGaudiProperty()

Gaudi::Details::PropertyBase & AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T, V, H > & hndl,
const SG::VarHandleKeyType &  )
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKey>

Definition at line 156 of file AthCommonDataStore.h.

158 {
160 hndl.value(),
161 hndl.documentation());
162
163 }
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)

◆ declareProperty()

Gaudi::Details::PropertyBase & AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( Gaudi::Property< T, V, H > & t)
inlineinherited

Definition at line 145 of file AthCommonDataStore.h.

145 {
146 typedef typename SG::HandleClassifier<T>::type htype;
148 }
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>

◆ detStore()

const ServiceHandle< StoreGateSvc > & AthCommonDataStore< AthCommonMsg< AlgTool > >::detStore ( ) const
inlineinherited

The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 95 of file AthCommonDataStore.h.

◆ evtStore()

ServiceHandle< StoreGateSvc > & AthCommonDataStore< AthCommonMsg< AlgTool > >::evtStore ( )
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 85 of file AthCommonDataStore.h.

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::extraDeps_update_handler ( Gaudi::Details::PropertyBase & ExtraDeps)
protectedinherited

Add StoreName to extra input/output deps as needed.

use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given

◆ inputHandles()

virtual std::vector< Gaudi::DataHandle * > AthCommonDataStore< AthCommonMsg< AlgTool > >::inputHandles ( ) const
overridevirtualinherited

Return this algorithm's input handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ interfaceID()

const InterfaceID & IMuonFeatureCnvTool::interfaceID ( )
inlinestaticinherited

Gaudi interface definition.

Definition at line 39 of file IMuonFeatureCnvTool.h.

39 {
41 }
static const InterfaceID IID_IMuonFeatureCnvTool("xAODMaker::IMuonFeatureCnvTool", 1, 0)

◆ msg()

MsgStream & AthCommonMsg< AlgTool >::msg ( ) const
inlineinherited

Definition at line 24 of file AthCommonMsg.h.

24 {
25 return this->msgStream();
26 }

◆ msgLvl()

bool AthCommonMsg< AlgTool >::msgLvl ( const MSG::Level lvl) const
inlineinherited

Definition at line 30 of file AthCommonMsg.h.

30 {
31 return this->msgLevel(lvl);
32 }

◆ outputHandles()

virtual std::vector< Gaudi::DataHandle * > AthCommonDataStore< AthCommonMsg< AlgTool > >::outputHandles ( ) const
overridevirtualinherited

Return this algorithm's output handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ renounce()

std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > AthCommonDataStore< AthCommonMsg< AlgTool > >::renounce ( T & h)
inlineprotectedinherited

Definition at line 380 of file AthCommonDataStore.h.

381 {
382 h.renounce();
384 }
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce(T &h)

◆ renounceArray()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::renounceArray ( SG::VarHandleKeyArray & handlesArray)
inlineprotectedinherited

remove all handles from I/O resolution

Definition at line 364 of file AthCommonDataStore.h.

364 {
366 }

◆ sysInitialize()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysInitialize ( )
overridevirtualinherited

Perform system initialization for an algorithm.

We override this to declare all the elements of handle key arrays at the end of initialization. See comments on updateVHKA.

Reimplemented in asg::AsgMetadataTool, AthCheckedComponent< AthAlgTool >, AthCheckedComponent<::AthAlgTool >, and DerivationFramework::CfAthAlgTool.

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysStart ( )
overridevirtualinherited

Handle START transition.

We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.

◆ updateVHKA()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::updateVHKA ( Gaudi::Details::PropertyBase & )
inlineinherited

Definition at line 308 of file AthCommonDataStore.h.

308 {
309 // debug() << "updateVHKA for property " << p.name() << " " << p.toString()
310 // << " size: " << m_vhka.size() << endmsg;
311 for (auto &a : m_vhka) {
313 for (auto k : keys) {
314 k->setOwner(this);
315 }
316 }
317 }
std::vector< SG::VarHandleKeyArray * > m_vhka

Member Data Documentation

◆ m_detStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
privateinherited

Pointer to StoreGate (detector store by default)

Definition at line 393 of file AthCommonDataStore.h.

◆ m_evtStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
privateinherited

Pointer to StoreGate (event store by default)

Definition at line 390 of file AthCommonDataStore.h.

◆ m_varHandleArraysDeclared

bool AthCommonDataStore< AthCommonMsg< AlgTool > >::m_varHandleArraysDeclared
privateinherited

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

std::vector<SG::VarHandleKeyArray*> AthCommonDataStore< AthCommonMsg< AlgTool > >::m_vhka
privateinherited

Definition at line 398 of file AthCommonDataStore.h.


The documentation for this class was generated from the following files: