CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 
11 
12 class MagneticField;
13 class TrackerGeometry;
14 class Trajectory;
15 
17 {
18  public:
19 
20  struct AVHitStruct
21  {
22  AVHitStruct() : resX(-999.), resY(-999.), resErrX(-999.), resErrY(-999.), resXprime(-999.), resXprimeErr(-999.),
23  resYprime(-999.), resYprimeErr(-999.), phi(-999.), eta(-999.),
24  inside(false), localX(-999.), localY(-999.), localXnorm(-999.), localYnorm(-999.), localAlpha(-999.), localBeta(-999.),
25  rawDetId(0) {}
26  float resX;
27  float resY;
28  float resErrX;
29  float resErrY;
30  float resXprime;
31  float resXprimeErr;
32  float resYprime;
33  float resYprimeErr;
34  float phi;
35  float eta;
36  bool inside;
37  float localX;
38  float localY;
39  float localXnorm;
40  float localYnorm;
41  float localAlpha;
42  float localBeta;
43  uint32_t rawDetId;
44  };
45 
47  {
48  AVTrackStruct() : p(0.), pt(0.), ptError(0.), px(0.), py(0.), pz(0.), eta(0.), phi(0.), kappa(0.),
49  chi2(0.), normchi2(0), d0(-999.), dz(-999.), charge(-999), numberOfValidHits(0), numberOfLostHits(0) {};
50  float p;
51  float pt;
52  float ptError;
53  float px;
54  float py;
55  float pz;
56  float eta;
57  float phi;
58  float kappa;
59  float chi2;
60  float chi2Prob;
61  float normchi2;
62  float d0;
63  float dz;
64  int charge;
67  std::vector<AVHitStruct> hits;
68  };
69 
73 
74  void fillHitQuantities(const Trajectory* trajectory, std::vector<AVHitStruct> & v_avhitout);
75  void fillTrackQuantities(const edm::Event&, std::vector<AVTrackStruct> & v_avtrackout);
76 
77  // need the following method for MonitorTrackResiduals in DQM/TrackerMonitorTrack
78  void fillHitQuantities(const edm::Event&, std::vector<AVHitStruct> & v_avhitout);
79 
80  private:
81 
85 };
86 
87 #endif
edm::ESHandle< TrackerGeometry > tkGeom_
void fillHitQuantities(const Trajectory *trajectory, std::vector< AVHitStruct > &v_avhitout)
edm::ESHandle< MagneticField > magneticField_
void fillTrackQuantities(const edm::Event &, std::vector< AVTrackStruct > &v_avtrackout)