ATLAS Offline Software
|
#include <STgcClusterBuilderCommon.h>
Public Member Functions | |
STgcClusterBuilderCommon (const sTgcIdHelper &idHelper, const NswErrorCalibData &errorCalibData) | |
Constructor. More... | |
std::array< std::vector< sTgcPrepData >, 8 > | sortSTGCPrdPerLayer (std::vector< sTgcPrepData > &&stripPrds) const |
Separate the sTGC PRDs by layer, from 0 to 7, and sort the PRDs per layer in ascending order of strip number. More... | |
std::vector< std::vector< sTgcPrepData > > | findStripCluster (std::vector< sTgcPrepData > &&strips, const int maxMissingStrip) const |
Find strip clusters, assuming the input vector of PRDs are sorted in ascending order of strip number. More... | |
std::optional< STgcClusterPosition > | weightedAverage (const std::vector< sTgcPrepData > &cluster, const double resolution, bool isStrip) const |
Compute the cluster position using the weighted average method. More... | |
std::optional< STgcClusterPosition > | caruanaGaussianFitting (const std::vector< sTgcPrepData > &cluster, const double positionResolution, const double angularResolution, const MuonGM::MuonDetectorManager *detManager) const |
Method to fit analytically a cluster to a Gaussian function to obtain the position of the cluster The method supports only strip clusters having at least 3 strips. More... | |
bool | msgLvl (const MSG::Level lvl) const |
Test the output level. More... | |
MsgStream & | msg () const |
The standard message stream. More... | |
MsgStream & | msg (const MSG::Level lvl) const |
The standard message stream. More... | |
void | setLevel (MSG::Level lvl) |
Change the current logging level. More... | |
Private Member Functions | |
void | initMessaging () const |
Initialize our message level and MessageSvc. More... | |
Private Attributes | |
const sTgcIdHelper & | m_stgcIdHelper |
const NswErrorCalibData & | m_errorCalibData |
std::string | m_nm |
Message source name. More... | |
boost::thread_specific_ptr< MsgStream > | m_msg_tls |
MsgStream instance (a std::cout like with print-out levels) More... | |
std::atomic< IMessageSvc * > | m_imsg { nullptr } |
MessageSvc pointer. More... | |
std::atomic< MSG::Level > | m_lvl { MSG::NIL } |
Current logging level. More... | |
std::atomic_flag m_initialized | ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT |
Messaging initialized (initMessaging) More... | |
Definition at line 30 of file STgcClusterBuilderCommon.h.
Muon::STgcClusterBuilderCommon::STgcClusterBuilderCommon | ( | const sTgcIdHelper & | idHelper, |
const NswErrorCalibData & | errorCalibData | ||
) |
std::optional< Muon::STgcClusterPosition > Muon::STgcClusterBuilderCommon::caruanaGaussianFitting | ( | const std::vector< sTgcPrepData > & | cluster, |
const double | positionResolution, | ||
const double | angularResolution, | ||
const MuonGM::MuonDetectorManager * | detManager | ||
) | const |
Method to fit analytically a cluster to a Gaussian function to obtain the position of the cluster The method supports only strip clusters having at least 3 strips.
A Gaussian function y(x) = A exp(-(x - \mu)^2 / (2 \sigma^2)) can be written as a quadratic function: ln(y(x)) = ln(A) - (x - \mu)^2 / (2 \sigma^2) = ln(A) - \mu^2 / (2 \sigma^2) - \mu x / \sigma^2 - x^2 / (2 \sigma^2) = a + b x + c x^2 where a = ln(A) - \mu^2 / (2 \sigma^2), b = -\mu / \sigma^2 and c = -1 / / (2 \sigma^2). Solving the equation, the mean position is \mu = -b / (2 c) and standard dev is \sigma = sqrt(-1 / (2 c)).
Parameters positionResolution and angularResolution enter in the estimate of the error on the mean position.
Definition at line 155 of file STgcClusterBuilderCommon.cxx.
std::vector< std::vector< Muon::sTgcPrepData > > Muon::STgcClusterBuilderCommon::findStripCluster | ( | std::vector< sTgcPrepData > && | strips, |
const int | maxMissingStrip | ||
) | const |
Find strip clusters, assuming the input vector of PRDs are sorted in ascending order of strip number.
Definition at line 44 of file STgcClusterBuilderCommon.cxx.
|
privateinherited |
Initialize our message level and MessageSvc.
This method should only be called once.
Definition at line 39 of file AthMessaging.cxx.
|
inlineinherited |
The standard message stream.
Returns a reference to the default message stream May not be invoked before sysInitialize() has been invoked.
Definition at line 164 of file AthMessaging.h.
|
inlineinherited |
The standard message stream.
Returns a reference to the default message stream May not be invoked before sysInitialize() has been invoked.
Definition at line 179 of file AthMessaging.h.
|
inlineinherited |
Test the output level.
lvl | The message level to test against |
true | Messages at level "lvl" will be printed |
Definition at line 151 of file AthMessaging.h.
|
inherited |
Change the current logging level.
Use this rather than msg().setLevel() for proper operation with MT.
Definition at line 28 of file AthMessaging.cxx.
std::array< std::vector< Muon::sTgcPrepData >, 8 > Muon::STgcClusterBuilderCommon::sortSTGCPrdPerLayer | ( | std::vector< sTgcPrepData > && | stripPrds | ) | const |
Separate the sTGC PRDs by layer, from 0 to 7, and sort the PRDs per layer in ascending order of strip number.
Definition at line 20 of file STgcClusterBuilderCommon.cxx.
std::optional< Muon::STgcClusterPosition > Muon::STgcClusterBuilderCommon::weightedAverage | ( | const std::vector< sTgcPrepData > & | cluster, |
const double | resolution, | ||
bool | isStrip | ||
) | const |
Compute the cluster position using the weighted average method.
Definition at line 83 of file STgcClusterBuilderCommon.cxx.
|
mutableprivateinherited |
Messaging initialized (initMessaging)
Definition at line 141 of file AthMessaging.h.
|
private |
Definition at line 64 of file STgcClusterBuilderCommon.h.
|
mutableprivateinherited |
MessageSvc pointer.
Definition at line 135 of file AthMessaging.h.
|
mutableprivateinherited |
Current logging level.
Definition at line 138 of file AthMessaging.h.
|
mutableprivateinherited |
MsgStream instance (a std::cout like with print-out levels)
Definition at line 132 of file AthMessaging.h.
|
privateinherited |
Message source name.
Definition at line 129 of file AthMessaging.h.
|
private |
Definition at line 63 of file STgcClusterBuilderCommon.h.