ATLAS Offline Software
FTS_Track.h
Go to the documentation of this file.
1 // Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
2 #ifndef EFTRACKINGEMULATION_FTSTRACK_H
3 #define EFTRACKINGEMULATION_FTSTRACK_H
4 
5 // Easy representation of a smeared track, allows fast manipulation
6 
7 #include <iostream>
8 #include "TMath.h"
9 
11 class FTS_Track {
12 
13  public:
14 
15 
16  FTS_Track(double pt, double eta, double phi, double d0, double z0):
17  m_pt(pt), m_eta(eta), m_phi(phi), m_d0(d0), m_z0(z0) {};
18 
19  FTS_Track(double pt, double eta, double phi, double d0, double z0,double sigma_pt, double sigma_eta, double sigma_phi, double sigma_d0, double sigma_z0,int FakeFlags):
20  m_pt(pt), m_eta(eta), m_phi(phi), m_d0(d0), m_z0(z0),
22 
23  double pt() const {return m_pt;};
24  double curv() const {return 1.0/m_pt;}; // curv pT
25  double eta() const {return m_eta;};
26  double theta() const {return 2.0*TMath::ATan(TMath::Exp(-m_eta));};
27  double phi() const {return m_phi;};
28  double d0() const {return m_d0;};
29  double z0() const {return m_z0;};
30 
31  double sigma_pt() const {return m_sigma_pt;};
32  double sigma_curv() const {return m_sigma_pt/m_pt/m_pt;};
33  double sigma_eta() const {return m_sigma_eta;};
34  double sigma_theta() const {return m_sigma_eta/TMath::CosH(m_eta); };
35  double sigma_phi() const {return m_sigma_phi;};
36  double sigma_d0() const {return m_sigma_d0;};
37  double sigma_z0() const {return m_sigma_z0;};
38  int FakeFlags() const {return m_FakeFlags;};
39 
40  protected:
41  double m_pt = 0.;
42  double m_eta = 0.;
43  double m_phi= 0.;
44  double m_d0 = 0.;
45  double m_z0 = 0.;
46 
47  double m_sigma_pt = 0. ;
48  double m_sigma_eta = 0.;
49  double m_sigma_phi = 0.;
50  double m_sigma_d0 = 0. ;
51  double m_sigma_z0 = 0. ;
52  int m_FakeFlags = 0;
53 };
54 }
55 
56 inline std::ostream& operator<<(std::ostream& s, const EFTrackingSmearing::FTS_Track& t){
57  s << "trackCandidate: pt=" << t.pt() << " eta="<< t.eta() <<" phi="<< t.phi()
58  << " d0="<<t.d0() << " z0="<< t.z0()
59  << "\n";
60  return s;
61 }
62 
63 
64 #endif
EFTrackingSmearing::FTS_Track::FTS_Track
FTS_Track(double pt, double eta, double phi, double d0, double z0, double sigma_pt, double sigma_eta, double sigma_phi, double sigma_d0, double sigma_z0, int FakeFlags)
Definition: FTS_Track.h:19
EFTrackingSmearing::FTS_Track::m_FakeFlags
int m_FakeFlags
Definition: FTS_Track.h:52
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
EFTrackingSmearing::FTS_Track::m_sigma_d0
double m_sigma_d0
Definition: FTS_Track.h:50
EFTrackingSmearing::FTS_Track::sigma_eta
double sigma_eta() const
Definition: FTS_Track.h:33
EFTrackingSmearing::FTS_Track::m_sigma_z0
double m_sigma_z0
Definition: FTS_Track.h:51
EFTrackingSmearing::FTS_Track::m_phi
double m_phi
Definition: FTS_Track.h:43
EFTrackingSmearing::FTS_Track::phi
double phi() const
Definition: FTS_Track.h:27
EFTrackingSmearing::FTS_Track::m_sigma_eta
double m_sigma_eta
Definition: FTS_Track.h:48
EFTrackingSmearing::FTS_Track::sigma_d0
double sigma_d0() const
Definition: FTS_Track.h:36
EFTrackingSmearing::FTS_Track::m_d0
double m_d0
Definition: FTS_Track.h:44
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
EFTrackingSmearing::FTS_Track::z0
double z0() const
Definition: FTS_Track.h:29
EFTrackingSmearing::FTS_Track::d0
double d0() const
Definition: FTS_Track.h:28
EFTrackingSmearing::FTS_Track::pt
double pt() const
Definition: FTS_Track.h:23
EFTrackingSmearing::FTS_Track::eta
double eta() const
Definition: FTS_Track.h:25
EFTrackingSmearing::FTS_Track::sigma_pt
double sigma_pt() const
Definition: FTS_Track.h:31
EFTrackingSmearing::FTS_Track::sigma_z0
double sigma_z0() const
Definition: FTS_Track.h:37
operator<<
std::ostream & operator<<(std::ostream &s, const EFTrackingSmearing::FTS_Track &t)
Definition: FTS_Track.h:56
EFTrackingSmearing::FTS_Track::m_sigma_phi
double m_sigma_phi
Definition: FTS_Track.h:49
EFTrackingSmearing::FTS_Track::sigma_phi
double sigma_phi() const
Definition: FTS_Track.h:35
EFTrackingSmearing::FTS_Track::FakeFlags
int FakeFlags() const
Definition: FTS_Track.h:38
EFTrackingSmearing::FTS_Track::FTS_Track
FTS_Track(double pt, double eta, double phi, double d0, double z0)
Definition: FTS_Track.h:16
EFTrackingSmearing::FTS_Track
Definition: FTS_Track.h:11
EFTrackingSmearing::FTS_Track::m_sigma_pt
double m_sigma_pt
Definition: FTS_Track.h:47
EFTrackingSmearing::FTS_Track::m_z0
double m_z0
Definition: FTS_Track.h:45
EFTrackingSmearing::FTS_Track::m_pt
double m_pt
Definition: FTS_Track.h:41
EFTrackingSmearing::FTS_Track::sigma_theta
double sigma_theta() const
Definition: FTS_Track.h:34
EFTrackingSmearing::FTS_Track::m_eta
double m_eta
Definition: FTS_Track.h:42
EFTrackingSmearing::FTS_Track::theta
double theta() const
Definition: FTS_Track.h:26
EFTrackingSmearing
Definition: FTS_Track.h:10
EFTrackingSmearing::FTS_Track::sigma_curv
double sigma_curv() const
Definition: FTS_Track.h:32
EFTrackingSmearing::FTS_Track::curv
double curv() const
Definition: FTS_Track.h:24