ATLAS Offline Software
Loading...
Searching...
No Matches
T2SplitVertex.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3*/
4
5/**********************************************************************************
6 *
7 * @version: $Id: T2SplitVertex.h 361213 2011-04-23 18:26:44Z bartoldu $
8 *
9 * @project: HLT, PESA algorithms
10 * @package: TrigT2BeamSpot
11 * @class : T2SplitVertex
12 *
13 * @brief Helper class for a pair of vertices and their separation (delta)
14 * with some functionality used by the beam spot algorithm
15 *
16 * @author Rainer Bartoldus, SLAC, <bartoldu@slac.stanford.edu>
17 * @author Emanuel Strauss, SLAC <estrauss@slac.stanford.edu>
18 *
19 **********************************************************************************/
20
21#ifndef TRIGT2BEAMSPOT_T2SPLITVERTEX_H
22#define TRIGT2BEAMSPOT_T2SPLITVERTEX_H
23
25#include "T2Vertex.h"
26
29
30#include <string>
31#include <vector>
32#include <cmath>
33
34namespace PESA
35{
36
38 {
39 public:
40
41 // Helpers
42 double rss( double x, double y )
43 {
44 return sqrt( x*x+y*y );
45 }
46
47 double ratio( double x, double y )
48 {
49 return ( y > 0. ) ? x / y : 0.;
50 }
51
52 // Constructor
53
55 : m_vertex1 ( vertex1 )
56 , m_vertex2 ( vertex2 )
57 , m_DNTrks ( ( m_vertex1.NTrks() + m_vertex2.NTrks() ) / 2. )
58 , m_DX ( m_vertex1.X() - m_vertex2.X() )
59 , m_DY ( m_vertex1.Y() - m_vertex2.Y() )
60 , m_DZ ( m_vertex1.Z() - m_vertex2.Z() )
61 , m_DXerr ( rss( m_vertex1.Xerr(), m_vertex2.Xerr() ) )
62 , m_DYerr ( rss( m_vertex1.Yerr(), m_vertex2.Yerr() ) )
63 , m_DZerr ( rss( m_vertex1.Zerr(), m_vertex2.Zerr() ) )
64 , m_DXpull ( ratio( m_DX, m_DXerr ) )
65 , m_DYpull ( ratio( m_DY, m_DYerr ) )
66 , m_DZpull ( ratio( m_DZ, m_DZerr ) )
67 {
68 }
69
70 // Accessors
71 const T2SimpleVertex& vertex1 () const { return m_vertex1; }
72 const T2SimpleVertex& vertex2 () const { return m_vertex2; }
73 double DNTrks () const { return m_DNTrks ; }
74 double DX () const { return m_DX ; }
75 double DY () const { return m_DY ; }
76 double DZ () const { return m_DZ ; }
77 double DXerr () const { return m_DXerr ; }
78 double DYerr () const { return m_DYerr ; }
79 double DZerr () const { return m_DZerr ; }
80 double DXpull () const { return m_DXpull ; }
81 double DYpull () const { return m_DYpull ; }
82 double DZpull () const { return m_DZpull ; }
83
84 private:
85
86 // Data members
89 double m_DNTrks ;
90 double m_DX ;
91 double m_DY ;
92 double m_DZ ;
93 double m_DXerr ;
94 double m_DYerr ;
95 double m_DZerr ;
96 double m_DXpull ;
97 double m_DYpull ;
98 double m_DZpull ;
99 };
100
101} // end namespace
102
103#endif
#define y
#define x
double DX() const
double rss(double x, double y)
T2SplitVertex(const TrigVertex &vertex1, const TrigVertex &vertex2)
double DXpull() const
const T2SimpleVertex & vertex2() const
double DNTrks() const
T2SimpleVertex m_vertex2
const T2SimpleVertex & vertex1() const
double DYpull() const
double ratio(double x, double y)
double DZerr() const
double DYerr() const
T2SimpleVertex m_vertex1
double DZpull() const
double DY() const
double DXerr() const
double DZ() const
encapsulates LVL2 vertex parameters (in the global reference frame), covariance matrix,...
Definition TrigVertex.h:28
Local tools.
Definition idx.h:9