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 
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), isOnEdgePixel(false), isOtherBadPixel(false) {}
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;
51  };
52 
54  {
55  AVTrackStruct() : p(0.), pt(0.), ptError(0.), px(0.), py(0.), pz(0.), eta(0.), phi(0.), kappa(0.),
56  chi2(0.), chi2Prob(0.), normchi2(0), d0(-999.), dz(-999.), charge(-999), numberOfValidHits(0), numberOfLostHits(0) {};
57  float p;
58  float pt;
59  float ptError;
60  float px;
61  float py;
62  float pz;
63  float eta;
64  float phi;
65  float kappa;
66  float chi2;
67  float chi2Prob;
68  float normchi2;
69  float d0;
70  float dz;
71  int charge;
74  std::vector<AVHitStruct> hits;
75  };
76 
81 
82  void fillHitQuantities(const Trajectory* trajectory, std::vector<AVHitStruct> & v_avhitout);
83  void fillHitQuantities(reco::Track const & track, std::vector<AVHitStruct> & v_avhitout);
84  void fillTrackQuantities(const edm::Event&,
85  const edm::EventSetup&,
86  std::vector<AVTrackStruct> & v_avtrackout);
87  // all Tracks are passed to the trackFilter first, and only processed if it returns true.
88  void fillTrackQuantities(const edm::Event& event,
89  const edm::EventSetup& eventSetup,
90  std::function<bool(const reco::Track&)> trackFilter,
91  std::vector<AVTrackStruct> & v_avtrackout);
92 
93  private:
94 
97 };
98 
99 #endif
constexpr uint16_t localY(uint16_t py)
Definition: config.py:1
edm::EDGetTokenT< std::vector< Trajectory > > trajCollectionToken_
constexpr uint16_t localX(uint16_t px)
HLT enums.
static const G4double kappa
edm::EDGetTokenT< std::vector< reco::Track > > tracksToken_
Definition: event.py:1