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 
27 {
28 
29 public:
30 
33 
36 
38  void newEvent(edm::Event const &, edm::EventSetup const &);
39 
42 
45 
47  TrackClassifier const & evaluate (reco::TrackRef const & track)
48  {
49  return evaluate( reco::TrackBaseRef(track) );
50  }
51 
53  TrackHistory const & history() const
54  {
55  return tracer_;
56  }
57 
59  TrackQuality const & quality() const
60  {
61  return quality_;
62  }
63 
64 private:
65 
68 
69  double badPull_;
72  unsigned int numberOfInnerLayers_;
73  unsigned int minTrackerSimHits_;
74 
75  struct G4
76  {
77  enum Process
78  {
79  Undefined = 0,
96  };
97  };
98 
100 
102 
104 
106 
108 
110 
112 
115 
117  void simulationInformation();
118 
121 
123  void hadronFlavor();
124 
126  void processesAtGenerator();
127 
129  void processesAtSimulation();
130 
132  void vertexInformation();
133 
136  {
137 
138  GeneratedPrimaryVertex(double x1,double y1,double z1): x(x1), y(y1), z(z1), ptsq(0), nGenTrk(0) {}
139 
141  {
142  return ptsq < reference.ptsq;
143  }
144 
145  double x, y, z;
146  double ptsq;
147  int nGenTrk;
148 
149  HepMC::FourVector ptot;
150 
151  std::vector<int> finalstateParticles;
152  std::vector<int> simTrackIndex;
153  std::vector<int> genVertex;
154  };
155 
156  std::vector<GeneratedPrimaryVertex> genpvs_;
157 
158  // Auxiliary function to get the generated primary vertex
160  bool isCharged(const HepMC::GenParticle *);
161  void genPrimaryVertices();
162 
163 };
164 
165 #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_
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:26
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_