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.), resXatTrkY(-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 resXatTrkY;
32  float resXprimeErr;
33  float resYprime;
34  float resYprimeErr;
35  float phi;
36  float eta;
37  bool inside;
38  float localX;
39  float localY;
40  float localXnorm;
41  float localYnorm;
42  float localAlpha;
43  float localBeta;
44  uint32_t rawDetId;
45  };
46 
48  {
49  AVTrackStruct() : p(0.), pt(0.), ptError(0.), px(0.), py(0.), pz(0.), eta(0.), phi(0.), kappa(0.),
50  chi2(0.), chi2Prob(0.), normchi2(0), d0(-999.), dz(-999.), charge(-999), numberOfValidHits(0), numberOfLostHits(0) {};
51  float p;
52  float pt;
53  float ptError;
54  float px;
55  float py;
56  float pz;
57  float eta;
58  float phi;
59  float kappa;
60  float chi2;
61  float chi2Prob;
62  float normchi2;
63  float d0;
64  float dz;
65  int charge;
68  std::vector<AVHitStruct> hits;
69  };
70 
74 
75  void fillHitQuantities(const Trajectory* trajectory, std::vector<AVHitStruct> & v_avhitout);
76  void fillTrackQuantities(const edm::Event&, std::vector<AVTrackStruct> & v_avtrackout);
77 
78  // need the following method for MonitorTrackResiduals in DQM/TrackerMonitorTrack
79  void fillHitQuantities(const edm::Event&, std::vector<AVHitStruct> & v_avhitout);
80 
81  private:
82 
86 };
87 
88 #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)