ATLAS Offline Software
PtFromAlphaBeta.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_PTFROMALPHABETA_H
6 #define TRIGL2MUONSA_PTFROMALPHABETA_H
7 
9 
10 #include "GaudiKernel/ServiceHandle.h"
11 
12 #include "TrackData.h"
13 #include "PtEndcapLUTSvc.h"
14 #include "PtEndcapLUT.h"
15 #include "TgcFitResult.h"
16 
17 namespace TrigL2MuonSA {
18 
20 {
21  public:
22 
23  PtFromAlphaBeta(const std::string& type,
24  const std::string& name,
25  const IInterface* parent);
26 
27  virtual StatusCode initialize() override;
28 
29  void setMCFlag(const BooleanProperty& use_mcLUT,
30  const TrigL2MuonSA::PtEndcapLUTSvc* ptEndcapLUTSvc);
31 
32  public:
33 
35  TrigL2MuonSA::TgcFitResult& tgcFitResult) const;
36 
37  double compute_radius(double InnerSlope, double InnerR, double InnerZ,
38  double MiddleSlope, double MiddleR, double MiddleZ,
39  double sign);
40 
41  private:
42 
43  float f(float x, float c0, float c1, float c2, float c3) const;
44  float fp(float x, float c33, float c22, float c1) const;
45 
46  BooleanProperty m_use_mcLUT;
47  Gaudi::Property< bool > m_use_cscpt {
48  this, "useCscPt", false, ""};
49  Gaudi::Property< bool > m_avoid_misaligned_cscs {
50  this, "AvoidMisalignedCSCs", true, "avoid using the 2 new chambers, whose alignment is not completed"};
51 
52  const ToolHandle<PtEndcapLUT>* m_ptEndcapLUT{nullptr};
53 
54 };
55 
56 } // namespace TrigL2MuonSA
57 
58 #endif // PTFROMALPHABETA_H
TrigL2MuonSA::PtFromAlphaBeta::fp
float fp(float x, float c33, float c22, float c1) const
TrigL2MuonSA::TgcFitResult
Definition: TgcFitResult.h:11
TrigL2MuonSA::PtFromAlphaBeta
Definition: PtFromAlphaBeta.h:20
extractSporadic.c1
c1
Definition: extractSporadic.py:134
TrackData.h
TrigL2MuonSA::PtFromAlphaBeta::setPt
StatusCode setPt(TrigL2MuonSA::TrackPattern &trackPattern, TrigL2MuonSA::TgcFitResult &tgcFitResult) const
Definition: PtFromAlphaBeta.cxx:44
x
#define x
PtEndcapLUTSvc.h
TrigL2MuonSA::TrackPattern
Definition: TrackData.h:16
TrigL2MuonSA::PtFromAlphaBeta::setMCFlag
void setMCFlag(const BooleanProperty &use_mcLUT, const TrigL2MuonSA::PtEndcapLUTSvc *ptEndcapLUTSvc)
Definition: PtFromAlphaBeta.cxx:34
hotSpotInTAG.c0
c0
Definition: hotSpotInTAG.py:192
python.DataFormatRates.c3
c3
Definition: DataFormatRates.py:127
TrigL2MuonSA::PtFromAlphaBeta::f
float f(float x, float c0, float c1, float c2, float c3) const
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
PtEndcapLUT.h
TrigL2MuonSA::PtFromAlphaBeta::m_use_mcLUT
BooleanProperty m_use_mcLUT
Definition: PtFromAlphaBeta.h:46
AthAlgTool.h
test_pyathena.parent
parent
Definition: test_pyathena.py:15
sign
int sign(int a)
Definition: TRT_StrawNeighbourSvc.h:107
TgcFitResult.h
TrigL2MuonSA::PtFromAlphaBeta::compute_radius
double compute_radius(double InnerSlope, double InnerR, double InnerZ, double MiddleSlope, double MiddleR, double MiddleZ, double sign)
TrigL2MuonSA::PtFromAlphaBeta::m_ptEndcapLUT
const ToolHandle< PtEndcapLUT > * m_ptEndcapLUT
Definition: PtFromAlphaBeta.h:52
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:221
TrigL2MuonSA::PtFromAlphaBeta::PtFromAlphaBeta
PtFromAlphaBeta(const std::string &type, const std::string &name, const IInterface *parent)
Definition: PtFromAlphaBeta.cxx:14
python.DataFormatRates.c2
c2
Definition: DataFormatRates.py:123
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
TrigL2MuonSA::PtFromAlphaBeta::m_use_cscpt
Gaudi::Property< bool > m_use_cscpt
Definition: PtFromAlphaBeta.h:47
AthAlgTool
Definition: AthAlgTool.h:26
TrigL2MuonSA::PtFromAlphaBeta::initialize
virtual StatusCode initialize() override
Definition: PtFromAlphaBeta.cxx:24
TrigL2MuonSA::PtFromAlphaBeta::m_avoid_misaligned_cscs
Gaudi::Property< bool > m_avoid_misaligned_cscs
Definition: PtFromAlphaBeta.h:49
TrigL2MuonSA
Definition: AlignmentBarrelLUT.h:13
TrigL2MuonSA::PtEndcapLUTSvc
Definition: PtEndcapLUTSvc.h:20