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  // all Tracks are passed to the trackFilter first, and only processed if it returns true.
86  const edm::EventSetup& eventSetup,
87  std::function<bool(const reco::Track&)> trackFilter,
88  std::vector<AVTrackStruct> & v_avtrackout);
89 
90  private:
91 
94 };
95 
96 #endif
void fillHitQuantities(const Trajectory *trajectory, std::vector< AVHitStruct > &v_avhitout)
edm::EDGetTokenT< std::vector< Trajectory > > trajCollectionToken_
helper::RootFunctionHelper< F, args >::root_function function(F &f)
Definition: rootFunction.h:14
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision and the trigger will pass if any such matching triggers are FAIL or EXCEPTION A wildcarded negative criterion that matches more than one trigger in the trigger but the state exists so we define the behavior If all triggers are the negative crieriion will lead to accepting the event(this again matches the behavior of"!*"before the partial wildcard feature was incorporated).The per-event"cost"of each negative criterion with multiple relevant triggers is about the same as!*was in the past
tuple trackFilter
Definition: valSkim_cff.py:14
void fillTrackQuantities(const edm::Event &, const edm::EventSetup &, std::vector< AVTrackStruct > &v_avtrackout)
edm::EDGetTokenT< TrajTrackAssociationCollection > trajTracksToken_
volatile std::atomic< bool > shutdown_flag false