CMS 3D CMS Logo

L1SimTrack.h
Go to the documentation of this file.
1 // Stores MC truth information, pt, eta, phi, vx, vy, vz, as well as particle type and track id
2 #ifndef L1Trigger_TrackFindingTracklet_interface_L1SimTrack_h
3 #define L1Trigger_TrackFindingTracklet_interface_L1SimTrack_h
4 
5 #include <iostream>
6 #include <fstream>
7 #include <cstdlib>
8 #include <vector>
9 #include <cmath>
10 #include <cassert>
11 
12 namespace trklet {
13 
14  class L1SimTrack {
15  public:
16  L1SimTrack();
17  L1SimTrack(int eventid, int trackid, int type, double pt, double eta, double phi, double vx, double vy, double vz);
18  ~L1SimTrack() = default;
19 
20  void write(std::ofstream& out);
21  void write(std::ostream& out);
22 
23  int eventid() const { return eventid_; }
24  int trackid() const { return trackid_; }
25  int type() const { return type_; }
26  double pt() const { return pt_; }
27  double eta() const { return eta_; }
28  double phi() const { return phi_; }
29  double vx() const { return vx_; }
30  double vy() const { return vy_; }
31  double vz() const { return vz_; }
32  double dxy() const { return -vx() * sin(phi()) + vy() * cos(phi()); }
33  double d0() const { return -dxy(); }
34  int charge() const {
35  if (type_ == 11 || type_ == 13 || type_ == -211 || type_ == -321 || type_ == -2212)
36  return -1;
37  return 1;
38  }
39 
40  private:
41  int eventid_;
42  int trackid_;
43  int type_;
44  double pt_;
45  double eta_;
46  double phi_;
47  double vx_;
48  double vy_;
49  double vz_;
50  };
51 
52 }; // namespace trklet
53 #endif
trklet::L1SimTrack::vy_
double vy_
Definition: L1SimTrack.h:48
trklet::L1SimTrack::d0
double d0() const
Definition: L1SimTrack.h:33
trklet::L1SimTrack::vy
double vy() const
Definition: L1SimTrack.h:30
trklet::L1SimTrack::type
int type() const
Definition: L1SimTrack.h:25
trklet::L1SimTrack::type_
int type_
Definition: L1SimTrack.h:43
trklet::L1SimTrack
Definition: L1SimTrack.h:14
trklet::L1SimTrack::vz
double vz() const
Definition: L1SimTrack.h:31
trklet::L1SimTrack::eventid_
int eventid_
Definition: L1SimTrack.h:41
trklet::L1SimTrack::vz_
double vz_
Definition: L1SimTrack.h:49
funct::sin
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
trklet::L1SimTrack::trackid
int trackid() const
Definition: L1SimTrack.h:24
trklet::L1SimTrack::eventid
int eventid() const
Definition: L1SimTrack.h:23
funct::cos
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
trklet::L1SimTrack::~L1SimTrack
~L1SimTrack()=default
trklet::L1SimTrack::phi_
double phi_
Definition: L1SimTrack.h:46
trklet::L1SimTrack::dxy
double dxy() const
Definition: L1SimTrack.h:32
trklet::L1SimTrack::eta_
double eta_
Definition: L1SimTrack.h:45
trklet::L1SimTrack::L1SimTrack
L1SimTrack()
Definition: L1SimTrack.cc:7
trklet::L1SimTrack::write
void write(std::ofstream &out)
Definition: L1SimTrack.cc:25
trklet::L1SimTrack::phi
double phi() const
Definition: L1SimTrack.h:28
trklet::L1SimTrack::trackid_
int trackid_
Definition: L1SimTrack.h:42
trklet::L1SimTrack::pt
double pt() const
Definition: L1SimTrack.h:26
trklet::L1SimTrack::eta
double eta() const
Definition: L1SimTrack.h:27
type
type
Definition: SiPixelVCal_PayloadInspector.cc:39
trklet::L1SimTrack::pt_
double pt_
Definition: L1SimTrack.h:44
trklet
Definition: AllInnerStubsMemory.h:10
trklet::L1SimTrack::charge
int charge() const
Definition: L1SimTrack.h:34
trklet::L1SimTrack::vx_
double vx_
Definition: L1SimTrack.h:47
MillePedeFileConverter_cfg.out
out
Definition: MillePedeFileConverter_cfg.py:31
trklet::L1SimTrack::vx
double vx() const
Definition: L1SimTrack.h:29