CMS 3D CMS Logo

TrackerValidationVariables.h
Go to the documentation of this file.
1 #ifndef Alignment_OfflineValidation_TrackerTrackerValidationVariables_h
2 #define Alignment_OfflineValidation_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;
21 } // namespace edm
22 
24 public:
25  struct AVHitStruct {
27  : resX(-999.),
28  resY(-999.),
29  resErrX(-999.),
30  resErrY(-999.),
31  resXprime(-999.),
32  resXatTrkY(-999.),
33  resXprimeErr(-999.),
34  resYprime(-999.),
35  resYprimeErr(-999.),
36  phi(-999.),
37  eta(-999.),
38  inside(false),
39  localX(-999.),
40  localY(-999.),
41  localXnorm(-999.),
42  localYnorm(-999.),
43  localAlpha(-999.),
44  localBeta(-999.),
45  rawDetId(0),
48  float resX;
49  float resY;
50  float resErrX;
51  float resErrY;
52  float resXprime;
53  float resXatTrkY;
54  float resXprimeErr;
55  float resYprime;
56  float resYprimeErr;
57  float phi;
58  float eta;
59  bool inside;
60  float localX;
61  float localY;
62  float localXnorm;
63  float localYnorm;
64  float localAlpha;
65  float localBeta;
66  uint32_t rawDetId;
69  };
70 
71  struct AVTrackStruct {
73  : p(0.),
74  pt(0.),
75  ptError(0.),
76  px(0.),
77  py(0.),
78  pz(0.),
79  eta(0.),
80  phi(0.),
81  kappa(0.),
82  chi2(0.),
83  chi2Prob(0.),
84  normchi2(0),
85  d0(-999.),
86  dz(-999.),
87  charge(-999),
89  numberOfLostHits(0) {}
90  float p;
91  float pt;
92  float ptError;
93  float px;
94  float py;
95  float pz;
96  float eta;
97  float phi;
98  float kappa;
99  float chi2;
100  float chi2Prob;
101  float normchi2;
102  float d0;
103  float dz;
104  int charge;
107  std::vector<AVHitStruct> hits;
108  };
109 
112 
113  void fillHitQuantities(const Trajectory* trajectory, std::vector<AVHitStruct>& v_avhitout);
114  void fillHitQuantities(reco::Track const& track, std::vector<AVHitStruct>& v_avhitout);
115  void fillTrackQuantities(const edm::Event&, const edm::EventSetup&, std::vector<AVTrackStruct>& v_avtrackout);
116  // all Tracks are passed to the trackFilter first, and only processed if it returns true.
119  std::function<bool(const reco::Track&)> trackFilter,
120  std::vector<AVTrackStruct>& v_avtrackout);
121 
122  static void fillPSetDescription(edm::ParameterSetDescription& descriptions);
123 
124 private:
128 };
129 
130 #endif
void fillHitQuantities(const Trajectory *trajectory, std::vector< AVHitStruct > &v_avhitout)
Definition: config.py:1
edm::EDGetTokenT< std::vector< Trajectory > > trajCollectionToken_
static void fillPSetDescription(edm::ParameterSetDescription &descriptions)
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