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 
12 
13 class Trajectory;
14 
15 namespace edm {
16  class ConsumesCollector;
17  class Event;
18  class EventSetup;
19  class ParameterSet;
20 } // namespace edm
21 
23 public:
24  struct AVHitStruct {
26  : resX(-999.),
27  resY(-999.),
28  resErrX(-999.),
29  resErrY(-999.),
30  resXprime(-999.),
31  resXatTrkY(-999.),
32  resXprimeErr(-999.),
33  resYprime(-999.),
34  resYprimeErr(-999.),
35  phi(-999.),
36  eta(-999.),
37  inside(false),
38  localX(-999.),
39  localY(-999.),
40  localXnorm(-999.),
41  localYnorm(-999.),
42  localAlpha(-999.),
43  localBeta(-999.),
44  rawDetId(0),
47  float resX;
48  float resY;
49  float resErrX;
50  float resErrY;
51  float resXprime;
52  float resXatTrkY;
53  float resXprimeErr;
54  float resYprime;
55  float resYprimeErr;
56  float phi;
57  float eta;
58  bool inside;
59  float localX;
60  float localY;
61  float localXnorm;
62  float localYnorm;
63  float localAlpha;
64  float localBeta;
65  uint32_t rawDetId;
68  };
69 
70  struct AVTrackStruct {
72  : p(0.),
73  pt(0.),
74  ptError(0.),
75  px(0.),
76  py(0.),
77  pz(0.),
78  eta(0.),
79  phi(0.),
80  kappa(0.),
81  chi2(0.),
82  chi2Prob(0.),
83  normchi2(0),
84  d0(-999.),
85  dz(-999.),
86  charge(-999),
89  float p;
90  float pt;
91  float ptError;
92  float px;
93  float py;
94  float pz;
95  float eta;
96  float phi;
97  float kappa;
98  float chi2;
99  float chi2Prob;
100  float normchi2;
101  float d0;
102  float dz;
103  int charge;
106  std::vector<AVHitStruct> hits;
107  };
108 
111 
112  void fillHitQuantities(const Trajectory* trajectory, std::vector<AVHitStruct>& v_avhitout);
113  void fillHitQuantities(reco::Track const& track, std::vector<AVHitStruct>& v_avhitout);
114  void fillTrackQuantities(const edm::Event&, const edm::EventSetup&, std::vector<AVTrackStruct>& v_avtrackout);
115  // all Tracks are passed to the trackFilter first, and only processed if it returns true.
118  std::function<bool(const reco::Track&)> trackFilter,
119  std::vector<AVTrackStruct>& v_avtrackout);
120 
121 private:
125 };
126 
127 #endif
void fillHitQuantities(const Trajectory *trajectory, std::vector< AVHitStruct > &v_avhitout)
Definition: config.py:1
edm::EDGetTokenT< std::vector< Trajectory > > trajCollectionToken_
TrackerValidationVariables(const edm::ParameterSet &config, edm::ConsumesCollector &&iC)
void fillTrackQuantities(const edm::Event &, const edm::EventSetup &, std::vector< AVTrackStruct > &v_avtrackout)
edm::ESGetToken< MagneticField, IdealMagneticFieldRecord > magneticFieldToken_
HLT enums.
edm::EDGetTokenT< std::vector< reco::Track > > tracksToken_
Definition: event.py:1