5#ifndef TRIGL2MUONSA_MUFASTSTATIONFITTER_H
6#define TRIGL2MUONSA_MUFASTSTATIONFITTER_H
30 const std::string& name,
31 const IInterface* parent);
38 std::vector<TrigL2MuonSA::TrackPattern>& v_trackPatterns)
const;
42 std::vector<TrigL2MuonSA::TrackPattern>& v_trackPatterns,
49 std::vector<TrigL2MuonSA::TrackPattern>& v_trackPatterns,
65 this,
"ENDCAPMID_MDT_CHI2_LIMIT", 20.,
""};
67 this,
"RWIDTH_EndcapINN_FIRST", 150.,
""};
69 this,
"RWIDTH_EndcapINN_SECOND", 80.,
""};
71 this,
"RWIDTH_EndcapMID_FIRST", 150.,
""};
73 this,
"RWIDTH_EndcapMID_SECOND", 100.,
""};
75 this,
"RWIDTH_EndcapOUT_FIRST", 120.,
""};
77 this,
"RWIDTH_EndcapOUT_SECOND", 60.,
""};
79 this,
"MDT_DRFITSPACE_UPLIMIT", 14.8,
""};
81 this,
"MDT_DRFITSPACE_DOWNLIMIT", 0.1,
""};
84 this,
"BackExtrapolator",
"TrigMuonBackExtrapolator",
"public tool for back extrapolating the muon tracks to the IV"};
86 void Xline(
const std::array<float, NMEAMX>&,
87 const std::array<float, NMEAMX>&,
88 const std::array<float, NMEAMX>&,
90 float&,
float&,
float&,
float&,
float&,
float&, std::vector<int>* idx_vec =
nullptr)
const;
92 const std::array<float, NMEAMX>&,
93 const std::array<float, NMEAMX>&,
94 const std::array<float, NMEAMX>&,
95 const std::array<float, NMEAMX>&,
96 float&,
float&,
float&, std::vector<int>* idx_vec =
nullptr)
const;
98 const std::array<float, NMEAMX>&,
99 const std::array<float, NMEAMX>&,
100 const std::array<float, NMEAMX>&,
101 const std::array<float, NMEAMX>&,
102 float&,
float&,
float&,
float&)
const;
106 this,
"AlphaBetaEstimate",
"TrigL2MuonSA::AlphaBetaEstimate"};
108 this,
"PtFromAlphaBeta",
"TrigL2MuonSA::PtFromAlphaBeta",
""};
109 ToolHandle<NswStationFitter>
m_nswStationFitter {
this,
"NswStationFitter",
"TrigL2MuonSA::NswStationFitter"};
113 std::vector<std::vector<unsigned int> > &c,
117 std::vector<std::vector<unsigned int> > &c,
int &nr)
const;
123 const std::array<float, NMEAMX>&,
124 const std::array<float, NMEAMX>&,
125 const std::array<float, NMEAMX>&,
126 const std::array<float, NMEAMX>&,
127 float&,
float&,
float&,
float&, std::array<float, NCAND>&, std::array<float, NCAND>&, std::array<float, NCAND>&)
const;
133 double &aw,
double &tgc_aw,
double &bw)
const;
138 int s_address,
int i_station,
double aw)
const;
Gaudi::Property< double > m_rwidth_Endcapmid_second
void Circfit(const int, const std::array< float, NMEAMX > &, const std::array< float, NMEAMX > &, const std::array< float, NMEAMX > &, const std::array< float, NMEAMX > &, float &, float &, float &, std::vector< int > *idx_vec=nullptr) const
virtual StatusCode initialize() override
ToolHandle< AlphaBetaEstimate > m_alphaBetaEstimate
void Evlfit(TrigL2MuonSA::PBFitResult &fitres) const
Gaudi::Property< double > m_rwidth_Endcapinn_first
StatusCode setMCFlag(bool use_mcLUT)
StatusCode superPointFitter(TrigL2MuonSA::TrackPattern &trackPattern) const
double fromAlphaPtToInn(const TrigL2MuonSA::TgcFitResult &tgcFitResult, const TrigL2MuonSA::TrackPattern &trackPattern) const
ToolHandle< PtFromAlphaBeta > m_ptFromAlphaBeta
StatusCode findSuperPointsSimple(const TrigRoiDescriptor *p_roids, const TrigL2MuonSA::MuonRoad &muonRoad, TrigL2MuonSA::TgcFitResult &tgcFitResult, std::vector< TrigL2MuonSA::TrackPattern > &v_trackPatterns, TrigL2MuonSA::StgcHits &stgcHits, TrigL2MuonSA::MmHits &mmHits) const
void updateInnSP(TrigL2MuonSA::TrackPattern &trackPattern, double &aw, double &tgc_aw, double &bw) const
Gaudi::Property< double > m_rwidth_Endcapmid_first
void findLayerCombination(std::vector< unsigned int > &a, int n, int r, std::vector< std::vector< unsigned int > > &c, int &nr) const
void Circles(const int, const std::array< float, NMEAMX > &, const std::array< float, NMEAMX > &, const std::array< float, NMEAMX > &, const std::array< float, NMEAMX > &, float &, float &, float &, float &) const
Gaudi::Property< double > m_rwidth_Endcapout_first
StatusCode findSuperPoints(const TrigL2MuonSA::MuonRoad &muonRoad, TrigL2MuonSA::RpcFitResult &rpcFitResult, std::vector< TrigL2MuonSA::TrackPattern > &v_trackPatterns) const
ToolHandle< NswStationFitter > m_nswStationFitter
MuFastStationFitter(const std::string &type, const std::string &name, const IInterface *parent)
Gaudi::Property< double > m_rwidth_Endcapout_second
Gaudi::Property< double > m_endcapmid_mdt_chi2_limit
void findSubLayerCombination(std::vector< unsigned int > &a, int n, int r, std::vector< unsigned int > &b, int index, int num, std::vector< std::vector< unsigned int > > &c, int &nr) const
Gaudi::Property< double > m_mdt_driftspace_downlimit
Gaudi::Property< double > m_mdt_driftspace_uplimit
void stationSPFit(TrigL2MuonSA::MdtHits &mdtSegment, TrigL2MuonSA::SuperPoint &superPoint, TrigL2MuonSA::PBFitResult &pbFitResult, int s_address, int i_station, double aw) const
Gaudi::Property< double > m_rwidth_Endcapinn_second
void Xline(const std::array< float, NMEAMX > &, const std::array< float, NMEAMX > &, const std::array< float, NMEAMX > &, const int, float &, float &, float &, float &, float &, float &, std::vector< int > *idx_vec=nullptr) const
void makeReferenceLine(TrigL2MuonSA::TrackPattern &trackPattern, const TrigL2MuonSA::MuonRoad &muonRoad) const
ToolHandle< ITrigMuonBackExtrapolator > m_backExtrapolator
nope - should be used for standalone also, perhaps need to protect the class def bits ifndef XAOD_ANA...
std::vector< StgcHitData > StgcHits
std::vector< MdtHitData > MdtHits
std::vector< MmHitData > MmHits