ATLAS Offline Software
NswStationFitter.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TRIGL2MUONSA_NSWSTATIONFITTER_H
6 #define TRIGL2MUONSA_NSWSTATIONFITTER_H
7 
9 #include "GaudiKernel/ServiceHandle.h"
10 #include "GaudiKernel/ToolHandle.h"
11 
13 
14 #include "StgcData.h"
15 #include "MmData.h"
16 #include "TrackData.h"
17 
18 namespace TrigL2MuonSA {
19 
21  {
22  public:
23 
24  public:
25 
26  NswStationFitter(const std::string& type,
27  const std::string& name,
28  const IInterface* parent);
29 
31  TrigL2MuonSA::TrackPattern& trackPattern,
32  TrigL2MuonSA::StgcHits& stgcHits,
33  TrigL2MuonSA::MmHits& mmHits) const;
34 
36  TrigL2MuonSA::StgcHits& stgcHits) const;
37 
39  TrigL2MuonSA::MmHits& mmHits) const;
40 
42 
44 
46  std::array<std::vector<int>,8> hitIdByLayer,
47  std::vector<std::array<int, 8>>& hitIdsCandidate) const;
48 
50 
52  std::array<std::vector<int>,8> hitIdByLayer,
53  std::vector<std::array<int, 8>>& hitIdsCandidate) const;
54 
56  TrigL2MuonSA::StgcHits& stgcHits) const;
58  TrigL2MuonSA::MmHits& mmHits) const;
59 
61 
62  void LinearFit(std::vector<double>& x,std::vector<double>& y,
63  double* slope, double* intercept, double* mse) const;
64  void LinearFitWeight(std::vector<double>& x,std::vector<double>& y,std::vector<bool>& isStgc,
65  double* slope, double* intercept, double* mse, double eta) const;
66 
67  void getNswResolution(double *stgcDeltaR, double *mmDeltaR, unsigned int size) const;
68 
69  private :
70 
71  };
72 
73 } // namespace TrigL2MuonSA
74 
75 #endif // TRIGL2MUONSA_NSWSTATIONFITTER_H
TrigL2MuonSA::NswStationFitter::superPointFitter
StatusCode superPointFitter(const TrigRoiDescriptor *p_roids, TrigL2MuonSA::TrackPattern &trackPattern, TrigL2MuonSA::StgcHits &stgcHits, TrigL2MuonSA::MmHits &mmHits) const
Definition: NswStationFitter.cxx:33
TrigL2MuonSA::NswStationFitter::NswStationFitter
NswStationFitter(const std::string &type, const std::string &name, const IInterface *parent)
Definition: NswStationFitter.cxx:26
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:79
TrigL2MuonSA::NswStationFitter::MakeSegment
StatusCode MakeSegment(TrigL2MuonSA::TrackPattern &trackPattern, TrigL2MuonSA::StgcHits &stgcHits) const
Definition: NswStationFitter.cxx:776
MmData.h
TrigL2MuonSA::NswStationFitter::findStgcHitsInSegment
StatusCode findStgcHitsInSegment(TrigL2MuonSA::StgcHits &stgcHits) const
Definition: NswStationFitter.cxx:269
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
x
#define x
TrigL2MuonSA::NswStationFitter::LinearFitWeight
void LinearFitWeight(std::vector< double > &x, std::vector< double > &y, std::vector< bool > &isStgc, double *slope, double *intercept, double *mse, double eta) const
Definition: NswStationFitter.cxx:844
TrigL2MuonSA::TrackPattern
Definition: TrackData.h:16
python.setupRTTAlg.size
int size
Definition: setupRTTAlg.py:39
TrigL2MuonSA::NswStationFitter::findSetOfStgcHitIds
void findSetOfStgcHitIds(TrigL2MuonSA::StgcHits &stgcHits, std::array< std::vector< int >, 8 > hitIdByLayer, std::vector< std::array< int, 8 >> &hitIdsCandidate) const
Definition: NswStationFitter.cxx:361
TrigL2MuonSA::NswStationFitter::findSetOfMmHitIds
void findSetOfMmHitIds(TrigL2MuonSA::MmHits &mmHits, std::array< std::vector< int >, 8 > hitIdByLayer, std::vector< std::array< int, 8 >> &hitIdsCandidate) const
Definition: NswStationFitter.cxx:1239
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
test_pyathena.parent
parent
Definition: test_pyathena.py:15
TrigL2MuonSA::NswStationFitter::selectMmHits
StatusCode selectMmHits(const TrigRoiDescriptor *p_roids, TrigL2MuonSA::MmHits &mmHits) const
Definition: NswStationFitter.cxx:134
TrigL2MuonSA::NswStationFitter
Definition: NswStationFitter.h:21
lumiFormat.array
array
Definition: lumiFormat.py:98
TrigL2MuonSA::NswStationFitter::calcWeightedSumHit
StatusCode calcWeightedSumHit(TrigL2MuonSA::TrackPattern &trackPattern) const
Definition: NswStationFitter.cxx:184
private
#define private
Definition: DetDescrConditionsDict_dict_fixes.cxx:13
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
TrigL2MuonSA::NswStationFitter::getNswResolution
void getNswResolution(double *stgcDeltaR, double *mmDeltaR, unsigned int size) const
Definition: NswStationFitter.cxx:914
TrigL2MuonSA::NswStationFitter::calcMergedHit
StatusCode calcMergedHit(TrigL2MuonSA::TrackPattern &trackPattern) const
Definition: NswStationFitter.cxx:924
TrigL2MuonSA::MmHits
std::vector< MmHitData > MmHits
Definition: MmData.h:47
y
#define y
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
TrigL2MuonSA::StgcHits
std::vector< StgcHitData > StgcHits
Definition: StgcData.h:49
TrigL2MuonSA::NswStationFitter::findMmHitsInSegment
StatusCode findMmHitsInSegment(TrigL2MuonSA::MmHits &mmHits) const
Definition: NswStationFitter.cxx:1187
TrigRoiDescriptor.h
AthAlgTool
Definition: AthAlgTool.h:26
StgcData.h
TrigL2MuonSA::NswStationFitter::selectStgcHits
StatusCode selectStgcHits(const TrigRoiDescriptor *p_roids, TrigL2MuonSA::StgcHits &stgcHits) const
Definition: NswStationFitter.cxx:86
TrigL2MuonSA
Definition: AlignmentBarrelLUT.h:13
TrigL2MuonSA::NswStationFitter::LinearFit
void LinearFit(std::vector< double > &x, std::vector< double > &y, double *slope, double *intercept, double *mse) const
Definition: NswStationFitter.cxx:806