ATLAS Offline Software
Public Member Functions | Private Attributes | List of all members
ROIMon Class Reference

#include <ROIMon.h>

Collaboration diagram for ROIMon:

Public Member Functions

 ROIMon (ComTime *comtime, float distance)
 
 ~ROIMon ()
 
StatusCode initialize ()
 
int Accept (const CLHEP::Hep3Vector &Point)
 
int AcceptTime ()
 
float GetDistance (const CLHEP::Hep3Vector &Point)
 
float GetTime ()
 

Private Attributes

std::string m_cellContainerName
 
Double_t m_MinDist
 
Double_t m_tileMuDeltaEta
 
Double_t m_tileMuDeltaPhi
 
float m_maxDistance
 
float m_theDistance
 
float m_theTime
 
ComTimem_myComTime
 

Detailed Description

Definition at line 21 of file ROIMon.h.

Constructor & Destructor Documentation

◆ ROIMon()

ROIMon::ROIMon ( ComTime comtime,
float  distance 
)

Definition at line 25 of file ROIMon.cxx.

26  : m_MinDist(0),
29 {
30  m_myComTime=comtime;
32  m_theTime=-9999.;
33  m_theDistance=-9999.;
34 
35 }

◆ ~ROIMon()

ROIMon::~ROIMon ( )
default

Member Function Documentation

◆ Accept()

int ROIMon::Accept ( const CLHEP::Hep3Vector &  Point)

Definition at line 41 of file ROIMon.cxx.

41  {
42 
43 // get info from TileMuFitter
44 
45  int accept=0;
46  //double m_tileComTime =0.;
47  //double m_tileMuX = 0.;
48  //double m_tileMuY = 0.;
49  //double m_tileMuZ = 0.;
50 
51  //double m_tileMuCosTheta = 0.;
52  //double m_tileMuSinThetaSinPhi = 0.;
53  //double m_tileMuSinThetaCosPhi = 0.;
54 
55  Hep3Vector MuZeroPosition;
56  Hep3Vector MuDirection;
57 
58  MuZeroPosition = m_myComTime->GetCounterPosition() ;
59  MuDirection = m_myComTime->GetcosThetaDirection();
60 
61  if(m_myComTime->getTime()!=0 || MuZeroPosition.x()!=0 || MuZeroPosition.z()!=0 )
62  {
63  //m_tileComTime = m_myComTime->getTime();
64 
65  //m_tileMuSinThetaCosPhi = MuDirection.x();
66  //m_tileMuSinThetaSinPhi = MuDirection.y();
67  //m_tileMuCosTheta = MuDirection.z();
68 
69  //m_tileMuX = MuZeroPosition.x();
70  //m_tileMuY = MuZeroPosition.y();
71  //m_tileMuZ = MuZeroPosition.z();
72  }
73 
74 
75  // m_theTime = m_tileComTime;
76 
77  // extract distance of minimum approach==============
78  // for instance see a brief sicussion at http://math.mit.edu/~djk/18_022/chapter02/example02.html
79  // bring everything back to the origin (but we would just need one point on the line) using the Zero Position of the track
80  Hep3Vector TranslateToOrigin=Point-MuZeroPosition;
81  // find orthogonal component of the point vector with respect to the line
82  Hep3Vector OrtVec=TranslateToOrigin - TranslateToOrigin.dot(MuDirection)*MuDirection;
83  // its magnitude is the distance we need
84  m_theDistance=OrtVec.mag();
85 
87  return accept;
88 }

◆ AcceptTime()

int ROIMon::AcceptTime ( )

Definition at line 93 of file ROIMon.cxx.

93  {
94 
95 // get info from TileMuFitter
96 
97  int accept=0;
98  double tileComTime =0.;
99 
100  Hep3Vector MuZeroPosition;
101  Hep3Vector MuDirection;
102 
103  MuZeroPosition = m_myComTime->GetCounterPosition() ;
104  MuDirection = m_myComTime->GetcosThetaDirection();
105 
106  if(m_myComTime->getTime()!=0 || MuZeroPosition.x()!=0 || MuZeroPosition.z()!=0 )
107  {
108  tileComTime = m_myComTime->getTime();
109  }
110  m_theTime = tileComTime;
111  return accept;
112 }

◆ GetDistance()

float ROIMon::GetDistance ( const CLHEP::Hep3Vector &  Point)

Definition at line 116 of file ROIMon.cxx.

116  {
117  /*int acceptance=*/this->Accept(Point);
118  return m_theDistance;
119 }

◆ GetTime()

float ROIMon::GetTime ( )

Definition at line 121 of file ROIMon.cxx.

121  {
122  /*int acceptance=*/this->AcceptTime();
123  return m_theTime;
124 }

◆ initialize()

StatusCode ROIMon::initialize ( )

Member Data Documentation

◆ m_cellContainerName

std::string ROIMon::m_cellContainerName
private

Definition at line 32 of file ROIMon.h.

◆ m_maxDistance

float ROIMon::m_maxDistance
private

Definition at line 36 of file ROIMon.h.

◆ m_MinDist

Double_t ROIMon::m_MinDist
private

Definition at line 33 of file ROIMon.h.

◆ m_myComTime

ComTime* ROIMon::m_myComTime
private

Definition at line 39 of file ROIMon.h.

◆ m_theDistance

float ROIMon::m_theDistance
private

Definition at line 37 of file ROIMon.h.

◆ m_theTime

float ROIMon::m_theTime
private

Definition at line 38 of file ROIMon.h.

◆ m_tileMuDeltaEta

Double_t ROIMon::m_tileMuDeltaEta
private

Definition at line 34 of file ROIMon.h.

◆ m_tileMuDeltaPhi

Double_t ROIMon::m_tileMuDeltaPhi
private

Definition at line 35 of file ROIMon.h.


The documentation for this class was generated from the following files:
ComTime::getTime
double getTime() const
Definition: ComTime.h:44
ROIMon::m_maxDistance
float m_maxDistance
Definition: ROIMon.h:36
CutsMETMaker::accept
StatusCode accept(const xAOD::Muon *mu)
Definition: CutsMETMaker.cxx:18
ComTime::GetcosThetaDirection
CLHEP::Hep3Vector GetcosThetaDirection() const
Definition: ComTime.h:47
ROIMon::m_tileMuDeltaEta
Double_t m_tileMuDeltaEta
Definition: ROIMon.h:34
ROIMon::Accept
int Accept(const CLHEP::Hep3Vector &Point)
Definition: ROIMon.cxx:41
ChargedTracksWeightFilter::Spline::Point
Linear spline representation of a function used to calculate weights.
Definition: ChargedTracksWeightFilter.h:28
ROIMon::AcceptTime
int AcceptTime()
Definition: ROIMon.cxx:93
ROIMon::m_theTime
float m_theTime
Definition: ROIMon.h:38
ComTime::GetCounterPosition
CLHEP::Hep3Vector GetCounterPosition() const
Definition: ComTime.h:46
ROIMon::m_tileMuDeltaPhi
Double_t m_tileMuDeltaPhi
Definition: ROIMon.h:35
ROIMon::m_myComTime
ComTime * m_myComTime
Definition: ROIMon.h:39
Amg::distance
float distance(const Amg::Vector3D &p1, const Amg::Vector3D &p2)
calculates the distance between two point in 3D space
Definition: GeoPrimitivesHelpers.h:54
ROIMon::m_theDistance
float m_theDistance
Definition: ROIMon.h:37
ROIMon::m_MinDist
Double_t m_MinDist
Definition: ROIMon.h:33