CMS 3D CMS Logo

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 class TrackTopology;
27 
30 public:
33 
36 
38  void newEvent(edm::Event const &, edm::EventSetup const &);
39 
42 
45 
48 
50  TrackHistory const &history() const { return tracer_; }
51 
53  TrackQuality const &quality() const { return quality_; }
54 
55 private:
58 
59  double badPull_;
62  unsigned int numberOfInnerLayers_;
63  unsigned int minTrackerSimHits_;
64 
66 
68 
70 
72 
74 
76 
78 
80 
82 
86 
88  void simulationInformation();
89 
92 
94  void hadronFlavor();
95 
97  void processesAtGenerator();
98 
100  void processesAtSimulation();
101 
103  void vertexInformation();
104 
107  GeneratedPrimaryVertex(double x1, double y1, double z1) : x(x1), y(y1), z(z1), ptsq(0), nGenTrk(0) {}
108 
109  bool operator<(GeneratedPrimaryVertex const &reference) const { return ptsq < reference.ptsq; }
110 
111  double x, y, z;
112  double ptsq;
113  int nGenTrk;
114 
115  HepMC::FourVector ptot;
116 
117  std::vector<int> finalstateParticles;
118  std::vector<int> simTrackIndex;
119  std::vector<int> genVertex;
120  };
121 
122  std::vector<GeneratedPrimaryVertex> genpvs_;
123 
124  // Auxiliary function to get the generated primary vertex
126  bool isCharged(const HepMC::GenParticle *);
127  void genPrimaryVertices();
128 };
129 
130 #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.
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 &)
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_