ATLAS Offline Software
Loading...
Searching...
No Matches
TrigL2MuonSA::TgcFit Class Reference

#include <TgcFit.h>

Inheritance diagram for TrigL2MuonSA::TgcFit:
Collaboration diagram for TrigL2MuonSA::TgcFit:

Classes

struct  LinStats
struct  Point
struct  SimpleStats
 A structure to hold simple statisitcs. More...

Public Types

enum  Status { FIT_NONE , FIT_POINT , FIT_LINE }
typedef std::vector< PointPointArray

Public Member Functions

 TgcFit (const std::string &type, const std::string &name, const IInterface *parent)
void setFitParameters (double CHI2_TEST, unsigned MIN_WIRE_POINTS, unsigned MIN_STRIP_POINTS)
const LinStatsgetStripLinStats () const
const LinStatsgetWireLinStats () const
void linReg (PointArray &points, LinStats &stats) const
void SimpleStatistics (PointArray &points, SimpleStats &stats) const
Status runTgcMiddle (PointArray &stripPoints, PointArray &wirePoints, TgcFitResult &fitResult) const
Status runTgcInner (PointArray &stripPoints, PointArray &wirePoints, TgcFitResult &fitResult) const
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

Protected Member Functions

size_t countUniqueStations (const TrigL2MuonSA::TgcFit::PointArray &) const
void printDebug (const std::string &str) const
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.

Protected Attributes

PointArray m_superPoints
 List of wire (eta) super-points.
double m_CHI2_TEST { 10.0 }
unsigned m_MIN_WIRE_POINTS { 4 }
 Test for outliers: w * (value - mean)^2 > CHI2_TEST.
unsigned m_MIN_STRIP_POINTS { 3 }
 Minimum number of strip points for linear fit.

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 21 of file TgcFit.h.

Member Typedef Documentation

◆ PointArray

Definition at line 86 of file TgcFit.h.

◆ StoreGateSvc_t

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

Definition at line 388 of file AthCommonDataStore.h.

Member Enumeration Documentation

◆ Status

Enumerator
FIT_NONE 
FIT_POINT 
FIT_LINE 

Definition at line 24 of file TgcFit.h.

Constructor & Destructor Documentation

◆ TgcFit()

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

Definition at line 20 of file TgcFit.cxx.

22 :
23 AthAlgTool(type, name, parent)
24{
25}
AthAlgTool()
Default constructor:

Member Function Documentation

◆ countUniqueStations()

size_t TrigL2MuonSA::TgcFit::countUniqueStations ( const TrigL2MuonSA::TgcFit::PointArray & array) const
protected

Definition at line 188 of file TgcFit.cxx.

188 {
189 std::vector<int> Stations;
190 Stations.reserve(array.size());
191 for (const TrigL2MuonSA::TgcFit::Point& wirePt : array)
192 {
193 Stations.push_back(wirePt.nStation);
194 }
195 std::sort(Stations.begin(), Stations.end());
196 Stations.erase( std::unique( Stations.begin(), Stations.end() ), Stations.end() );
197 return Stations.size();
198}
DataModel_detail::iterator< DVL > unique(typename DataModel_detail::iterator< DVL > beg, typename DataModel_detail::iterator< DVL > end)
Specialization of unique for DataVector/List.
void sort(typename DataModel_detail::iterator< DVL > beg, typename DataModel_detail::iterator< DVL > end)
Specialization of sort for DataVector/List.

◆ 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

◆ getStripLinStats()

const LinStats & TrigL2MuonSA::TgcFit::getStripLinStats ( ) const

◆ getWireLinStats()

const LinStats & TrigL2MuonSA::TgcFit::getWireLinStats ( ) const

◆ 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.

◆ linReg()

void TrigL2MuonSA::TgcFit::linReg ( PointArray & points,
LinStats & stats ) const

Definition at line 114 of file TgcFit.cxx.

115{
116 double *x = new double[points.size()];
117 double *y = new double[points.size()];
118 double *w = new double[points.size()];
119 for (;;)
120 {
121 stats.clear();
122 for (const TrigL2MuonSA::TgcFit::Point& Pt : points)
123 {
124 if (!Pt.bOutlier)
125 {
126 x[stats.n] = Pt.fX;
127 y[stats.n] = Pt.fY;
128 w[stats.n] = Pt.fW;
129 stats.n++;
130 }
131 }
132 if (stats.n < 2)
133 break;
134
135 // suppress thread-checker warning about unchecked code (gsl is thread-safe)
136 int status [[maybe_unused]] ATLAS_THREAD_SAFE = gsl_fit_wlinear(x, 1,
137 w, 1,
138 y, 1,
139 stats.n,
140 &stats.fIntercept, &stats.fSlope,
141 &stats.fCov00, &stats.fCov01, &stats.fCov11,
142 &stats.fChi2);
143 ATH_MSG_DEBUG("Y=" << stats.fIntercept << "+X*" << stats.fSlope
144 << ", N=" << stats.n << ", Chi2=" << stats.fChi2);
145
146 double fMaxChi2 = 0.0;
147 int iPtMax = -1;
148 for (unsigned iPt = 0; iPt < points.size(); iPt++)
149 {
150 if (!points[iPt].bOutlier)
151 {
152 double fDiff = points[iPt].fY - stats.eval(points[iPt].fX);
153 points[iPt].fChi2 = points[iPt].fW * fDiff * fDiff;
154 if (fMaxChi2 < points[iPt].fChi2)
155 {
156 fMaxChi2 = points[iPt].fChi2;
157 iPtMax = iPt;
158 }
159 }
160 }
161 if (iPtMax == -1 || fMaxChi2 < m_CHI2_TEST || stats.n <= 2)
162 break;
163 points[iPtMax].bOutlier = true;
164 }
165
166 delete [] x;
167 delete [] y;
168 delete [] w;
169
170 // Print results
171 for (const TrigL2MuonSA::TgcFit::Point& Pt : points)
172 {
173 if (!Pt.bOutlier)
174 {
175 ATH_MSG_DEBUG("Idx=" << Pt.nIdx
176 << ", x=" << Pt.fX
177 << ", y=" << Pt.fY
178 << ", w=" << Pt.fW
179 << ", Y=" << stats.eval(Pt.fX)
180 << ", chi2=" << Pt.fChi2);
181 }
182 }
183}
#define ATH_MSG_DEBUG(x)
#define y
#define x
#define ATLAS_THREAD_SAFE
status
Definition merge.py:16

◆ 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.

◆ printDebug()

void TrigL2MuonSA::TgcFit::printDebug ( const std::string & str) const
inlineprotected

Definition at line 199 of file TgcFit.h.

199{ ATH_MSG_DEBUG(str); };

◆ 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 }

◆ runTgcInner()

TrigL2MuonSA::TgcFit::Status TrigL2MuonSA::TgcFit::runTgcInner ( PointArray & stripPoints,
PointArray & wirePoints,
TrigL2MuonSA::TgcFitResult & tgcFitResult ) const

Definition at line 318 of file TgcFit.cxx.

321{
323 SimpleStats stripStats;
324 SimpleStats wireStats;
325
326 tgcFitResult.tgcInnRhoNin = wirePoints.size();
327 tgcFitResult.tgcInnPhiNin = stripPoints.size();
328
329 ATH_MSG_DEBUG("runTgcInner: stripPoints.size()=" << stripPoints.size()
330 << ", wirePoints.size()=" << wirePoints.size());
331
332 if (stripPoints.size() > 1 && wirePoints.size() > 1)
333 {
335 printDebug("runTgcInner: Wires fit point");
336 SimpleStatistics(wirePoints, wireStats);
337
338 printDebug("runTgcInner: Strips fit point");
339 SimpleStatistics(stripPoints, stripStats);
340
341 Amg::Vector3D p(wireStats.fMean, 0.0, wirePoints[0].fX);
342 double phi = stripStats.fMean;
343 if( phi > M_PI ) phi -= M_PI*2;
344 if( phi < -M_PI ) phi += M_PI*2;
345 Amg::setPhi(p, phi);
346
347 ATH_MSG_DEBUG("runTgcInner: Point eta=" << p.eta()
348 << ",phi=" << p.phi() << ",perp=" << p.perp() << ",z=" << p.z());
349
350 tgcFitResult.tgcInn[0] = p.eta();
351 tgcFitResult.tgcInn[1] = p.phi();
352 tgcFitResult.tgcInn[2] = p.perp();
353 tgcFitResult.tgcInn[3] = p.z();
354 tgcFitResult.tgcInnRhoStd = wireStats.fStd;
355 tgcFitResult.tgcInnRhoN = wireStats.n;
356 tgcFitResult.tgcInnPhiStd = stripStats.fStd;
357 tgcFitResult.tgcInnPhiN = stripStats.n;
358 }
359 return status;
360}
#define M_PI
Scalar phi() const
phi method
void SimpleStatistics(PointArray &points, SimpleStats &stats) const
Definition TgcFit.cxx:54
void printDebug(const std::string &str) const
Definition TgcFit.h:199
Amg::RotationMatrix3D setPhi(Amg::RotationMatrix3D mat, double angle, int convention=0)
Eigen::Matrix< double, 3, 1 > Vector3D
A structure to hold simple statisitcs.
Definition TgcFit.h:92

◆ runTgcMiddle()

TrigL2MuonSA::TgcFit::Status TrigL2MuonSA::TgcFit::runTgcMiddle ( PointArray & stripPoints,
PointArray & wirePoints,
TrigL2MuonSA::TgcFitResult & tgcFitResult ) const

Definition at line 200 of file TgcFit.cxx.

203{
204 ATH_MSG_DEBUG("TrigL2MuonSA::TgcFit::runTgcMiddle stripPoints=" << stripPoints.size()
205 << " wirePoints=" << wirePoints.size());
206
207 tgcFitResult.tgcMidRhoNin = wirePoints.size();
208 tgcFitResult.tgcMidPhiNin = stripPoints.size();
209
210 if (stripPoints.empty() || wirePoints.empty())
211 return FIT_NONE;
212
214 LinStats stripStats;
215 LinStats wireStats;
216 const int wireStationsCount = countUniqueStations(wirePoints);
217 const int stripStationsCount = countUniqueStations(stripPoints);
218
219
220 if (wireStationsCount == 1 || wirePoints.size() < m_MIN_WIRE_POINTS)
221 {
223 printDebug("runTgcMiddle: Wires fit point");
225 SimpleStatistics(wirePoints, stats);
226 wireStats.fIntercept = stats.fMean;
227 wireStats.n = stats.n;
228 wireStats.fChi2 = stats.fChi2;
229
230 printDebug("runTgcMiddle: Strips fit point");
231 SimpleStatistics(stripPoints, stats);
232 stripStats.fIntercept = stats.fMean;
233 stripStats.n = stats.n;
234 stripStats.fChi2 = stats.fChi2;
235 }
236 else
237 {
239 printDebug("runTgcMiddle: Wires fit line");
240 linReg(wirePoints, wireStats);
241 if (stripStationsCount == 1 || stripPoints.size() < m_MIN_STRIP_POINTS)
242 {
243 printDebug("runTgcMiddle: Strips fit point");
245 SimpleStatistics(stripPoints, stats);
246 stripStats.fIntercept = stats.fMean;
247 stripStats.n = stats.n;
248 stripStats.fChi2 = stats.fChi2;
249 }
250 else
251 {
252 printDebug("runTgcMiddle: Strips fit line");
253 linReg(stripPoints, stripStats);
254 }
255 }
256
257 tgcFitResult.intercept = wireStats.fIntercept;
258 tgcFitResult.slope = wireStats.fSlope;
259
260 // Create low and high points
261 double lowZ = 30000.0, highZ = 0.0;
262 int iLow = -1, iHigh = -1;
263 for (unsigned iPt = 0; iPt < wirePoints.size(); iPt++)
264 {
265 if (!wirePoints[iPt].bOutlier)
266 {
267 if (lowZ > std::abs(wirePoints[iPt].fX))
268 {
269 lowZ = std::abs(wirePoints[iPt].fX);
270 iLow = iPt;
271 }
272 if (highZ < std::abs(wirePoints[iPt].fX))
273 {
274 highZ = std::abs(wirePoints[iPt].fX);
275 iHigh = iPt;
276 }
277 }
278 }
279 if (iLow > -1 && iLow < (int)wirePoints.size()) lowZ = wirePoints[iLow].fX;
280 if (iHigh > -1 && iHigh < (int)wirePoints.size()) highZ = wirePoints[iHigh].fX;
281 Amg::Vector3D p1(wireStats.eval(lowZ), 0.0, lowZ);
282 double phi = stripStats.eval(lowZ);
283 if( phi > M_PI ) phi -= M_PI*2;
284 if( phi < -M_PI ) phi += M_PI*2;
285 Amg::setPhi(p1, phi);
286 Amg::Vector3D p2(wireStats.eval(highZ), 0.0, highZ);
287 phi = stripStats.eval(highZ);
288 if( phi > M_PI ) phi -= M_PI*2;
289 if( phi < -M_PI ) phi += M_PI*2;
290 Amg::setPhi(p2, phi);
291 {
292 ATH_MSG_DEBUG("runTgcMiddle: Point1 eta=" << p1.eta()
293 << ",phi=" << p1.phi() << ",perp=" << p1.perp() << ",z=" << p1.z());
294 }
295 {
296 ATH_MSG_DEBUG("runTgcMiddle: Point2 eta=" << p2.eta()
297 << ",phi=" << p2.phi() << ",perp=" << p2.perp() << ",z=" << p2.z());
298 }
299 tgcFitResult.tgcMid1[0] = p1.eta();
300 tgcFitResult.tgcMid1[1] = p1.phi();
301 tgcFitResult.tgcMid1[2] = p1.perp();
302 tgcFitResult.tgcMid1[3] = p1.z();
303 tgcFitResult.tgcMid2[0] = p2.eta();
304 tgcFitResult.tgcMid2[1] = p2.phi();
305 tgcFitResult.tgcMid2[2] = p2.perp();
306 tgcFitResult.tgcMid2[3] = p2.z();
307 tgcFitResult.tgcMidRhoChi2 = wireStats.fChi2;
308 tgcFitResult.tgcMidRhoN = wireStats.n;
309 tgcFitResult.tgcMidPhiChi2 = stripStats.fChi2;
310 tgcFitResult.tgcMidPhiN = stripStats.n;
311
312 return status;
313}
void linReg(PointArray &points, LinStats &stats) const
Definition TgcFit.cxx:114
unsigned m_MIN_WIRE_POINTS
Test for outliers: w * (value - mean)^2 > CHI2_TEST.
Definition TgcFit.h:196
size_t countUniqueStations(const TrigL2MuonSA::TgcFit::PointArray &) const
Definition TgcFit.cxx:188
unsigned m_MIN_STRIP_POINTS
Minimum number of strip points for linear fit.
Definition TgcFit.h:197

◆ setFitParameters()

void TrigL2MuonSA::TgcFit::setFitParameters ( double CHI2_TEST,
unsigned MIN_WIRE_POINTS,
unsigned MIN_STRIP_POINTS )

Definition at line 30 of file TgcFit.cxx.

33{
34 m_CHI2_TEST = CHI2_TEST;
35 m_MIN_WIRE_POINTS = MIN_WIRE_POINTS;
36 m_MIN_STRIP_POINTS = MIN_STRIP_POINTS;
37}

◆ SimpleStatistics()

void TrigL2MuonSA::TgcFit::SimpleStatistics ( PointArray & points,
SimpleStats & stats ) const

Definition at line 54 of file TgcFit.cxx.

55{
56 double *y = new double[points.size()];
57 double *w = new double[points.size()];
58 for (;;)
59 {
60 stats.clear();
61 for (const TrigL2MuonSA::TgcFit::Point& Pt : points)
62 {
63 // Exclude outliers.
64 if (!Pt.bOutlier)
65 {
66 y[stats.n] = Pt.fY;
67 w[stats.n] = Pt.fW;
68 stats.n++;
69 }
70 }
71 if (stats.n == 0)
72 break;
73
74 // Calculate mean and standard deviation.
75 // suppress thread-checker warning about unchecked code (gsl is thread-safe)
76 const double mean ATLAS_THREAD_SAFE = gsl_stats_wmean(w, 1, y, 1, stats.n);
77 stats.fMean = mean;
78 if (stats.n == 1)
79 break;
80 const double stddev ATLAS_THREAD_SAFE = gsl_stats_wsd (w, 1, y, 1, stats.n);
81 stats.fStd = stddev;
82 double fMaxChi2 = 0.0;
83 int iPtMax = -1;
84 for (unsigned iPt = 0; iPt < points.size(); iPt++)
85 {
86 if (!points[iPt].bOutlier)
87 {
88 double fDiff = points[iPt].fY - stats.fMean;
89 points[iPt].fChi2 = points[iPt].fW * fDiff * fDiff;
90 stats.fChi2 += points[iPt].fChi2;
91 if (fMaxChi2 < points[iPt].fChi2)
92 {
93 fMaxChi2 = points[iPt].fChi2;
94 iPtMax = iPt;
95 }
96 }
97 }
98 // Print results.
99 ATH_MSG_DEBUG( "SimpleStatistics:"
100 << " n=" << stats.n << " Mean=" << stats.fMean
101 << " Std=" << stats.fStd << " Chi2=" << stats.fChi2);
102
103 if (iPtMax == -1 || fMaxChi2 < m_CHI2_TEST)
104 break;
105 points[iPtMax].bOutlier = true;
106 }
107 delete [] y;
108 delete [] w;
109}
void mean(std::vector< double > &bins, std::vector< double > &values, const std::vector< std::string > &files, const std::string &histname, const std::string &tplotname, const std::string &label="")

◆ 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_CHI2_TEST

double TrigL2MuonSA::TgcFit::m_CHI2_TEST { 10.0 }
protected

Definition at line 195 of file TgcFit.h.

195{ 10.0 };

◆ 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_MIN_STRIP_POINTS

unsigned TrigL2MuonSA::TgcFit::m_MIN_STRIP_POINTS { 3 }
protected

Minimum number of strip points for linear fit.

Definition at line 197 of file TgcFit.h.

197{ 3 };

◆ m_MIN_WIRE_POINTS

unsigned TrigL2MuonSA::TgcFit::m_MIN_WIRE_POINTS { 4 }
protected

Test for outliers: w * (value - mean)^2 > CHI2_TEST.

Minimum number of wire points for linear fit.

Definition at line 196 of file TgcFit.h.

196{ 4 };

◆ m_superPoints

PointArray TrigL2MuonSA::TgcFit::m_superPoints
protected

List of wire (eta) super-points.

Definition at line 193 of file TgcFit.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: