ATLAS Offline Software
MuonHoughTransformer_xyz.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 MUONHOUGHPATTERNEVENT_MUONHOUGHTRANSFORMER_XYZ_H
6 #define MUONHOUGHPATTERNEVENT_MUONHOUGHTRANSFORMER_XYZ_H
7 
9 
12 protected:
14  MuonHoughTransformer_xyz(int nbins, int nbins_angle, double detectorsize, double detectorsize_angle, double threshold_histo,
15  int number_of_sectors = 1);
16 
18  std::unique_ptr<MuonHoughPattern> hookAssociateHitsToMaximum(const MuonHoughHitContainer& event, std::pair<double, double> coordsmaximum,
19  double residu_mm, double residu_grad, int sector) const override final;
20 
21 public:
23  virtual ~MuonHoughTransformer_xyz() = default;
24 
26  void fillHit(const std::shared_ptr<MuonHoughHit>& hit, double weight) override final;
28  int fillHisto(double r0, double phi, double weight, int sector) override final;
29 
31  int sector(const std::shared_ptr<MuonHoughHit>& hit) const override final;
32 
34  static double calculateAngle(double hitx, double hity, double r0);
35 
37  virtual std::unique_ptr<MuonHoughPattern> initialiseHoughPattern() const = 0;
39  float weightHoughTransform(double r0) const override final;
40 
42  virtual std::pair<double, double> getHitPos(const MuonHoughHitContainer& event, int hitid) const = 0;
43 };
44 
45 #endif // MUONHOUGHPATTERNEVENT_MUONHOUGHTRANSFORMER_XYZ_H
MuonHoughTransformer.h
phi
Scalar phi() const
phi method
Definition: AmgMatrixBasePlugin.h:64
MuonHoughTransformer_xyz::calculateAngle
static double calculateAngle(double hitx, double hity, double r0)
calcalates the phi angle for a given hit and r0
Definition: MuonHoughTransformer_xyz.cxx:103
dqt_zlumi_pandas.weight
int weight
Definition: dqt_zlumi_pandas.py:200
SCT_CalibAlgs::nbins
@ nbins
Definition: SCT_CalibNumbers.h:10
event
POOL::TEvent event(POOL::TEvent::kClassAccess)
MuonHoughTransformer_xyz::MuonHoughTransformer_xyz
MuonHoughTransformer_xyz(int nbins, int nbins_angle, double detectorsize, double detectorsize_angle, double threshold_histo, int number_of_sectors=1)
constructor
Definition: MuonHoughTransformer_xyz.cxx:8
TRT_PAI_physicsConstants::r0
const double r0
electron radius{cm}
Definition: TRT_PAI_physicsConstants.h:20
MuonHoughHitContainer
Definition: MuonHoughHitContainer.h:15
MuonHoughTransformer_xyz::sector
int sector(const std::shared_ptr< MuonHoughHit > &hit) const override final
returns the rz sector
Definition: MuonHoughTransformer_xyz.cxx:238
MuonHoughTransformer_xyz::initialiseHoughPattern
virtual std::unique_ptr< MuonHoughPattern > initialiseHoughPattern() const =0
build new houghpattern
MuonHoughTransformer_xyz::hookAssociateHitsToMaximum
std::unique_ptr< MuonHoughPattern > hookAssociateHitsToMaximum(const MuonHoughHitContainer &event, std::pair< double, double > coordsmaximum, double residu_mm, double residu_grad, int sector) const override final
associate hits to maximum found
Definition: MuonHoughTransformer_xyz.cxx:121
MuonHoughTransformer_xyz
abstract base class for hough transform with carthesian coordinates
Definition: MuonHoughTransformer_xyz.h:11
MuonHoughTransformer_xyz::fillHisto
int fillHisto(double r0, double phi, double weight, int sector) override final
fill transformed values in histogram
Definition: MuonHoughTransformer_xyz.cxx:46
MuonHoughTransformer_xyz::getHitPos
virtual std::pair< double, double > getHitPos(const MuonHoughHitContainer &event, int hitid) const =0
returns the relevant 2d hit position
MuonHoughTransformer_xyz::fillHit
void fillHit(const std::shared_ptr< MuonHoughHit > &hit, double weight) override final
fill hit in histogram
Definition: MuonHoughTransformer_xyz.cxx:15
MuonHoughTransformer
Abstract base class, Strategy pattern.
Definition: MuonHoughTransformer.h:21
MuonHoughTransformer_xyz::weightHoughTransform
float weightHoughTransform(double r0) const override final
put weight on houghtransform dependent on r0
Definition: MuonHoughTransformer_xyz.cxx:230
MuonHoughTransformer_xyz::~MuonHoughTransformer_xyz
virtual ~MuonHoughTransformer_xyz()=default
destructor