ATLAS Offline Software
TileMuonTrackDistance.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 /********************************************************************
6  *
7  * NAME: TileMuonTrackDistance
8  * PACKAGE: offline/TileCalorimeter/TileCosmicAlgs
9  *
10  * AUTHOR : J. Maneira
11  * CREATED: 10-Jul-2006
12  *
13  * PURPOSE: Minuit fit function for TileMuonFitter
14  * Supplies summed distance from cells to track
15  *
16  * Input: Cells
17  * Output: Track parameters
18  *
19  ********************************************************************/
20 
21 // C++ STL includes
22 #include <vector>
23 
24 // external packages declarations
25 #include "Minuit2/FCNBase.h"
26 #include "CLHEP/Vector/ThreeVector.h"
27 
28 namespace ROOT {
29  namespace Minuit2 {
30 
41  class TileMuonTrackDistance: public FCNBase {
42 
43  public:
44 
46  TileMuonTrackDistance(const std::vector<double>& X, const std::vector<double>& Y, const std::vector<double>& Z,
47  const std::vector<double>& E)
48  : m_theX(X), m_theY(Y), m_theZ(Z), m_theE(E), m_doWeighted(false), m_meanX(0.0), m_meanY(0.0), m_meanZ(0.0) {
49  }
50 
51  virtual ~TileMuonTrackDistance() {
52  }
53 
55  virtual double operator()(const std::vector<double>&) const;
56  virtual double Up() const {
57  return 1.;
58  }
59 
61  void Means();
63  double Distance2SinglePoint(double x, double y, double z, const std::vector<double>& par) const;
65  CLHEP::Hep3Vector ClosestPoint(CLHEP::Hep3Vector *dataPoint, const std::vector<double>& par) const;
66 
68  double GetMeanX() {
69  return m_meanX;
70  }
72  double GetMeanY() {
73  return m_meanY;
74  }
76  double GetMeanZ() {
77  return m_meanZ;
78  }
79 
81  void SetWeighted(bool weight) {
83  }
85  bool GetWeighted() {
86  return m_doWeighted;
87  }
88 
89  private:
91  std::vector<double> m_theX;
93  std::vector<double> m_theY;
95  std::vector<double> m_theZ;
97  std::vector<double> m_theE;
98 
101 
102  double m_meanX;
103  double m_meanY;
104  double m_meanZ;
105 
106  };
107 
108  }
109 }
ROOT::Minuit2::TileMuonTrackDistance::GetWeighted
bool GetWeighted()
Get weight/no-weight flag.
Definition: TileMuonTrackDistance.h:113
ROOT::Minuit2::TileMuonTrackDistance::GetMeanX
double GetMeanX()
X mean getter.
Definition: TileMuonTrackDistance.h:96
ROOT::Minuit2::TileMuonTrackDistance::m_meanY
double m_meanY
Definition: TileMuonTrackDistance.h:131
ROOT::Minuit2::TileMuonTrackDistance::Up
virtual double Up() const
Definition: TileMuonTrackDistance.h:84
ROOT::Minuit2::TileMuonTrackDistance::m_doWeighted
bool m_doWeighted
Weight/no-weight flag.
Definition: TileMuonTrackDistance.h:128
Monitored::Z
@ Z
Definition: HistogramFillerUtils.h:24
ROOT::Minuit2::TileMuonTrackDistance::m_theZ
std::vector< double > m_theZ
Vector of cell center Z coordinates.
Definition: TileMuonTrackDistance.h:123
x
#define x
Monitored::X
@ X
Definition: HistogramFillerUtils.h:24
dqt_zlumi_pandas.weight
int weight
Definition: dqt_zlumi_pandas.py:200
ROOT::Minuit2::TileMuonTrackDistance::~TileMuonTrackDistance
virtual ~TileMuonTrackDistance()
Definition: TileMuonTrackDistance.h:79
ROOT::Minuit2::TileMuonTrackDistance::Distance2SinglePoint
double Distance2SinglePoint(double x, double y, double z, const std::vector< double > &par) const
Returns squared distance from point to track defined by par.
Definition: TileMuonTrackDistance.cxx:83
ROOT::Minuit2::TileMuonTrackDistance::SetWeighted
void SetWeighted(bool weight)
Set weight/no-weight flag.
Definition: TileMuonTrackDistance.h:109
ROOT::Minuit2::TileMuonTrackDistance::m_theE
std::vector< double > m_theE
Vector of cell energies.
Definition: TileMuonTrackDistance.h:125
z
#define z
ROOT::Minuit2::TileMuonTrackDistance::TileMuonTrackDistance
TileMuonTrackDistance(const std::vector< double > &X, const std::vector< double > &Y, const std::vector< double > &Z, const std::vector< double > &E)
Constructor.
Definition: TileMuonTrackDistance.h:74
ROOT::Minuit2::TileMuonTrackDistance::GetMeanZ
double GetMeanZ()
Z mean getter.
Definition: TileMuonTrackDistance.h:104
ROOT::Minuit2::TileMuonTrackDistance::operator()
virtual double operator()(const std::vector< double > &) const
Provides Chi-square in function of parameter vector.
Definition: TileMuonTrackDistance.cxx:62
ROOT::Minuit2::TileMuonTrackDistance::Means
void Means()
Calculates means (weighted or not) of cell positions.
Definition: TileMuonTrackDistance.cxx:28
ROOT::Minuit2::TileMuonTrackDistance::m_theY
std::vector< double > m_theY
Vector of cell center Y coordinates.
Definition: TileMuonTrackDistance.h:121
Monitored::Y
@ Y
Definition: HistogramFillerUtils.h:24
ROOT::Minuit2::TileMuonTrackDistance::GetMeanY
double GetMeanY()
Y mean getter.
Definition: TileMuonTrackDistance.h:100
createCoolChannelIdFile.par
par
Definition: createCoolChannelIdFile.py:29
VP1PartSpect::E
@ E
Definition: VP1PartSpectFlags.h:21
ROOT::Minuit2::TileMuonTrackDistance::ClosestPoint
CLHEP::Hep3Vector ClosestPoint(CLHEP::Hep3Vector *dataPoint, const std::vector< double > &par) const
Returns point in track defined by par closest to dataPoint.
Definition: TileMuonTrackDistance.cxx:92
y
#define y
ROOT::Minuit2::TileMuonTrackDistance::m_meanZ
double m_meanZ
Definition: TileMuonTrackDistance.h:132
ROOT::Minuit2::TileMuonTrackDistance::m_meanX
double m_meanX
Definition: TileMuonTrackDistance.h:130
ROOT::Minuit2::TileMuonTrackDistance::m_theX
std::vector< double > m_theX
Vector of cell center X coordinates.
Definition: TileMuonTrackDistance.h:119
ROOT
Definition: ViewVectorBaseStreamer.cxx:43