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 
9 
10 class MagneticField;
11 class Trajectory;
12 
13 namespace edm {
14  class ConsumesCollector;
15  class Event;
16  class EventSetup;
17  class ParameterSet;
18 }
19 
21 {
22  public:
23 
24  struct AVHitStruct
25  {
26  AVHitStruct() : resX(-999.), resY(-999.), resErrX(-999.), resErrY(-999.), resXprime(-999.), resXatTrkY(-999.), resXprimeErr(-999.),
27  resYprime(-999.), resYprimeErr(-999.), phi(-999.), eta(-999.),
28  inside(false), localX(-999.), localY(-999.), localXnorm(-999.), localYnorm(-999.), localAlpha(-999.), localBeta(-999.),
29  rawDetId(0) {}
30  float resX;
31  float resY;
32  float resErrX;
33  float resErrY;
34  float resXprime;
35  float resXatTrkY;
36  float resXprimeErr;
37  float resYprime;
38  float resYprimeErr;
39  float phi;
40  float eta;
41  bool inside;
42  float localX;
43  float localY;
44  float localXnorm;
45  float localYnorm;
46  float localAlpha;
47  float localBeta;
48  uint32_t rawDetId;
49  };
50 
52  {
53  AVTrackStruct() : p(0.), pt(0.), ptError(0.), px(0.), py(0.), pz(0.), eta(0.), phi(0.), kappa(0.),
54  chi2(0.), chi2Prob(0.), normchi2(0), d0(-999.), dz(-999.), charge(-999), numberOfValidHits(0), numberOfLostHits(0) {};
55  float p;
56  float pt;
57  float ptError;
58  float px;
59  float py;
60  float pz;
61  float eta;
62  float phi;
63  float kappa;
64  float chi2;
65  float chi2Prob;
66  float normchi2;
67  float d0;
68  float dz;
69  int charge;
72  std::vector<AVHitStruct> hits;
73  };
74 
79 
80  void fillHitQuantities(const Trajectory* trajectory, std::vector<AVHitStruct> & v_avhitout);
81  void fillTrackQuantities(const edm::Event&,
82  const edm::EventSetup&,
83  std::vector<AVTrackStruct> & v_avtrackout);
84 
85  // need the following method for MonitorTrackResiduals in DQM/TrackerMonitorTrack
86  void fillHitQuantities(const edm::Event&, std::vector<AVHitStruct> & v_avhitout);
87 
88  private:
89 
92 };
93 
94 #endif
void fillHitQuantities(const Trajectory *trajectory, std::vector< AVHitStruct > &v_avhitout)
edm::EDGetTokenT< std::vector< Trajectory > > trajCollectionToken_
void fillTrackQuantities(const edm::Event &, const edm::EventSetup &, std::vector< AVTrackStruct > &v_avtrackout)
edm::EDGetTokenT< TrajTrackAssociationCollection > trajTracksToken_
volatile std::atomic< bool > shutdown_flag false