CMS 3D CMS Logo

TrackerValidationVariables.h
Go to the documentation of this file.
1 #ifndef TrackerTrackerValidationVariables_h
2 #define TrackerTrackerValidationVariables_h
3 
4 // system include files
5 #include <vector>
6 
9 
10 class MagneticField;
11 class Trajectory;
12 
13 namespace edm {
14  class ConsumesCollector;
15  class Event;
16  class EventSetup;
17  class ParameterSet;
18 } // namespace edm
19 
21 public:
22  struct AVHitStruct {
24  : resX(-999.),
25  resY(-999.),
26  resErrX(-999.),
27  resErrY(-999.),
28  resXprime(-999.),
29  resXatTrkY(-999.),
30  resXprimeErr(-999.),
31  resYprime(-999.),
32  resYprimeErr(-999.),
33  phi(-999.),
34  eta(-999.),
35  inside(false),
36  localX(-999.),
37  localY(-999.),
38  localXnorm(-999.),
39  localYnorm(-999.),
40  localAlpha(-999.),
41  localBeta(-999.),
42  rawDetId(0),
43  isOnEdgePixel(false),
44  isOtherBadPixel(false) {}
45  float resX;
46  float resY;
47  float resErrX;
48  float resErrY;
49  float resXprime;
50  float resXatTrkY;
51  float resXprimeErr;
52  float resYprime;
53  float resYprimeErr;
54  float phi;
55  float eta;
56  bool inside;
57  float localX;
58  float localY;
59  float localXnorm;
60  float localYnorm;
61  float localAlpha;
62  float localBeta;
63  uint32_t rawDetId;
66  };
67 
68  struct AVTrackStruct {
70  : p(0.),
71  pt(0.),
72  ptError(0.),
73  px(0.),
74  py(0.),
75  pz(0.),
76  eta(0.),
77  phi(0.),
78  kappa(0.),
79  chi2(0.),
80  chi2Prob(0.),
81  normchi2(0),
82  d0(-999.),
83  dz(-999.),
84  charge(-999),
87  float p;
88  float pt;
89  float ptError;
90  float px;
91  float py;
92  float pz;
93  float eta;
94  float phi;
95  float kappa;
96  float chi2;
97  float chi2Prob;
98  float normchi2;
99  float d0;
100  float dz;
101  int charge;
104  std::vector<AVHitStruct> hits;
105  };
106 
110 
111  void fillHitQuantities(const Trajectory* trajectory, std::vector<AVHitStruct>& v_avhitout);
112  void fillHitQuantities(reco::Track const& track, std::vector<AVHitStruct>& v_avhitout);
113  void fillTrackQuantities(const edm::Event&, const edm::EventSetup&, std::vector<AVTrackStruct>& v_avtrackout);
114  // all Tracks are passed to the trackFilter first, and only processed if it returns true.
115  void fillTrackQuantities(const edm::Event& event,
116  const edm::EventSetup& eventSetup,
117  std::function<bool(const reco::Track&)> trackFilter,
118  std::vector<AVTrackStruct>& v_avtrackout);
119 
120 private:
123 };
124 
125 #endif
constexpr uint16_t localY(uint16_t py)
Definition: config.py:1
edm::EDGetTokenT< std::vector< Trajectory > > trajCollectionToken_
constexpr uint16_t localX(uint16_t px)
HLT enums.
static const G4double kappa
edm::EDGetTokenT< std::vector< reco::Track > > tracksToken_
Definition: event.py:1