CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
TrackClassifier.h
Go to the documentation of this file.
1 
2 #ifndef TrackClassifier_h
3 #define TrackClassifier_h
4 
7 
10 
12 
14 
18 
23 
24 
25 class TrackTopology;
26 
29 {
30 
31 public:
32 
35 
38 
40  void newEvent(edm::Event const &, edm::EventSetup const &);
41 
44 
47 
49  TrackClassifier const & evaluate (reco::TrackRef const & track)
50  {
51  return evaluate( reco::TrackBaseRef(track));
52  }
53 
55  TrackHistory const & history() const
56  {
57  return tracer_;
58  }
59 
61  TrackQuality const & quality() const
62  {
63  return quality_;
64  }
65 
66 private:
67 
70 
71  double badPull_;
74  unsigned int numberOfInnerLayers_;
75  unsigned int minTrackerSimHits_;
76 
77  struct G4
78  {
79  enum Process
80  {
81  Undefined = 0,
98  };
99  };
100 
102 
104 
106 
108 
110 
112 
114 
116 
119 
121  void simulationInformation();
122 
125 
127  void hadronFlavor();
128 
130  void processesAtGenerator();
131 
133  void processesAtSimulation();
134 
136  void vertexInformation();
137 
140  {
141 
142  GeneratedPrimaryVertex(double x1,double y1,double z1): x(x1), y(y1), z(z1), ptsq(0), nGenTrk(0) {}
143 
145  {
146  return ptsq < reference.ptsq;
147  }
148 
149  double x, y, z;
150  double ptsq;
151  int nGenTrk;
152 
153  HepMC::FourVector ptot;
154 
155  std::vector<int> finalstateParticles;
156  std::vector<int> simTrackIndex;
157  std::vector<int> genVertex;
158  };
159 
160  std::vector<GeneratedPrimaryVertex> genpvs_;
161 
162  // Auxiliary function to get the generated primary vertex
164  bool isCharged(const HepMC::GenParticle *);
165  void genPrimaryVertices();
166 
167 };
168 
169 #endif
const edm::InputTag beamSpotLabel_
const edm::InputTag hepMCLabel_
TrackQuality const & quality() const
Returns a reference to the track quality used in the classification.
GeneratedPrimaryVertex(double x1, double y1, double z1)
TrackClassifier const & evaluate(reco::TrackRef const &track)
Classify the RecoTrack in categories.
edm::Handle< edm::HepMCProduct > mcInformation_
const TrackerTopology * tTopo_
unsigned int numberOfInnerLayers_
TrackHistory const & history() const
Returns a reference to the track history used in the classification.
unsigned int minTrackerSimHits_
std::vector< GeneratedPrimaryVertex > genpvs_
bool operator<(GeneratedPrimaryVertex const &reference) const
void processesAtSimulation()
Get information about conversion and other interactions.
void simulationInformation()
Get all the information related to the simulation details.
void qualityInformation(reco::TrackBaseRef const &)
Classify all the tracks by their reconstruction quality.
void reconstructionInformation(reco::TrackBaseRef const &)
Classify all the tracks by their association and reconstruction information.
TrackClassifier const & evaluate(reco::TrackBaseRef const &)
Classify the RecoTrack in categories.
bool isCharged(const HepMC::GenParticle *)
edm::ESHandle< TransientTrackBuilder > transientTrackBuilder_
Auxiliary class holding simulated primary vertices.
This class traces the simulated and generated history of a given track.
Definition: TrackHistory.h:16
void hadronFlavor()
Get hadron flavor of the initial hadron.
void newEvent(edm::Event const &, edm::EventSetup const &)
Pre-process event information (for accessing reconstraction information)
edm::Handle< reco::BeamSpot > beamSpot_
TrackQuality quality_
Get track history and classify it in function of their .
TrackClassifier(edm::ParameterSet const &)
Constructor by ParameterSet.
This class analyses the reconstruction quality for a given track.
Definition: TrackQuality.h:28
bool isFinalstateParticle(const HepMC::GenParticle *)
void vertexInformation()
Get geometrical information about the vertices.
void processesAtGenerator()
Get all the information related to decay process.
edm::ESHandle< MagneticField > magneticField_
double longLivedDecayLength_
double vertexClusteringSqDistance_
TrackCategories Categories
Type to the associate category.
edm::ESHandle< ParticleDataTable > particleDataTable_
TrackHistory tracer_