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 
8 
11 
13 
15 
20 
25 
26 
27 class TrackTopology;
28 
31 {
32 
33 public:
34 
37 
41 
43  void newEvent(edm::Event const &, edm::EventSetup const &);
44 
47 
50 
52  TrackClassifier const & evaluate (reco::TrackRef const & track)
53  {
54  return evaluate( reco::TrackBaseRef(track));
55  }
56 
58  TrackHistory const & history() const
59  {
60  return tracer_;
61  }
62 
64  TrackQuality const & quality() const
65  {
66  return quality_;
67  }
68 
69 private:
70 
73 
74  double badPull_;
77  unsigned int numberOfInnerLayers_;
78  unsigned int minTrackerSimHits_;
79 
81 
83 
85 
87 
89 
91 
93 
95 
97 
100 
102  void simulationInformation();
103 
106 
108  void hadronFlavor();
109 
111  void processesAtGenerator();
112 
114  void processesAtSimulation();
115 
117  void vertexInformation();
118 
121  {
122 
123  GeneratedPrimaryVertex(double x1,double y1,double z1): x(x1), y(y1), z(z1), ptsq(0), nGenTrk(0) {}
124 
126  {
127  return ptsq < reference.ptsq;
128  }
129 
130  double x, y, z;
131  double ptsq;
132  int nGenTrk;
133 
134  HepMC::FourVector ptot;
135 
136  std::vector<int> finalstateParticles;
137  std::vector<int> simTrackIndex;
138  std::vector<int> genVertex;
139  };
140 
141  std::vector<GeneratedPrimaryVertex> genpvs_;
142 
143  // Auxiliary function to get the generated primary vertex
145  bool isCharged(const HepMC::GenParticle *);
146  void genPrimaryVertices();
147 
148 };
149 
150 #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.
Class that maps the native Geant4 process types to the legacy CMS process types.
Definition: Utils.h:33
const G4toCMSLegacyProcTypeMap g4toCMSProcMap_
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.
TrackClassifier(edm::ParameterSet const &, edm::ConsumesCollector &&)
Constructor by ParameterSet.
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:17
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 .
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_