ATLAS Offline Software
AlphaBetaEstimate.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 TRIGL2MUONSA_ALPHABETAESTIMATE_H
6 #define TRIGL2MUONSA_ALPHABETAESTIMATE_H
7 
9 
10 #include "GaudiKernel/ServiceHandle.h"
11 
13 
14 #include "TgcFitResult.h"
15 #include "MuonRoad.h"
16 #include "TrackData.h"
17 
18 #include "PtEndcapLUTSvc.h"
19 
20 namespace TrigL2MuonSA {
21 
23 {
24  public:
25 
26  AlphaBetaEstimate(const std::string& type,
27  const std::string& name,
28  const IInterface* parent);
29 
30  void setMCFlag(const BooleanProperty& use_mcLUT,
31  const TrigL2MuonSA::PtEndcapLUTSvc* ptEndcapLUTSvc);
32 
33  public:
34 
36  TrigL2MuonSA::TgcFitResult& tgcFitResult,
37  TrigL2MuonSA::TrackPattern& trackPattern,
38  const TrigL2MuonSA::MuonRoad& muonRoad) const;
39 
40  private:
41 
42  double computeRadius(double InnerSlope, double InnerR, double InnerZ,
43  double MiddleSlope, double MiddleR, double MiddleZ,
44  double sign) const;
45 
46  double computeRadius3Points(double InnerZ, double InnerR, double EEZ, double EER,double MiddleZ, double MiddleR ) const ;
47  double calcDistance(double x1,double y1,double x2,double y2,double x3,double y3) const;
48 
49  inline bool isZero( float value, float tolerance = 1e-5 ) const {
50  return std::abs( value ) < tolerance;
51  }
52 
53  BooleanProperty m_use_mcLUT;
54 
55  const ToolHandle<PtEndcapLUT>* m_ptEndcapLUT {nullptr}; // point to LUT when calling setMCFlag()
56 
57 };
58 
59 } // namespace TrigL2MuonSA
60 
61 #endif // ALPHABETAESTIMATE_H
MuonRoad.h
plotBeamSpotCompare.x1
x1
Definition: plotBeamSpotCompare.py:216
tolerance
constexpr double tolerance
Definition: runMdtGeoComparison.cxx:105
TrigL2MuonSA::AlphaBetaEstimate::setMCFlag
void setMCFlag(const BooleanProperty &use_mcLUT, const TrigL2MuonSA::PtEndcapLUTSvc *ptEndcapLUTSvc)
Definition: AlphaBetaEstimate.cxx:27
TrigL2MuonSA::AlphaBetaEstimate::m_use_mcLUT
BooleanProperty m_use_mcLUT
Definition: AlphaBetaEstimate.h:53
TrigL2MuonSA::TgcFitResult
Definition: TgcFitResult.h:11
plotBeamSpotCompare.x2
x2
Definition: plotBeamSpotCompare.py:218
athena.value
value
Definition: athena.py:122
TrigRoiDescriptor
nope - should be used for standalone also, perhaps need to protect the class def bits #ifndef XAOD_AN...
Definition: TrigRoiDescriptor.h:56
TrackData.h
PtEndcapLUTSvc.h
makeTRTBarrelCans.y1
tuple y1
Definition: makeTRTBarrelCans.py:15
TrigL2MuonSA::AlphaBetaEstimate::setAlphaBeta
StatusCode setAlphaBeta(const TrigRoiDescriptor *p_roids, TrigL2MuonSA::TgcFitResult &tgcFitResult, TrigL2MuonSA::TrackPattern &trackPattern, const TrigL2MuonSA::MuonRoad &muonRoad) const
Definition: AlphaBetaEstimate.cxx:37
TrigL2MuonSA::TrackPattern
Definition: TrackData.h:16
TrigL2MuonSA::AlphaBetaEstimate::AlphaBetaEstimate
AlphaBetaEstimate(const std::string &type, const std::string &name, const IInterface *parent)
Definition: AlphaBetaEstimate.cxx:17
TrigL2MuonSA::AlphaBetaEstimate::isZero
bool isZero(float value, float tolerance=1e-5) const
Definition: AlphaBetaEstimate.h:49
TrigL2MuonSA::MuonRoad
Definition: MuonRoad.h:20
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
makeTRTBarrelCans.y2
tuple y2
Definition: makeTRTBarrelCans.py:18
AthAlgTool.h
test_pyathena.parent
parent
Definition: test_pyathena.py:15
sign
int sign(int a)
Definition: TRT_StrawNeighbourSvc.h:127
TrigL2MuonSA::AlphaBetaEstimate::computeRadius3Points
double computeRadius3Points(double InnerZ, double InnerR, double EEZ, double EER, double MiddleZ, double MiddleR) const
Definition: AlphaBetaEstimate.cxx:309
TrigL2MuonSA::AlphaBetaEstimate::calcDistance
double calcDistance(double x1, double y1, double x2, double y2, double x3, double y3) const
Definition: AlphaBetaEstimate.cxx:346
TgcFitResult.h
tolerance
Definition: suep_shower.h:17
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
TrigL2MuonSA::AlphaBetaEstimate::m_ptEndcapLUT
const ToolHandle< PtEndcapLUT > * m_ptEndcapLUT
Definition: AlphaBetaEstimate.h:55
TrigL2MuonSA::AlphaBetaEstimate::computeRadius
double computeRadius(double InnerSlope, double InnerR, double InnerZ, double MiddleSlope, double MiddleR, double MiddleZ, double sign) const
Definition: AlphaBetaEstimate.cxx:271
DiTauMassTools::MaxHistStrategyV2::e
e
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:26
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
TrigRoiDescriptor.h
AthAlgTool
Definition: AthAlgTool.h:26
TrigL2MuonSA::AlphaBetaEstimate
Definition: AlphaBetaEstimate.h:23
TrigL2MuonSA
Definition: AlignmentBarrelLUT.h:13
TrigL2MuonSA::PtEndcapLUTSvc
Definition: PtEndcapLUTSvc.h:20